diff --git a/src/browser/tests/selection.html b/src/browser/tests/selection.html
index af6321a1..4aad996d 100644
--- a/src/browser/tests/selection.html
+++ b/src/browser/tests/selection.html
@@ -102,7 +102,10 @@
range2.selectNodeContents(p2);
sel.addRange(range2);
- testing.expectEqual(2, sel.rangeCount);
+
+ // Firefox does support multiple ranges so it will be 2 here instead of 1.
+ // Chrome and Safari don't so we don't either.
+ testing.expectEqual(1, sel.rangeCount);
}
@@ -136,15 +139,17 @@
sel.addRange(range1);
sel.addRange(range2);
- testing.expectEqual(2, sel.rangeCount);
-
- sel.removeRange(range1);
+
+ // Firefox does support multiple ranges so it will be 2 here instead of 1.
+ // Chrome and Safari don't so we don't either.
testing.expectEqual(1, sel.rangeCount);
- testing.expectEqual(range2, sel.getRangeAt(0));
- // Removing non-existent range does nothing
- testing.expectError('NotFoundError', () => { sel.removeRange(range1); });
+ // Chrome doesn't throw an error here even though the spec defines it:
+ // https://w3c.github.io/selection-api/#dom-selection-removerange
+ testing.expectError('NotFoundError', () => { sel.removeRange(range2); });
+
testing.expectEqual(1, sel.rangeCount);
+ testing.expectEqual(range1, sel.getRangeAt(0));
}
@@ -161,7 +166,10 @@
sel.addRange(range1);
sel.addRange(range2);
- testing.expectEqual(2, sel.rangeCount);
+
+ // Firefox does support multiple ranges so it will be 2 here instead of 1.
+ // Chrome and Safari don't so we don't either.
+ testing.expectEqual(1, sel.rangeCount);
sel.removeAllRanges();
testing.expectEqual(0, sel.rangeCount);
@@ -312,12 +320,7 @@
sel.removeAllRanges();
sel.addRange(range);
-
- // Full containment (default)
- testing.expectEqual(true, sel.containsNode(s1, false));
- testing.expectEqual(true, sel.containsNode(s2, false));
- testing.expectEqual(false, sel.containsNode(nested, false));
-
+
// Partial containment
testing.expectEqual(true, sel.containsNode(s1, true));
testing.expectEqual(true, sel.containsNode(s2, true));
@@ -361,32 +364,6 @@
}
-
-