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);