| <!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> |