summaryrefslogtreecommitdiffstats
path: root/testing/web-platform/tests/css/css-grid/parsing/grid-template-columns-valid.html
diff options
context:
space:
mode:
authorDaniel Baumann <daniel.baumann@progress-linux.org>2024-04-07 09:22:09 +0000
committerDaniel Baumann <daniel.baumann@progress-linux.org>2024-04-07 09:22:09 +0000
commit43a97878ce14b72f0981164f87f2e35e14151312 (patch)
tree620249daf56c0258faa40cbdcf9cfba06de2a846 /testing/web-platform/tests/css/css-grid/parsing/grid-template-columns-valid.html
parentInitial commit. (diff)
downloadfirefox-upstream.tar.xz
firefox-upstream.zip
Adding upstream version 110.0.1.upstream/110.0.1upstream
Signed-off-by: Daniel Baumann <daniel.baumann@progress-linux.org>
Diffstat (limited to 'testing/web-platform/tests/css/css-grid/parsing/grid-template-columns-valid.html')
-rw-r--r--testing/web-platform/tests/css/css-grid/parsing/grid-template-columns-valid.html80
1 files changed, 80 insertions, 0 deletions
diff --git a/testing/web-platform/tests/css/css-grid/parsing/grid-template-columns-valid.html b/testing/web-platform/tests/css/css-grid/parsing/grid-template-columns-valid.html
new file mode 100644
index 0000000000..6bf2e7bce6
--- /dev/null
+++ b/testing/web-platform/tests/css/css-grid/parsing/grid-template-columns-valid.html
@@ -0,0 +1,80 @@
+<!DOCTYPE html>
+<html>
+<head>
+<meta charset="utf-8">
+<title>CSS Grid Layout Test: parsing grid-template-columns with valid values</title>
+<link rel="help" href="https://drafts.csswg.org/css-grid-1/#propdef-grid-template-columns">
+<meta name="assert" content="grid-template-columns supports the full grammar 'none | <track-list> | <auto-track-list>'.">
+<script src="/resources/testharness.js"></script>
+<script src="/resources/testharnessreport.js"></script>
+<script src="/css/support/parsing-testcommon.js"></script>
+</head>
+<body>
+<script>
+test_valid_value("grid-template-columns", "none");
+
+// track-size <fixed-breadth> = <length-percentage> | <flex> | min-content | max-content | auto
+test_valid_value("grid-template-columns", '10px');
+test_valid_value("grid-template-columns", '20%');
+test_valid_value("grid-template-columns", 'calc(-0.5em + 10px)');
+test_valid_value("grid-template-columns", 'calc(0.5em + 10px)');
+test_valid_value("grid-template-columns", 'calc(30% + 40vw)');
+test_valid_value("grid-template-columns", '5fr');
+test_valid_value("grid-template-columns", 'min-content');
+test_valid_value("grid-template-columns", 'max-content');
+test_valid_value("grid-template-columns", 'auto');
+
+// track-size minmax( <inflexible-breadth> , <track-breadth> )
+test_valid_value("grid-template-columns", 'minmax(10px, auto)');
+test_valid_value("grid-template-columns", 'minmax(20%, max-content)');
+test_valid_value("grid-template-columns", 'minmax(calc(-0.5em + 10px), min-content)');
+test_valid_value("grid-template-columns", 'minmax(calc(0.5em + 10px), 5fr)');
+test_valid_value("grid-template-columns", 'minmax(calc(30% + 40vw), 10px)');
+test_valid_value("grid-template-columns", 'minmax(min-content, 20%)');
+test_valid_value("grid-template-columns", 'minmax(max-content, calc(-0.5em + 10px))');
+test_valid_value("grid-template-columns", 'minmax(auto, calc(0.5em + 10px))');
+
+// track-size fit-content( <length-percentage> )
+test_valid_value("grid-template-columns", 'fit-content(10px)');
+test_valid_value("grid-template-columns", 'fit-content(20%)');
+test_valid_value("grid-template-columns", 'fit-content(calc(-0.5em + 10px))');
+test_valid_value("grid-template-columns", 'fit-content(calc(0.5em + 10px))');
+test_valid_value("grid-template-columns", 'fit-content(calc(30% + 40vw))');
+
+// <track-repeat> = repeat( [ <positive-integer> ] , [ <line-names>? <track-size> ]+ <line-names>? )
+
+// 'repeat(1, [] 10px)' in Blink
+// 'repeat(1, 10px)' in Firefox
+// '[] 10px' in Safari
+// '10px' in Edge 18
+test_valid_value("grid-template-columns", 'repeat(1, [] 10px [])', 'repeat(1, 10px)');
+
+// 'repeat(1, [one two] 20%)' in Blink, Firefox
+// '[one two] 20%' in Safari, Edge 18
+test_valid_value("grid-template-columns", 'repeat(1, [one two] 20%)');
+
+// 'repeat(2, minmax(10px, auto))' in Blink, Firefox, Edge 18
+// 'minmax(10px, auto) minmax(10px, auto)' in Safari
+test_valid_value("grid-template-columns", 'repeat(2, minmax(10px, auto))');
+
+test_valid_value("grid-template-columns", 'repeat(2, fit-content(20%) [three four] 30px 40px [five six])');
+
+// <track-list> = [ <line-names>? [ <track-size> | <track-repeat> ] ]+ <line-names>?
+test_valid_value("grid-template-columns", 'min-content repeat(5, minmax(10px, auto))');
+test_valid_value("grid-template-columns", '[] 150px [] 1fr []', '150px 1fr');
+
+// <auto-repeat> = repeat( [ auto-fill | auto-fit ] , [ <line-names>? <fixed-size> ]+ <line-names>? )
+test_valid_value("grid-template-columns", 'repeat(auto-fill, 10px)');
+test_valid_value("grid-template-columns", 'repeat(auto-fit, [one] 20%)');
+test_valid_value("grid-template-columns", 'repeat(auto-fill, minmax(30px, 5fr) [two])');
+test_valid_value("grid-template-columns", 'repeat(auto-fit, [three] minmax(max-content, 6em) [four])');
+
+// <auto-track-list> =
+// [ <line-names>? [ <fixed-size> | <fixed-repeat> ] ]* <line-names>?
+// <auto-repeat>
+// [ <line-names>? [ <fixed-size> | <fixed-repeat> ] ]* <line-names>?
+
+test_valid_value("grid-template-columns", '[one] repeat(2, minmax(10px, auto)) [two] 30px [three] repeat(auto-fill, 10px) 40px [four five] repeat(2, minmax(10px, auto)) [six]');
+</script>
+</body>
+</html>