| <!DOCTYPE html> | |
| <style> | |
| #justifyContentAuto { | |
| justify-content: auto; | |
| } | |
| #justifyContentSpaceBetween { | |
| justify-content: space-between; | |
| } | |
| #justifyContentSpaceAround { | |
| justify-content: space-around; | |
| } | |
| #justifyContentSpaceEvenly { | |
| justify-content: space-evenly; | |
| } | |
| #justifyContentStretch { | |
| justify-content: stretch; | |
| } | |
| #justifyContentStart { | |
| justify-content: start; | |
| } | |
| #justifyContentEnd { | |
| justify-content: end; | |
| } | |
| #justifyContentCenter { | |
| justify-content: center; | |
| } | |
| #justifyContentLeft { | |
| justify-content: left; | |
| } | |
| #justifyContentRight { | |
| justify-content: right; | |
| } | |
| #justifyContentFlexStart { | |
| justify-content: flex-start; | |
| } | |
| #justifyContentFlexEnd { | |
| justify-content: flex-end; | |
| } | |
| #justifyContentUnsafeEnd { | |
| justify-content: unsafe end ; | |
| } | |
| #justifyContentUnsafeCenter { | |
| justify-content: unsafe center ; | |
| } | |
| #justifyContentSafeRight { | |
| justify-content: safe right; | |
| } | |
| #justifyContentUnsafeLeft { | |
| justify-content: unsafe left; | |
| } | |
| #justifyContentUnsafeFlexStart { | |
| justify-content: unsafe flex-start; | |
| } | |
| #justifyContentSafeFlexEnd { | |
| justify-content: safe flex-end; | |
| } | |
| <!-- Invalid CSS cases --> | |
| #justifyContentBaseline { | |
| justify-content: baseline; | |
| } | |
| #justifyContentFirstBaseline { | |
| justify-content: first baseline; | |
| } | |
| #justifyContentLastBaseline { | |
| justify-content: last baseline; | |
| } | |
| #justifyContentSpaceBetweenLeft { | |
| justify-content: space-between left; | |
| } | |
| #justifyContentSpaceAroundCenter { | |
| justify-content: space-around center; | |
| } | |
| #justifyContentSpaceEvenlyRight { | |
| justify-content: space-evenly right; | |
| } | |
| #justifyContentStretchStartSafe { | |
| justify-content: stretch start safe; | |
| } | |
| #justifyContentSpaceAroundEndUnsafe { | |
| justify-content: space-around end unsafe; | |
| } | |
| #justifyContentSpaceEvenlyFlexStartSafe { | |
| justify-content: space-evenly flex-start safe; | |
| } | |
| #justifyContentSpaceBetweenSafe { | |
| justify-content: space-between safe; | |
| } | |
| #justifyContentSpaceBetweenStretch { | |
| justify-content: space-between stretch; | |
| } | |
| #justifyContentSafe { | |
| justify-content: safe; | |
| } | |
| #justifyContentRightSafeUnsafe { | |
| justify-content: right safe unsafe; | |
| } | |
| #justifyContentCenterLeft { | |
| justify-content: center left; | |
| } | |
| </style> | |
| <p>Test that setting and getting justify-content works as expected</p> | |
| <div id="justifyContentAuto"></div> | |
| <div id="justifyContentSpaceBetween"></div> | |
| <div id="justifyContentSpaceAround"></div> | |
| <div id="justifyContentSpaceEvenly"></div> | |
| <div id="justifyContentStretch"></div> | |
| <div id="justifyContentStart"></div> | |
| <div id="justifyContentEnd"></div> | |
| <div id="justifyContentCenter"></div> | |
| <div id="justifyContentLeft"></div> | |
| <div id="justifyContentRight"></div> | |
| <div id="justifyContentFlexStart"></div> | |
| <div id="justifyContentFlexEnd"></div> | |
| <div id="justifyContentUnsafeEnd"></div> | |
| <div id="justifyContentUnsafeCenter"></div> | |
| <div id="justifyContentSafeSelfEnd"></div> | |
| <div id="justifyContentSafeSelfStart"></div> | |
| <div id="justifyContentSafeRight"></div> | |
| <div id="justifyContentUnsafeLeft"></div> | |
| <div id="justifyContentUnsafeFlexStart"></div> | |
| <div id="justifyContentSafeFlexEnd"></div> | |
| <div id="justifyContentEndUnsafe"></div> | |
| <div id="justifyContentCenterUnsafe"></div> | |
| <div id="justifyContentRightSafe"></div> | |
| <div id="justifyContentLeftUnsafe"></div> | |
| <div id="justifyContentFlexStartUnsafe"></div> | |
| <div id="justifyContentFlexEndSafe"></div> | |
| <div id="justifyContentBaseline"></div> | |
| <div id="justifyContentFirstBaseline"></div> | |
| <div id="justifyContentLastBaseline"></div> | |
| <div id="justifyContentSpaceBetweenLeft"></div> | |
| <div id="justifyContentSpaceAroundCenter"></div> | |
| <div id="justifyContentSpaceEvenlyRight"></div> | |
| <div id="justifyContentStretchStartSafe"></div> | |
| <div id="justifyContentSpaceAroundEndUnsafe"></div> | |
| <div id="justifyContentSpaceEvenlyFlexStartSafe"></div> | |
| <div id="justifyContentSpaceBetweenSafe"></div> | |
| <div id="justifyContentSpaceBetweenStretch"></div> | |
| <div id="justifyContentSafe"></div> | |
| <div id="justifyContentRightSafeUnsafe"></div> | |
| <div id="justifyContentCenterLeft"></div> | |
| <script src="../resources/testharness.js"></script> | |
| <script src="../resources/testharnessreport.js"></script> | |
| <script src="resources/alignment-parsing-utils-th.js"></script> | |
| <script> | |
| test(function() { | |
| var justifyContentAuto = document.getElementById("justifyContentAuto"); | |
| checkValues(justifyContentAuto, "justifyContent", "justify-content", "", "normal"); | |
| var justifyContentSpaceBetween = document.getElementById("justifyContentSpaceBetween"); | |
| checkValues(justifyContentSpaceBetween, "justifyContent", "justify-content", "", "space-between"); | |
| var justifyContentSpaceAround = document.getElementById("justifyContentSpaceAround"); | |
| checkValues(justifyContentSpaceAround, "justifyContent", "justify-content", "", "space-around"); | |
| var justifyContentSpaceEvenly = document.getElementById("justifyContentSpaceEvenly"); | |
| checkValues(justifyContentSpaceEvenly, "justifyContent", "justify-content", "", "space-evenly"); | |
| var justifyContentStretch = document.getElementById("justifyContentStretch"); | |
| checkValues(justifyContentStretch, "justifyContent", "justify-content", "", "stretch"); | |
| var justifyContentStart = document.getElementById("justifyContentStart"); | |
| checkValues(justifyContentStart, "justifyContent", "justify-content", "", "start"); | |
| var justifyContentEnd = document.getElementById("justifyContentEnd"); | |
| checkValues(justifyContentEnd, "justifyContent", "justify-content", "", "end"); | |
| var justifyContentCenter = document.getElementById("justifyContentCenter"); | |
| checkValues(justifyContentCenter, "justifyContent", "justify-content", "", "center"); | |
| var justifyContentLeft = document.getElementById("justifyContentLeft"); | |
| checkValues(justifyContentLeft, "justifyContent", "justify-content", "", "left"); | |
| var justifyContentRight = document.getElementById("justifyContentRight"); | |
| checkValues(justifyContentRight, "justifyContent", "justify-content", "", "right"); | |
| var justifyContentFlexStart = document.getElementById("justifyContentFlexStart"); | |
| checkValues(justifyContentFlexStart, "justifyContent", "justify-content", "", "flex-start"); | |
| var justifyContentFlexEnd = document.getElementById("justifyContentFlexEnd"); | |
| checkValues(justifyContentFlexEnd, "justifyContent", "justify-content", "", "flex-end"); | |
| var justifyContentUnsafeEnd = document.getElementById("justifyContentUnsafeEnd"); | |
| checkValues(justifyContentUnsafeEnd, "justifyContent", "justify-content", "", "unsafe end"); | |
| var justifyContentUnsafeCenter = document.getElementById("justifyContentUnsafeCenter"); | |
| checkValues(justifyContentUnsafeCenter, "justifyContent", "justify-content", "", "unsafe center"); | |
| var justifyContentSafeRight = document.getElementById("justifyContentSafeRight"); | |
| checkValues(justifyContentSafeRight, "justifyContent", "justify-content", "", "safe right"); | |
| var justifyContentUnsafeLeft = document.getElementById("justifyContentUnsafeLeft"); | |
| checkValues(justifyContentUnsafeLeft, "justifyContent", "justify-content", "", "unsafe left"); | |
| var justifyContentUnsafeFlexStart = document.getElementById("justifyContentUnsafeFlexStart"); | |
| checkValues(justifyContentUnsafeFlexStart, "justifyContent", "justify-content", "", "unsafe flex-start"); | |
| var justifyContentSafeFlexEnd = document.getElementById("justifyContentSafeFlexEnd"); | |
| checkValues(justifyContentSafeFlexEnd, "justifyContent", "justify-content", "", "safe flex-end"); | |
| }, "Test getting justify-content values previously set through CSS."); | |
| test(function() { | |
| var justifyContentBaseline = document.getElementById("justifyContentBaseline"); | |
| checkValues(justifyContentBaseline, "justifyContent", "justify-content", "", "normal"); | |
| var justifyContentLastBaseline = document.getElementById("justifyContentFirstBaseline"); | |
| checkValues(justifyContentLastBaseline, "justifyContent", "justify-content", "", "normal"); | |
| var justifyContentLastBaseline = document.getElementById("justifyContentLastBaseline"); | |
| checkValues(justifyContentLastBaseline, "justifyContent", "justify-content", "", "normal"); | |
| var justifyContentEndUnsafe = document.getElementById("justifyContentEndUnsafe"); | |
| checkValues(justifyContentEndUnsafe, "justifyContent", "justify-content", "", "normal"); | |
| var justifyContentCenterUnsafe = document.getElementById("justifyContentCenterUnsafe"); | |
| checkValues(justifyContentCenterUnsafe, "justifyContent", "justify-content", "", "normal"); | |
| var justifyContentRightSafe = document.getElementById("justifyContentRightSafe"); | |
| checkValues(justifyContentRightSafe, "justifyContent", "justify-content", "", "normal"); | |
| var justifyContentLeftUnsafe = document.getElementById("justifyContentLeftUnsafe"); | |
| checkValues(justifyContentLeftUnsafe, "justifyContent", "justify-content", "", "normal"); | |
| var justifyContentFlexStartUnsafe = document.getElementById("justifyContentFlexStartUnsafe"); | |
| checkValues(justifyContentFlexStartUnsafe, "justifyContent", "justify-content", "", "normal"); | |
| var justifyContentFlexEndSafe = document.getElementById("justifyContentFlexEndSafe"); | |
| checkValues(justifyContentFlexEndSafe, "justifyContent", "justify-content", "", "normal"); | |
| var justifyContentSpaceBetweenLeft = document.getElementById("justifyContentSpaceBetweenLeft"); | |
| checkValues(justifyContentSpaceBetweenLeft, "justifyContent", "justify-content", "", "normal"); | |
| var justifyContentSpaceAroundCenter = document.getElementById("justifyContentSpaceAroundCenter"); | |
| checkValues(justifyContentSpaceAroundCenter, "justifyContent", "justify-content", "", "normal"); | |
| var justifyContentSpaceEvenlyRight = document.getElementById("justifyContentSpaceEvenlyRight"); | |
| checkValues(justifyContentSpaceEvenlyRight, "justifyContent", "justify-content", "", "normal"); | |
| var justifyContentStretchStartSafe = document.getElementById("justifyContentStretchStartSafe"); | |
| checkValues(justifyContentStretchStartSafe, "justifyContent", "justify-content", "", "normal"); | |
| var justifyContentSpaceAroundEndUnsafe = document.getElementById("justifyContentSpaceAroundEndUnsafe"); | |
| checkValues(justifyContentSpaceAroundEndUnsafe, "justifyContent", "justify-content", "", "normal"); | |
| var justifyContentSpaceEvenlyFlexStartSafe = document.getElementById("justifyContentSpaceEvenlyFlexStartSafe"); | |
| checkValues(justifyContentSpaceEvenlyFlexStartSafe, "justifyContent", "justify-content", "", "normal"); | |
| var justifyContentSpaceBetweenSafe = document.getElementById("justifyContentSpaceBetweenSafe"); | |
| checkValues(justifyContentSpaceBetweenSafe, "justifyContent", "justify-content", "", "normal"); | |
| var justifyContentSpaceBetweenStretch = document.getElementById("justifyContentSpaceBetweenStretch"); | |
| checkValues(justifyContentSpaceBetweenStretch, "justifyContent", "justify-content", "", "normal"); | |
| var justifyContentSafe = document.getElementById("justifyContentSafe"); | |
| checkValues(justifyContentSafe, "justifyContent", "justify-content", "", "normal"); | |
| var justifyContentRightSafeUnsafe = document.getElementById("justifyContentRightSafeUnsafe"); | |
| checkValues(justifyContentRightSafeUnsafe, "justifyContent", "justify-content", "", "normal"); | |
| var justifyContentCenterLeft = document.getElementById("justifyContentCenterLeft"); | |
| checkValues(justifyContentCenterLeft, "justifyContent", "justify-content", "", "normal"); | |
| }, "Test setting invalid values to justify-content through CSS."); | |
| test(function() { | |
| element = document.createElement("div"); | |
| document.body.appendChild(element); | |
| checkValues(element, "justifyContent", "justify-content", "", "normal"); | |
| }, "Test initial value of justify-content through JS"); | |
| test(function() { | |
| element = document.createElement("div"); | |
| document.body.appendChild(element); | |
| element.style.justifyContent = "center"; | |
| checkValues(element, "justifyContent", "justify-content", "center", "center"); | |
| element.style.justifyContent = "unsafe start"; | |
| checkValues(element, "justifyContent", "justify-content", "unsafe start", "unsafe start"); | |
| element.style.justifyContent = "safe flex-end"; | |
| checkValues(element, "justifyContent", "justify-content", "safe flex-end", "safe flex-end"); | |
| element.style.justifyContent = " unsafe right"; | |
| checkValues(element, "justifyContent", "justify-content", "unsafe right", "unsafe right"); | |
| element.style.justifyContent = "normal"; | |
| checkValues(element, "justifyContent", "justify-content", "normal", "normal"); | |
| element.style.display = "flex"; | |
| element.style.justifyContent = "normal"; | |
| checkValues(element, "justifyContent", "justify-content", "normal", "normal"); | |
| element.style.display = "grid"; | |
| element.style.justifyContent = "normal"; | |
| checkValues(element, "justifyContent", "justify-content", "normal", "normal"); | |
| element.style.justifyContent = "flex-end"; | |
| checkValues(element, "justifyContent", "justify-content", "flex-end", "flex-end"); | |
| }, "Test getting and setting justify-content through JS"); | |
| test(function() { | |
| element = document.createElement("div"); | |
| document.body.appendChild(element); | |
| checkBadValues(element, "justifyContent", "justify-content", ""); | |
| checkBadValues(element, "justifyContent", "justify-content", "auto"); | |
| checkBadValues(element, "justifyContent", "justify-content", "unsafe auto"); | |
| checkBadValues(element, "justifyContent", "justify-content", "auto safe"); | |
| checkBadValues(element, "justifyContent", "justify-content", "auto left"); | |
| checkBadValues(element, "justifyContent", "justify-content", "baseline safe"); | |
| checkBadValues(element, "justifyContent", "justify-content", "last-baseline center"); | |
| checkBadValues(element, "justifyContent", "justify-content", "unsafe unsafe"); | |
| checkBadValues(element, "justifyContent", "justify-content", "unsafe safe"); | |
| checkBadValues(element, "justifyContent", "justify-content", "center start"); | |
| checkBadValues(element, "justifyContent", "justify-content", "baseline safe"); | |
| checkBadValues(element, "justifyContent", "justify-content", "unsafe baseline"); | |
| checkBadValues(element, "justifyContent", "justify-content", "unsafe safe left"); | |
| checkBadValues(element, "justifyContent", "justify-content", "unsafe left safe"); | |
| checkBadValues(element, "justifyContent", "justify-content", "left safe unsafe safe"); | |
| checkBadValues(element, "justifyContent", "justify-content", "start right space-between"); | |
| checkBadValues(element, "justifyContent", "justify-content", "safe stretch"); | |
| checkBadValues(element, "justifyContent", "justify-content", "normal space-between"); | |
| checkBadValues(element, "justifyContent", "justify-content", "stretch normal"); | |
| checkBadValues(element, "justifyContent", "justify-content", "stretch center"); | |
| checkBadValues(element, "justifyContent", "justify-content", "space-between right safe"); | |
| checkBadValues(element, "justifyContent", "justify-content", "normal safe"); | |
| checkBadValues(element, "justifyContent", "justify-content", "space-around stretch"); | |
| checkBadValues(element, "justifyContent", "justify-content", "end space-between start"); | |
| checkBadValues(element, "justifyContent", "justify-content", "right safe left"); | |
| checkBadValues(element, "justifyContent", "justify-content", "unsafe"); | |
| checkBadValues(element, "justifyContent", "justify-content", "safe"); | |
| checkBadValues(element, "justifyContent", "justify-content", "start safe"); | |
| checkBadValues(element, "justifyContent", "justify-content", "end unsafe"); | |
| checkBadValues(element, "justifyContent", "justify-content", "baseline"); | |
| checkBadValues(element, "justifyContent", "justify-content", "first baseline"); | |
| checkBadValues(element, "justifyContent", "justify-content", "last baseline"); | |
| }, "Test bad combinations of justify-content"); | |
| test(function() { | |
| element.style.display = ""; | |
| checkInitialValues(element, "justifyContent", "justify-content", "center", "normal"); | |
| }, "Test the value 'initial'"); | |
| test(function() { | |
| element.style.display = "grid"; | |
| checkInitialValues(element, "justifyContent", "justify-content", "safe left", "normal"); | |
| }, "Test the value 'initial' for grid containers"); | |
| test(function() { | |
| element.style.display = "flex"; | |
| checkInitialValues(element, "justifyContent", "justify-content", "unsafe right", "normal"); | |
| }, "Test the value 'initial' for flex containers"); | |
| test(function() { | |
| checkInheritValues("justifyContent", "justify-content", "end"); | |
| checkInheritValues("justifyContent", "justify-content", "safe left"); | |
| checkInheritValues("justifyContent", "justify-content", "unsafe center"); | |
| }, "Test the value 'inherit'"); | |
| </script> |