OLD | NEW |
1 description('Test that setting and getting grid-template-columns and grid-templa
te-rows works as expected'); | 1 description('Test that setting and getting grid-template-columns and grid-templa
te-rows works as expected'); |
2 | 2 |
3 debug("Test getting grid-template-columns and grid-template-rows set through CSS
"); | 3 debug("Test getting grid-template-columns and grid-template-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("gridWithPercentWithoutSize"),
"0px", "0px"); | 7 testGridDefinitionsValues(document.getElementById("gridWithPercentWithoutSize"),
"0px", "0px"); |
8 testGridDefinitionsValues(document.getElementById("gridWithPercentWithoutSizeWit
hChildren"), "3.5px", "11px"); | 8 testGridDefinitionsValues(document.getElementById("gridWithPercentWithoutSizeWit
hChildren"), "3.5px", "11px"); |
9 testGridDefinitionsValues(document.getElementById("gridWithAutoElement"), "0px",
"0px"); | 9 testGridDefinitionsValues(document.getElementById("gridWithAutoElement"), "0px",
"0px"); |
10 testGridDefinitionsValues(document.getElementById("gridWithAutoWithoutSizeElemen
t"), "0px", "0px"); | 10 testGridDefinitionsValues(document.getElementById("gridWithAutoWithoutSizeElemen
t"), "0px", "0px"); |
11 testGridDefinitionsValues(document.getElementById("gridWithAutoWithChildrenEleme
nt"), "7px", "11px"); | 11 testGridDefinitionsValues(document.getElementById("gridWithAutoWithChildrenEleme
nt"), "7px", "11px"); |
12 testGridDefinitionsValues(document.getElementById("gridWithEMElement"), "100px",
"150px"); | 12 testGridDefinitionsValues(document.getElementById("gridWithEMElement"), "100px",
"150px"); |
13 testGridDefinitionsValues(document.getElementById("gridWithViewPortPercentageEle
ment"), "64px", "60px"); | 13 testGridDefinitionsValues(document.getElementById("gridWithViewPortPercentageEle
ment"), "64px", "60px"); |
14 testGridDefinitionsValues(document.getElementById("gridWithMinMaxElement"), "80p
x", "300px"); | 14 testGridDefinitionsValues(document.getElementById("gridWithMinMaxElement"), "80p
x", "300px"); |
15 testGridDefinitionsValues(document.getElementById("gridWithMinContentElement"),
"0px", "0px"); | 15 testGridDefinitionsValues(document.getElementById("gridWithMinContentElement"),
"0px", "0px"); |
16 testGridDefinitionsValues(document.getElementById("gridWithMinContentWithChildre
nElement"), "17px", "11px"); | 16 testGridDefinitionsValues(document.getElementById("gridWithMinContentWithChildre
nElement"), "17px", "11px"); |
17 testGridDefinitionsValues(document.getElementById("gridWithMaxContentElement"),
"0px", "0px"); | 17 testGridDefinitionsValues(document.getElementById("gridWithMaxContentElement"),
"0px", "0px"); |
18 testGridDefinitionsValues(document.getElementById("gridWithMaxContentWithChildre
nElement"), "17px", "11px"); | 18 testGridDefinitionsValues(document.getElementById("gridWithMaxContentWithChildre
nElement"), "17px", "11px"); |
19 testGridDefinitionsValues(document.getElementById("gridWithFractionElement"), "8
00px", "600px"); | 19 testGridDefinitionsValues(document.getElementById("gridWithFractionElement"), "8
00px", "600px"); |
20 testGridDefinitionsValues(document.getElementById("gridWithCalcElement"), "150px
", "75px"); | 20 testGridDefinitionsValues(document.getElementById("gridWithCalcElement"), "150px
", "75px"); |
21 testGridDefinitionsValues(document.getElementById("gridWithCalcComplexElement"),
"550px", "465px"); | 21 testGridDefinitionsValues(document.getElementById("gridWithCalcComplexElement"),
"550px", "465px"); |
22 testGridDefinitionsValues(document.getElementById("gridWithCalcInsideMinMaxEleme
nt"), "80px", "300px"); | 22 testGridDefinitionsValues(document.getElementById("gridWithCalcInsideMinMaxEleme
nt"), "80px", "300px"); |
23 testGridDefinitionsValues(document.getElementById("gridWithCalcComplexInsideMinM
axElement"), "415px", "300px"); | 23 testGridDefinitionsValues(document.getElementById("gridWithCalcComplexInsideMinM
axElement"), "415px", "300px"); |
24 testGridDefinitionsValues(document.getElementById("gridWithAutoInsideMinMaxEleme
nt"), "20px", "11px"); | 24 testGridDefinitionsValues(document.getElementById("gridWithAutoInsideMinMaxEleme
nt"), "20px", "11px"); |
| 25 testGridDefinitionsValues(document.getElementById("gridWithFitContentFunctionEle
ment"), "7px", "11px"); |
25 | 26 |
26 debug(""); | 27 debug(""); |
27 debug("Test getting wrong values for grid-template-columns and grid-template-row
s through CSS (they should resolve to the default: 'none')"); | 28 debug("Test getting wrong values for grid-template-columns and grid-template-row
s through CSS (they should resolve to the default: 'none')"); |
28 var gridWithFitContentElement = document.getElementById("gridWithFitContentEleme
nt"); | 29 var gridWithFitContentElement = document.getElementById("gridWithFitContentEleme
nt"); |
29 testGridDefinitionsValues(gridWithFitContentElement, "none", "none"); | 30 testGridDefinitionsValues(gridWithFitContentElement, "none", "none"); |
30 | 31 |
31 var gridWithFitAvailableElement = document.getElementById("gridWithFitAvailableE
lement"); | 32 var gridWithFitAvailableElement = document.getElementById("gridWithFitAvailableE
lement"); |
32 testGridDefinitionsValues(gridWithFitAvailableElement, "none", "none"); | 33 testGridDefinitionsValues(gridWithFitAvailableElement, "none", "none"); |
33 | 34 |
34 debug(""); | 35 debug(""); |
35 debug("Test the initial value"); | 36 debug("Test the initial value"); |
36 var element = document.createElement("div"); | 37 var element = document.createElement("div"); |
37 document.body.appendChild(element); | 38 document.body.appendChild(element); |
38 testGridDefinitionsValues(element, "none", "none"); | 39 testGridDefinitionsValues(element, "none", "none"); |
39 shouldBe("getComputedStyle(element, '').getPropertyValue('grid-template-columns'
)", "'none'"); | 40 shouldBe("getComputedStyle(element, '').getPropertyValue('grid-template-columns'
)", "'none'"); |
40 shouldBe("getComputedStyle(element, '').getPropertyValue('grid-template-rows')",
"'none'"); | 41 shouldBe("getComputedStyle(element, '').getPropertyValue('grid-template-rows')",
"'none'"); |
41 | 42 |
42 debug(""); | 43 debug(""); |
43 debug("Test getting and setting grid-template-columns and grid-template-rows thr
ough JS"); | 44 debug("Test getting and setting grid-template-columns and grid-template-rows thr
ough JS"); |
44 testGridDefinitionsSetJSValues("18px", "66px"); | 45 testGridDefinitionsSetJSValues("18px", "66px"); |
45 testGridDefinitionsSetJSValues("55%", "40%", "440px", "240px"); | 46 testGridDefinitionsSetJSValues("55%", "40%", "440px", "240px"); |
46 testGridDefinitionsSetJSValues("auto", "auto", "0px", "0px"); | 47 testGridDefinitionsSetJSValues("auto", "auto", "0px", "0px"); |
47 testGridDefinitionsSetJSValues("10vw", "25vh", "80px", "150px"); | 48 testGridDefinitionsSetJSValues("10vw", "25vh", "80px", "150px"); |
48 testGridDefinitionsSetJSValues("min-content", "min-content", "0px", "0px"); | 49 testGridDefinitionsSetJSValues("min-content", "min-content", "0px", "0px"); |
49 testGridDefinitionsSetJSValues("max-content", "max-content", "0px", "0px"); | 50 testGridDefinitionsSetJSValues("max-content", "max-content", "0px", "0px"); |
| 51 testGridDefinitionsSetJSValues("fit-content(100px)", "fit-content(25%)", "0px",
"0px"); |
50 | 52 |
51 debug(""); | 53 debug(""); |
52 debug("Test getting and setting grid-template-columns and grid-template-rows to
minmax() values through JS"); | 54 debug("Test getting and setting grid-template-columns and grid-template-rows to
minmax() values through JS"); |
53 testGridDefinitionsSetJSValues("minmax(55%, 45px)", "minmax(30px, 40%)", "440px"
, "240px"); | 55 testGridDefinitionsSetJSValues("minmax(55%, 45px)", "minmax(30px, 40%)", "440px"
, "240px"); |
54 testGridDefinitionsSetJSValues("minmax(22em, 8vh)", "minmax(10vw, 5em)", "220px"
, "80px"); | 56 testGridDefinitionsSetJSValues("minmax(22em, 8vh)", "minmax(10vw, 5em)", "220px"
, "80px"); |
55 testGridDefinitionsSetJSValues("minmax(min-content, 8vh)", "minmax(10vw, min-con
tent)", "48px", "80px"); | 57 testGridDefinitionsSetJSValues("minmax(min-content, 8vh)", "minmax(10vw, min-con
tent)", "48px", "80px"); |
56 testGridDefinitionsSetJSValues("minmax(22em, max-content)", "minmax(max-content,
5em)", "220px", "50px"); | 58 testGridDefinitionsSetJSValues("minmax(22em, max-content)", "minmax(max-content,
5em)", "220px", "50px"); |
57 testGridDefinitionsSetJSValues("minmax(min-content, max-content)", "minmax(max-c
ontent, min-content)", "0px", "0px"); | 59 testGridDefinitionsSetJSValues("minmax(min-content, max-content)", "minmax(max-c
ontent, min-content)", "0px", "0px"); |
58 testGridDefinitionsSetJSValues("minmax(auto, max-content)", "minmax(10vw, auto)"
, "0px", "80px"); | 60 testGridDefinitionsSetJSValues("minmax(auto, max-content)", "minmax(10vw, auto)"
, "0px", "80px"); |
59 // Unit comparison should be case-insensitive. | 61 // Unit comparison should be case-insensitive. |
(...skipping 31 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
91 testGridDefinitionsSetBadJSValues("-1px", "-6em"); | 93 testGridDefinitionsSetBadJSValues("-1px", "-6em"); |
92 testGridDefinitionsSetBadJSValues("minmax(-1%, 32%)", "minmax(2vw, -6em)"); | 94 testGridDefinitionsSetBadJSValues("minmax(-1%, 32%)", "minmax(2vw, -6em)"); |
93 // Invalid expressions with calc | 95 // Invalid expressions with calc |
94 testGridDefinitionsSetBadJSValues("calc(16px 30px)", "calc(25px + auto)"); | 96 testGridDefinitionsSetBadJSValues("calc(16px 30px)", "calc(25px + auto)"); |
95 testGridDefinitionsSetBadJSValues("minmax(min-content, calc())", "calc(10%("); | 97 testGridDefinitionsSetBadJSValues("minmax(min-content, calc())", "calc(10%("); |
96 // Forward slash not allowed if not part of a shorthand | 98 // Forward slash not allowed if not part of a shorthand |
97 testGridDefinitionsSetBadJSValues("10px /", "15px /"); | 99 testGridDefinitionsSetBadJSValues("10px /", "15px /"); |
98 // Flexible lengths are invalid on the min slot of minmax(). | 100 // Flexible lengths are invalid on the min slot of minmax(). |
99 testGridDefinitionsSetBadJSValues("minmax(0fr, 100px)", "minmax(.0fr, 200px)"); | 101 testGridDefinitionsSetBadJSValues("minmax(0fr, 100px)", "minmax(.0fr, 200px)"); |
100 testGridDefinitionsSetBadJSValues("minmax(1fr, 100px)", "minmax(2.5fr, 200px)"); | 102 testGridDefinitionsSetBadJSValues("minmax(1fr, 100px)", "minmax(2.5fr, 200px)"); |
| 103 testGridDefinitionsSetBadJSValues("fit-content(-10em)", "fit-content(-2px)"); |
| 104 testGridDefinitionsSetBadJSValues("fit-content(10px 2%)", "fit-content(5% 10em)"
); |
| 105 testGridDefinitionsSetBadJSValues("fit-content(max-content)", "fit-content(min-c
ontent)"); |
| 106 testGridDefinitionsSetBadJSValues("fit-content(auto)", "fit-content(3fr)"); |
| 107 testGridDefinitionsSetBadJSValues("fit-content(repeat(2, 100px))", "fit-content(
repeat(auto-fit), 1%)"); |
| 108 testGridDefinitionsSetBadJSValues("fit-content(fit-content(10px))", "fit-content
(fit-content(30%))"); |
| 109 testGridDefinitionsSetBadJSValues("fit-content([a] 100px)", "fit-content(30px [b
c])"); |
101 | 110 |
102 debug(""); | 111 debug(""); |
103 debug("Test setting grid-template-columns and grid-template-rows back to 'none'
through JS"); | 112 debug("Test setting grid-template-columns and grid-template-rows back to 'none'
through JS"); |
104 testGridDefinitionsSetJSValues("18px", "66px"); | 113 testGridDefinitionsSetJSValues("18px", "66px"); |
105 testGridDefinitionsSetJSValues("none", "none"); | 114 testGridDefinitionsSetJSValues("none", "none"); |
106 | 115 |
107 function testInherit() | 116 function testInherit() |
108 { | 117 { |
109 var parentElement = document.createElement("div"); | 118 var parentElement = document.createElement("div"); |
110 document.body.appendChild(parentElement); | 119 document.body.appendChild(parentElement); |
(...skipping 31 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
142 element.style.gridTemplateColumns = "initial"; | 151 element.style.gridTemplateColumns = "initial"; |
143 element.style.gridTemplateRows = "initial"; | 152 element.style.gridTemplateRows = "initial"; |
144 shouldBe("getComputedStyle(element, '').getPropertyValue('grid-template-colu
mns')", "'none'"); | 153 shouldBe("getComputedStyle(element, '').getPropertyValue('grid-template-colu
mns')", "'none'"); |
145 shouldBe("getComputedStyle(element, '').getPropertyValue('grid-template-rows
')", "'none'"); | 154 shouldBe("getComputedStyle(element, '').getPropertyValue('grid-template-rows
')", "'none'"); |
146 | 155 |
147 document.body.removeChild(element); | 156 document.body.removeChild(element); |
148 } | 157 } |
149 debug(""); | 158 debug(""); |
150 debug("Test setting grid-template-columns and grid-template-rows to 'initial' th
rough JS"); | 159 debug("Test setting grid-template-columns and grid-template-rows to 'initial' th
rough JS"); |
151 testInitial(); | 160 testInitial(); |
OLD | NEW |