| <!DOCTYPE html> |
| <title>CSS Container Queries: scroll-state(snapped) conditionText 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="/css/css-conditional/container-queries/support/cq-testcommon.js"></script> |
| <style id="testSheet"> |
| @container scroll-state( snapped:inline) { } |
| @container scroll-STate(snapped: ) { } |
| @container scroll-STate(snapped) { } |
| @container scroll-state( ( snapped: INLINE) OR ( SNAPPED: BlOCK ) ) { } |
| @container scroll-state (snapped: inline) { } |
| </style> |
| <script> |
| setup(() => { |
| assert_implements_scroll_state_container_queries(); |
| assert_equals(testSheet.sheet.cssRules.length, 5); |
| }); |
| |
| const tests = [ |
| ["scroll-state(snapped: inline)", "Normalize spaces"], |
| ["scroll-STate(snapped: )", "No value - invalid, serializes as <general-enclosed>"], |
| ["scroll-state(snapped)", "Boolean context"], |
| ["scroll-state((snapped: inline) or (snapped: block))", "Logical with 'or'"], |
| ["scroll-state (snapped: inline)", "Not a scroll-state function with space before '('"] |
| ].map((e, i) => [testSheet.sheet.cssRules[i], ...e]); |
| |
| tests.forEach((t) => { |
| test(() => assert_equals(t[0].conditionText, t[1]), t[2]); |
| }); |
| </script> |