Index: LayoutTests/fast/alignment/parse-align-items.html |
diff --git a/LayoutTests/fast/alignment/parse-align-items.html b/LayoutTests/fast/alignment/parse-align-items.html |
new file mode 100644 |
index 0000000000000000000000000000000000000000..2ff27d2092ef10dbae9fc5affb7f7d588c8900ba |
--- /dev/null |
+++ b/LayoutTests/fast/alignment/parse-align-items.html |
@@ -0,0 +1,232 @@ |
+<!DOCTYPE html> |
+<html> |
+<head> |
+<style> |
+#alignItemsBaseline { |
+ align-items: baseline; |
+} |
+ |
+#alignItemsStretch { |
+ align-items: stretch; |
+} |
+ |
+#alignItemsStart { |
+ align-items: start; |
+} |
+ |
+#alignItemsEnd { |
+ align-items: end; |
+} |
+ |
+#alignItemsCenter { |
+ align-items: center; |
+} |
+ |
+#alignItemsItemsStart { |
+ align-items: self-start; |
+} |
+ |
+#alignItemsItemsEnd { |
+ align-items: self-end; |
+} |
+ |
+#alignItemsLeft { |
+ align-items: left; |
+} |
+ |
+#alignItemsRight { |
+ align-items: right; |
+} |
+ |
+#alignItemsEndTrue { |
+ align-items: end true; |
+} |
+ |
+#alignItemsCenterTrue { |
+ align-items: center true; |
+} |
+ |
+#alignItemsItemsEndSafe { |
+ align-items: self-end safe; |
+} |
+ |
+#alignItemsItemsStartSafe { |
+ align-items: self-start safe; |
+} |
+ |
+#alignItemsRightSafe { |
+ align-items: right safe; |
+} |
+ |
+#alignItemsLeftTrue { |
+ align-items: left true; |
+} |
+</style> |
+<script src="../../resources/js-test.js"></script> |
+</head> |
+<body> |
+<div id="alignItemsBaseline"></div> |
+<div id="alignItemsStretch"></div> |
+<div id="alignItemsStart"></div> |
+<div id="alignItemsEnd"></div> |
+<div id="alignItemsCenter"></div> |
+<div id="alignItemsItemsStart"></div> |
+<div id="alignItemsItemsEnd"></div> |
+<div id="alignItemsLeft"></div> |
+<div id="alignItemsRight"></div> |
+ |
+<div id="alignItemsEndTrue"></div> |
+<div id="alignItemsCenterTrue"></div> |
+<div id="alignItemsItemsEndSafe"></div> |
+<div id="alignItemsItemsStartSafe"></div> |
+<div id="alignItemsRightSafe"></div> |
+<div id="alignItemsLeftTrue"></div> |
+<script> |
+description('Test that setting and getting align-items works as expected'); |
+ |
+debug("Test getting align-items set through CSS"); |
+var alignItemsBaseline = document.getElementById("alignItemsBaseline"); |
+shouldBe("getComputedStyle(alignItemsBaseline, '').getPropertyValue('align-items')", "'baseline'"); |
+ |
+var alignItemsStretch = document.getElementById("alignItemsStretch"); |
+shouldBe("getComputedStyle(alignItemsStretch, '').getPropertyValue('align-items')", "'stretch'"); |
+ |
+var alignItemsStart = document.getElementById("alignItemsStart"); |
+shouldBe("getComputedStyle(alignItemsStart, '').getPropertyValue('align-items')", "'start'"); |
+ |
+var alignItemsEnd = document.getElementById("alignItemsEnd"); |
+shouldBe("getComputedStyle(alignItemsEnd, '').getPropertyValue('align-items')", "'end'"); |
+ |
+var alignItemsCenter = document.getElementById("alignItemsCenter"); |
+shouldBe("getComputedStyle(alignItemsCenter, '').getPropertyValue('align-items')", "'center'"); |
+ |
+var alignItemsItemsEnd = document.getElementById("alignItemsItemsEnd"); |
+shouldBe("getComputedStyle(alignItemsItemsEnd, '').getPropertyValue('align-items')", "'self-end'"); |
+ |
+var alignItemsItemsStart = document.getElementById("alignItemsItemsStart"); |
+shouldBe("getComputedStyle(alignItemsItemsStart, '').getPropertyValue('align-items')", "'self-start'"); |
+ |
+var alignItemsLeft = document.getElementById("alignItemsLeft"); |
+shouldBe("getComputedStyle(alignItemsLeft, '').getPropertyValue('align-items')", "'left'"); |
+ |
+var alignItemsRight = document.getElementById("alignItemsRight"); |
+shouldBe("getComputedStyle(alignItemsRight, '').getPropertyValue('align-items')", "'right'"); |
+ |
+var alignItemsEndTrue = document.getElementById("alignItemsEndTrue"); |
+shouldBe("getComputedStyle(alignItemsEndTrue, '').getPropertyValue('align-items')", "'end true'"); |
+ |
+var alignItemsCenterTrue = document.getElementById("alignItemsCenterTrue"); |
+shouldBe("getComputedStyle(alignItemsCenterTrue, '').getPropertyValue('align-items')", "'center true'"); |
+ |
+var alignItemsItemsEndSafe = document.getElementById("alignItemsItemsEndSafe"); |
+shouldBe("getComputedStyle(alignItemsItemsEndSafe, '').getPropertyValue('align-items')", "'self-end safe'"); |
+ |
+var alignItemsItemsStartSafe = document.getElementById("alignItemsItemsStartSafe"); |
+shouldBe("getComputedStyle(alignItemsItemsStartSafe, '').getPropertyValue('align-items')", "'self-start safe'"); |
+ |
+var alignItemsRightSafe = document.getElementById("alignItemsRightSafe"); |
+shouldBe("getComputedStyle(alignItemsRightSafe, '').getPropertyValue('align-items')", "'right safe'"); |
+ |
+var alignItemsLeftTrue = document.getElementById("alignItemsLeftTrue"); |
+shouldBe("getComputedStyle(alignItemsLeftTrue, '').getPropertyValue('align-items')", "'left true'"); |
+ |
+debug(""); |
+debug("Test initial value of align-items through JS"); |
+element = document.createElement("div"); |
+document.body.appendChild(element); |
+shouldBe("getComputedStyle(element, '').getPropertyValue('align-items')", "'stretch'"); |
+ |
+debug(""); |
+debug("Test getting and setting align-items through JS"); |
+element = document.createElement("div"); |
+document.body.appendChild(element); |
+element.style.alignItems = "center"; |
+shouldBe("getComputedStyle(element, '').getPropertyValue('align-items')", "'center'"); |
+ |
+element = document.createElement("div"); |
+document.body.appendChild(element); |
+element.style.alignItems = "true start"; |
+shouldBe("getComputedStyle(element, '').getPropertyValue('align-items')", "'start true'"); |
+ |
+element.style.alignItems = "auto"; |
+shouldBe("getComputedStyle(element, '').getPropertyValue('align-items')", "'auto'"); |
+ |
+debug(""); |
+debug("Test bad combinaisons of align-items"); |
+element = document.createElement("div"); |
+document.body.appendChild(element); |
+element.style.alignItems = "true auto"; |
+shouldBe("getComputedStyle(element, '').getPropertyValue('align-items')", "'stretch'"); |
+ |
+element.style.alignItems = "auto safe"; |
+shouldBe("getComputedStyle(element, '').getPropertyValue('align-items')", "'stretch'"); |
+ |
+element.style.alignItems = "auto left"; |
+shouldBe("getComputedStyle(element, '').getPropertyValue('align-items')", "'stretch'"); |
+ |
+element.style.alignItems = "baseline safe"; |
+shouldBe("getComputedStyle(element, '').getPropertyValue('align-items')", "'stretch'"); |
+ |
+element.style.alignItems = "baseline center"; |
+shouldBe("getComputedStyle(element, '').getPropertyValue('align-items')", "'stretch'"); |
+ |
+element.style.alignItems = "stretch true"; |
+shouldBe("getComputedStyle(element, '').getPropertyValue('align-items')", "'stretch'"); |
+ |
+element.style.alignItems = "stretch right"; |
+shouldBe("getComputedStyle(element, '').getPropertyValue('align-items')", "'stretch'"); |
+ |
+element.style.alignItems = "true true"; |
+shouldBe("getComputedStyle(element, '').getPropertyValue('align-items')", "'stretch'"); |
+ |
+element.style.alignItems = "true safe"; |
+shouldBe("getComputedStyle(element, '').getPropertyValue('align-items')", "'stretch'"); |
+ |
+element.style.alignItems = "center start"; |
+shouldBe("getComputedStyle(element, '').getPropertyValue('align-items')", "'stretch'"); |
+ |
+element.style.alignItems = "stretch true"; |
+shouldBe("getComputedStyle(element, '').getPropertyValue('align-items')", "'stretch'"); |
+ |
+element.style.alignItems = "safe stretch"; |
+shouldBe("getComputedStyle(element, '').getPropertyValue('align-items')", "'stretch'"); |
+ |
+element.style.alignItems = "baseline safe"; |
+shouldBe("getComputedStyle(element, '').getPropertyValue('align-items')", "'stretch'"); |
+ |
+element.style.alignItems = "true baseline"; |
+shouldBe("getComputedStyle(element, '').getPropertyValue('align-items')", "'stretch'"); |
+ |
+element.style.alignItems = "true safe"; |
+shouldBe("getComputedStyle(element, '').getPropertyValue('align-items')", "'stretch'"); |
+ |
+element.style.alignItems = "true safe left"; |
+shouldBe("getComputedStyle(element, '').getPropertyValue('align-items')", "'stretch'"); |
+ |
+element.style.alignItems = "true left safe"; |
+shouldBe("getComputedStyle(element, '').getPropertyValue('align-items')", "'stretch'"); |
+ |
+element.style.alignItems = "left safe true safe"; |
+shouldBe("getComputedStyle(element, '').getPropertyValue('align-items')", "'stretch'"); |
+ |
+debug(""); |
+debug("Test the value 'initial'"); |
+element.style.alignItems = "center"; |
+shouldBe("getComputedStyle(element, '').getPropertyValue('align-items')", "'center'"); |
+element.style.alignItems = "initial"; |
+shouldBe("getComputedStyle(element, '').getPropertyValue('align-items')", "'stretch'"); |
+ |
+debug(""); |
+debug("Test the value 'inherit'"); |
+parentElement = document.createElement("div"); |
+document.body.appendChild(parentElement); |
+parentElement.style.alignItems = "end"; |
+shouldBe("getComputedStyle(parentElement, '').getPropertyValue('align-items')", "'end'"); |
+ |
+element = document.createElement("div"); |
+parentElement.appendChild(element); |
+element.style.alignItems = "inherit"; |
+shouldBe("getComputedStyle(element, '').getPropertyValue('align-items')", "'end'"); |
+</script> |
+</body> |
+</html> |