| <!DOCTYPE html> |
| <html> |
| <head> |
| <style> |
| #justifyItemsBaseline { |
| justify-items: baseline; |
| } |
| |
| #justifyItemsLastBaseline { |
| justify-items: last-baseline; |
| } |
| |
| #justifyItemsStretch { |
| justify-items: stretch; |
| } |
| |
| #justifyItemsStart { |
| justify-items: start; |
| } |
| |
| #justifyItemsEnd { |
| justify-items: end; |
| } |
| |
| #justifyItemsCenter { |
| justify-items: center; |
| } |
| |
| #justifyItemsSelfStart { |
| justify-items: self-start; |
| } |
| |
| #justifyItemsSelfEnd { |
| justify-items: self-end; |
| } |
| |
| #justifyItemsLeft { |
| justify-items: left; |
| } |
| |
| #justifyItemsRight { |
| justify-items: right; |
| } |
| |
| #justifyItemsFlexStart { |
| justify-items: flex-start; |
| } |
| |
| #justifyItemsFlexEnd { |
| justify-items: flex-end; |
| } |
| |
| #justifyItemsEndTrue { |
| justify-items: end true; |
| } |
| |
| #justifyItemsCenterTrue { |
| justify-items: center true; |
| } |
| |
| #justifyItemsSelfEndSafe { |
| justify-items: self-end safe; |
| } |
| |
| #justifyItemsSelfStartSafe { |
| justify-items: self-start safe; |
| } |
| |
| #justifyItemsRightSafe { |
| justify-items: right safe; |
| } |
| |
| #justifyItemsLeftTrue { |
| justify-items: left true; |
| } |
| |
| #justifyItemsFlexStartTrue { |
| justify-items: flex-start true; |
| } |
| |
| #justifyItemsFlexEndSafe { |
| justify-items: flex-end safe; |
| } |
| |
| #justifyItemsLegacyLeft { |
| justify-items: legacy left; |
| } |
| |
| #justifyItemsLegacyCenter { |
| justify-items: legacy center; |
| } |
| |
| #justifyItemsLegacyRight { |
| justify-items: legacy right; |
| } |
| |
| #justifyItemsLeftLegacy { |
| justify-items: left legacy; |
| } |
| |
| #justifyItemsCenterLegacy { |
| justify-items: center legacy; |
| } |
| |
| #justifyItemsRightLegacy { |
| justify-items: right legacy; |
| } |
| </style> |
| <script src="../../resources/js-test.js"></script> |
| </head> |
| <body> |
| <div id="justifyItemsBaseline"></div> |
| <div id="justifyItemsLastBaseline"></div> |
| <div id="justifyItemsStretch"></div> |
| <div id="justifyItemsStart"></div> |
| <div id="justifyItemsEnd"></div> |
| <div id="justifyItemsCenter"></div> |
| <div id="justifyItemsSelfStart"></div> |
| <div id="justifyItemsSelfEnd"></div> |
| <div id="justifyItemsLeft"></div> |
| <div id="justifyItemsRight"></div> |
| <div id="justifyItemsFlexStart"></div> |
| <div id="justifyItemsFlexEnd"></div> |
| |
| <div id="justifyItemsEndTrue"></div> |
| <div id="justifyItemsCenterTrue"></div> |
| <div id="justifyItemsSelfEndSafe"></div> |
| <div id="justifyItemsSelfStartSafe"></div> |
| <div id="justifyItemsRightSafe"></div> |
| <div id="justifyItemsLeftTrue"></div> |
| <div id="justifyItemsFlexStartTrue"></div> |
| <div id="justifyItemsFlexEndSafe"></div> |
| <div id="justifyItemsLegacyLeft"></div> |
| <div id="justifyItemsLegacyCenter"></div> |
| <div id="justifyItemsLegacyRight"></div> |
| <div id="justifyItemsLeftLegacy"></div> |
| <div id="justifyItemsCenterLegacy"></div> |
| <div id="justifyItemsRightLegacy"></div> |
| <script src="resources/alignment-parsing-utils.js"></script> |
| <script> |
| description('Test that setting and getting justify-items works as expected'); |
| |
| debug("Test getting justify-items set through CSS"); |
| var justifyItemsBaseline = document.getElementById("justifyItemsBaseline"); |
| shouldBe("getComputedStyle(justifyItemsBaseline, '').getPropertyValue('justify-items')", "'baseline'"); |
| |
| var justifyItemsLastBaseline = document.getElementById("justifyItemsLastBaseline"); |
| shouldBe("getComputedStyle(justifyItemsLastBaseline, '').getPropertyValue('justify-items')", "'last-baseline'"); |
| |
| var justifyItemsStretch = document.getElementById("justifyItemsStretch"); |
| shouldBe("getComputedStyle(justifyItemsStretch, '').getPropertyValue('justify-items')", "'stretch'"); |
| |
| var justifyItemsStart = document.getElementById("justifyItemsStart"); |
| shouldBe("getComputedStyle(justifyItemsStart, '').getPropertyValue('justify-items')", "'start'"); |
| |
| var justifyItemsEnd = document.getElementById("justifyItemsEnd"); |
| shouldBe("getComputedStyle(justifyItemsEnd, '').getPropertyValue('justify-items')", "'end'"); |
| |
| var justifyItemsCenter = document.getElementById("justifyItemsCenter"); |
| shouldBe("getComputedStyle(justifyItemsCenter, '').getPropertyValue('justify-items')", "'center'"); |
| |
| var justifyItemsSelfEnd = document.getElementById("justifyItemsSelfEnd"); |
| shouldBe("getComputedStyle(justifyItemsSelfEnd, '').getPropertyValue('justify-items')", "'self-end'"); |
| |
| var justifyItemsSelfStart = document.getElementById("justifyItemsSelfStart"); |
| shouldBe("getComputedStyle(justifyItemsSelfStart, '').getPropertyValue('justify-items')", "'self-start'"); |
| |
| var justifyItemsLeft = document.getElementById("justifyItemsLeft"); |
| shouldBe("getComputedStyle(justifyItemsLeft, '').getPropertyValue('justify-items')", "'left'"); |
| |
| var justifyItemsRight = document.getElementById("justifyItemsRight"); |
| shouldBe("getComputedStyle(justifyItemsRight, '').getPropertyValue('justify-items')", "'right'"); |
| |
| var justifyItemsFlexStart = document.getElementById("justifyItemsFlexStart"); |
| shouldBe("getComputedStyle(justifyItemsFlexStart, '').getPropertyValue('justify-items')", "'flex-start'"); |
| |
| var justifyItemsFlexEnd = document.getElementById("justifyItemsFlexEnd"); |
| shouldBe("getComputedStyle(justifyItemsFlexEnd, '').getPropertyValue('justify-items')", "'flex-end'"); |
| |
| var justifyItemsEndTrue = document.getElementById("justifyItemsEndTrue"); |
| shouldBe("getComputedStyle(justifyItemsEndTrue, '').getPropertyValue('justify-items')", "'end true'"); |
| |
| var justifyItemsCenterTrue = document.getElementById("justifyItemsCenterTrue"); |
| shouldBe("getComputedStyle(justifyItemsCenterTrue, '').getPropertyValue('justify-items')", "'center true'"); |
| |
| var justifyItemsSelfEndSafe = document.getElementById("justifyItemsSelfEndSafe"); |
| shouldBe("getComputedStyle(justifyItemsSelfEndSafe, '').getPropertyValue('justify-items')", "'self-end safe'"); |
| |
| var justifyItemsSelfStartSafe = document.getElementById("justifyItemsSelfStartSafe"); |
| shouldBe("getComputedStyle(justifyItemsSelfStartSafe, '').getPropertyValue('justify-items')", "'self-start safe'"); |
| |
| var justifyItemsRightSafe = document.getElementById("justifyItemsRightSafe"); |
| shouldBe("getComputedStyle(justifyItemsRightSafe, '').getPropertyValue('justify-items')", "'right safe'"); |
| |
| var justifyItemsLeftTrue = document.getElementById("justifyItemsLeftTrue"); |
| shouldBe("getComputedStyle(justifyItemsLeftTrue, '').getPropertyValue('justify-items')", "'left true'"); |
| |
| var justifyItemsFlexStartTrue = document.getElementById("justifyItemsFlexStartTrue"); |
| shouldBe("getComputedStyle(justifyItemsFlexStartTrue, '').getPropertyValue('justify-items')", "'flex-start true'"); |
| |
| var justifyItemsFlexEndSafe = document.getElementById("justifyItemsFlexEndSafe"); |
| shouldBe("getComputedStyle(justifyItemsFlexEndSafe, '').getPropertyValue('justify-items')", "'flex-end safe'"); |
| |
| var justifyItemsLegacyLeft = document.getElementById("justifyItemsLegacyLeft"); |
| shouldBe("getComputedStyle(justifyItemsLegacyLeft, '').getPropertyValue('justify-items')", "'legacy left'"); |
| |
| var justifyItemsLegacyCenter = document.getElementById("justifyItemsLegacyCenter"); |
| shouldBe("getComputedStyle(justifyItemsLegacyCenter, '').getPropertyValue('justify-items')", "'legacy center'"); |
| |
| var justifyItemsLegacyRight = document.getElementById("justifyItemsLegacyRight"); |
| shouldBe("getComputedStyle(justifyItemsLegacyRight, '').getPropertyValue('justify-items')", "'legacy right'"); |
| |
| var justifyItemsLeftLegacy = document.getElementById("justifyItemsLeftLegacy"); |
| shouldBe("getComputedStyle(justifyItemsLeftLegacy, '').getPropertyValue('justify-items')", "'legacy left'"); |
| |
| var justifyItemsCenterLegacy = document.getElementById("justifyItemsCenterLegacy"); |
| shouldBe("getComputedStyle(justifyItemsCenterLegacy, '').getPropertyValue('justify-items')", "'legacy center'"); |
| |
| var justifyItemsRightLegacy = document.getElementById("justifyItemsRightLegacy"); |
| shouldBe("getComputedStyle(justifyItemsRightLegacy, '').getPropertyValue('justify-items')", "'legacy right'"); |
| |
| debug(""); |
| debug("Test initial value of justify-items through JS"); |
| element = document.createElement("div"); |
| document.body.appendChild(element); |
| shouldBe("getComputedStyle(element, '').getPropertyValue('justify-items')", "'start'"); |
| |
| debug(""); |
| debug("Test getting and setting justify-items through JS"); |
| element = document.createElement("div"); |
| document.body.appendChild(element); |
| element.style.justifyItems = "center"; |
| checkValues(element, "justifyItems", "justify-items", "center", "center"); |
| |
| element.style.justifyItems = "true start"; |
| checkValues(element, "justifyItems", "justify-items", "start true", "start true"); |
| |
| element.style.justifyItems = "flex-end safe"; |
| checkValues(element, "justifyItems", "justify-items", "flex-end safe", "flex-end safe"); |
| |
| element.style.justifyItems = "right legacy"; |
| checkValues(element, "justifyItems", "justify-items", "legacy right", "legacy right"); |
| |
| element.style.justifyItems = "center legacy"; |
| checkValues(element, "justifyItems", "justify-items", "legacy center", "legacy center"); |
| |
| element.style.justifyItems = "left legacy"; |
| checkValues(element, "justifyItems", "justify-items", "legacy left", "legacy left"); |
| |
| element.style.justifyItems = "auto"; |
| checkValues(element, "justifyItems", "justify-items", "auto", "start"); |
| |
| element.style.display = "flex"; |
| element.style.justifyItems = "auto"; |
| checkValues(element, "justifyItems", "justify-items", "auto", "stretch"); |
| |
| element.style.display = "grid"; |
| element.style.justifyItems = "auto"; |
| checkValues(element, "justifyItems", "justify-items", "auto", "stretch"); |
| shouldBe("getComputedStyle(element, '').getPropertyValue('justify-items')", "'stretch'"); |
| shouldBe("element.style.justifyItems", "'auto'"); |
| |
| element.style.justifyItems = "self-end"; |
| checkValues(element, "justifyItems", "justify-items", "self-end", "self-end"); |
| |
| debug(""); |
| debug("Test bad combinations of justify-items"); |
| element = document.createElement("div"); |
| document.body.appendChild(element); |
| |
| checkBadValues(element, "justifyItems", "justify-items", "true auto"); |
| checkBadValues(element, "justifyItems", "justify-items", "auto safe"); |
| checkBadValues(element, "justifyItems", "justify-items", "auto left"); |
| checkBadValues(element, "justifyItems", "justify-items", "baseline safe"); |
| checkBadValues(element, "justifyItems", "justify-items", "baseline center"); |
| checkBadValues(element, "justifyItems", "justify-items", "stretch true"); |
| checkBadValues(element, "justifyItems", "justify-items", "stretch right"); |
| checkBadValues(element, "justifyItems", "justify-items", "true true"); |
| checkBadValues(element, "justifyItems", "justify-items", "true safe"); |
| checkBadValues(element, "justifyItems", "justify-items", "center start"); |
| checkBadValues(element, "justifyItems", "justify-items", "stretch true"); |
| checkBadValues(element, "justifyItems", "justify-items", "safe stretch"); |
| checkBadValues(element, "justifyItems", "justify-items", "baseline safe"); |
| checkBadValues(element, "justifyItems", "justify-items", "true baseline"); |
| checkBadValues(element, "justifyItems", "justify-items", "true safe left"); |
| checkBadValues(element, "justifyItems", "justify-items", "true left safe"); |
| checkBadValues(element, "justifyItems", "justify-items", "left safe true safe"); |
| checkBadValues(element, "justifyItems", "justify-items", "legacy start"); |
| checkBadValues(element, "justifyItems", "justify-items", "legacy end"); |
| checkBadValues(element, "justifyItems", "justify-items", "legacy right true"); |
| checkBadValues(element, "justifyItems", "justify-items", "legacy auto"); |
| checkBadValues(element, "justifyItems", "justify-items", "legacy stretch"); |
| checkBadValues(element, "justifyItems", "justify-items", "legacy"); |
| checkBadValues(element, "justifyItems", "justify-items", "legacy left right"); |
| |
| debug(""); |
| debug("Test the value 'initial'"); |
| element.style.display = ""; |
| checkInitialValues(element, "justifyItems", "justify-items", "center", "start"); |
| |
| debug(""); |
| debug("Test the value 'initial' for grid containers"); |
| element.style.display = "-webkit-grid"; |
| checkInitialValues(element, "justifyItems", "justify-items", "left safe", "stretch"); |
| |
| debug(""); |
| debug("Test the value 'initial' for flex containers"); |
| element.style.display = "-webkit-flex"; |
| checkInitialValues(element, "justifyItems", "justify-items", "right true", "stretch"); |
| |
| debug(""); |
| debug("Test the value 'inherit'"); |
| parentElement = document.createElement("div"); |
| checkInheritValues("justifyItems", "justify-items", "end"); |
| checkInheritValues("justifyItems", "justify-items", "left safe"); |
| checkInheritValues("justifyItems", "justify-items", "center true"); |
| |
| debug(""); |
| debug("Test the value 'legacy'"); |
| checkLegacyValues("justifyItems", "justify-items", "legacy left"); |
| checkLegacyValues("justifyItems", "justify-items", "legacy center"); |
| checkLegacyValues("justifyItems", "justify-items", "legacy right"); |
| |
| </script> |
| </body> |
| </html> |