summaryrefslogtreecommitdiffstats
path: root/testing/web-platform/tests/css/css-grid/subgrid/line-names-005.html
diff options
context:
space:
mode:
Diffstat (limited to 'testing/web-platform/tests/css/css-grid/subgrid/line-names-005.html')
-rw-r--r--testing/web-platform/tests/css/css-grid/subgrid/line-names-005.html182
1 files changed, 182 insertions, 0 deletions
diff --git a/testing/web-platform/tests/css/css-grid/subgrid/line-names-005.html b/testing/web-platform/tests/css/css-grid/subgrid/line-names-005.html
new file mode 100644
index 0000000000..26be899e93
--- /dev/null
+++ b/testing/web-platform/tests/css/css-grid/subgrid/line-names-005.html
@@ -0,0 +1,182 @@
+<!DOCTYPE HTML>
+<!--
+ Any copyright is dedicated to the Public Domain.
+ http://creativecommons.org/publicdomain/zero/1.0/
+-->
+<html><head>
+ <meta charset="utf-8">
+ <title>CSS Grid Test: subgrid line name resolution</title>
+ <link rel="author" title="Mats Palmgren" href="mailto:mats@mozilla.com">
+ <link rel="help" href="https://drafts.csswg.org/css-grid-2">
+ <link rel="match" href="line-names-005-ref.html">
+ <style>
+html,body {
+ color:black; background-color:white; font:12px/1 monospace; padding:0; margin:0;
+}
+
+.grid {
+ display: grid;
+ grid: [a] repeat(1, [b] auto [c]) [d] repeat(3, [b] auto [c]) [d] /
+ [a] 30px [b] 30px [c] 30px [] 30px [e-start] 30px [] 30px [x] 30px [h] 30px [i] 30px [j] 30px [k];
+ grid-template-areas: ". . . e . . . . . . .";
+ place-content: start;
+ border: 1px solid;
+ width: 500px;
+ grid-auto-columns: 100px;
+ grid-auto-rows: 100px;
+}
+
+.subgrid {
+ display: grid;
+ grid: auto / subgrid;
+ background: lightgrey;
+ grid-column: 2 / span 8;
+ grid-row: 2 / span 2;
+ min-width:0;
+ min-height:0;
+}
+
+.subgrid2 {
+ display: grid;
+ grid: auto / subgrid [] [] [] [b];
+ grid-column: span 10;
+}
+
+.subgrid#s1 {
+ grid-template-areas: ". e e . . . .";
+}
+
+i {
+ grid-row: 1;
+ counter-increment: i;
+}
+i::before { content: counter(i, decimal); }
+
+x {
+ min-width:10px;
+ min-height:20px;
+ background:silver;
+}
+
+.hl { writing-mode: horizontal-tb; direction:ltr; }
+.hr { writing-mode: horizontal-tb; direction:rtl; }
+
+ </style>
+</head>
+<body>
+
+<div class="grid">
+<i></i><i></i><i></i><i></i><i></i><i></i><i></i><i></i><i></i><i></i>
+<div class="subgrid" id="s1">
+ <x style="grid-column:foo / span 4">x</x>
+</div>
+</div>
+
+<div class="grid hr">
+<i></i><i></i><i></i><i></i><i></i><i></i><i></i><i></i><i></i><i></i>
+<div class="subgrid hl" id="s2">
+ <x style="grid-column: x 6 / span 4">x</x>
+</div>
+</div>
+
+<div class="grid">
+<i></i><i></i><i></i><i></i><i></i><i></i><i></i><i></i><i></i><i></i>
+<div class="subgrid hr" id="s2">
+ <x style="grid-column: x 6 / span 4">x</x>
+</div>
+</div>
+
+<div style="display:grid; width:500px; grid-auto-columns: 50px;">
+<i></i><i></i><i></i><i></i><i></i><i></i><i></i><i></i><i></i><i></i>
+ <div class="subgrid2">
+ <x style="grid-column:1 / b">x</x>
+ </div>
+</div>
+
+<div style="display:grid; width:500px; grid-auto-columns: 50px;">
+<i></i><i></i><i></i><i></i><i></i><i></i><i></i><i></i><i></i><i></i>
+ <div class="subgrid2">
+ <x style="grid-column:foo / span 4">x</x>
+ </div>
+</div>
+
+<div style="display:grid; width:500px; grid-auto-columns: 50px;">
+<i></i><i></i><i></i><i></i><i></i><i></i><i></i><i></i><i></i><i></i>
+ <div class="subgrid2">
+ <x style="grid-column: span bar / foo 3">x</x>
+ </div>
+</div>
+
+<div style="display:grid; width:500px; grid-auto-columns: 50px;">
+<i></i><i></i><i></i><i></i><i></i><i></i><i></i><i></i><i></i><i></i>
+ <div class="subgrid2">
+ <x style="grid-row:2; grid-column: span bar / foo 3">x</x>
+ </div>
+</div>
+
+<div style="display:grid; width:500px; grid-auto-columns: 50px;">
+<i></i><i></i><i></i><i></i><i></i><i></i><i></i><i></i><i></i><i></i>
+ <div class="subgrid2">
+ <x style="grid-column:span 4 / foo">x</x>
+ </div>
+</div>
+
+<div style="display:grid; width:500px; grid-auto-columns: 50px; grid: auto / repeat(20, [a] 50px) [a] ">
+<i></i><i></i><i></i><i></i><i></i><i></i><i></i><i></i><i></i><i></i>
+ <div class="subgrid2" style="grid-row:2">
+ <x style="grid-column:foo / span 4">x</x>
+ </div>
+</div>
+
+<div style="display:grid; grid: auto / repeat(10, 50px) repeat(10, [a] 50px) [a]">
+<i></i><i></i><i></i><i></i><i></i><i></i><i></i><i></i><i></i><i></i>
+ <div style="display:grid; grid:auto/subgrid; grid-column: span 10; grid-row:2">
+ <x style="grid-column: span a / a 8">x</x>
+ </div>
+</div>
+
+<div style='display:grid; grid-template-areas: "a a a a a a a a a a"'>
+<i></i><i></i><i></i><i></i><i></i><i></i><i></i><i></i><i></i><i></i>
+ <div style="display:grid; grid:auto/subgrid; grid-column: 6 / span 5; grid-row:2">
+ <x style="grid-column: a">x</x>
+ </div>
+</div>
+
+<div style='display:grid; grid-template-areas: ". . . . . . a a a a"'>
+<div style='display:grid; grid-template-areas: ". . . . . . . a a ."; grid-template-columns:subgrid; grid-column:span 10;'>
+<i></i><i></i><i></i><i></i><i></i><i></i><i></i><i></i><i></i><i></i>
+ <div style="display:grid; grid:auto/subgrid; grid-column: 6 / span 5; grid-row:2">
+ <x style="grid-column: a">x</x>
+ </div>
+</div>
+</div>
+
+<script>
+ const expectedResults = [
+ "subgrid [] [] [] [] [] [] [] [] []",
+ "subgrid [] [] [] [] [] [] [] [] []",
+ "subgrid [] [] [] [] [] [] [] [] []",
+ "subgrid [] [] [] [b] [] [] [] [] [] [] []",
+ "subgrid [] [] [] [b] [] [] [] [] [] [] []",
+ "subgrid [] [] [] [b] [] [] [] [] [] [] []",
+ "subgrid [] [] [] [b] [] [] [] [] [] [] []",
+ "subgrid [] [] [] [b] [] [] [] [] [] [] []",
+ "subgrid [] [] [] [b] [] [] [] [] [] [] []",
+ "subgrid [] [] [] [] [] [] [] [] [] [] []",
+ "subgrid [] [] [] [] [] []",
+ "subgrid [] [] [] [] [] [] [] [] [] [] []",
+ "subgrid [] [] [] [] [] []",
+ ];
+ [...document.querySelectorAll('div > div')].forEach(function(subgrid, i) {
+ let actual = window.getComputedStyle(subgrid)['grid-template-columns'];
+ let expected = expectedResults[i];
+ if (actual != expected) {
+ let err = "Unexpected getComputedStyle value for subgrid " + i + " with className '" + subgrid.className + "':" +
+ " Actual: \"" + actual + "\", Expected: \"" + expected + "\"";
+ document.body.appendChild(document.createTextNode(err));
+ }
+ });
+</script>
+
+</body>
+</html>