Part 3 - Add :first page pseudo-class tests.
Differential Revision: https://phabricator.services.mozilla.com/D180248
bugzilla-url: https://bugzilla.mozilla.org/show_bug.cgi?id=1833471
gecko-commit: 47085465184ba5908395f572c74f7f23754bccc0
gecko-reviewers: emilio
diff --git a/css/cssom/cssom-pagerule.html b/css/cssom/cssom-pagerule.html
index c7604eb..994257b 100644
--- a/css/cssom/cssom-pagerule.html
+++ b/css/cssom/cssom-pagerule.html
@@ -35,6 +35,40 @@
}, "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);