| <!DOCTYPE html> |
| <html> |
| <head> |
| <meta charset="utf-8"> |
| <title>CSS Grid Layout Test: parsing grid-area with valid values</title> |
| <link rel="author" title="Eric Willigers" href="mailto:ericwilligers@chromium.org"> |
| <link rel="help" href="https://drafts.csswg.org/css-grid-1/#propdef-grid-area"> |
| <meta name="assert" content="grid-area supports the full grammar '<grid-line> [ / <grid-line> ]{0,3}'."> |
| <script src="/resources/testharness.js"></script> |
| <script src="/resources/testharnessreport.js"></script> |
| <script src="/css/support/parsing-testcommon.js"></script> |
| </head> |
| <body> |
| <script> |
| // auto |
| test_valid_value("grid-area", "auto"); |
| test_valid_value("grid-area", "auto / auto", "auto"); |
| test_valid_value("grid-area", "auto / auto / auto", "auto"); |
| test_valid_value("grid-area", "auto / auto / auto / auto", "auto"); |
| test_valid_value("grid-area", "AuTo", "auto"); |
| test_valid_value("grid-row", "auto"); |
| test_valid_value("grid-row", "auto/auto", "auto"); |
| test_valid_value("grid-column-end", "AuTo", "auto"); |
| |
| // <custom-ident> |
| test_valid_value("grid-area", "--a"); |
| test_valid_value("grid-row", "-zπ"); |
| test_valid_value("grid-row", "-zπ/-zπ", "-zπ"); |
| test_valid_value("grid-row", "i / i", "i"); |
| test_valid_value("grid-row-start", "AZ"); |
| test_valid_value("grid-column-start", "-_π"); |
| test_valid_value("grid-row-end", "_9"); |
| |
| |
| // <integer> && <custom-ident>? |
| test_valid_value("grid-area", "1"); |
| test_valid_value("grid-area", "+90 -a-", "90 -a-"); |
| test_valid_value("grid-row", "az 2", "2 az"); |
| test_valid_value("grid-column", "9"); |
| test_valid_value("grid-column", "-19 zA"); |
| test_valid_value("grid-column", "-A0 33", "33 -A0"); |
| test_valid_value("grid-row-start", "-19"); |
| test_valid_value("grid-row-start", "9 -Z_"); |
| test_valid_value("grid-column-start", "+90", "90"); |
| test_valid_value("grid-column-start", "Z -44", "-44 Z"); |
| test_valid_value("grid-row-end", "1 -πA"); |
| test_valid_value("grid-column-end", "π_ +5", "5 π_"); |
| |
| // span && [ <integer> || <custom-ident> ] |
| test_valid_value("grid-area", "span 2 i"); |
| test_valid_value("grid-area", "i 2 SpAn", "span 2 i"); |
| test_valid_value("grid-row", "span 2"); |
| test_valid_value("grid-column", "i SpAn", "span i"); |
| test_valid_value("grid-row-start", "span i"); |
| test_valid_value("grid-column-start", "SpAn i 2", "span 2 i"); |
| test_valid_value("grid-row-end", "2 i span", "span 2 i"); |
| test_valid_value("grid-column-end", "2 SpAn", "span 2"); |
| |
| // <grid-line> [ / <grid-line> ]{0,3} |
| test_valid_value("grid-area", "auto / i"); |
| test_valid_value("grid-area", "auto / i / auto / i", "auto / i"); |
| test_valid_value("grid-area", "auto / i / auto / 2 i"); |
| test_valid_value("grid-area", "1 / i / auto / i", "1 / i"); |
| test_valid_value("grid-area", "1 / auto / auto / auto", "1"); |
| test_valid_value("grid-area", "1 / auto / i / auto", "1 / auto / i"); |
| test_valid_value("grid-area", "1 / j / i / k"); |
| test_valid_value("grid-area", "1 / auto / 2 / auto", "1 / auto / 2"); |
| test_valid_value("grid-area", "1 / i / 2 / auto"); |
| test_valid_value("grid-area", "i / i / auto / auto"); |
| test_valid_value("grid-area", "i / auto / i / auto", "i / auto"); |
| test_valid_value("grid-area", "auto / i / 2 j"); |
| test_valid_value("grid-area", "auto / i / 2 j / span 3 k"); |
| test_valid_value("grid-row", "auto / i"); |
| test_valid_value("grid-row", "i / auto"); |
| test_valid_value("grid-row", "2 i / auto", "2 i"); |
| test_valid_value("grid-row", "1 / auto", "1"); |
| test_valid_value("grid-column", "2 j / span 3 k"); |
| |
| // https://github.com/w3c/csswg-drafts/issues/2858 |
| // '\\31 st' in Blink, Firefox, EdgeHTML and Safari serialize invalid values. |
| test_valid_value("grid-column-end", "\\31st", ["\\31 st", "\\31st"]); |
| test_valid_value("grid-column-end", "\\31 st", ["\\31 st", "\\31st"]); |
| test_valid_value("grid-column", "\\31st / \\31 st", ["\\31 st", "\\31st"]); |
| |
| </script> |
| </body> |
| </html> |