diff options
author | Daniel Baumann <daniel.baumann@progress-linux.org> | 2024-04-19 00:47:55 +0000 |
---|---|---|
committer | Daniel Baumann <daniel.baumann@progress-linux.org> | 2024-04-19 00:47:55 +0000 |
commit | 26a029d407be480d791972afb5975cf62c9360a6 (patch) | |
tree | f435a8308119effd964b339f76abb83a57c29483 /testing/web-platform/tests/css/css-cascade/scope-cssom.html | |
parent | Initial commit. (diff) | |
download | firefox-26a029d407be480d791972afb5975cf62c9360a6.tar.xz firefox-26a029d407be480d791972afb5975cf62c9360a6.zip |
Adding upstream version 124.0.1.upstream/124.0.1
Signed-off-by: Daniel Baumann <daniel.baumann@progress-linux.org>
Diffstat (limited to 'testing/web-platform/tests/css/css-cascade/scope-cssom.html')
-rw-r--r-- | testing/web-platform/tests/css/css-cascade/scope-cssom.html | 73 |
1 files changed, 73 insertions, 0 deletions
diff --git a/testing/web-platform/tests/css/css-cascade/scope-cssom.html b/testing/web-platform/tests/css/css-cascade/scope-cssom.html new file mode 100644 index 0000000000..3603fc0e83 --- /dev/null +++ b/testing/web-platform/tests/css/css-cascade/scope-cssom.html @@ -0,0 +1,73 @@ +<!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> |