Skip to content

Commit 3492d94

Browse files
lilleschromium-wpt-export-bot
authored andcommitted
[@container] More tests for comma separated and name-only queries
Bug: 41491726, 40287550 Change-Id: Ic236631f4ab708bc043e590092712c0fce14971c Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/6176970 Reviewed-by: Anders Hartvoll Ruud <[email protected]> Commit-Queue: Rune Lillesveen <[email protected]> Cr-Commit-Position: refs/heads/main@{#1407229}
1 parent 3fb9825 commit 3492d94

File tree

3 files changed

+34
-39
lines changed

3 files changed

+34
-39
lines changed

css/css-conditional/container-queries/at-container-parsing.html

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -101,9 +101,11 @@
101101
test_cq_rule_valid('(width), name (height)');
102102
test_cq_rule_valid('--foo');
103103
test_cq_rule_valid('container');
104+
test_cq_rule_valid('container, container2');
104105

105106
test_cq_rule_invalid('');
106107
test_cq_rule_invalid('(width),');
108+
test_cq_rule_invalid(',(width)');
107109
test_cq_rule_invalid('(width),,(height)');
108110

109111
test_container_name_valid('foo');

css/css-conditional/container-queries/at-container-serialization.html

Lines changed: 23 additions & 39 deletions
Original file line numberDiff line numberDiff line change
@@ -12,27 +12,15 @@
1212
}
1313
#id { color: green }
1414
}
15-
@container ( wiDTh ) { }
16-
@container (width:100px) { }
17-
@container (min-width: 100px) { }
18-
@container ( MAX-WIDTH:100px ) { }
19-
@container (width > 100px) { }
20-
@container (width < 100px) { }
21-
@container (widTH >= 100px) { }
22-
@container (width <= 100px) { }
23-
@container (10px < width < 100px) { }
24-
@container (10px <= width <= 100px) { }
25-
@container (100px>WIDTH>10px) { }
26-
@container ( 100px >= width >= 10px ) { }
27-
@container (calc(1em + 1px) >= width >= max(10em, 10px)) { }
2815
</style>
16+
<main id="cq-main"></main>
2917
<script>
3018
setup(() => assert_implements_size_container_queries());
3119

32-
let rules = testSheet.sheet.cssRules;
20+
const rules = testSheet.sheet.cssRules;
3321

3422
test(() => {
35-
assert_equals(rules.length, 14);
23+
assert_equals(rules.length, 1);
3624
assert_equals(rules[0].cssRules.length, 2);
3725

3826
assert_equals(rules[0].conditionText, "(width = 100px)");
@@ -47,28 +35,24 @@
4735
assert_equals(rules[0].cssText, "@container (width = 100px) {\n @container \\!-name (inline-size > 200px) {\n #id { color: lime; }\n}\n #id { color: green; }\n}");
4836
}, "Serialization of nested @container rule");
4937

50-
test(() => {
51-
assert_equals(rules[1].conditionText, "(width)");
52-
}, "Serialization of boolean condition syntax");
53-
54-
test(() => {
55-
assert_equals(rules[2].conditionText, "(width: 100px)");
56-
assert_equals(rules[3].conditionText, "(min-width: 100px)");
57-
assert_equals(rules[4].conditionText, "(max-width: 100px)");
58-
}, "Serialization of colon condition syntax");
59-
60-
test(() => {
61-
assert_equals(rules[5].conditionText, "(width > 100px)");
62-
assert_equals(rules[6].conditionText, "(width < 100px)");
63-
assert_equals(rules[7].conditionText, "(width >= 100px)");
64-
assert_equals(rules[8].conditionText, "(width <= 100px)");
65-
assert_equals(rules[9].conditionText, "(10px < width < 100px)");
66-
assert_equals(rules[10].conditionText, "(10px <= width <= 100px)");
67-
assert_equals(rules[11].conditionText, "(100px > width > 10px)");
68-
assert_equals(rules[12].conditionText, "(100px >= width >= 10px)");
69-
}, "Serialization of range condition syntax");
70-
71-
test(() => {
72-
assert_equals(rules[13].conditionText, "(calc(1em + 1px) >= width >= max(10em, 10px))");
73-
}, "Serialization of calc()");
38+
const testCases = [
39+
["( wiDTh )", "(width)"],
40+
["(width:100px)", "(width: 100px)"],
41+
["(min-width: 100px)", "(min-width: 100px)"],
42+
["( MAX-WIDTH:100px )", "(max-width: 100px)"],
43+
["(width > 100px)", "(width > 100px)"],
44+
["(width < 100px)", "(width < 100px)"],
45+
["(widTH >= 100px)", "(width >= 100px)"],
46+
["(width <= 100px)", "(width <= 100px)"],
47+
["(10px < width < 100px)", "(10px < width < 100px)"],
48+
["(10px <= width <= 100px)", "(10px <= width <= 100px)"],
49+
["(100px>WIDTH>10px)", "(100px > width > 10px)"],
50+
["( 100px >= width >= 10px )", "(100px >= width >= 10px)"],
51+
["(calc(1em + 1px) >= width >= max(10em, 10px))", "(calc(1em + 1px) >= width >= max(10em, 10px))"],
52+
["(width),(height) ,--foo ,--bar", "(width), (height), --foo, --bar"],
53+
];
54+
55+
for (testCase of testCases) {
56+
test_cq_condition_serialization(testCase[0], testCase[1]);
57+
}
7458
</script>

css/css-conditional/container-queries/support/cq-testcommon.js

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -99,3 +99,12 @@ function test_container_name_valid(container_name) {
9999
assert_equals(style.sheet.rules.length, 1);
100100
}, `Container name: ${container_name}`);
101101
}
102+
103+
function test_cq_condition_serialization(query, expected) {
104+
test(t => {
105+
t.add_cleanup(cleanup_container_query_main);
106+
let style = set_container_query_style(`@container ${query} {}`);
107+
assert_equals(style.sheet.rules.length, 1);
108+
assert_equals(style.sheet.rules[0].conditionText, expected);
109+
}, `@container conditionText serialization: ${query}`);
110+
}

0 commit comments

Comments
 (0)