summaryrefslogtreecommitdiffstats
path: root/testing/web-platform/tests/css/css-page/cssom
diff options
context:
space:
mode:
authorDaniel Baumann <daniel.baumann@progress-linux.org>2024-04-19 00:47:55 +0000
committerDaniel Baumann <daniel.baumann@progress-linux.org>2024-04-19 00:47:55 +0000
commit26a029d407be480d791972afb5975cf62c9360a6 (patch)
treef435a8308119effd964b339f76abb83a57c29483 /testing/web-platform/tests/css/css-page/cssom
parentInitial commit. (diff)
downloadfirefox-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-page/cssom')
-rw-r--r--testing/web-platform/tests/css/css-page/cssom/page-001.html41
-rw-r--r--testing/web-platform/tests/css/css-page/cssom/page-002.html37
2 files changed, 78 insertions, 0 deletions
diff --git a/testing/web-platform/tests/css/css-page/cssom/page-001.html b/testing/web-platform/tests/css/css-page/cssom/page-001.html
new file mode 100644
index 0000000000..2f6b4dde05
--- /dev/null
+++ b/testing/web-platform/tests/css/css-page/cssom/page-001.html
@@ -0,0 +1,41 @@
+<!DOCTYPE html>
+<link rel="author" title="Morten Stenshorne" href="mailto:mstensho@chromium.org">
+<link rel="help" href="https://drafts.csswg.org/cssom/#the-csspagerule-interface">
+<title>Basic CSSPageRule CSSOM test</title>
+<style id="sheet">
+ @page {}
+ @page :left {}
+ @page named { margin: 10px 20px; }
+</style>
+<script src="/resources/testharness.js"></script>
+<script src="/resources/testharnessreport.js"></script>
+<script>
+ var sheet = document.getElementById("sheet").sheet;
+ test(()=> {
+ assert_not_equals(sheet, null);
+ assert_equals(sheet.rules.length, 3);
+ }, "There should be 3 @page rules.");
+
+ test(()=> {
+ assert_equals(sheet.rules[0].constructor.name, "CSSPageRule");
+ assert_equals(sheet.rules[0].selectorText, "");
+ assert_equals(sheet.rules[0].style.length, 0);
+ }, "Rule #0");
+
+ test(()=> {
+ assert_equals(sheet.rules[1].constructor.name, "CSSPageRule");
+ assert_equals(sheet.rules[1].selectorText, ":left");
+ assert_equals(sheet.rules[1].style.length, 0);
+ }, "Rule #1");
+
+ test(()=> {
+ assert_equals(sheet.rules[2].constructor.name, "CSSPageRule");
+ assert_equals(sheet.rules[2].selectorText, "named");
+ var style = sheet.rules[2].style;
+ assert_equals(style.length, 4);
+ assert_equals(style.marginTop, "10px");
+ assert_equals(style.marginRight, "20px");
+ assert_equals(style.marginBottom, "10px");
+ assert_equals(style.marginLeft, "20px");
+ }, "Rule #2");
+</script>
diff --git a/testing/web-platform/tests/css/css-page/cssom/page-002.html b/testing/web-platform/tests/css/css-page/cssom/page-002.html
new file mode 100644
index 0000000000..0060d295b4
--- /dev/null
+++ b/testing/web-platform/tests/css/css-page/cssom/page-002.html
@@ -0,0 +1,37 @@
+<!DOCTYPE html>
+<link rel="author" title="Morten Stenshorne" href="mailto:mstensho@chromium.org">
+<link rel="help" href="https://drafts.csswg.org/cssom/#the-csspagerule-interface">
+<title>Add / remove declarations inside CSSPageRule</title>
+<style id="sheet">
+ @page {}
+</style>
+<script src="/resources/testharness.js"></script>
+<script src="/resources/testharnessreport.js"></script>
+<script>
+ var sheet = document.getElementById("sheet").sheet;
+ var pageRule = sheet.rules[0];
+ var style = pageRule.style;
+ test(()=> {
+ assert_equals(style.length, 0);
+ style.setProperty("widows", "7");
+ assert_equals(style.length, 1);
+ assert_equals(style.widows, "7");
+ style.setProperty("margin-left", "50%");
+ assert_equals(style.length, 2);
+ assert_equals(style.marginLeft, "50%");
+ style.setProperty("margin-left", "100px");
+ assert_equals(style.length, 2);
+ assert_equals(style.marginLeft, "100px");
+ style.setProperty("margin", "auto");
+ assert_equals(style.length, 5);
+ assert_equals(style.marginLeft, "auto");
+ }, "Add declarations");
+
+ test(()=> {
+ assert_equals(style.length, 5);
+ style.removeProperty("widows");
+ assert_equals(style.length, 4);
+ style.removeProperty("margin");
+ assert_equals(style.length, 0);
+ }, "Remove declarations");
+</script>