| OLD | NEW |
| 1 description('Test that setting and getting grid-definition-columns and grid-defi
nition-rows works as expected'); | 1 description('Test that setting and getting grid-definition-columns and grid-defi
nition-rows works as expected'); |
| 2 | 2 |
| 3 debug("Test getting grid-definition-columns and grid-definition-rows set through
CSS"); | 3 debug("Test getting grid-definition-columns and grid-definition-rows set through
CSS"); |
| 4 testGridDefinitionsValues(document.getElementById("gridWithNoneElement"), "none"
, "none"); | 4 testGridDefinitionsValues(document.getElementById("gridWithNoneElement"), "none"
, "none"); |
| 5 testGridDefinitionsValues(document.getElementById("gridWithFixedElement"), "10px
", "15px"); | 5 testGridDefinitionsValues(document.getElementById("gridWithFixedElement"), "10px
", "15px"); |
| 6 testGridDefinitionsValues(document.getElementById("gridWithPercentElement"), "40
0px", "150px"); | 6 testGridDefinitionsValues(document.getElementById("gridWithPercentElement"), "40
0px", "150px"); |
| 7 testGridDefinitionsValues(document.getElementById("gridWithAutoElement"), "0px",
"0px"); | 7 testGridDefinitionsValues(document.getElementById("gridWithAutoElement"), "0px",
"0px"); |
| 8 testGridDefinitionsValues(document.getElementById("gridWithAutoWithoutSizeElemen
t"), "0px", "0px"); | 8 testGridDefinitionsValues(document.getElementById("gridWithAutoWithoutSizeElemen
t"), "0px", "0px"); |
| 9 testGridDefinitionsValues(document.getElementById("gridWithAutoWithChildrenEleme
nt"), "7px", "11px"); | 9 testGridDefinitionsValues(document.getElementById("gridWithAutoWithChildrenEleme
nt"), "7px", "11px"); |
| 10 testGridDefinitionsValues(document.getElementById("gridWithEMElement"), "100px",
"150px"); | 10 testGridDefinitionsValues(document.getElementById("gridWithEMElement"), "100px",
"150px"); |
| 11 testGridDefinitionsValues(document.getElementById("gridWithViewPortPercentageEle
ment"), "64px", "60px"); | 11 testGridDefinitionsValues(document.getElementById("gridWithViewPortPercentageEle
ment"), "64px", "60px"); |
| 12 testGridDefinitionsValues(document.getElementById("gridWithMinMaxElement"), "80p
x", "300px"); | 12 testGridDefinitionsValues(document.getElementById("gridWithMinMaxElement"), "80p
x", "300px"); |
| 13 testGridDefinitionsValues(document.getElementById("gridWithMinContentElement"),
"0px", "0px"); | 13 testGridDefinitionsValues(document.getElementById("gridWithMinContentElement"),
"0px", "0px"); |
| 14 testGridDefinitionsValues(document.getElementById("gridWithMinContentWithChildre
nElement"), "17px", "11px"); | 14 testGridDefinitionsValues(document.getElementById("gridWithMinContentWithChildre
nElement"), "17px", "11px"); |
| 15 testGridDefinitionsValues(document.getElementById("gridWithMaxContentElement"),
"0px", "0px"); | 15 testGridDefinitionsValues(document.getElementById("gridWithMaxContentElement"),
"0px", "0px"); |
| 16 testGridDefinitionsValues(document.getElementById("gridWithMaxContentWithChildre
nElement"), "17px", "11px"); | 16 testGridDefinitionsValues(document.getElementById("gridWithMaxContentWithChildre
nElement"), "17px", "11px"); |
| 17 testGridDefinitionsValues(document.getElementById("gridWithFractionElement"), "8
00px", "600px"); | 17 testGridDefinitionsValues(document.getElementById("gridWithFractionElement"), "8
00px", "600px"); |
| 18 testGridDefinitionsValues(document.getElementById("gridWithCalcElement"), "150px
", "75px"); |
| 19 testGridDefinitionsValues(document.getElementById("gridWithCalcComplexElement"),
"550px", "465px"); |
| 20 testGridDefinitionsValues(document.getElementById("gridWithCalcInsideMinMaxEleme
nt"), "minmax(10%, 15px)", "minmax(20px, 50%)", "80px", "300px"); |
| 21 testGridDefinitionsValues(document.getElementById("gridWithCalcComplexInsideMinM
axElement"), "minmax(10%, 415px)", "minmax(80px, 50%)", "415px", "300px"); |
| 18 | 22 |
| 19 debug(""); | 23 debug(""); |
| 20 debug("Test getting wrong values for grid-definition-columns and grid-definition
-rows through CSS (they should resolve to the default: 'none')"); | 24 debug("Test getting wrong values for grid-definition-columns and grid-definition
-rows through CSS (they should resolve to the default: 'none')"); |
| 21 var gridWithFitContentElement = document.getElementById("gridWithFitContentEleme
nt"); | 25 var gridWithFitContentElement = document.getElementById("gridWithFitContentEleme
nt"); |
| 22 testGridDefinitionsValues(gridWithFitContentElement, "none", "none"); | 26 testGridDefinitionsValues(gridWithFitContentElement, "none", "none"); |
| 23 | 27 |
| 24 var gridWithFitAvailableElement = document.getElementById("gridWithFitAvailableE
lement"); | 28 var gridWithFitAvailableElement = document.getElementById("gridWithFitAvailableE
lement"); |
| 25 testGridDefinitionsValues(gridWithFitAvailableElement, "none", "none"); | 29 testGridDefinitionsValues(gridWithFitAvailableElement, "none", "none"); |
| 26 | 30 |
| 27 debug(""); | 31 debug(""); |
| (...skipping 21 matching lines...) Expand all Loading... |
| 49 testGridDefinitionsSetJSValues("minmax(22em, max-content)", "minmax(max-content,
5em)", "220px", "50px"); | 53 testGridDefinitionsSetJSValues("minmax(22em, max-content)", "minmax(max-content,
5em)", "220px", "50px"); |
| 50 testGridDefinitionsSetJSValues("minmax(min-content, max-content)", "minmax(max-c
ontent, min-content)", "0px", "0px"); | 54 testGridDefinitionsSetJSValues("minmax(min-content, max-content)", "minmax(max-c
ontent, min-content)", "0px", "0px"); |
| 51 // Unit comparison should be case-insensitive. | 55 // Unit comparison should be case-insensitive. |
| 52 testGridDefinitionsSetJSValues("3600Fr", "154fR", "800px", "600px", "3600fr", "1
54fr"); | 56 testGridDefinitionsSetJSValues("3600Fr", "154fR", "800px", "600px", "3600fr", "1
54fr"); |
| 53 // Float values are allowed. | 57 // Float values are allowed. |
| 54 testGridDefinitionsSetJSValues("3.1459fr", "2.718fr", "800px", "600px"); | 58 testGridDefinitionsSetJSValues("3.1459fr", "2.718fr", "800px", "600px"); |
| 55 // A leading '+' is allowed. | 59 // A leading '+' is allowed. |
| 56 testGridDefinitionsSetJSValues("+3fr", "+4fr", "800px", "600px", "3fr", "4fr"); | 60 testGridDefinitionsSetJSValues("+3fr", "+4fr", "800px", "600px", "3fr", "4fr"); |
| 57 | 61 |
| 58 debug(""); | 62 debug(""); |
| 63 debug("Test getting and setting grid-definition-columns and grid-definition-rows
to calc() values through JS"); |
| 64 testGridDefinitionsSetJSValues("calc(150px)", "calc(75px)", "150px", "75px"); |
| 65 testGridDefinitionsSetJSValues("calc(50% - 30px)", "calc(75px + 10%)", "370px",
"135px"); |
| 66 testGridDefinitionsSetJSValues("minmax(25%, calc(30px))", "minmax(calc(75%), 40p
x)", "200px", "450px", "minmax(25%, calc(30px))", "minmax(calc(75%), 40px)"); |
| 67 testGridDefinitionsSetJSValues("minmax(10%, calc(30px + 10%))", "minmax(calc(25%
- 50px), 200px)", "110px", "200px", "minmax(10%, calc(30px + 10%))", "minmax(ca
lc(25% - 50px), 200px)"); |
| 68 |
| 69 debug(""); |
| 59 debug("Test setting grid-definition-columns and grid-definition-rows to bad valu
es through JS"); | 70 debug("Test setting grid-definition-columns and grid-definition-rows to bad valu
es through JS"); |
| 60 // No comma and only 1 argument provided. | 71 // No comma and only 1 argument provided. |
| 61 testGridDefinitionsSetBadJSValues("minmax(10px 20px)", "minmax(10px)") | 72 testGridDefinitionsSetBadJSValues("minmax(10px 20px)", "minmax(10px)") |
| 62 // Nested minmax and only 2 arguments are allowed. | 73 // Nested minmax and only 2 arguments are allowed. |
| 63 testGridDefinitionsSetBadJSValues("minmax(minmax(10px, 20px), 20px)", "minmax(10
px, 20px, 30px)"); | 74 testGridDefinitionsSetBadJSValues("minmax(minmax(10px, 20px), 20px)", "minmax(10
px, 20px, 30px)"); |
| 64 // No breadth value and no comma. | 75 // No breadth value and no comma. |
| 65 testGridDefinitionsSetBadJSValues("minmax()", "minmax(30px 30% 30em)"); | 76 testGridDefinitionsSetBadJSValues("minmax()", "minmax(30px 30% 30em)"); |
| 66 // Auto is not allowed inside minmax. | 77 // Auto is not allowed inside minmax. |
| 67 testGridDefinitionsSetBadJSValues("minmax(auto, 8vh)", "minmax(10vw, auto)"); | 78 testGridDefinitionsSetBadJSValues("minmax(auto, 8vh)", "minmax(10vw, auto)"); |
| 68 testGridDefinitionsSetBadJSValues("-2fr", "3ffr"); | 79 testGridDefinitionsSetBadJSValues("-2fr", "3ffr"); |
| 69 testGridDefinitionsSetBadJSValues("-2.05fr", "+-3fr"); | 80 testGridDefinitionsSetBadJSValues("-2.05fr", "+-3fr"); |
| 70 testGridDefinitionsSetBadJSValues("0fr", "1r"); | 81 testGridDefinitionsSetBadJSValues("0fr", "1r"); |
| 71 // A dimension doesn't allow spaces between the number and the unit. | 82 // A dimension doesn't allow spaces between the number and the unit. |
| 72 testGridDefinitionsSetBadJSValues(".0000fr", "13 fr"); | 83 testGridDefinitionsSetBadJSValues(".0000fr", "13 fr"); |
| 73 testGridDefinitionsSetBadJSValues("7.-fr", "-8,0fr"); | 84 testGridDefinitionsSetBadJSValues("7.-fr", "-8,0fr"); |
| 74 // Negative values are not allowed. | 85 // Negative values are not allowed. |
| 75 testGridDefinitionsSetBadJSValues("-1px", "-6em"); | 86 testGridDefinitionsSetBadJSValues("-1px", "-6em"); |
| 76 testGridDefinitionsSetBadJSValues("minmax(-1%, 32%)", "minmax(2vw, -6em)"); | 87 testGridDefinitionsSetBadJSValues("minmax(-1%, 32%)", "minmax(2vw, -6em)"); |
| 88 // Invalid expressions with calc |
| 89 testGridDefinitionsSetBadJSValues("calc(16px 30px)", "calc(25px + auto)"); |
| 90 testGridDefinitionsSetBadJSValues("minmax(min-content, calc())", "calc(10%("); |
| 77 | 91 |
| 78 debug(""); | 92 debug(""); |
| 79 debug("Test setting grid-definition-columns and grid-definition-rows back to 'no
ne' through JS"); | 93 debug("Test setting grid-definition-columns and grid-definition-rows back to 'no
ne' through JS"); |
| 80 testGridDefinitionsSetJSValues("18px", "66px"); | 94 testGridDefinitionsSetJSValues("18px", "66px"); |
| 81 testGridDefinitionsSetJSValues("none", "none"); | 95 testGridDefinitionsSetJSValues("none", "none"); |
| 82 | 96 |
| 83 function testInherit() | 97 function testInherit() |
| 84 { | 98 { |
| 85 var parentElement = document.createElement("div"); | 99 var parentElement = document.createElement("div"); |
| 86 document.body.appendChild(parentElement); | 100 document.body.appendChild(parentElement); |
| (...skipping 31 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 118 element.style.gridDefinitionColumns = "initial"; | 132 element.style.gridDefinitionColumns = "initial"; |
| 119 element.style.gridDefinitionRows = "initial"; | 133 element.style.gridDefinitionRows = "initial"; |
| 120 shouldBe("getComputedStyle(element, '').getPropertyValue('grid-definition-co
lumns')", "'none'"); | 134 shouldBe("getComputedStyle(element, '').getPropertyValue('grid-definition-co
lumns')", "'none'"); |
| 121 shouldBe("getComputedStyle(element, '').getPropertyValue('grid-definition-ro
ws')", "'none'"); | 135 shouldBe("getComputedStyle(element, '').getPropertyValue('grid-definition-ro
ws')", "'none'"); |
| 122 | 136 |
| 123 document.body.removeChild(element); | 137 document.body.removeChild(element); |
| 124 } | 138 } |
| 125 debug(""); | 139 debug(""); |
| 126 debug("Test setting grid-definition-columns and grid-definition-rows to 'initial
' through JS"); | 140 debug("Test setting grid-definition-columns and grid-definition-rows to 'initial
' through JS"); |
| 127 testInitial(); | 141 testInitial(); |
| OLD | NEW |