Status: FAIL | Duration: 47ms | Subtests: 0/13 | Open test on wpt.live | wpt.fyi
Data from commit:
a50cb89 wpt: run reference-named files which are themselves tests (#836) (2026-09-03)
| Subtest | Status | Message |
|---|---|---|
| CSSScopeRule.cssText, implicit scope | FAIL | cannot convert 'null' or 'undefined' to object |
| CSSScopeRule.cssText, root only | FAIL | cannot convert 'null' or 'undefined' to object |
| CSSScopeRule.cssText, root and limit | FAIL | cannot convert 'null' or 'undefined' to object |
| CSSScopeRule.cssText, limit only | FAIL | cannot convert 'null' or 'undefined' to object |
| CSSScopeRule.start, implicit scope | FAIL | cannot convert 'null' or 'undefined' to object |
| CSSScopeRule.start, root only | FAIL | cannot convert 'null' or 'undefined' to object |
| CSSScopeRule.start, root and limit | FAIL | cannot convert 'null' or 'undefined' to object |
| CSSScopeRule.start, limit only | FAIL | cannot convert 'null' or 'undefined' to object |
| CSSScopeRule.end, implicit scope | FAIL | cannot convert 'null' or 'undefined' to object |
| CSSScopeRule.end, root only | FAIL | cannot convert 'null' or 'undefined' to object |
| CSSScopeRule.end, root and limit | FAIL | cannot convert 'null' or 'undefined' to object |
| CSSScopeRule.end, limit only | FAIL | cannot convert 'null' or 'undefined' to object |
| CSSScopeRule is a CSSGroupingRule | FAIL | cannot convert 'null' or 'undefined' to object |
/css/css-cascade/scope-cssom.html
<!DOCTYPE html> <title>@scope - CSSOM</title> <link rel="help" href="https://drafts.csswg.org/css-cascade-6/#the-cssscoperule-interface"> <script src="/resources/testharness.js"></script> <script src="/resources/testharnessreport.js"></script> <style id=style> @scope {} @scope (.a) {} @scope (.a) to (.b) { div { display: block; } } @scope to (.b) {} </style> <script> // CSSScopeRule.cssText test(() => { assert_equals(style.sheet.rules[0].cssText, '@scope {\n}'); }, 'CSSScopeRule.cssText, implicit scope'); test(() => { assert_equals(style.sheet.rules[1].cssText, '@scope (.a) {\n}'); }, 'CSSScopeRule.cssText, root only'); test(() => { assert_equals(style.sheet.rules[2].cssText, '@scope (.a) to (.b) {\n div { display: block; }\n}'); }, 'CSSScopeRule.cssText, root and limit'); test(() => { assert_equals(style.sheet.rules[3].cssText, '@scope to (.b) {\n}'); }, 'CSSScopeRule.cssText, limit only'); // start test(() => { assert_equals(style.sheet.rules[0].start, null); }, 'CSSScopeRule.start, implicit scope'); test(() => { assert_equals(style.sheet.rules[1].start, '.a'); }, 'CSSScopeRule.start, root only'); test(() => { assert_equals(style.sheet.rules[2].start, '.a'); }, 'CSSScopeRule.start, root and limit'); test(() => { assert_equals(style.sheet.rules[3].start, null); }, 'CSSScopeRule.start, limit only'); // end test(() => { assert_equals(style.sheet.rules[0].end, null); }, 'CSSScopeRule.end, implicit scope'); test(() => { assert_equals(style.sheet.rules[1].end, null); }, 'CSSScopeRule.end, root only'); test(() => { assert_equals(style.sheet.rules[2].end, '.b'); }, 'CSSScopeRule.end, root and limit'); test(() => { assert_equals(style.sheet.rules[3].end, '.b'); }, 'CSSScopeRule.end, limit only'); test(() => { assert_true(style.sheet.rules[0] instanceof CSSGroupingRule); assert_false(style.sheet.rules[0] instanceof CSSConditionRule); }, 'CSSScopeRule is a CSSGroupingRule'); </script>