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/cssom/cssom-pagerule.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/cssom/cssom-pagerule.html')
-rw-r--r-- | testing/web-platform/tests/css/cssom/cssom-pagerule.html | 77 |
1 files changed, 77 insertions, 0 deletions
diff --git a/testing/web-platform/tests/css/cssom/cssom-pagerule.html b/testing/web-platform/tests/css/cssom/cssom-pagerule.html new file mode 100644 index 0000000000..994257b245 --- /dev/null +++ b/testing/web-platform/tests/css/cssom/cssom-pagerule.html @@ -0,0 +1,77 @@ +<!DOCTYPE html> +<title>CSSOM: CSSPageRule tests</title> +<link rel="help" href="https://drafts.csswg.org/cssom/#the-csspagerule-interface" /> +<script src="/resources/testharness.js"></script> +<script src="/resources/testharnessreport.js"></script> +<style> + @page {} +</style> +<script> + const sheet = document.styleSheets[0]; + const rule = sheet.cssRules[0]; + + test(() => { + assert_true(!!rule); + assert_equals(rule.type, CSSRule.PAGE_RULE); + }, "Sanity checks"); + + test(() => { + assert_equals(rule.selectorText, ""); + }, "Page selector is initially the empty string"); + + test(() => { + rule.selectorText = ":left"; + assert_equals(rule.selectorText, ":left"); + }, "Set selectorText to :left pseudo page"); + + test(() => { + rule.selectorText = "named"; + assert_equals(rule.selectorText, "named"); + }, "Set selectorText to named page"); + + test(() => { + rule.selectorText = "named:first"; + assert_equals(rule.selectorText, "named:first"); + }, "Set selectorText to named page with :first pseudo page"); + + test(() => { + rule.selectorText = "named:First"; + assert_equals(rule.selectorText, "named:first"); + }, "Set selectorText to named page with case insensitive :first pseudo page"); + + test(() => { + rule.selectorText = "named:first:first"; + assert_equals(rule.selectorText, "named:first:first"); + }, "Set selectorText to named page with two :first pseudo page"); + + test(() => { + rule.selectorText = "named:first:left:right:first"; + assert_equals(rule.selectorText, "named:first:left:right:first"); + }, "Set selectorText to named page with pseudo pages of " + + ":first, :left, :right, :first in order."); + + test(() => { + rule.selectorText = ""; + rule.selectorText = "named :first"; + assert_equals(rule.selectorText, ""); + }, "Cannot set selectorText to named page with pseudo, whitespace between"); + + test(() => { + rule.selectorText = ""; + rule.selectorText = ":first :left"; + assert_equals(rule.selectorText, ""); + }, "Cannot set selectorText to two pseudos, whitespace between"); + + test(() => { + rule.selectorText = ""; + rule.selectorText = ":notapagepseudo"; + assert_equals(rule.selectorText, ""); + }, "Cannot set selectorText to invalid pseudo page"); + + test(() => { + assert_equals(rule.parentStyleSheet, sheet); + sheet.deleteRule(0); + assert_equals(rule.parentStyleSheet, null); + rule.selectorText = "pagename"; + }, "Set selectorText to named page after rule was removed"); +</script> |