Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(236)

Unified Diff: LayoutTests/fast/css-grid-layout/grid-item-column-row-get-set.html

Issue 14715014: Add parsing for named grid lines (Closed) Base URL: svn://svn.chromium.org/blink/trunk
Patch Set: Patch for landing (fixed Elliott's comments) Created 7 years, 7 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
« no previous file with comments | « no previous file | LayoutTests/fast/css-grid-layout/grid-item-column-row-get-set-expected.txt » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: LayoutTests/fast/css-grid-layout/grid-item-column-row-get-set.html
diff --git a/LayoutTests/fast/css-grid-layout/grid-item-column-row-get-set.html b/LayoutTests/fast/css-grid-layout/grid-item-column-row-get-set.html
index a35d041b474affbb60676905e6b43d8e6dcae7a2..a70ee6ca1de89213d92b790579b0c6a5d906f0e5 100755
--- a/LayoutTests/fast/css-grid-layout/grid-item-column-row-get-set.html
+++ b/LayoutTests/fast/css-grid-layout/grid-item-column-row-get-set.html
@@ -50,6 +50,18 @@ if (window.testRunner)
-webkit-grid-column: auto/1;
-webkit-grid-row: 5/auto;
}
+.gridItemWithString {
+ -webkit-grid-column: "first";
+ -webkit-grid-row: "last";
+}
+.gridItemWithSpanString {
+ -webkit-grid-column: 1 /span "first";
+ -webkit-grid-row: -1 / span "last";
+}
+.gridItemWithSpanNumberString {
+ -webkit-grid-column: 1 /span 3 "first";
+ -webkit-grid-row: -1 / "last" 2 span ;
+}
</style>
<script src="resources/grid-item-column-row-parsing-utils.js"></script>
<script src="../js/resources/js-test-pre.js"></script>
@@ -68,6 +80,9 @@ if (window.testRunner)
<div class="gridItemWith2OnlySpan" id="gridItemWith2OnlySpanElement"></div>
<div class="gridItemWithNegativePositiveInteger gridItemWithBothLongHand" id="gridItemWithBothShortLongHandElement"></div>
<div class="gridItemWithNoSpace" id="gridItemWithNoSpaceElement"></div>
+<div class="gridItemWithString" id="gridItemWithString"></div>
+<div class="gridItemWithSpanString" id="gridItemWithSpanString"></div>
+<div class="gridItemWithSpanNumberString" id="gridItemWithSpanNumberString"></div>
<script>
description('Test that setting and getting grid-column and grid-row works as expected');
@@ -83,6 +98,9 @@ if (window.testRunner)
testColumnRowCSSParsing("gridItemWith2AutoElement", "auto / auto" , "auto / auto");
testColumnRowCSSParsing("gridItemWithBothShortLongHandElement", "10 / 11", "4 / 5");
testColumnRowCSSParsing("gridItemWithNoSpaceElement", "auto / 1", "5 / auto");
+ testColumnRowCSSParsing("gridItemWithString", "1 first / auto", "1 last / auto");
+ testColumnRowCSSParsing("gridItemWithSpanString", "1 / span 1 first", "-1 / span 1 last");
+ testColumnRowCSSParsing("gridItemWithSpanNumberString", "1 / span 3 first", "-1 / span 2 last");
debug("");
debug("Test the initial value");
@@ -106,6 +124,10 @@ if (window.testRunner)
testColumnRowJSParsing("4 / auto", "5 / auto");
testColumnRowJSParsing("auto / 5", "auto / 8");
testColumnRowJSParsing("span / 3", "5 / span", "span 1 / 3", "5 / span 1");
+ testColumnRowJSParsing("'first' span / 3", "5 / 'last' span", "span 1 first / 3", "5 / span 1 last");
+ testColumnRowJSParsing("'first' / 'last'", "'nav' / 'last' span", "1 first / 1 last", "1 nav / span 1 last");
+ testColumnRowJSParsing("3 'first' / 2 'last'", "5 'nav' / 'last' 7 span", "3 first / 2 last", "5 nav / span 7 last");
+ testColumnRowJSParsing("3 'first' span / -3 'last'", "'last' 2 span / -1 'nav'", "span 3 first / -3 last", "span 2 last / -1 nav");
debug("");
debug("Test setting grid-column and grid-row back to 'auto' through JS");
@@ -152,12 +174,38 @@ if (window.testRunner)
testColumnRowInvalidJSParsing("span span / span span", "span span / span span");
- // Negative integer or 0 are invalid.
- testColumnRowInvalidJSParsing("span -1 / -2 span", "-3 span / span -4");
- testColumnRowInvalidJSParsing("0 span / span 0", "span 0 / 0 span");
+ // More than 1 <integer> and / or <string>.
+ testColumnRowInvalidJSParsing("5 5 / span 2", "4 4 / 3 span");
+ testColumnRowInvalidJSParsing("5 'first' 'last' / span 2", "'first' 4 'last' / 3 span");
+ testColumnRowInvalidJSParsing("5 / 'first' 'last' 2", "4 / 'first' 3 'last'");
+ testColumnRowInvalidJSParsing("'first' 'last' / span 2", "'first' 'last' / 3 span");
+ testColumnRowInvalidJSParsing("5 / 'first' 'last'", "4 / 'first' 'last'");
+ testColumnRowInvalidJSParsing("5 5 span / 2", "span 4 4 / 3");
+ testColumnRowInvalidJSParsing("span 3 5 / 1", "5 span 4 / 3");
+ testColumnRowInvalidJSParsing("span 'last' 'first' / 1", "span 'first' 'last' / 3");
+ testColumnRowInvalidJSParsing("2 / span 'last' 'first'", "3 / span 'first' 'last'");
+ testColumnRowInvalidJSParsing("span 1 'last' 'first' / 1", "span 'first' 'last' 7 / 3");
+ testColumnRowInvalidJSParsing("2 / span 'last' 3 'first'", "3 / span 'first' 5 'last'");
+ testColumnRowInvalidJSParsing("1 span 2 'first' / 1", "1 span 'last' 7 / 3");
+ testColumnRowInvalidJSParsing("2 / 3 span 3 'first'", "3 / 5 span 'first' 5");
+
+ // Negative integer or 0 are invalid for spans.
+ testColumnRowInvalidJSParsing("span -1 / -2", "-3 span / -4");
+ testColumnRowInvalidJSParsing("-1 / -2 span", "-3 / span -4");
+ testColumnRowInvalidJSParsing("0 span / 0", "span 0 / 0");
+ testColumnRowInvalidJSParsing("0 / span 0", "0 / 0 span");
+ testColumnRowInvalidJSParsing("span -3 'first' / 3 'last'", "'last' -2 span / 1 'nav'");
// Spans for both initial / final values is not allowed.
testColumnRowInvalidJSParsing("5 span / span 2", "span 4 / 3 span");
+ testColumnRowInvalidJSParsing("'first' span / span 'last'", "span 4 'first' / 3 span 'last'");
+ testColumnRowInvalidJSParsing("'first' 3 span / span 'last'", "span 'first' / 2 span 'last'");
+ testColumnRowInvalidJSParsing("'first' -1 span / span 'last'", "span -2 'first' / span 'last'");
+
+ // We don't allow span to be between the <integer> and the <string>.
+ testColumnRowInvalidJSParsing("'first' span 1 / 'last'", "2 span 'first' / 'last'");
+ testColumnRowInvalidJSParsing("3 'first' / 2 span 'last'", "5 'nav' / 'last' span 7");
+ testColumnRowInvalidJSParsing("3 / 1 span 2", "5 / 3 span 3");
</script>
<script src="../js/resources/js-test-post.js"></script>
</body>
« no previous file with comments | « no previous file | LayoutTests/fast/css-grid-layout/grid-item-column-row-get-set-expected.txt » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698