From c2ead6a5d4639a385d9168ee66f21cba9ca90ed6 Mon Sep 17 00:00:00 2001 From: Mats Palmgren Date: Wed, 16 Dec 2015 04:27:12 +0100 Subject: [PATCH] Bug 1226697 part 2 - [css-grid] Add more tests that tests searching for lines in reverse, from the end of the grid, or from an *-end line and/or padding edge in the abs.pos. case. --- ...d-placement-definite-implicit-002-ref.html | 15 ++ .../grid-placement-definite-implicit-002.html | 15 ++ .../grid-placement-named-lines-001-ref.html | 187 ++++++++++++++++++ .../grid-placement-named-lines-001.html | 182 +++++++++++++++++ .../grid-placement-named-lines-002-ref.html | 187 ++++++++++++++++++ .../grid-placement-named-lines-002.html | 182 +++++++++++++++++ .../grid-placement-named-lines-003-ref.html | 171 ++++++++++++++++ .../grid-placement-named-lines-003.html | 166 ++++++++++++++++ ...grid-placement-negative-lines-001-ref.html | 110 +++++++++-- .../grid-placement-negative-lines-001.html | 80 +++++++- layout/reftests/css-grid/reftest.list | 3 + 11 files changed, 1273 insertions(+), 25 deletions(-) create mode 100644 layout/reftests/css-grid/grid-placement-named-lines-001-ref.html create mode 100644 layout/reftests/css-grid/grid-placement-named-lines-001.html create mode 100644 layout/reftests/css-grid/grid-placement-named-lines-002-ref.html create mode 100644 layout/reftests/css-grid/grid-placement-named-lines-002.html create mode 100644 layout/reftests/css-grid/grid-placement-named-lines-003-ref.html create mode 100644 layout/reftests/css-grid/grid-placement-named-lines-003.html diff --git a/layout/reftests/css-grid/grid-placement-definite-implicit-002-ref.html b/layout/reftests/css-grid/grid-placement-definite-implicit-002-ref.html index 30f764f4e94e..a796ea9acd31 100644 --- a/layout/reftests/css-grid/grid-placement-definite-implicit-002-ref.html +++ b/layout/reftests/css-grid/grid-placement-definite-implicit-002-ref.html @@ -110,6 +110,12 @@ span { ._n { } ._n ~ span { left: 20px; } ._n2 { } ._n2 ~ span { top: 20px; } .A3Xe { left: 60px; } +.asA { } .asA ~ span { left: 20px; } +.asA2 { } .asA2 ~ span { top: 20px; } +.a2sA2 { width: 40px; } .a2sA2 ~ span { left: 20px; top: 20px; } +.as1 { } .as1 ~ span { left: 20px; } +.as2 { } .as2 ~ span { top: 20px; } +.as3 { left: 20px; } .c1 { background:grey; } @@ -210,6 +216,15 @@ span {
+
+ + +
+
+
+
+
+
diff --git a/layout/reftests/css-grid/grid-placement-definite-implicit-002.html b/layout/reftests/css-grid/grid-placement-definite-implicit-002.html index 31034dc7a9bf..5e742585474a 100644 --- a/layout/reftests/css-grid/grid-placement-definite-implicit-002.html +++ b/layout/reftests/css-grid/grid-placement-definite-implicit-002.html @@ -122,6 +122,12 @@ span { ._n { grid-column: auto / 1; } ._n2 { grid-column: auto / 2; } .A3Xe { grid-column: A 3 / X 2; } +.asA { grid-column: span A / A; } +.asA2 { grid-column: span A / A 2; } +.a2sA2 { grid-column: span A 2 / A 2; } +.as1 { grid-column: span A / 1; } +.as2 { grid-column: span A / 2; } +.as3 { grid-column: span A / 3; } .c1 { grid-column:1; grid-row:auto; background:grey; } @@ -223,6 +229,15 @@ span {
+
+ + +
+
+
+
+
+
diff --git a/layout/reftests/css-grid/grid-placement-named-lines-001-ref.html b/layout/reftests/css-grid/grid-placement-named-lines-001-ref.html new file mode 100644 index 000000000000..2a0c0951850c --- /dev/null +++ b/layout/reftests/css-grid/grid-placement-named-lines-001-ref.html @@ -0,0 +1,187 @@ + + + + + Reference: Placement involving named lines + + + + + +
+grid-template-columns: [A-start] 60px 60px 60px;
+grid-template-areas: "B A";
+grid-auto-columns: 40px;
+grid-gap: 1px;
+
+ +
grid-column-start:
+
+ +-1 +4 +-2 +-3 +-4 +-5 +A -1 +B -1 +A -2 +A -3 +A -4 +A -5 +A +B +A 1 +A 2 +A 3 +A 4 +A 5 + + + + + + + + + + + + + + + + + + + +
+ +
grid-column-end:
+
+ +-1 +4 +-2 +-3 +-4 +-5 +A -1 +B -1 +A -2 +A -3 +A -4 +A -5 +A +B +A 1 +A 2 +A 3 +A 4 +A 5 + + + + + + + + + + + + + + + + + + + +
+ +
grid-column: / span A-start 2
+
+ +-1 +4 +-2 +-3 +-4 +-5 +A -1 +B -1 +A -2 +A -3 +A -4 +A -5 +A +B +A 1 +A 2 +A 3 +A 4 +A 5 + + + + + + + + + + + + + + + + + + + +
+ + + diff --git a/layout/reftests/css-grid/grid-placement-named-lines-001.html b/layout/reftests/css-grid/grid-placement-named-lines-001.html new file mode 100644 index 000000000000..d0e424492397 --- /dev/null +++ b/layout/reftests/css-grid/grid-placement-named-lines-001.html @@ -0,0 +1,182 @@ + + + + + CSS Grid Test: Placement involving named lines + + + + + + + +
+grid-template-columns: [A-start] 60px 60px 60px;
+grid-template-areas: "B A";
+grid-auto-columns: 40px;
+grid-gap: 1px;
+
+ +
grid-column-start:
+
+ +-1 +4 +-2 +-3 +-4 +-5 +A -1 +B -1 +A -2 +A -3 +A -4 +A -5 +A +B +A 1 +A 2 +A 3 +A 4 +A 5 + + + + + + + + + + + + + + + + + + + +
+ +
grid-column-end:
+
+ +-1 +4 +-5 +-4 +-3 +-2 +A -1 +B -1 +A -2 +A -3 +A -4 +A -5 +A +B +A 1 +A 2 +A 3 +A 4 +A 5 + + + + + + + + + + + + + + + + + + + +
+ +
grid-column: / span A-start 2
+
+ +-1 +4 +-2 +-3 +-4 +-5 +A -1 +B -1 +A -2 +A -3 +A -4 +A -5 +A +B +A 1 +A 2 +A 3 +A 4 +A 5 + + + + + + + + + + + + + + + + + + + +
+ + + diff --git a/layout/reftests/css-grid/grid-placement-named-lines-002-ref.html b/layout/reftests/css-grid/grid-placement-named-lines-002-ref.html new file mode 100644 index 000000000000..9b0c9310621a --- /dev/null +++ b/layout/reftests/css-grid/grid-placement-named-lines-002-ref.html @@ -0,0 +1,187 @@ + + + + + Reference: Placement involving named lines + + + + + +
+grid-template-columns: [A-start] 60px [A-start] 60px 60px;
+grid-template-areas: "B . . . A";
+grid-auto-columns: 40px;
+grid-gap: 1px;
+
+ +
grid-column-start:
+
+ +-1 +4 +-2 +-3 +-4 +-5 +A -1 +B -1 +A -2 +A -3 +A -4 +A -5 +A +B +A 1 +A 2 +A 3 +A 4 +A 5 + + + + + + + + + + + + + + + + + + + +
+ +
grid-column-end:
+
+ +-1 +4 +-2 +-3 +-4 +-5 +A -1 +B -1 +A -2 +A -3 +A -4 +A -5 +A +B +A 1 +A 2 +A 3 +A 4 +A 5 + + + + + + + + + + + + + + + + + + + +
+ +
grid-column: / span A-start 2
+
+ +-1 +4 +-2 +-3 +-4 +-5 +A -1 +B -1 +A -2 +A -3 +A -4 +A -5 +A +B +A 1 +A 2 +A 3 +A 4 +A 5 + + + + + + + + + + + + + + + + + + + +
+ + + diff --git a/layout/reftests/css-grid/grid-placement-named-lines-002.html b/layout/reftests/css-grid/grid-placement-named-lines-002.html new file mode 100644 index 000000000000..7a07093c24ca --- /dev/null +++ b/layout/reftests/css-grid/grid-placement-named-lines-002.html @@ -0,0 +1,182 @@ + + + + + CSS Grid Test: Placement involving named lines + + + + + + + +
+grid-template-columns: [A-start] 60px [A-start] 60px 60px;
+grid-template-areas: "B . . . A";
+grid-auto-columns: 40px;
+grid-gap: 1px;
+
+ +
grid-column-start:
+
+ +-1 +4 +-2 +-3 +-4 +-5 +A -1 +B -1 +A -2 +A -3 +A -4 +A -5 +A +B +A 1 +A 2 +A 3 +A 4 +A 5 + + + + + + + + + + + + + + + + + + + +
+ +
grid-column-end:
+
+ +-1 +4 +-5 +-4 +-3 +-2 +A -1 +B -1 +A -2 +A -3 +A -4 +A -5 +A +B +A 1 +A 2 +A 3 +A 4 +A 5 + + + + + + + + + + + + + + + + + + + +
+ +
grid-column: / span A-start 2
+
+ +-1 +4 +-2 +-3 +-4 +-5 +A -1 +B -1 +A -2 +A -3 +A -4 +A -5 +A +B +A 1 +A 2 +A 3 +A 4 +A 5 + + + + + + + + + + + + + + + + + + + +
+ + + diff --git a/layout/reftests/css-grid/grid-placement-named-lines-003-ref.html b/layout/reftests/css-grid/grid-placement-named-lines-003-ref.html new file mode 100644 index 000000000000..8baf2be8ade0 --- /dev/null +++ b/layout/reftests/css-grid/grid-placement-named-lines-003-ref.html @@ -0,0 +1,171 @@ + + + + + Reference: Placement involving named lines + + + + + +
+grid-template-columns: [A-start] 60px 60px [A-start] 60px;
+grid-template-areas: "B A";
+grid-auto-columns: 40px;
+grid-gap: 1px;
+
+ +
grid-column-start:
+
+ +-1 +A +A -1 +B -1 +A -2 +A -3 +A -4 +A -5 +A +B +A 1 +A 2 +A 3 +A 4 +A 5 + + + + + + + + + + + + + + + +
+ +
grid-column-end:
+
+ +-1 +A +A -1 +B -1 +A -2 +A -3 +A -4 +A -5 +A +B +A 1 +A 2 +A 3 +A 4 +A 5 + + + + + + + + + + + + + + + +
+ +
grid-column: / span A-start 2
+
+ +-1 +A +-2 +-3 +-4 +-5 +A -1 +B -1 +A -2 +A -3 +A -4 +A -5 +A +span A +A 1 +A 2 +A 3 +A 4 +A 5 + + + + + + + + + + + + + + + + + + + +
+ + + diff --git a/layout/reftests/css-grid/grid-placement-named-lines-003.html b/layout/reftests/css-grid/grid-placement-named-lines-003.html new file mode 100644 index 000000000000..e4a8de4b6e74 --- /dev/null +++ b/layout/reftests/css-grid/grid-placement-named-lines-003.html @@ -0,0 +1,166 @@ + + + + + CSS Grid Test: Placement involving named lines + + + + + + + +
+grid-template-columns: [A-start] 60px 60px [A-start] 60px;
+grid-template-areas: "B A";
+grid-auto-columns: 40px;
+grid-gap: 1px;
+
+ +
grid-column-start:
+
+ +-1 +A +A -1 +B -1 +A -2 +A -3 +A -4 +A -5 +A +B +A 1 +A 2 +A 3 +A 4 +A 5 + + + + + + + + + + + + + + + +
+ +
grid-column-end:
+
+ +-1 +A +A -1 +B -1 +A -2 +A -3 +A -4 +A -5 +A +B +A 1 +A 2 +A 3 +A 4 +A 5 + + + + + + + + + + + + + + + +
+ +
grid-column: / span A-start 2
+
+ +-1 +A +-2 +-3 +-4 +-5 +A -1 +B -1 +A -2 +A -3 +A -4 +A -5 +A +span A +A 1 +A 2 +A 3 +A 4 +A 5 + + + + + + + + + + + + + + + + + + + +
+ + + diff --git a/layout/reftests/css-grid/grid-placement-negative-lines-001-ref.html b/layout/reftests/css-grid/grid-placement-negative-lines-001-ref.html index 6de1935e449c..863ec716a1e2 100644 --- a/layout/reftests/css-grid/grid-placement-negative-lines-001-ref.html +++ b/layout/reftests/css-grid/grid-placement-negative-lines-001-ref.html @@ -12,8 +12,10 @@ body,html { color:black; background:white; font-size:12px; padding:0; margin:0; .grid { display: grid; + position: relative; border: 1px solid; - grid-auto-rows: 20px; + grid-auto-rows: 15px; + grid-gap: 1px; } .t1 { grid-template-columns: 40px 40px 40px 40px 60px 60px 60px 40px 40px 40px 40px 40px; @@ -30,6 +32,16 @@ x { background: lime; border: 1px solid; } +y { + position: absolute; + border: 1px solid blue; + bottom:0;height:0;left:0;right:0; + grid-row-end:span 1!important; +} +.a2 { bottom:2px; } +.a3 { bottom:4px; } +.a4 { bottom:6px; } +.a5 { bottom:8px; } @@ -38,17 +50,18 @@ x {
 grid-template-columns: 60px [A] 60px 60px;
 grid-auto-columns: 40px;
+grid-gap: 1px;
 
grid-column-start:
-
+
--1 -4 --2 --3 --4 --5 +-1 +4 +-2 +-3 +-4 +-5 A -1 B -1 A -2 @@ -62,17 +75,36 @@ grid-auto-columns: 40px; A 3 A 4 A 5 + + + + + + + + + + + + + + + + + + +
grid-column-end:
-
+
--1 -4 --2 --3 --4 --5 +-1 +4 +-2 +-3 +-4 +-5 A -1 B -1 A -2 @@ -86,17 +118,36 @@ grid-auto-columns: 40px; A 3 A 4 A 5 + + + + + + + + + + + + + + + + + + +
grid-column: / span A 2
--1 +-1 4 --2 --3 --4 --5 +-2 +-3 +-4 +-5 A -1 B -1 A -2 @@ -110,6 +161,25 @@ grid-auto-columns: 40px; A 3 A 4 A 5 + + + + + + + + + + + + + + + + + + +
diff --git a/layout/reftests/css-grid/grid-placement-negative-lines-001.html b/layout/reftests/css-grid/grid-placement-negative-lines-001.html index 3c99efa4d8db..4218f3c8e83a 100644 --- a/layout/reftests/css-grid/grid-placement-negative-lines-001.html +++ b/layout/reftests/css-grid/grid-placement-negative-lines-001.html @@ -14,16 +14,28 @@ body,html { color:black; background:white; font-size:12px; padding:0; margin:0; .grid { display: grid; + position: relative; border: 1px solid; grid-template-columns: 60px [A] 60px 60px; grid-auto-columns: 40px; - grid-auto-rows: 20px; + grid-auto-rows: 15px; + grid-gap: 1px; } x { background: lime; border: 1px solid; } +y { + position: absolute; + border: 1px solid blue; + bottom:0;height:0;left:0;right:0; + grid-row-end:span 1!important; +} +.a2 { bottom:2px; } +.a3 { bottom:4px; } +.a4 { bottom:6px; } +.a5 { bottom:8px; } @@ -32,13 +44,14 @@ x {
 grid-template-columns: 60px [A] 60px 60px;
 grid-auto-columns: 40px;
+grid-gap: 1px;
 
grid-column-start:
-
+
-1 -4 +4 -2 -3 -4 @@ -56,13 +69,32 @@ grid-auto-columns: 40px; A 3 A 4 A 5 + + + + + + + + + + + + + + + + + + +
grid-column-end:
-
+
-1 -4 +4 -5 -4 -3 @@ -80,6 +112,25 @@ grid-auto-columns: 40px; A 3 A 4 A 5 + + + + + + + + + + + + + + + + + + +
grid-column: / span A 2
@@ -104,6 +155,25 @@ grid-auto-columns: 40px; A 3 A 4 A 5 + + + + + + + + + + + + + + + + + + +
diff --git a/layout/reftests/css-grid/reftest.list b/layout/reftests/css-grid/reftest.list index 6fb94eaf8e06..f136ce2e64cb 100644 --- a/layout/reftests/css-grid/reftest.list +++ b/layout/reftests/css-grid/reftest.list @@ -12,6 +12,9 @@ fails == grid-whitespace-handling-1b.xhtml grid-whitespace-handling-1-ref.xhtml == grid-placement-auto-col-sparse-001.html grid-placement-auto-col-sparse-001-ref.html == grid-placement-auto-col-dense-001.html grid-placement-auto-col-dense-001-ref.html == grid-placement-implicit-named-areas-001.html grid-placement-implicit-named-areas-001-ref.html +== grid-placement-named-lines-001.html grid-placement-named-lines-001-ref.html +== grid-placement-named-lines-002.html grid-placement-named-lines-002-ref.html +== grid-placement-named-lines-003.html grid-placement-named-lines-003-ref.html == grid-track-sizing-001.html grid-track-sizing-001-ref.html == grid-track-sizing-002.html grid-track-sizing-002-ref.html == grid-abspos-items-001.html grid-abspos-items-001-ref.html