58 lines
2.3 KiB
HTML
58 lines
2.3 KiB
HTML
<!doctype html>
|
|
<title>CSS Container Queries: @container serialization</title>
|
|
<link rel="help" href="https://drafts.csswg.org/css-conditional-5/#container-queries">
|
|
<link rel="help" href="https://drafts.csswg.org/cssom/#serialize-a-css-rule">
|
|
<script src="/resources/testharness.js"></script>
|
|
<script src="/resources/testharnessreport.js"></script>
|
|
<script src="support/cq-testcommon.js"></script>
|
|
<style id="testSheet">
|
|
@container (width=100px) {
|
|
@container \!-name (inline-size > 200px ) {
|
|
#id { color: lime }
|
|
}
|
|
#id { color: green }
|
|
}
|
|
</style>
|
|
<main id="cq-main"></main>
|
|
<script>
|
|
setup(() => assert_implements_size_container_queries());
|
|
|
|
const rules = testSheet.sheet.cssRules;
|
|
|
|
test(() => {
|
|
assert_equals(rules.length, 1);
|
|
assert_equals(rules[0].cssRules.length, 2);
|
|
|
|
assert_equals(rules[0].conditionText, "(width = 100px)");
|
|
assert_equals(rules[0].cssRules[0].conditionText, "\\!-name (inline-size > 200px)");
|
|
}, "Serialization of conditionText");
|
|
|
|
test(() => {
|
|
assert_equals(rules[0].cssRules[0].cssText, "@container \\!-name (inline-size > 200px) {\n #id { color: lime; }\n}");
|
|
}, "Serialization of inner @container rule");
|
|
|
|
test(() => {
|
|
assert_equals(rules[0].cssText, "@container (width = 100px) {\n @container \\!-name (inline-size > 200px) {\n #id { color: lime; }\n}\n #id { color: green; }\n}");
|
|
}, "Serialization of nested @container rule");
|
|
|
|
const testCases = [
|
|
["( wiDTh )", "(width)"],
|
|
["(width:100px)", "(width: 100px)"],
|
|
["(min-width: 100px)", "(min-width: 100px)"],
|
|
["( MAX-WIDTH:100px )", "(max-width: 100px)"],
|
|
["(width > 100px)", "(width > 100px)"],
|
|
["(width < 100px)", "(width < 100px)"],
|
|
["(widTH >= 100px)", "(width >= 100px)"],
|
|
["(width <= 100px)", "(width <= 100px)"],
|
|
["(10px < width < 100px)", "(10px < width < 100px)"],
|
|
["(10px <= width <= 100px)", "(10px <= width <= 100px)"],
|
|
["(100px>WIDTH>10px)", "(100px > width > 10px)"],
|
|
["( 100px >= width >= 10px )", "(100px >= width >= 10px)"],
|
|
["(calc(1em + 1px) >= width >= max(10em, 10px))", "(calc(1em + 1px) >= width >= max(10em, 10px))"],
|
|
["(width),(height) ,--foo ,--bar", "(width), (height), --foo, --bar"],
|
|
];
|
|
|
|
for (testCase of testCases) {
|
|
test_cq_condition_serialization(testCase[0], testCase[1]);
|
|
}
|
|
</script>
|