| Index: LayoutTests/fast/css-grid-layout/grid-template-get-set.html
|
| diff --git a/LayoutTests/fast/css-grid-layout/grid-template-get-set.html b/LayoutTests/fast/css-grid-layout/grid-template-get-set.html
|
| new file mode 100644
|
| index 0000000000000000000000000000000000000000..a5d0c007658e1410ab8de04a44a1910066cd24e9
|
| --- /dev/null
|
| +++ b/LayoutTests/fast/css-grid-layout/grid-template-get-set.html
|
| @@ -0,0 +1,124 @@
|
| +<!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML//EN">
|
| +<html>
|
| +<head>
|
| +<script>
|
| +if (window.testRunner)
|
| + testRunner.overridePreference("WebKitCSSGridLayoutEnabled", 1);
|
| +</script>
|
| +<link href="resources/grid.css" rel="stylesheet">
|
| +<style>
|
| +#gridWithSingleStringTemplate {
|
| + grid-template: "area";
|
| +}
|
| +
|
| +#gridWithTwoColumnsTemplate {
|
| + grid-template: "first second";
|
| +}
|
| +
|
| +#gridWithTwoRowsTemplate {
|
| + grid-template: "first"
|
| + "second";
|
| +}
|
| +
|
| +#gridWithSpanningColumnsTemplate {
|
| + grid-template: "span span";
|
| +}
|
| +
|
| +#gridWithSpanningRowsDotTemplate {
|
| + grid-template: "span"
|
| + ".";
|
| +}
|
| +
|
| +#gridWithDotColumn {
|
| + grid-template: "header ."
|
| + "footer .";
|
| +}
|
| +</style>
|
| +<script src="../js/resources/js-test-pre.js"></script>
|
| +</head>
|
| +<body>
|
| +<div class="grid" id="gridWithDefaultTemplate"></div>
|
| +<div class="grid" id="gridWithSingleStringTemplate"></div>
|
| +<div class="grid" id="gridWithTwoColumnsTemplate"></div>
|
| +<div class="grid" id="gridWithTwoRowsTemplate"></div>
|
| +<div class="grid" id="gridWithSpanningColumnsTemplate"></div>
|
| +<div class="grid" id="gridWithSpanningRowsDotTemplate"></div>
|
| +<div class="grid" id="gridWithDotColumn"></div>
|
| +<script>
|
| + description("This test checks that grid-template is properly parsed.");
|
| +
|
| + debug("Test getting grid-template set through CSS.");
|
| + var gridWithDefaultTemplate = document.getElementById("gridWithDefaultTemplate");
|
| + shouldBeEqualToString("window.getComputedStyle(gridWithDefaultTemplate).getPropertyValue('grid-template')", "none")
|
| +
|
| + var gridWithSingleStringTemplate = document.getElementById("gridWithSingleStringTemplate");
|
| + shouldBeEqualToString("window.getComputedStyle(gridWithSingleStringTemplate).getPropertyValue('grid-template')", "'area'")
|
| +
|
| + var gridWithTwoColumnsTemplate = document.getElementById("gridWithTwoColumnsTemplate");
|
| + shouldBeEqualToString("window.getComputedStyle(gridWithTwoColumnsTemplate).getPropertyValue('grid-template')", "'first second'")
|
| +
|
| + var gridWithTwoRowsTemplate = document.getElementById("gridWithTwoRowsTemplate");
|
| + shouldBeEqualToString("window.getComputedStyle(gridWithTwoRowsTemplate).getPropertyValue('grid-template')", "'first' 'second'")
|
| +
|
| + var gridWithSpanningColumnsTemplate = document.getElementById("gridWithSpanningColumnsTemplate");
|
| + shouldBeEqualToString("window.getComputedStyle(gridWithSpanningColumnsTemplate).getPropertyValue('grid-template')", "'span span'")
|
| +
|
| + var gridWithSpanningRowsDotTemplate = document.getElementById("gridWithSpanningRowsDotTemplate");
|
| + shouldBeEqualToString("window.getComputedStyle(gridWithSpanningRowsDotTemplate).getPropertyValue('grid-template')", "'span' '.'")
|
| +
|
| + var gridWithDotColumn = document.getElementById("gridWithDotColumn");
|
| + shouldBeEqualToString("window.getComputedStyle(gridWithDotColumn).getPropertyValue('grid-template')", "'header .' 'footer .'")
|
| +
|
| + debug("Test grid-template: initial");
|
| + var element = document.createElement("div");
|
| + document.body.appendChild(element);
|
| + element.style.gridTemplate = "'foobar'";
|
| + shouldBeEqualToString("window.getComputedStyle(element).getPropertyValue('grid-template')", "'foobar'")
|
| + element.style.gridTemplate = "initial";
|
| + document.body.removeChild(element);
|
| +
|
| + debug("Test grid-template: inherit");
|
| + var parentElement = document.createElement("div");
|
| + document.body.appendChild(parentElement);
|
| + parentElement.style.gridTemplate = "'foo bar'";
|
| + shouldBeEqualToString("window.getComputedStyle(parentElement).getPropertyValue('grid-template')", "'foo bar'")
|
| +
|
| + var element = document.createElement("div");
|
| + parentElement.appendChild(element);
|
| + element.style.gridTemplate = "inherit";
|
| + shouldBeEqualToString("window.getComputedStyle(element).getPropertyValue('grid-template')", "'foo bar'")
|
| + document.body.removeChild(parentElement);
|
| +
|
| + debug("Test invalid grid-template values.");
|
| + var element = document.createElement("div");
|
| + document.body.appendChild(element);
|
| +
|
| + // 'nav' is not a rectangular definition.
|
| + element.style.gridTemplate = "'nav head' 'nav nav'";
|
| + shouldBeEqualToString("window.getComputedStyle(element).getPropertyValue('grid-template')", "none")
|
| +
|
| + // 'nav' is not contiguous in the column direction.
|
| + element.style.gridTemplate = "'nav head nav'";
|
| + shouldBeEqualToString("window.getComputedStyle(element).getPropertyValue('grid-template')", "none")
|
| +
|
| + // 'nav' is not contiguous in the row direction.
|
| + element.style.gridTemplate = "'nav head' 'middle middle' 'nav footer'";
|
| + shouldBeEqualToString("window.getComputedStyle(element).getPropertyValue('grid-template')", "none")
|
| +
|
| + // The rows don't have the same number of columns.
|
| + element.style.gridTemplate = "'nav head' 'foot'";
|
| + shouldBeEqualToString("window.getComputedStyle(element).getPropertyValue('grid-template')", "none")
|
| +
|
| + // Empty rows.
|
| + element.style.gridTemplate = "'' ''";
|
| + shouldBeEqualToString("window.getComputedStyle(element).getPropertyValue('grid-template')", "none")
|
| +
|
| + debug("");
|
| + debug("FIXME: We currently don't validate that the named grid areas are <indent>.");
|
| + // <ident> only allows a leading '-'.
|
| + element.style.gridTemplate = "'nav-up'";
|
| + shouldBeEqualToString("window.getComputedStyle(element).getPropertyValue('grid-template')", "none")
|
| +</script>
|
| +<script src="../js/resources/js-test-post.js"></script>
|
| +</body>
|
| +</html>
|
|
|