| OLD | NEW |
| 1 <!DOCTYPE html> | 1 <!DOCTYPE html> |
| 2 <html> | 2 <html> |
| 3 <head> | 3 <head> |
| 4 <link href="resources/grid.css" rel="stylesheet"> | 4 <link href="resources/grid.css" rel="stylesheet"> |
| 5 <style> | 5 <style> |
| 6 .grid { |
| 7 grid-template: "firstArea" "secondArea" |
| 8 "thirdArea" "thirdArea"; |
| 9 } |
| 10 |
| 6 .gridItemWithPositiveInteger { | 11 .gridItemWithPositiveInteger { |
| 7 grid-column-start: 10; | 12 grid-column-start: 10; |
| 8 grid-row-start: 15; | 13 grid-row-start: 15; |
| 9 } | 14 } |
| 10 .gridItemWithNegativeInteger { | 15 .gridItemWithNegativeInteger { |
| 11 grid-column-start: -10; | 16 grid-column-start: -10; |
| 12 grid-row-start: -15; | 17 grid-row-start: -15; |
| 13 } | 18 } |
| 14 .gridItemWithBeforeSpan { | 19 .gridItemWithBeforeSpan { |
| 15 grid-column-start: span 2; | 20 grid-column-start: span 2; |
| (...skipping 16 matching lines...) Expand all Loading... |
| 32 grid-row-start: "last"; | 37 grid-row-start: "last"; |
| 33 } | 38 } |
| 34 .gridItemWithSpanString { | 39 .gridItemWithSpanString { |
| 35 grid-column-start: "first" span; | 40 grid-column-start: "first" span; |
| 36 grid-row-start: span "last"; | 41 grid-row-start: span "last"; |
| 37 } | 42 } |
| 38 .gridItemWithSpanNumberString { | 43 .gridItemWithSpanNumberString { |
| 39 grid-column-start: 2 "first" span; | 44 grid-column-start: 2 "first" span; |
| 40 grid-row-start: "last" 3 span; | 45 grid-row-start: "last" 3 span; |
| 41 } | 46 } |
| 47 .gridItemWithArea { |
| 48 grid-column-start: firstArea; |
| 49 grid-row-start: thirdArea; |
| 50 } |
| 42 </style> | 51 </style> |
| 43 <script src="resources/grid-item-column-row-parsing-utils.js"></script> | 52 <script src="resources/grid-item-column-row-parsing-utils.js"></script> |
| 44 <script src="../js/resources/js-test-pre.js"></script> | 53 <script src="../js/resources/js-test-pre.js"></script> |
| 45 </head> | 54 </head> |
| 46 <body> | 55 <body> |
| 47 <div class="grid"> | 56 <div class="grid"> |
| 48 <!-- The first has no properties set on it. --> | 57 <!-- The first has no properties set on it. --> |
| 49 <div id="gridElement"></div> | 58 <div id="gridElement"></div> |
| 50 <div class="gridItemWithPositiveInteger" id="gridItemWithPositiveInteger"></
div> | 59 <div class="gridItemWithPositiveInteger" id="gridItemWithPositiveInteger"></
div> |
| 51 <div class="gridItemWithNegativeInteger" id="gridItemWithNegativeInteger"></
div> | 60 <div class="gridItemWithNegativeInteger" id="gridItemWithNegativeInteger"></
div> |
| 52 <div class="gridItemWithBeforeSpan" id="gridItemWithBeforeSpan"></div> | 61 <div class="gridItemWithBeforeSpan" id="gridItemWithBeforeSpan"></div> |
| 53 <div class="gridItemWithAfterSpan" id="gridItemWithAfterSpan"></div> | 62 <div class="gridItemWithAfterSpan" id="gridItemWithAfterSpan"></div> |
| 54 <div class="gridItemWithOnlySpan" id="gridItemWithOnlySpan"></div> | 63 <div class="gridItemWithOnlySpan" id="gridItemWithOnlySpan"></div> |
| 55 <div class="gridItemWithAuto" id="gridItemWithAutoElement"></div> | 64 <div class="gridItemWithAuto" id="gridItemWithAutoElement"></div> |
| 56 <div class="gridItemWithString" id="gridItemWithStringElement"></div> | 65 <div class="gridItemWithString" id="gridItemWithStringElement"></div> |
| 57 <div class="gridItemWithSpanString" id="gridItemWithSpanStringElement"></div
> | 66 <div class="gridItemWithSpanString" id="gridItemWithSpanStringElement"></div
> |
| 58 <div class="gridItemWithSpanNumberString" id="gridItemWithSpanNumberStringEl
ement"></div> | 67 <div class="gridItemWithSpanNumberString" id="gridItemWithSpanNumberStringEl
ement"></div> |
| 68 <div class="gridItemWithArea" id="gridItemWithArea"></div> |
| 59 </div> | 69 </div> |
| 60 <script> | 70 <script> |
| 61 description('Test that setting and getting grid-column-start and grid-row-st
art works as expected'); | 71 description('Test that setting and getting grid-column-start and grid-row-st
art works as expected'); |
| 62 | 72 |
| 63 debug("Test getting grid-column-start and grid-row-start set through CSS"); | 73 debug("Test getting grid-column-start and grid-row-start set through CSS"); |
| 64 var gridElement = document.getElementById("gridElement"); | 74 var gridElement = document.getElementById("gridElement"); |
| 65 shouldBe("getComputedStyle(gridElement, '').getPropertyValue('grid-column-st
art')", "'auto'"); | 75 shouldBe("getComputedStyle(gridElement, '').getPropertyValue('grid-column-st
art')", "'auto'"); |
| 66 shouldBe("getComputedStyle(gridElement, '').getPropertyValue('grid-column')"
, "'auto / auto'"); | 76 shouldBe("getComputedStyle(gridElement, '').getPropertyValue('grid-column')"
, "'auto / auto'"); |
| 67 shouldBe("getComputedStyle(gridElement, '').getPropertyValue('grid-row-start
')", "'auto'"); | 77 shouldBe("getComputedStyle(gridElement, '').getPropertyValue('grid-row-start
')", "'auto'"); |
| 68 shouldBe("getComputedStyle(gridElement, '').getPropertyValue('grid-row')", "
'auto / auto'"); | 78 shouldBe("getComputedStyle(gridElement, '').getPropertyValue('grid-row')", "
'auto / auto'"); |
| 69 | 79 |
| 70 testColumnRowCSSParsing("gridItemWithPositiveInteger", "10 / auto", "15 / au
to"); | 80 testColumnRowCSSParsing("gridItemWithPositiveInteger", "10 / auto", "15 / au
to"); |
| 71 testColumnRowCSSParsing("gridItemWithNegativeInteger", "-10 / auto", "-15 /
auto"); | 81 testColumnRowCSSParsing("gridItemWithNegativeInteger", "-10 / auto", "-15 /
auto"); |
| 72 testColumnRowCSSParsing("gridItemWithBeforeSpan", "span 2 / auto", "span 8 /
auto"); | 82 testColumnRowCSSParsing("gridItemWithBeforeSpan", "span 2 / auto", "span 8 /
auto"); |
| 73 testColumnRowCSSParsing("gridItemWithAfterSpan", "span 2 / auto", "span 8 /
auto"); | 83 testColumnRowCSSParsing("gridItemWithAfterSpan", "span 2 / auto", "span 8 /
auto"); |
| 74 testColumnRowCSSParsing("gridItemWithOnlySpan", "span 1 / auto", "span 1 / a
uto"); | 84 testColumnRowCSSParsing("gridItemWithOnlySpan", "span 1 / auto", "span 1 / a
uto"); |
| 75 testColumnRowCSSParsing("gridItemWithAutoElement", "auto / auto", "auto / au
to"); | 85 testColumnRowCSSParsing("gridItemWithAutoElement", "auto / auto", "auto / au
to"); |
| 76 testColumnRowCSSParsing("gridItemWithStringElement", "1 first / auto", "1 la
st / auto"); | 86 testColumnRowCSSParsing("gridItemWithStringElement", "1 first / auto", "1 la
st / auto"); |
| 77 testColumnRowCSSParsing("gridItemWithSpanStringElement", "span 1 first / aut
o", "span 1 last / auto"); | 87 testColumnRowCSSParsing("gridItemWithSpanStringElement", "span 1 first / aut
o", "span 1 last / auto"); |
| 78 testColumnRowCSSParsing("gridItemWithSpanNumberStringElement", "span 2 first
/ auto", "span 3 last / auto"); | 88 testColumnRowCSSParsing("gridItemWithSpanNumberStringElement", "span 2 first
/ auto", "span 3 last / auto"); |
| 89 testColumnRowCSSParsing("gridItemWithArea", "firstArea / auto", "thirdArea /
auto"); |
| 79 | 90 |
| 80 debug(""); | 91 debug(""); |
| 81 debug("Test the initial value"); | 92 debug("Test the initial value"); |
| 82 var element = document.createElement("div"); | 93 var element = document.createElement("div"); |
| 83 document.body.appendChild(element); | 94 document.body.appendChild(element); |
| 84 shouldBe("getComputedStyle(element, '').getPropertyValue('grid-column-start'
)", "'auto'"); | 95 shouldBe("getComputedStyle(element, '').getPropertyValue('grid-column-start'
)", "'auto'"); |
| 85 shouldBe("getComputedStyle(element, '').getPropertyValue('grid-column')", "'
auto / auto'"); | 96 shouldBe("getComputedStyle(element, '').getPropertyValue('grid-column')", "'
auto / auto'"); |
| 86 shouldBe("getComputedStyle(element, '').getPropertyValue('grid-row-start')",
"'auto'"); | 97 shouldBe("getComputedStyle(element, '').getPropertyValue('grid-row-start')",
"'auto'"); |
| 87 shouldBe("getComputedStyle(element, '').getPropertyValue('grid-row')", "'aut
o / auto'"); | 98 shouldBe("getComputedStyle(element, '').getPropertyValue('grid-row')", "'aut
o / auto'"); |
| 88 | 99 |
| 89 debug(""); | 100 debug(""); |
| 90 debug("Test getting and setting grid-column-start and grid-row-start through
JS"); | 101 debug("Test getting and setting grid-column-start and grid-row-start through
JS"); |
| 91 testColumnStartRowStartJSParsing("18", "66"); | 102 testColumnStartRowStartJSParsing("18", "66"); |
| 92 testColumnStartRowStartJSParsing("-55", "-40"); | 103 testColumnStartRowStartJSParsing("-55", "-40"); |
| 93 testColumnStartRowStartJSParsing("'nav'", "'last'", "1 nav", "1 last"); | 104 testColumnStartRowStartJSParsing("'nav'", "'last'", "1 nav", "1 last"); |
| 94 testColumnStartRowStartJSParsing("span 3", "span 20"); | 105 testColumnStartRowStartJSParsing("span 3", "span 20"); |
| 95 testColumnStartRowStartJSParsing("span 'nav'", "span 'last'", "span 1 nav",
"span 1 last"); | 106 testColumnStartRowStartJSParsing("span 'nav'", "span 'last'", "span 1 nav",
"span 1 last"); |
| 96 testColumnStartRowStartJSParsing("auto", "auto"); | 107 testColumnStartRowStartJSParsing("auto", "auto"); |
| 108 testColumnStartRowStartJSParsing("thirdArea", "secondArea"); |
| 109 testColumnStartRowStartJSParsing("nonExistentArea", "secondArea", "nonExiste
ntArea", "secondArea"); |
| 110 testColumnStartRowStartJSParsing("secondArea", "nonExistentArea", "secondAre
a", "nonExistentArea"); |
| 97 | 111 |
| 98 debug(""); | 112 debug(""); |
| 99 debug("Test setting grid-column-start and grid-row-start to 'inherit' throug
h JS"); | 113 debug("Test setting grid-column-start and grid-row-start to 'inherit' throug
h JS"); |
| 100 testColumnStartRowStartInheritJSParsing("inherit", "18"); | 114 testColumnStartRowStartInheritJSParsing("inherit", "18"); |
| 101 testColumnStartRowStartInheritJSParsing("2", "inherit"); | 115 testColumnStartRowStartInheritJSParsing("2", "inherit"); |
| 102 testColumnStartRowStartInheritJSParsing("inherit", "inherit"); | 116 testColumnStartRowStartInheritJSParsing("inherit", "inherit"); |
| 103 | 117 |
| 104 debug(""); | 118 debug(""); |
| 105 debug("Test setting grid-column-start and grid-row-start to 'initial' throug
h JS"); | 119 debug("Test setting grid-column-start and grid-row-start to 'initial' throug
h JS"); |
| 106 testColumnStartRowStartInitialJSParsing(); | 120 testColumnStartRowStartInitialJSParsing(); |
| 107 | 121 |
| 108 debug(""); | 122 debug(""); |
| 109 debug("Test setting grid-column-start and grid-row-start back to 'auto' thro
ugh JS"); | 123 debug("Test setting grid-column-start and grid-row-start back to 'auto' thro
ugh JS"); |
| 110 element.style.gridColumnStart = "18"; | 124 element.style.gridColumnStart = "18"; |
| 111 element.style.gridRowStart = "66"; | 125 element.style.gridRowStart = "66"; |
| 112 shouldBe("getComputedStyle(element, '').getPropertyValue('grid-column-start'
)", "'18'"); | 126 shouldBe("getComputedStyle(element, '').getPropertyValue('grid-column-start'
)", "'18'"); |
| 113 shouldBe("getComputedStyle(element, '').getPropertyValue('grid-column')", "'
18 / auto'"); | 127 shouldBe("getComputedStyle(element, '').getPropertyValue('grid-column')", "'
18 / auto'"); |
| 114 shouldBe("getComputedStyle(element, '').getPropertyValue('grid-row-start')",
"'66'"); | 128 shouldBe("getComputedStyle(element, '').getPropertyValue('grid-row-start')",
"'66'"); |
| 115 shouldBe("getComputedStyle(element, '').getPropertyValue('grid-row')", "'66
/ auto'"); | 129 shouldBe("getComputedStyle(element, '').getPropertyValue('grid-row')", "'66
/ auto'"); |
| 116 element.style.gridColumnStart = "auto"; | 130 element.style.gridColumnStart = "auto"; |
| 117 element.style.gridRowStart = "auto"; | 131 element.style.gridRowStart = "auto"; |
| 118 shouldBe("getComputedStyle(element, '').getPropertyValue('grid-column-start'
)", "'auto'"); | 132 shouldBe("getComputedStyle(element, '').getPropertyValue('grid-column-start'
)", "'auto'"); |
| 119 shouldBe("getComputedStyle(element, '').getPropertyValue('grid-column')", "'
auto / auto'"); | 133 shouldBe("getComputedStyle(element, '').getPropertyValue('grid-column')", "'
auto / auto'"); |
| 120 shouldBe("getComputedStyle(element, '').getPropertyValue('grid-row-start')",
"'auto'"); | 134 shouldBe("getComputedStyle(element, '').getPropertyValue('grid-row-start')",
"'auto'"); |
| 121 shouldBe("getComputedStyle(element, '').getPropertyValue('grid-row')", "'aut
o / auto'"); | 135 shouldBe("getComputedStyle(element, '').getPropertyValue('grid-row')", "'aut
o / auto'"); |
| 122 </script> | 136 </script> |
| 123 <script src="../js/resources/js-test-post.js"></script> | 137 <script src="../js/resources/js-test-post.js"></script> |
| 124 </body> | 138 </body> |
| 125 </html> | 139 </html> |
| OLD | NEW |