| <!DOCTYPE html> |
| <style> |
| #alignContentAuto { |
| align-content: auto; |
| } |
| |
| #alignContentBaseline { |
| align-content: baseline; |
| } |
| |
| #alignContentFirstBaseline { |
| align-content: first baseline; |
| } |
| |
| #alignContentLastBaseline { |
| align-content: last baseline; |
| } |
| |
| #alignContentSpaceBetween { |
| align-content: space-between; |
| } |
| |
| #alignContentSpaceAround { |
| align-content: space-around; |
| } |
| |
| #alignContentSpaceEvenly { |
| align-content: space-evenly; |
| } |
| |
| #alignContentStretch { |
| align-content: stretch; |
| } |
| |
| #alignContentStart { |
| align-content: start; |
| } |
| |
| #alignContentEnd { |
| align-content: end; |
| } |
| |
| #alignContentCenter { |
| align-content: center; |
| } |
| |
| |
| #alignContentFlexStart { |
| align-content: flex-start; |
| } |
| |
| #alignContentFlexEnd { |
| align-content: flex-end; |
| } |
| |
| #alignContentUnsafeEnd { |
| align-content: unsafe end ; |
| } |
| |
| #alignContentUnsafeCenter { |
| align-content: unsafe center ; |
| } |
| |
| #alignContentUnsafeFlexStart { |
| align-content: unsafe flex-start; |
| } |
| |
| #alignContentSafeFlexEnd { |
| align-content: safe flex-end; |
| } |
| |
| <!-- Invalid CSS cases --> |
| #alignContentSpaceBetweenLeft { |
| align-content: space-between left; |
| } |
| |
| #alignContentSpaceAroundCenter { |
| align-content: space-around center; |
| } |
| |
| #alignContentSpaceEvenlyRight { |
| align-content: space-evenly right; |
| } |
| |
| #alignContentStretchStartSafe { |
| align-content: stretch start safe; |
| } |
| |
| #alignContentSpaceAroundEndUnsafe { |
| align-content: space-around end unsafe; |
| } |
| |
| #alignContentSpaceEvenlyFlexStartSafe { |
| align-content: space-evenly flex-start safe; |
| } |
| |
| #alignContentSpaceBetweenSafe { |
| align-content: space-between safe; |
| } |
| |
| #alignContentSpaceBetweenStretch { |
| align-content: space-between stretch; |
| } |
| |
| #alignContentSafe { |
| align-content: safe; |
| } |
| |
| #alignContentRightSafeUnsafe { |
| align-content: right safe unsafe; |
| } |
| |
| #alignContentCenterLeft { |
| align-content: center left; |
| } |
| </style> |
| <p>Test that setting and getting align-content works as expected</p> |
| <div id="alignContentAuto"></div> |
| <div id="alignContentBaseline"></div> |
| <div id="alignContentFirstBaseline"></div> |
| <div id="alignContentLastBaseline"></div> |
| <div id="alignContentSpaceBetween"></div> |
| <div id="alignContentSpaceAround"></div> |
| <div id="alignContentSpaceEvenly"></div> |
| <div id="alignContentStretch"></div> |
| <div id="alignContentStart"></div> |
| <div id="alignContentEnd"></div> |
| <div id="alignContentCenter"></div> |
| <div id="alignContentFlexStart"></div> |
| <div id="alignContentFlexEnd"></div> |
| <div id="alignContentUnsafeEnd"></div> |
| <div id="alignContentUnsafeCenter"></div> |
| <div id="alignContentSafeSelfEnd"></div> |
| <div id="alignContentSafeSelfStart"></div> |
| <div id="alignContentUnsafeFlexStart"></div> |
| <div id="alignContentSafeFlexEnd"></div> |
| <div id="alignContentEndUnsafe"></div> |
| <div id="alignContentCenterUnsafe"></div> |
| <div id="alignContentFlexStartUnsafe"></div> |
| <div id="alignContentFlexEndSafe"></div> |
| |
| <div id="alignContentSpaceBetweenLeft"></div> |
| <div id="alignContentSpaceAroundCenter"></div> |
| <div id="alignContentSpaceEvenlyRight"></div> |
| <div id="alignContentStretchStartSafe"></div> |
| <div id="alignContentSpaceAroundEndUnsafe"></div> |
| <div id="alignContentSpaceEvenlyFlexStartSafe"></div> |
| <div id="alignContentSpaceBetweenSafe"></div> |
| <div id="alignContentSpaceBetweenStretch"></div> |
| <div id="alignContentSafe"></div> |
| <div id="alignContentRightSafeUnsafe"></div> |
| <div id="alignContentCenterLeft"></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 alignContentAuto = document.getElementById("alignContentAuto"); |
| checkValues(alignContentAuto, "alignContent", "align-content", "", "normal"); |
| var alignContentBaseline = document.getElementById("alignContentBaseline"); |
| checkValues(alignContentBaseline, "alignContent", "align-content", "", "baseline"); |
| var alignContentLastBaseline = document.getElementById("alignContentFirstBaseline"); |
| checkValues(alignContentLastBaseline, "alignContent", "align-content", "", "baseline"); |
| var alignContentLastBaseline = document.getElementById("alignContentLastBaseline"); |
| checkValues(alignContentLastBaseline, "alignContent", "align-content", "", "last baseline"); |
| var alignContentSpaceBetween = document.getElementById("alignContentSpaceBetween"); |
| checkValues(alignContentSpaceBetween, "alignContent", "align-content", "", "space-between"); |
| var alignContentSpaceAround = document.getElementById("alignContentSpaceAround"); |
| checkValues(alignContentSpaceAround, "alignContent", "align-content", "", "space-around"); |
| var alignContentSpaceEvenly = document.getElementById("alignContentSpaceEvenly"); |
| checkValues(alignContentSpaceEvenly, "alignContent", "align-content", "", "space-evenly"); |
| var alignContentStretch = document.getElementById("alignContentStretch"); |
| checkValues(alignContentStretch, "alignContent", "align-content", "", "stretch"); |
| var alignContentStart = document.getElementById("alignContentStart"); |
| checkValues(alignContentStart, "alignContent", "align-content", "", "start"); |
| var alignContentEnd = document.getElementById("alignContentEnd"); |
| checkValues(alignContentEnd, "alignContent", "align-content", "", "end"); |
| var alignContentCenter = document.getElementById("alignContentCenter"); |
| checkValues(alignContentCenter, "alignContent", "align-content", "", "center"); |
| var alignContentFlexStart = document.getElementById("alignContentFlexStart"); |
| checkValues(alignContentFlexStart, "alignContent", "align-content", "", "flex-start"); |
| var alignContentFlexEnd = document.getElementById("alignContentFlexEnd"); |
| checkValues(alignContentFlexEnd, "alignContent", "align-content", "", "flex-end"); |
| var alignContentUnsafeEnd = document.getElementById("alignContentUnsafeEnd"); |
| checkValues(alignContentUnsafeEnd, "alignContent", "align-content", "", "unsafe end"); |
| var alignContentUnsafeCenter = document.getElementById("alignContentUnsafeCenter"); |
| checkValues(alignContentUnsafeCenter, "alignContent", "align-content", "", "unsafe center"); |
| var alignContentUnsafeFlexStart = document.getElementById("alignContentUnsafeFlexStart"); |
| checkValues(alignContentUnsafeFlexStart, "alignContent", "align-content", "", "unsafe flex-start"); |
| var alignContentSafeFlexEnd = document.getElementById("alignContentSafeFlexEnd"); |
| checkValues(alignContentSafeFlexEnd, "alignContent", "align-content", "", "safe flex-end"); |
| }, "Test getting align-content values previously set through CSS."); |
| |
| test(function() { |
| var alignContentEndUnsafe = document.getElementById("alignContentEndUnsafe"); |
| checkValues(alignContentEndUnsafe, "alignContent", "align-content", "", "normal"); |
| var alignContentCenterUnsafe = document.getElementById("alignContentCenterUnsafe"); |
| checkValues(alignContentCenterUnsafe, "alignContent", "align-content", "", "normal"); |
| var alignContentFlexStartUnsafe = document.getElementById("alignContentFlexStartUnsafe"); |
| checkValues(alignContentFlexStartUnsafe, "alignContent", "align-content", "", "normal"); |
| var alignContentFlexEndSafe = document.getElementById("alignContentFlexEndSafe"); |
| checkValues(alignContentFlexEndSafe, "alignContent", "align-content", "", "normal"); |
| var alignContentSpaceBetweenLeft = document.getElementById("alignContentSpaceBetweenLeft"); |
| checkValues(alignContentSpaceBetweenLeft, "alignContent", "align-content", "", "normal"); |
| var alignContentSpaceAroundCenter = document.getElementById("alignContentSpaceAroundCenter"); |
| checkValues(alignContentSpaceAroundCenter, "alignContent", "align-content", "", "normal"); |
| var alignContentSpaceEvenlyRight = document.getElementById("alignContentSpaceEvenlyRight"); |
| checkValues(alignContentSpaceEvenlyRight, "alignContent", "align-content", "", "normal"); |
| var alignContentStretchStartSafe = document.getElementById("alignContentStretchStartSafe"); |
| checkValues(alignContentStretchStartSafe, "alignContent", "align-content", "", "normal"); |
| var alignContentSpaceAroundEndUnsafe = document.getElementById("alignContentSpaceAroundEndUnsafe"); |
| checkValues(alignContentSpaceAroundEndUnsafe, "alignContent", "align-content", "", "normal"); |
| var alignContentSpaceEvenlyFlexStartSafe = document.getElementById("alignContentSpaceEvenlyFlexStartSafe"); |
| checkValues(alignContentSpaceEvenlyFlexStartSafe, "alignContent", "align-content", "", "normal"); |
| var alignContentSpaceBetweenSafe = document.getElementById("alignContentSpaceBetweenSafe"); |
| checkValues(alignContentSpaceBetweenSafe, "alignContent", "align-content", "", "normal"); |
| var alignContentSpaceBetweenStretch = document.getElementById("alignContentSpaceBetweenStretch"); |
| checkValues(alignContentSpaceBetweenStretch, "alignContent", "align-content", "", "normal"); |
| var alignContentSafe = document.getElementById("alignContentSafe"); |
| checkValues(alignContentSafe, "alignContent", "align-content", "", "normal"); |
| var alignContentRightSafeUnsafe = document.getElementById("alignContentRightSafeUnsafe"); |
| checkValues(alignContentRightSafeUnsafe, "alignContent", "align-content", "", "normal"); |
| var alignContentCenterLeft = document.getElementById("alignContentCenterLeft"); |
| checkValues(alignContentCenterLeft, "alignContent", "align-content", "", "normal"); |
| }, "Test setting invalid values to align-content through CSS."); |
| |
| test(function() { |
| element = document.createElement("div"); |
| document.body.appendChild(element); |
| checkValues(element, "alignContent", "align-content", "", "normal"); |
| }, "Test initial value of align-content through JS"); |
| |
| test(function() { |
| element = document.createElement("div"); |
| document.body.appendChild(element); |
| element.style.alignContent = "center"; |
| checkValues(element, "alignContent", "align-content", "center", "center"); |
| |
| element.style.alignContent = "unsafe start"; |
| checkValues(element, "alignContent", "align-content", "unsafe start", "unsafe start"); |
| |
| element.style.alignContent = "safe flex-end"; |
| checkValues(element, "alignContent", "align-content", "safe flex-end", "safe flex-end"); |
| |
| element.style.alignContent = "unsafe end"; |
| checkValues(element, "alignContent", "align-content", "unsafe end", "unsafe end"); |
| |
| element.style.alignContent = "first baseline"; |
| checkValues(element, "alignContent", "align-content", "baseline", "baseline"); |
| |
| element.style.alignContent = "last baseline"; |
| checkValues(element, "alignContent", "align-content", "last baseline", "last baseline"); |
| |
| element.style.alignContent = "normal"; |
| checkValues(element, "alignContent", "align-content", "normal", "normal"); |
| |
| element.style.display = "flex"; |
| element.style.alignContent = "normal"; |
| checkValues(element, "alignContent", "align-content", "normal", "normal"); |
| |
| element.style.display = "grid"; |
| element.style.alignContent = "normal"; |
| checkValues(element, "alignContent", "align-content", "normal", "normal"); |
| |
| element.style.alignContent = "flex-end"; |
| checkValues(element, "alignContent", "align-content", "flex-end", "flex-end"); |
| }, "Test getting and setting align-content through JS"); |
| |
| test(function() { |
| element = document.createElement("div"); |
| document.body.appendChild(element); |
| |
| checkBadValues(element, "alignContent", "align-content", "left"); |
| checkBadValues(element, "alignContent", "align-content", "right"); |
| checkBadValues(element, "alignContent", "align-content", "auto"); |
| checkBadValues(element, "alignContent", "align-content", "unsafe auto"); |
| checkBadValues(element, "alignContent", "align-content", "auto safe"); |
| checkBadValues(element, "alignContent", "align-content", "auto left"); |
| checkBadValues(element, "alignContent", "align-content", "safe left"); |
| checkBadValues(element, "alignContent", "align-content", "unsafe right"); |
| checkBadValues(element, "alignContent", "align-content", "baseline safe"); |
| checkBadValues(element, "alignContent", "align-content", "last-baseline center"); |
| checkBadValues(element, "alignContent", "align-content", "unsafe unsafe"); |
| checkBadValues(element, "alignContent", "align-content", "unsafe safe"); |
| checkBadValues(element, "alignContent", "align-content", "center start"); |
| checkBadValues(element, "alignContent", "align-content", "baseline safe"); |
| checkBadValues(element, "alignContent", "align-content", "unsafe baseline"); |
| checkBadValues(element, "alignContent", "align-content", "unsafe safe left"); |
| checkBadValues(element, "alignContent", "align-content", "unsafe left safe"); |
| checkBadValues(element, "alignContent", "align-content", "left safe unsafe safe"); |
| checkBadValues(element, "alignContent", "align-content", "start right space-between"); |
| checkBadValues(element, "alignContent", "align-content", "safe stretch"); |
| checkBadValues(element, "alignContent", "align-content", "normal space-between"); |
| checkBadValues(element, "alignContent", "align-content", "stretch normal"); |
| checkBadValues(element, "alignContent", "align-content", "stretch center"); |
| checkBadValues(element, "alignContent", "align-content", "space-between right safe"); |
| checkBadValues(element, "alignContent", "align-content", "normal safe"); |
| checkBadValues(element, "alignContent", "align-content", "space-around stretch"); |
| checkBadValues(element, "alignContent", "align-content", "end space-between start"); |
| checkBadValues(element, "alignContent", "align-content", "right safe left"); |
| checkBadValues(element, "alignContent", "align-content", "unsafe"); |
| checkBadValues(element, "alignContent", "align-content", "safe"); |
| checkBadValues(element, "alignContent", "align-content", "start safe"); |
| checkBadValues(element, "alignContent", "align-content", "end unsafe"); |
| }, "Test bad combinations of align-content"); |
| |
| test(function() { |
| element.style.display = ""; |
| checkInitialValues(element, "alignContent", "align-content", "center", "normal"); |
| }, "Test the value 'initial'"); |
| |
| test(function() { |
| element.style.display = "grid"; |
| checkInitialValues(element, "alignContent", "align-content", "safe start", "normal"); |
| }, "Test the value 'initial' for grid containers"); |
| |
| test(function() { |
| element.style.display = "flex"; |
| checkInitialValues(element, "alignContent", "align-content", "unsafe end", "normal"); |
| }, "Test the value 'initial' for flex containers"); |
| |
| test(function() { |
| checkInheritValues("alignContent", "align-content", "end"); |
| checkInheritValues("alignContent", "align-content", "safe start"); |
| checkInheritValues("alignContent", "align-content", "unsafe center"); |
| }, "Test the value 'inherit'"); |
| </script> |