Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(8)

Unified Diff: third_party/WebKit/LayoutTests/external/wpt/selection/addRange-20-expected.txt

Issue 2653523003: Make DOMSelection cache Range (Closed)
Patch Set: update Created 3 years, 10 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: third_party/WebKit/LayoutTests/external/wpt/selection/addRange-20-expected.txt
diff --git a/third_party/WebKit/LayoutTests/external/wpt/selection/addRange-20-expected.txt b/third_party/WebKit/LayoutTests/external/wpt/selection/addRange-20-expected.txt
index 53cbf6620f503b8d9bf96c596d2e60605a3e944d..df22d1dcf34638ac6ec3cfcbaf989bb4520722c5 100644
--- a/third_party/WebKit/LayoutTests/external/wpt/selection/addRange-20-expected.txt
+++ b/third_party/WebKit/LayoutTests/external/wpt/selection/addRange-20-expected.txt
@@ -75,9 +75,9 @@ FAIL Range 20 [foreignDoc.head, 1, foreignDoc.head, 1] followed by Range 0 [para
PASS Range 20 [foreignDoc.head, 1, foreignDoc.head, 1] followed by Range 0 [paras[0].firstChild, 0, paras[0].firstChild, 0]: second addRange() must not throw exceptions or modify the range it's given
PASS Range 20 [foreignDoc.head, 1, foreignDoc.head, 1] followed by Range 0 [paras[0].firstChild, 0, paras[0].firstChild, 0]: second addRange() must result in rangeCount being 1
PASS Range 20 [foreignDoc.head, 1, foreignDoc.head, 1] followed by Range 0 [paras[0].firstChild, 0, paras[0].firstChild, 0]: second addRange() must result in the selection's last range having the specified endpoints
-FAIL Range 20 [foreignDoc.head, 1, foreignDoc.head, 1] followed by Range 0 [paras[0].firstChild, 0, paras[0].firstChild, 0]: second addRange() must result in the selection's last range being the same object we added assert_equals: getRangeAt(rangeCount - 1) must return the same object we added expected object "" but got object ""
-FAIL Range 20 [foreignDoc.head, 1, foreignDoc.head, 1] followed by Range 0 [paras[0].firstChild, 0, paras[0].firstChild, 0]: modifying the second added range must modify the Selection's last Range assert_equals: After mutating the second added Range, endOffset of the Selection's last Range must match the added Range expected 2 but got 0
-FAIL Range 20 [foreignDoc.head, 1, foreignDoc.head, 1] followed by Range 0 [paras[0].firstChild, 0, paras[0].firstChild, 0]: modifying the Selection's last Range must modify the second added Range assert_equals: After second addRange(), after mutating the Selection's last Range, startOffset of the Selection's last Range must match the added Range expected 0 but got 6
+PASS Range 20 [foreignDoc.head, 1, foreignDoc.head, 1] followed by Range 0 [paras[0].firstChild, 0, paras[0].firstChild, 0]: second addRange() must result in the selection's last range being the same object we added
+PASS Range 20 [foreignDoc.head, 1, foreignDoc.head, 1] followed by Range 0 [paras[0].firstChild, 0, paras[0].firstChild, 0]: modifying the second added range must modify the Selection's last Range
+PASS Range 20 [foreignDoc.head, 1, foreignDoc.head, 1] followed by Range 0 [paras[0].firstChild, 0, paras[0].firstChild, 0]: modifying the Selection's last Range must modify the second added Range
PASS Range 20 [foreignDoc.head, 1, foreignDoc.head, 1] followed by Range 1 [paras[0].firstChild, 0, paras[0].firstChild, 1]: first addRange() must not throw exceptions or modify the range it's given
FAIL Range 20 [foreignDoc.head, 1, foreignDoc.head, 1] followed by Range 1 [paras[0].firstChild, 0, paras[0].firstChild, 1]: first addRange() must result in rangeCount being 1 assert_equals: rangeCount must be 1 expected 1 but got 0
FAIL Range 20 [foreignDoc.head, 1, foreignDoc.head, 1] followed by Range 1 [paras[0].firstChild, 0, paras[0].firstChild, 1]: first addRange() must result in the selection's last range having the specified endpoints assert_not_equals: Cannot proceed with tests if rangeCount is 0 got disallowed value 0
@@ -87,9 +87,9 @@ FAIL Range 20 [foreignDoc.head, 1, foreignDoc.head, 1] followed by Range 1 [para
PASS Range 20 [foreignDoc.head, 1, foreignDoc.head, 1] followed by Range 1 [paras[0].firstChild, 0, paras[0].firstChild, 1]: second addRange() must not throw exceptions or modify the range it's given
PASS Range 20 [foreignDoc.head, 1, foreignDoc.head, 1] followed by Range 1 [paras[0].firstChild, 0, paras[0].firstChild, 1]: second addRange() must result in rangeCount being 1
PASS Range 20 [foreignDoc.head, 1, foreignDoc.head, 1] followed by Range 1 [paras[0].firstChild, 0, paras[0].firstChild, 1]: second addRange() must result in the selection's last range having the specified endpoints
-FAIL Range 20 [foreignDoc.head, 1, foreignDoc.head, 1] followed by Range 1 [paras[0].firstChild, 0, paras[0].firstChild, 1]: second addRange() must result in the selection's last range being the same object we added assert_equals: getRangeAt(rangeCount - 1) must return the same object we added expected object "A" but got object "A"
-FAIL Range 20 [foreignDoc.head, 1, foreignDoc.head, 1] followed by Range 1 [paras[0].firstChild, 0, paras[0].firstChild, 1]: modifying the second added range must modify the Selection's last Range assert_equals: After mutating the second added Range, endOffset of the Selection's last Range must match the added Range expected 2 but got 1
-FAIL Range 20 [foreignDoc.head, 1, foreignDoc.head, 1] followed by Range 1 [paras[0].firstChild, 0, paras[0].firstChild, 1]: modifying the Selection's last Range must modify the second added Range assert_equals: After second addRange(), after mutating the Selection's last Range, startOffset of the Selection's last Range must match the added Range expected 0 but got 6
+PASS Range 20 [foreignDoc.head, 1, foreignDoc.head, 1] followed by Range 1 [paras[0].firstChild, 0, paras[0].firstChild, 1]: second addRange() must result in the selection's last range being the same object we added
+PASS Range 20 [foreignDoc.head, 1, foreignDoc.head, 1] followed by Range 1 [paras[0].firstChild, 0, paras[0].firstChild, 1]: modifying the second added range must modify the Selection's last Range
+PASS Range 20 [foreignDoc.head, 1, foreignDoc.head, 1] followed by Range 1 [paras[0].firstChild, 0, paras[0].firstChild, 1]: modifying the Selection's last Range must modify the second added Range
PASS Range 20 [foreignDoc.head, 1, foreignDoc.head, 1] followed by Range 2 [paras[0].firstChild, 2, paras[0].firstChild, 8]: first addRange() must not throw exceptions or modify the range it's given
FAIL Range 20 [foreignDoc.head, 1, foreignDoc.head, 1] followed by Range 2 [paras[0].firstChild, 2, paras[0].firstChild, 8]: first addRange() must result in rangeCount being 1 assert_equals: rangeCount must be 1 expected 1 but got 0
FAIL Range 20 [foreignDoc.head, 1, foreignDoc.head, 1] followed by Range 2 [paras[0].firstChild, 2, paras[0].firstChild, 8]: first addRange() must result in the selection's last range having the specified endpoints assert_not_equals: Cannot proceed with tests if rangeCount is 0 got disallowed value 0
@@ -99,9 +99,9 @@ FAIL Range 20 [foreignDoc.head, 1, foreignDoc.head, 1] followed by Range 2 [para
PASS Range 20 [foreignDoc.head, 1, foreignDoc.head, 1] followed by Range 2 [paras[0].firstChild, 2, paras[0].firstChild, 8]: second addRange() must not throw exceptions or modify the range it's given
PASS Range 20 [foreignDoc.head, 1, foreignDoc.head, 1] followed by Range 2 [paras[0].firstChild, 2, paras[0].firstChild, 8]: second addRange() must result in rangeCount being 1
PASS Range 20 [foreignDoc.head, 1, foreignDoc.head, 1] followed by Range 2 [paras[0].firstChild, 2, paras[0].firstChild, 8]: second addRange() must result in the selection's last range having the specified endpoints
-FAIL Range 20 [foreignDoc.head, 1, foreignDoc.head, 1] followed by Range 2 [paras[0].firstChild, 2, paras[0].firstChild, 8]: second addRange() must result in the selection's last range being the same object we added assert_equals: getRangeAt(rangeCount - 1) must return the same object we added expected object "b̈c̈d̈" but got object "b̈c̈d̈"
-FAIL Range 20 [foreignDoc.head, 1, foreignDoc.head, 1] followed by Range 2 [paras[0].firstChild, 2, paras[0].firstChild, 8]: modifying the second added range must modify the Selection's last Range assert_equals: After mutating the second added Range, startOffset of the Selection's last Range must match the added Range expected 0 but got 2
-FAIL Range 20 [foreignDoc.head, 1, foreignDoc.head, 1] followed by Range 2 [paras[0].firstChild, 2, paras[0].firstChild, 8]: modifying the Selection's last Range must modify the second added Range assert_equals: After second addRange(), after mutating the Selection's last Range, startOffset of the Selection's last Range must match the added Range expected 0 but got 6
+PASS Range 20 [foreignDoc.head, 1, foreignDoc.head, 1] followed by Range 2 [paras[0].firstChild, 2, paras[0].firstChild, 8]: second addRange() must result in the selection's last range being the same object we added
+PASS Range 20 [foreignDoc.head, 1, foreignDoc.head, 1] followed by Range 2 [paras[0].firstChild, 2, paras[0].firstChild, 8]: modifying the second added range must modify the Selection's last Range
+PASS Range 20 [foreignDoc.head, 1, foreignDoc.head, 1] followed by Range 2 [paras[0].firstChild, 2, paras[0].firstChild, 8]: modifying the Selection's last Range must modify the second added Range
PASS Range 20 [foreignDoc.head, 1, foreignDoc.head, 1] followed by Range 3 [paras[0].firstChild, 2, paras[0].firstChild, 9]: first addRange() must not throw exceptions or modify the range it's given
FAIL Range 20 [foreignDoc.head, 1, foreignDoc.head, 1] followed by Range 3 [paras[0].firstChild, 2, paras[0].firstChild, 9]: first addRange() must result in rangeCount being 1 assert_equals: rangeCount must be 1 expected 1 but got 0
FAIL Range 20 [foreignDoc.head, 1, foreignDoc.head, 1] followed by Range 3 [paras[0].firstChild, 2, paras[0].firstChild, 9]: first addRange() must result in the selection's last range having the specified endpoints assert_not_equals: Cannot proceed with tests if rangeCount is 0 got disallowed value 0
@@ -111,9 +111,9 @@ FAIL Range 20 [foreignDoc.head, 1, foreignDoc.head, 1] followed by Range 3 [para
PASS Range 20 [foreignDoc.head, 1, foreignDoc.head, 1] followed by Range 3 [paras[0].firstChild, 2, paras[0].firstChild, 9]: second addRange() must not throw exceptions or modify the range it's given
PASS Range 20 [foreignDoc.head, 1, foreignDoc.head, 1] followed by Range 3 [paras[0].firstChild, 2, paras[0].firstChild, 9]: second addRange() must result in rangeCount being 1
PASS Range 20 [foreignDoc.head, 1, foreignDoc.head, 1] followed by Range 3 [paras[0].firstChild, 2, paras[0].firstChild, 9]: second addRange() must result in the selection's last range having the specified endpoints
-FAIL Range 20 [foreignDoc.head, 1, foreignDoc.head, 1] followed by Range 3 [paras[0].firstChild, 2, paras[0].firstChild, 9]: second addRange() must result in the selection's last range being the same object we added assert_equals: getRangeAt(rangeCount - 1) must return the same object we added expected object "b̈c̈d̈e" but got object "b̈c̈d̈e"
-FAIL Range 20 [foreignDoc.head, 1, foreignDoc.head, 1] followed by Range 3 [paras[0].firstChild, 2, paras[0].firstChild, 9]: modifying the second added range must modify the Selection's last Range assert_equals: After mutating the second added Range, startOffset of the Selection's last Range must match the added Range expected 0 but got 2
-FAIL Range 20 [foreignDoc.head, 1, foreignDoc.head, 1] followed by Range 3 [paras[0].firstChild, 2, paras[0].firstChild, 9]: modifying the Selection's last Range must modify the second added Range assert_equals: After second addRange(), after mutating the Selection's last Range, startOffset of the Selection's last Range must match the added Range expected 0 but got 6
+PASS Range 20 [foreignDoc.head, 1, foreignDoc.head, 1] followed by Range 3 [paras[0].firstChild, 2, paras[0].firstChild, 9]: second addRange() must result in the selection's last range being the same object we added
+PASS Range 20 [foreignDoc.head, 1, foreignDoc.head, 1] followed by Range 3 [paras[0].firstChild, 2, paras[0].firstChild, 9]: modifying the second added range must modify the Selection's last Range
+PASS Range 20 [foreignDoc.head, 1, foreignDoc.head, 1] followed by Range 3 [paras[0].firstChild, 2, paras[0].firstChild, 9]: modifying the Selection's last Range must modify the second added Range
PASS Range 20 [foreignDoc.head, 1, foreignDoc.head, 1] followed by Range 4 [paras[1].firstChild, 0, paras[1].firstChild, 0]: first addRange() must not throw exceptions or modify the range it's given
FAIL Range 20 [foreignDoc.head, 1, foreignDoc.head, 1] followed by Range 4 [paras[1].firstChild, 0, paras[1].firstChild, 0]: first addRange() must result in rangeCount being 1 assert_equals: rangeCount must be 1 expected 1 but got 0
FAIL Range 20 [foreignDoc.head, 1, foreignDoc.head, 1] followed by Range 4 [paras[1].firstChild, 0, paras[1].firstChild, 0]: first addRange() must result in the selection's last range having the specified endpoints assert_not_equals: Cannot proceed with tests if rangeCount is 0 got disallowed value 0
@@ -123,11 +123,9 @@ FAIL Range 20 [foreignDoc.head, 1, foreignDoc.head, 1] followed by Range 4 [para
PASS Range 20 [foreignDoc.head, 1, foreignDoc.head, 1] followed by Range 4 [paras[1].firstChild, 0, paras[1].firstChild, 0]: second addRange() must not throw exceptions or modify the range it's given
PASS Range 20 [foreignDoc.head, 1, foreignDoc.head, 1] followed by Range 4 [paras[1].firstChild, 0, paras[1].firstChild, 0]: second addRange() must result in rangeCount being 1
PASS Range 20 [foreignDoc.head, 1, foreignDoc.head, 1] followed by Range 4 [paras[1].firstChild, 0, paras[1].firstChild, 0]: second addRange() must result in the selection's last range having the specified endpoints
-FAIL Range 20 [foreignDoc.head, 1, foreignDoc.head, 1] followed by Range 4 [paras[1].firstChild, 0, paras[1].firstChild, 0]: second addRange() must result in the selection's last range being the same object we added assert_equals: getRangeAt(rangeCount - 1) must return the same object we added expected object "" but got object ""
-FAIL Range 20 [foreignDoc.head, 1, foreignDoc.head, 1] followed by Range 4 [paras[1].firstChild, 0, paras[1].firstChild, 0]: modifying the second added range must modify the Selection's last Range assert_equals: After mutating the second added Range, startContainer of the Selection's last Range must match the added Range expected Text node "Äb̈c̈d̈ëf̈g̈ḧ
-" but got Text node "Ijklmnop
-"
-FAIL Range 20 [foreignDoc.head, 1, foreignDoc.head, 1] followed by Range 4 [paras[1].firstChild, 0, paras[1].firstChild, 0]: modifying the Selection's last Range must modify the second added Range assert_equals: After second addRange(), after mutating the Selection's last Range, startOffset of the Selection's last Range must match the added Range expected 0 but got 6
+PASS Range 20 [foreignDoc.head, 1, foreignDoc.head, 1] followed by Range 4 [paras[1].firstChild, 0, paras[1].firstChild, 0]: second addRange() must result in the selection's last range being the same object we added
+PASS Range 20 [foreignDoc.head, 1, foreignDoc.head, 1] followed by Range 4 [paras[1].firstChild, 0, paras[1].firstChild, 0]: modifying the second added range must modify the Selection's last Range
+PASS Range 20 [foreignDoc.head, 1, foreignDoc.head, 1] followed by Range 4 [paras[1].firstChild, 0, paras[1].firstChild, 0]: modifying the Selection's last Range must modify the second added Range
PASS Range 20 [foreignDoc.head, 1, foreignDoc.head, 1] followed by Range 5 [paras[1].firstChild, 0, paras[1].firstChild, 1]: first addRange() must not throw exceptions or modify the range it's given
FAIL Range 20 [foreignDoc.head, 1, foreignDoc.head, 1] followed by Range 5 [paras[1].firstChild, 0, paras[1].firstChild, 1]: first addRange() must result in rangeCount being 1 assert_equals: rangeCount must be 1 expected 1 but got 0
FAIL Range 20 [foreignDoc.head, 1, foreignDoc.head, 1] followed by Range 5 [paras[1].firstChild, 0, paras[1].firstChild, 1]: first addRange() must result in the selection's last range having the specified endpoints assert_not_equals: Cannot proceed with tests if rangeCount is 0 got disallowed value 0
@@ -137,11 +135,9 @@ FAIL Range 20 [foreignDoc.head, 1, foreignDoc.head, 1] followed by Range 5 [para
PASS Range 20 [foreignDoc.head, 1, foreignDoc.head, 1] followed by Range 5 [paras[1].firstChild, 0, paras[1].firstChild, 1]: second addRange() must not throw exceptions or modify the range it's given
PASS Range 20 [foreignDoc.head, 1, foreignDoc.head, 1] followed by Range 5 [paras[1].firstChild, 0, paras[1].firstChild, 1]: second addRange() must result in rangeCount being 1
PASS Range 20 [foreignDoc.head, 1, foreignDoc.head, 1] followed by Range 5 [paras[1].firstChild, 0, paras[1].firstChild, 1]: second addRange() must result in the selection's last range having the specified endpoints
-FAIL Range 20 [foreignDoc.head, 1, foreignDoc.head, 1] followed by Range 5 [paras[1].firstChild, 0, paras[1].firstChild, 1]: second addRange() must result in the selection's last range being the same object we added assert_equals: getRangeAt(rangeCount - 1) must return the same object we added expected object "I" but got object "I"
-FAIL Range 20 [foreignDoc.head, 1, foreignDoc.head, 1] followed by Range 5 [paras[1].firstChild, 0, paras[1].firstChild, 1]: modifying the second added range must modify the Selection's last Range assert_equals: After mutating the second added Range, startContainer of the Selection's last Range must match the added Range expected Text node "Äb̈c̈d̈ëf̈g̈ḧ
-" but got Text node "Ijklmnop
-"
-FAIL Range 20 [foreignDoc.head, 1, foreignDoc.head, 1] followed by Range 5 [paras[1].firstChild, 0, paras[1].firstChild, 1]: modifying the Selection's last Range must modify the second added Range assert_equals: After second addRange(), after mutating the Selection's last Range, startOffset of the Selection's last Range must match the added Range expected 0 but got 6
+PASS Range 20 [foreignDoc.head, 1, foreignDoc.head, 1] followed by Range 5 [paras[1].firstChild, 0, paras[1].firstChild, 1]: second addRange() must result in the selection's last range being the same object we added
+PASS Range 20 [foreignDoc.head, 1, foreignDoc.head, 1] followed by Range 5 [paras[1].firstChild, 0, paras[1].firstChild, 1]: modifying the second added range must modify the Selection's last Range
+PASS Range 20 [foreignDoc.head, 1, foreignDoc.head, 1] followed by Range 5 [paras[1].firstChild, 0, paras[1].firstChild, 1]: modifying the Selection's last Range must modify the second added Range
PASS Range 20 [foreignDoc.head, 1, foreignDoc.head, 1] followed by Range 6 [paras[1].firstChild, 2, paras[1].firstChild, 8]: first addRange() must not throw exceptions or modify the range it's given
FAIL Range 20 [foreignDoc.head, 1, foreignDoc.head, 1] followed by Range 6 [paras[1].firstChild, 2, paras[1].firstChild, 8]: first addRange() must result in rangeCount being 1 assert_equals: rangeCount must be 1 expected 1 but got 0
FAIL Range 20 [foreignDoc.head, 1, foreignDoc.head, 1] followed by Range 6 [paras[1].firstChild, 2, paras[1].firstChild, 8]: first addRange() must result in the selection's last range having the specified endpoints assert_not_equals: Cannot proceed with tests if rangeCount is 0 got disallowed value 0
@@ -151,11 +147,9 @@ FAIL Range 20 [foreignDoc.head, 1, foreignDoc.head, 1] followed by Range 6 [para
PASS Range 20 [foreignDoc.head, 1, foreignDoc.head, 1] followed by Range 6 [paras[1].firstChild, 2, paras[1].firstChild, 8]: second addRange() must not throw exceptions or modify the range it's given
PASS Range 20 [foreignDoc.head, 1, foreignDoc.head, 1] followed by Range 6 [paras[1].firstChild, 2, paras[1].firstChild, 8]: second addRange() must result in rangeCount being 1
PASS Range 20 [foreignDoc.head, 1, foreignDoc.head, 1] followed by Range 6 [paras[1].firstChild, 2, paras[1].firstChild, 8]: second addRange() must result in the selection's last range having the specified endpoints
-FAIL Range 20 [foreignDoc.head, 1, foreignDoc.head, 1] followed by Range 6 [paras[1].firstChild, 2, paras[1].firstChild, 8]: second addRange() must result in the selection's last range being the same object we added assert_equals: getRangeAt(rangeCount - 1) must return the same object we added expected object "klmnop" but got object "klmnop"
-FAIL Range 20 [foreignDoc.head, 1, foreignDoc.head, 1] followed by Range 6 [paras[1].firstChild, 2, paras[1].firstChild, 8]: modifying the second added range must modify the Selection's last Range assert_equals: After mutating the second added Range, startContainer of the Selection's last Range must match the added Range expected Text node "Äb̈c̈d̈ëf̈g̈ḧ
-" but got Text node "Ijklmnop
-"
-FAIL Range 20 [foreignDoc.head, 1, foreignDoc.head, 1] followed by Range 6 [paras[1].firstChild, 2, paras[1].firstChild, 8]: modifying the Selection's last Range must modify the second added Range assert_equals: After second addRange(), after mutating the Selection's last Range, startOffset of the Selection's last Range must match the added Range expected 0 but got 6
+PASS Range 20 [foreignDoc.head, 1, foreignDoc.head, 1] followed by Range 6 [paras[1].firstChild, 2, paras[1].firstChild, 8]: second addRange() must result in the selection's last range being the same object we added
+PASS Range 20 [foreignDoc.head, 1, foreignDoc.head, 1] followed by Range 6 [paras[1].firstChild, 2, paras[1].firstChild, 8]: modifying the second added range must modify the Selection's last Range
+PASS Range 20 [foreignDoc.head, 1, foreignDoc.head, 1] followed by Range 6 [paras[1].firstChild, 2, paras[1].firstChild, 8]: modifying the Selection's last Range must modify the second added Range
PASS Range 20 [foreignDoc.head, 1, foreignDoc.head, 1] followed by Range 7 [paras[1].firstChild, 2, paras[1].firstChild, 9]: first addRange() must not throw exceptions or modify the range it's given
FAIL Range 20 [foreignDoc.head, 1, foreignDoc.head, 1] followed by Range 7 [paras[1].firstChild, 2, paras[1].firstChild, 9]: first addRange() must result in rangeCount being 1 assert_equals: rangeCount must be 1 expected 1 but got 0
FAIL Range 20 [foreignDoc.head, 1, foreignDoc.head, 1] followed by Range 7 [paras[1].firstChild, 2, paras[1].firstChild, 9]: first addRange() must result in the selection's last range having the specified endpoints assert_not_equals: Cannot proceed with tests if rangeCount is 0 got disallowed value 0
@@ -165,13 +159,9 @@ FAIL Range 20 [foreignDoc.head, 1, foreignDoc.head, 1] followed by Range 7 [para
PASS Range 20 [foreignDoc.head, 1, foreignDoc.head, 1] followed by Range 7 [paras[1].firstChild, 2, paras[1].firstChild, 9]: second addRange() must not throw exceptions or modify the range it's given
PASS Range 20 [foreignDoc.head, 1, foreignDoc.head, 1] followed by Range 7 [paras[1].firstChild, 2, paras[1].firstChild, 9]: second addRange() must result in rangeCount being 1
PASS Range 20 [foreignDoc.head, 1, foreignDoc.head, 1] followed by Range 7 [paras[1].firstChild, 2, paras[1].firstChild, 9]: second addRange() must result in the selection's last range having the specified endpoints
-FAIL Range 20 [foreignDoc.head, 1, foreignDoc.head, 1] followed by Range 7 [paras[1].firstChild, 2, paras[1].firstChild, 9]: second addRange() must result in the selection's last range being the same object we added assert_equals: getRangeAt(rangeCount - 1) must return the same object we added expected object "klmnop
-" but got object "klmnop
-"
-FAIL Range 20 [foreignDoc.head, 1, foreignDoc.head, 1] followed by Range 7 [paras[1].firstChild, 2, paras[1].firstChild, 9]: modifying the second added range must modify the Selection's last Range assert_equals: After mutating the second added Range, startContainer of the Selection's last Range must match the added Range expected Text node "Äb̈c̈d̈ëf̈g̈ḧ
-" but got Text node "Ijklmnop
-"
-FAIL Range 20 [foreignDoc.head, 1, foreignDoc.head, 1] followed by Range 7 [paras[1].firstChild, 2, paras[1].firstChild, 9]: modifying the Selection's last Range must modify the second added Range assert_equals: After second addRange(), after mutating the Selection's last Range, startOffset of the Selection's last Range must match the added Range expected 0 but got 6
+PASS Range 20 [foreignDoc.head, 1, foreignDoc.head, 1] followed by Range 7 [paras[1].firstChild, 2, paras[1].firstChild, 9]: second addRange() must result in the selection's last range being the same object we added
+PASS Range 20 [foreignDoc.head, 1, foreignDoc.head, 1] followed by Range 7 [paras[1].firstChild, 2, paras[1].firstChild, 9]: modifying the second added range must modify the Selection's last Range
+PASS Range 20 [foreignDoc.head, 1, foreignDoc.head, 1] followed by Range 7 [paras[1].firstChild, 2, paras[1].firstChild, 9]: modifying the Selection's last Range must modify the second added Range
PASS Range 20 [foreignDoc.head, 1, foreignDoc.head, 1] followed by Range 8 [detachedPara1.firstChild, 0, detachedPara1.firstChild, 0]: first addRange() must not throw exceptions or modify the range it's given
FAIL Range 20 [foreignDoc.head, 1, foreignDoc.head, 1] followed by Range 8 [detachedPara1.firstChild, 0, detachedPara1.firstChild, 0]: first addRange() must result in rangeCount being 1 assert_equals: rangeCount must be 1 expected 1 but got 0
FAIL Range 20 [foreignDoc.head, 1, foreignDoc.head, 1] followed by Range 8 [detachedPara1.firstChild, 0, detachedPara1.firstChild, 0]: first addRange() must result in the selection's last range having the specified endpoints assert_not_equals: Cannot proceed with tests if rangeCount is 0 got disallowed value 0
@@ -253,15 +243,9 @@ FAIL Range 20 [foreignDoc.head, 1, foreignDoc.head, 1] followed by Range 14 [doc
PASS Range 20 [foreignDoc.head, 1, foreignDoc.head, 1] followed by Range 14 [document.documentElement, 0, document.documentElement, 1]: second addRange() must not throw exceptions or modify the range it's given
PASS Range 20 [foreignDoc.head, 1, foreignDoc.head, 1] followed by Range 14 [document.documentElement, 0, document.documentElement, 1]: second addRange() must result in rangeCount being 1
PASS Range 20 [foreignDoc.head, 1, foreignDoc.head, 1] followed by Range 14 [document.documentElement, 0, document.documentElement, 1]: second addRange() must result in the selection's last range having the specified endpoints
-FAIL Range 20 [foreignDoc.head, 1, foreignDoc.head, 1] followed by Range 14 [document.documentElement, 0, document.documentElement, 1]: second addRange() must result in the selection's last range being the same object we added assert_equals: getRangeAt(rangeCount - 1) must return the same object we added expected object "Selection.addRange() tests
-
-" but got object "Selection.addRange() tests
-
-"
-FAIL Range 20 [foreignDoc.head, 1, foreignDoc.head, 1] followed by Range 14 [document.documentElement, 0, document.documentElement, 1]: modifying the second added range must modify the Selection's last Range assert_equals: After mutating the second added Range, startContainer of the Selection's last Range must match the added Range expected Text node "Äb̈c̈d̈ëf̈g̈ḧ
-" but got Element node <html><head><title>Selection.addRange() tests</title>
-<me...
-FAIL Range 20 [foreignDoc.head, 1, foreignDoc.head, 1] followed by Range 14 [document.documentElement, 0, document.documentElement, 1]: modifying the Selection's last Range must modify the second added Range assert_equals: After second addRange(), after mutating the Selection's last Range, startOffset of the Selection's last Range must match the added Range expected 0 but got 6
+PASS Range 20 [foreignDoc.head, 1, foreignDoc.head, 1] followed by Range 14 [document.documentElement, 0, document.documentElement, 1]: second addRange() must result in the selection's last range being the same object we added
+PASS Range 20 [foreignDoc.head, 1, foreignDoc.head, 1] followed by Range 14 [document.documentElement, 0, document.documentElement, 1]: modifying the second added range must modify the Selection's last Range
+PASS Range 20 [foreignDoc.head, 1, foreignDoc.head, 1] followed by Range 14 [document.documentElement, 0, document.documentElement, 1]: modifying the Selection's last Range must modify the second added Range
PASS Range 20 [foreignDoc.head, 1, foreignDoc.head, 1] followed by Range 15 [document.documentElement, 0, document.documentElement, 2]: first addRange() must not throw exceptions or modify the range it's given
FAIL Range 20 [foreignDoc.head, 1, foreignDoc.head, 1] followed by Range 15 [document.documentElement, 0, document.documentElement, 2]: first addRange() must result in rangeCount being 1 assert_equals: rangeCount must be 1 expected 1 but got 0
FAIL Range 20 [foreignDoc.head, 1, foreignDoc.head, 1] followed by Range 15 [document.documentElement, 0, document.documentElement, 2]: first addRange() must result in the selection's last range having the specified endpoints assert_not_equals: Cannot proceed with tests if rangeCount is 0 got disallowed value 0
@@ -271,39 +255,9 @@ FAIL Range 20 [foreignDoc.head, 1, foreignDoc.head, 1] followed by Range 15 [doc
PASS Range 20 [foreignDoc.head, 1, foreignDoc.head, 1] followed by Range 15 [document.documentElement, 0, document.documentElement, 2]: second addRange() must not throw exceptions or modify the range it's given
PASS Range 20 [foreignDoc.head, 1, foreignDoc.head, 1] followed by Range 15 [document.documentElement, 0, document.documentElement, 2]: second addRange() must result in rangeCount being 1
PASS Range 20 [foreignDoc.head, 1, foreignDoc.head, 1] followed by Range 15 [document.documentElement, 0, document.documentElement, 2]: second addRange() must result in the selection's last range having the specified endpoints
-FAIL Range 20 [foreignDoc.head, 1, foreignDoc.head, 1] followed by Range 15 [document.documentElement, 0, document.documentElement, 2]: second addRange() must result in the selection's last range being the same object we added assert_equals: getRangeAt(rangeCount - 1) must return the same object we added expected object "Selection.addRange() tests
-
-Äb̈c̈d̈ëf̈g̈ḧ
-Ijklmnop
-QrstuvwxYzabcdefGhijklmn
-
-
-
-
-
-"use strict";
-
-testAddRangeSubSet(20, 24);
-testDiv.style.display = "none";
-" but got object "Selection.addRange() tests
-
-Äb̈c̈d̈ëf̈g̈ḧ
-Ijklmnop
-QrstuvwxYzabcdefGhijklmn
-
-
-
-
-
-"use strict";
-
-testAddRangeSubSet(20, 24);
-testDiv.style.display = "none";
-"
-FAIL Range 20 [foreignDoc.head, 1, foreignDoc.head, 1] followed by Range 15 [document.documentElement, 0, document.documentElement, 2]: modifying the second added range must modify the Selection's last Range assert_equals: After mutating the second added Range, startContainer of the Selection's last Range must match the added Range expected Text node "Äb̈c̈d̈ëf̈g̈ḧ
-" but got Element node <html><head><title>Selection.addRange() tests</title>
-<me...
-FAIL Range 20 [foreignDoc.head, 1, foreignDoc.head, 1] followed by Range 15 [document.documentElement, 0, document.documentElement, 2]: modifying the Selection's last Range must modify the second added Range assert_equals: After second addRange(), after mutating the Selection's last Range, startOffset of the Selection's last Range must match the added Range expected 0 but got 6
+PASS Range 20 [foreignDoc.head, 1, foreignDoc.head, 1] followed by Range 15 [document.documentElement, 0, document.documentElement, 2]: second addRange() must result in the selection's last range being the same object we added
+PASS Range 20 [foreignDoc.head, 1, foreignDoc.head, 1] followed by Range 15 [document.documentElement, 0, document.documentElement, 2]: modifying the second added range must modify the Selection's last Range
+PASS Range 20 [foreignDoc.head, 1, foreignDoc.head, 1] followed by Range 15 [document.documentElement, 0, document.documentElement, 2]: modifying the Selection's last Range must modify the second added Range
PASS Range 20 [foreignDoc.head, 1, foreignDoc.head, 1] followed by Range 16 [document.documentElement, 1, document.documentElement, 2]: first addRange() must not throw exceptions or modify the range it's given
FAIL Range 20 [foreignDoc.head, 1, foreignDoc.head, 1] followed by Range 16 [document.documentElement, 1, document.documentElement, 2]: first addRange() must result in rangeCount being 1 assert_equals: rangeCount must be 1 expected 1 but got 0
FAIL Range 20 [foreignDoc.head, 1, foreignDoc.head, 1] followed by Range 16 [document.documentElement, 1, document.documentElement, 2]: first addRange() must result in the selection's last range having the specified endpoints assert_not_equals: Cannot proceed with tests if rangeCount is 0 got disallowed value 0
@@ -313,35 +267,9 @@ FAIL Range 20 [foreignDoc.head, 1, foreignDoc.head, 1] followed by Range 16 [doc
PASS Range 20 [foreignDoc.head, 1, foreignDoc.head, 1] followed by Range 16 [document.documentElement, 1, document.documentElement, 2]: second addRange() must not throw exceptions or modify the range it's given
PASS Range 20 [foreignDoc.head, 1, foreignDoc.head, 1] followed by Range 16 [document.documentElement, 1, document.documentElement, 2]: second addRange() must result in rangeCount being 1
PASS Range 20 [foreignDoc.head, 1, foreignDoc.head, 1] followed by Range 16 [document.documentElement, 1, document.documentElement, 2]: second addRange() must result in the selection's last range having the specified endpoints
-FAIL Range 20 [foreignDoc.head, 1, foreignDoc.head, 1] followed by Range 16 [document.documentElement, 1, document.documentElement, 2]: second addRange() must result in the selection's last range being the same object we added assert_equals: getRangeAt(rangeCount - 1) must return the same object we added expected object "Äb̈c̈d̈ëf̈g̈ḧ
-Ijklmnop
-QrstuvwxYzabcdefGhijklmn
-
-
-
-
-
-"use strict";
-
-testAddRangeSubSet(20, 24);
-testDiv.style.display = "none";
-" but got object "Äb̈c̈d̈ëf̈g̈ḧ
-Ijklmnop
-QrstuvwxYzabcdefGhijklmn
-
-
-
-
-
-"use strict";
-
-testAddRangeSubSet(20, 24);
-testDiv.style.display = "none";
-"
-FAIL Range 20 [foreignDoc.head, 1, foreignDoc.head, 1] followed by Range 16 [document.documentElement, 1, document.documentElement, 2]: modifying the second added range must modify the Selection's last Range assert_equals: After mutating the second added Range, startContainer of the Selection's last Range must match the added Range expected Text node "Äb̈c̈d̈ëf̈g̈ḧ
-" but got Element node <html><head><title>Selection.addRange() tests</title>
-<me...
-FAIL Range 20 [foreignDoc.head, 1, foreignDoc.head, 1] followed by Range 16 [document.documentElement, 1, document.documentElement, 2]: modifying the Selection's last Range must modify the second added Range assert_equals: After second addRange(), after mutating the Selection's last Range, startOffset of the Selection's last Range must match the added Range expected 0 but got 6
+PASS Range 20 [foreignDoc.head, 1, foreignDoc.head, 1] followed by Range 16 [document.documentElement, 1, document.documentElement, 2]: second addRange() must result in the selection's last range being the same object we added
+PASS Range 20 [foreignDoc.head, 1, foreignDoc.head, 1] followed by Range 16 [document.documentElement, 1, document.documentElement, 2]: modifying the second added range must modify the Selection's last Range
+PASS Range 20 [foreignDoc.head, 1, foreignDoc.head, 1] followed by Range 16 [document.documentElement, 1, document.documentElement, 2]: modifying the Selection's last Range must modify the second added Range
PASS Range 20 [foreignDoc.head, 1, foreignDoc.head, 1] followed by Range 17 [document.head, 1, document.head, 1]: first addRange() must not throw exceptions or modify the range it's given
FAIL Range 20 [foreignDoc.head, 1, foreignDoc.head, 1] followed by Range 17 [document.head, 1, document.head, 1]: first addRange() must result in rangeCount being 1 assert_equals: rangeCount must be 1 expected 1 but got 0
FAIL Range 20 [foreignDoc.head, 1, foreignDoc.head, 1] followed by Range 17 [document.head, 1, document.head, 1]: first addRange() must result in the selection's last range having the specified endpoints assert_not_equals: Cannot proceed with tests if rangeCount is 0 got disallowed value 0
@@ -351,11 +279,9 @@ FAIL Range 20 [foreignDoc.head, 1, foreignDoc.head, 1] followed by Range 17 [doc
PASS Range 20 [foreignDoc.head, 1, foreignDoc.head, 1] followed by Range 17 [document.head, 1, document.head, 1]: second addRange() must not throw exceptions or modify the range it's given
PASS Range 20 [foreignDoc.head, 1, foreignDoc.head, 1] followed by Range 17 [document.head, 1, document.head, 1]: second addRange() must result in rangeCount being 1
PASS Range 20 [foreignDoc.head, 1, foreignDoc.head, 1] followed by Range 17 [document.head, 1, document.head, 1]: second addRange() must result in the selection's last range having the specified endpoints
-FAIL Range 20 [foreignDoc.head, 1, foreignDoc.head, 1] followed by Range 17 [document.head, 1, document.head, 1]: second addRange() must result in the selection's last range being the same object we added assert_equals: getRangeAt(rangeCount - 1) must return the same object we added expected object "" but got object ""
-FAIL Range 20 [foreignDoc.head, 1, foreignDoc.head, 1] followed by Range 17 [document.head, 1, document.head, 1]: modifying the second added range must modify the Selection's last Range assert_equals: After mutating the second added Range, startContainer of the Selection's last Range must match the added Range expected Text node "Äb̈c̈d̈ëf̈g̈ḧ
-" but got Element node <head><title>Selection.addRange() tests</title>
-<meta nam...
-FAIL Range 20 [foreignDoc.head, 1, foreignDoc.head, 1] followed by Range 17 [document.head, 1, document.head, 1]: modifying the Selection's last Range must modify the second added Range assert_equals: After second addRange(), after mutating the Selection's last Range, startOffset of the Selection's last Range must match the added Range expected 0 but got 6
+PASS Range 20 [foreignDoc.head, 1, foreignDoc.head, 1] followed by Range 17 [document.head, 1, document.head, 1]: second addRange() must result in the selection's last range being the same object we added
+PASS Range 20 [foreignDoc.head, 1, foreignDoc.head, 1] followed by Range 17 [document.head, 1, document.head, 1]: modifying the second added range must modify the Selection's last Range
+PASS Range 20 [foreignDoc.head, 1, foreignDoc.head, 1] followed by Range 17 [document.head, 1, document.head, 1]: modifying the Selection's last Range must modify the second added Range
PASS Range 20 [foreignDoc.head, 1, foreignDoc.head, 1] followed by Range 18 [document.body, 0, document.body, 1]: first addRange() must not throw exceptions or modify the range it's given
FAIL Range 20 [foreignDoc.head, 1, foreignDoc.head, 1] followed by Range 18 [document.body, 0, document.body, 1]: first addRange() must result in rangeCount being 1 assert_equals: rangeCount must be 1 expected 1 but got 0
FAIL Range 20 [foreignDoc.head, 1, foreignDoc.head, 1] followed by Range 18 [document.body, 0, document.body, 1]: first addRange() must result in the selection's last range having the specified endpoints assert_not_equals: Cannot proceed with tests if rangeCount is 0 got disallowed value 0
@@ -365,15 +291,9 @@ FAIL Range 20 [foreignDoc.head, 1, foreignDoc.head, 1] followed by Range 18 [doc
PASS Range 20 [foreignDoc.head, 1, foreignDoc.head, 1] followed by Range 18 [document.body, 0, document.body, 1]: second addRange() must not throw exceptions or modify the range it's given
PASS Range 20 [foreignDoc.head, 1, foreignDoc.head, 1] followed by Range 18 [document.body, 0, document.body, 1]: second addRange() must result in rangeCount being 1
PASS Range 20 [foreignDoc.head, 1, foreignDoc.head, 1] followed by Range 18 [document.body, 0, document.body, 1]: second addRange() must result in the selection's last range having the specified endpoints
-FAIL Range 20 [foreignDoc.head, 1, foreignDoc.head, 1] followed by Range 18 [document.body, 0, document.body, 1]: second addRange() must result in the selection's last range being the same object we added assert_equals: getRangeAt(rangeCount - 1) must return the same object we added expected object "Äb̈c̈d̈ëf̈g̈ḧ
-Ijklmnop
-QrstuvwxYzabcdefGhijklmn" but got object "Äb̈c̈d̈ëf̈g̈ḧ
-Ijklmnop
-QrstuvwxYzabcdefGhijklmn"
-FAIL Range 20 [foreignDoc.head, 1, foreignDoc.head, 1] followed by Range 18 [document.body, 0, document.body, 1]: modifying the second added range must modify the Selection's last Range assert_equals: After mutating the second added Range, startContainer of the Selection's last Range must match the added Range expected Text node "Äb̈c̈d̈ëf̈g̈ḧ
-" but got Element node <body><div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ
-</p><p id...
-FAIL Range 20 [foreignDoc.head, 1, foreignDoc.head, 1] followed by Range 18 [document.body, 0, document.body, 1]: modifying the Selection's last Range must modify the second added Range assert_equals: After second addRange(), after mutating the Selection's last Range, startOffset of the Selection's last Range must match the added Range expected 0 but got 6
+PASS Range 20 [foreignDoc.head, 1, foreignDoc.head, 1] followed by Range 18 [document.body, 0, document.body, 1]: second addRange() must result in the selection's last range being the same object we added
+PASS Range 20 [foreignDoc.head, 1, foreignDoc.head, 1] followed by Range 18 [document.body, 0, document.body, 1]: modifying the second added range must modify the Selection's last Range
+PASS Range 20 [foreignDoc.head, 1, foreignDoc.head, 1] followed by Range 18 [document.body, 0, document.body, 1]: modifying the Selection's last Range must modify the second added Range
PASS Range 20 [foreignDoc.head, 1, foreignDoc.head, 1] followed by Range 19 [foreignDoc.documentElement, 0, foreignDoc.documentElement, 1]: first addRange() must not throw exceptions or modify the range it's given
FAIL Range 20 [foreignDoc.head, 1, foreignDoc.head, 1] followed by Range 19 [foreignDoc.documentElement, 0, foreignDoc.documentElement, 1]: first addRange() must result in rangeCount being 1 assert_equals: rangeCount must be 1 expected 1 but got 0
FAIL Range 20 [foreignDoc.head, 1, foreignDoc.head, 1] followed by Range 19 [foreignDoc.documentElement, 0, foreignDoc.documentElement, 1]: first addRange() must result in the selection's last range having the specified endpoints assert_not_equals: Cannot proceed with tests if rangeCount is 0 got disallowed value 0
@@ -419,11 +339,9 @@ FAIL Range 20 [foreignDoc.head, 1, foreignDoc.head, 1] followed by Range 22 [par
PASS Range 20 [foreignDoc.head, 1, foreignDoc.head, 1] followed by Range 22 [paras[0], 0, paras[0], 0]: second addRange() must not throw exceptions or modify the range it's given
PASS Range 20 [foreignDoc.head, 1, foreignDoc.head, 1] followed by Range 22 [paras[0], 0, paras[0], 0]: second addRange() must result in rangeCount being 1
PASS Range 20 [foreignDoc.head, 1, foreignDoc.head, 1] followed by Range 22 [paras[0], 0, paras[0], 0]: second addRange() must result in the selection's last range having the specified endpoints
-FAIL Range 20 [foreignDoc.head, 1, foreignDoc.head, 1] followed by Range 22 [paras[0], 0, paras[0], 0]: second addRange() must result in the selection's last range being the same object we added assert_equals: getRangeAt(rangeCount - 1) must return the same object we added expected object "" but got object ""
-FAIL Range 20 [foreignDoc.head, 1, foreignDoc.head, 1] followed by Range 22 [paras[0], 0, paras[0], 0]: modifying the second added range must modify the Selection's last Range assert_equals: After mutating the second added Range, startContainer of the Selection's last Range must match the added Range expected Text node "Äb̈c̈d̈ëf̈g̈ḧ
-" but got Element node <p id="a">Äb̈c̈d̈ëf̈g̈ḧ
-</p>
-FAIL Range 20 [foreignDoc.head, 1, foreignDoc.head, 1] followed by Range 22 [paras[0], 0, paras[0], 0]: modifying the Selection's last Range must modify the second added Range assert_equals: After second addRange(), after mutating the Selection's last Range, startOffset of the Selection's last Range must match the added Range expected 0 but got 6
+PASS Range 20 [foreignDoc.head, 1, foreignDoc.head, 1] followed by Range 22 [paras[0], 0, paras[0], 0]: second addRange() must result in the selection's last range being the same object we added
+PASS Range 20 [foreignDoc.head, 1, foreignDoc.head, 1] followed by Range 22 [paras[0], 0, paras[0], 0]: modifying the second added range must modify the Selection's last Range
+PASS Range 20 [foreignDoc.head, 1, foreignDoc.head, 1] followed by Range 22 [paras[0], 0, paras[0], 0]: modifying the Selection's last Range must modify the second added Range
PASS Range 20 [foreignDoc.head, 1, foreignDoc.head, 1] followed by Range 23 [paras[0], 0, paras[0], 1]: first addRange() must not throw exceptions or modify the range it's given
FAIL Range 20 [foreignDoc.head, 1, foreignDoc.head, 1] followed by Range 23 [paras[0], 0, paras[0], 1]: first addRange() must result in rangeCount being 1 assert_equals: rangeCount must be 1 expected 1 but got 0
FAIL Range 20 [foreignDoc.head, 1, foreignDoc.head, 1] followed by Range 23 [paras[0], 0, paras[0], 1]: first addRange() must result in the selection's last range having the specified endpoints assert_not_equals: Cannot proceed with tests if rangeCount is 0 got disallowed value 0
@@ -433,13 +351,9 @@ FAIL Range 20 [foreignDoc.head, 1, foreignDoc.head, 1] followed by Range 23 [par
PASS Range 20 [foreignDoc.head, 1, foreignDoc.head, 1] followed by Range 23 [paras[0], 0, paras[0], 1]: second addRange() must not throw exceptions or modify the range it's given
PASS Range 20 [foreignDoc.head, 1, foreignDoc.head, 1] followed by Range 23 [paras[0], 0, paras[0], 1]: second addRange() must result in rangeCount being 1
PASS Range 20 [foreignDoc.head, 1, foreignDoc.head, 1] followed by Range 23 [paras[0], 0, paras[0], 1]: second addRange() must result in the selection's last range having the specified endpoints
-FAIL Range 20 [foreignDoc.head, 1, foreignDoc.head, 1] followed by Range 23 [paras[0], 0, paras[0], 1]: second addRange() must result in the selection's last range being the same object we added assert_equals: getRangeAt(rangeCount - 1) must return the same object we added expected object "Äb̈c̈d̈ëf̈g̈ḧ
-" but got object "Äb̈c̈d̈ëf̈g̈ḧ
-"
-FAIL Range 20 [foreignDoc.head, 1, foreignDoc.head, 1] followed by Range 23 [paras[0], 0, paras[0], 1]: modifying the second added range must modify the Selection's last Range assert_equals: After mutating the second added Range, startContainer of the Selection's last Range must match the added Range expected Text node "Äb̈c̈d̈ëf̈g̈ḧ
-" but got Element node <p id="a">Äb̈c̈d̈ëf̈g̈ḧ
-</p>
-FAIL Range 20 [foreignDoc.head, 1, foreignDoc.head, 1] followed by Range 23 [paras[0], 0, paras[0], 1]: modifying the Selection's last Range must modify the second added Range assert_equals: After second addRange(), after mutating the Selection's last Range, startOffset of the Selection's last Range must match the added Range expected 0 but got 6
+PASS Range 20 [foreignDoc.head, 1, foreignDoc.head, 1] followed by Range 23 [paras[0], 0, paras[0], 1]: second addRange() must result in the selection's last range being the same object we added
+PASS Range 20 [foreignDoc.head, 1, foreignDoc.head, 1] followed by Range 23 [paras[0], 0, paras[0], 1]: modifying the second added range must modify the Selection's last Range
+PASS Range 20 [foreignDoc.head, 1, foreignDoc.head, 1] followed by Range 23 [paras[0], 0, paras[0], 1]: modifying the Selection's last Range must modify the second added Range
PASS Range 20 [foreignDoc.head, 1, foreignDoc.head, 1] followed by Range 24 [detachedPara1, 0, detachedPara1, 0]: first addRange() must not throw exceptions or modify the range it's given
FAIL Range 20 [foreignDoc.head, 1, foreignDoc.head, 1] followed by Range 24 [detachedPara1, 0, detachedPara1, 0]: first addRange() must result in rangeCount being 1 assert_equals: rangeCount must be 1 expected 1 but got 0
FAIL Range 20 [foreignDoc.head, 1, foreignDoc.head, 1] followed by Range 24 [detachedPara1, 0, detachedPara1, 0]: first addRange() must result in the selection's last range having the specified endpoints assert_not_equals: Cannot proceed with tests if rangeCount is 0 got disallowed value 0
@@ -473,13 +387,9 @@ FAIL Range 20 [foreignDoc.head, 1, foreignDoc.head, 1] followed by Range 26 [par
PASS Range 20 [foreignDoc.head, 1, foreignDoc.head, 1] followed by Range 26 [paras[0].firstChild, 0, paras[1].firstChild, 0]: second addRange() must not throw exceptions or modify the range it's given
PASS Range 20 [foreignDoc.head, 1, foreignDoc.head, 1] followed by Range 26 [paras[0].firstChild, 0, paras[1].firstChild, 0]: second addRange() must result in rangeCount being 1
PASS Range 20 [foreignDoc.head, 1, foreignDoc.head, 1] followed by Range 26 [paras[0].firstChild, 0, paras[1].firstChild, 0]: second addRange() must result in the selection's last range having the specified endpoints
-FAIL Range 20 [foreignDoc.head, 1, foreignDoc.head, 1] followed by Range 26 [paras[0].firstChild, 0, paras[1].firstChild, 0]: second addRange() must result in the selection's last range being the same object we added assert_equals: getRangeAt(rangeCount - 1) must return the same object we added expected object "Äb̈c̈d̈ëf̈g̈ḧ
-" but got object "Äb̈c̈d̈ëf̈g̈ḧ
-"
-FAIL Range 20 [foreignDoc.head, 1, foreignDoc.head, 1] followed by Range 26 [paras[0].firstChild, 0, paras[1].firstChild, 0]: modifying the second added range must modify the Selection's last Range assert_equals: After mutating the second added Range, endContainer of the Selection's last Range must match the added Range expected Text node "Äb̈c̈d̈ëf̈g̈ḧ
-" but got Text node "Ijklmnop
-"
-FAIL Range 20 [foreignDoc.head, 1, foreignDoc.head, 1] followed by Range 26 [paras[0].firstChild, 0, paras[1].firstChild, 0]: modifying the Selection's last Range must modify the second added Range assert_equals: After second addRange(), after mutating the Selection's last Range, startOffset of the Selection's last Range must match the added Range expected 0 but got 6
+PASS Range 20 [foreignDoc.head, 1, foreignDoc.head, 1] followed by Range 26 [paras[0].firstChild, 0, paras[1].firstChild, 0]: second addRange() must result in the selection's last range being the same object we added
+PASS Range 20 [foreignDoc.head, 1, foreignDoc.head, 1] followed by Range 26 [paras[0].firstChild, 0, paras[1].firstChild, 0]: modifying the second added range must modify the Selection's last Range
+PASS Range 20 [foreignDoc.head, 1, foreignDoc.head, 1] followed by Range 26 [paras[0].firstChild, 0, paras[1].firstChild, 0]: modifying the Selection's last Range must modify the second added Range
PASS Range 20 [foreignDoc.head, 1, foreignDoc.head, 1] followed by Range 27 [paras[0].firstChild, 0, paras[1].firstChild, 8]: first addRange() must not throw exceptions or modify the range it's given
FAIL Range 20 [foreignDoc.head, 1, foreignDoc.head, 1] followed by Range 27 [paras[0].firstChild, 0, paras[1].firstChild, 8]: first addRange() must result in rangeCount being 1 assert_equals: rangeCount must be 1 expected 1 but got 0
FAIL Range 20 [foreignDoc.head, 1, foreignDoc.head, 1] followed by Range 27 [paras[0].firstChild, 0, paras[1].firstChild, 8]: first addRange() must result in the selection's last range having the specified endpoints assert_not_equals: Cannot proceed with tests if rangeCount is 0 got disallowed value 0
@@ -489,13 +399,9 @@ FAIL Range 20 [foreignDoc.head, 1, foreignDoc.head, 1] followed by Range 27 [par
PASS Range 20 [foreignDoc.head, 1, foreignDoc.head, 1] followed by Range 27 [paras[0].firstChild, 0, paras[1].firstChild, 8]: second addRange() must not throw exceptions or modify the range it's given
PASS Range 20 [foreignDoc.head, 1, foreignDoc.head, 1] followed by Range 27 [paras[0].firstChild, 0, paras[1].firstChild, 8]: second addRange() must result in rangeCount being 1
PASS Range 20 [foreignDoc.head, 1, foreignDoc.head, 1] followed by Range 27 [paras[0].firstChild, 0, paras[1].firstChild, 8]: second addRange() must result in the selection's last range having the specified endpoints
-FAIL Range 20 [foreignDoc.head, 1, foreignDoc.head, 1] followed by Range 27 [paras[0].firstChild, 0, paras[1].firstChild, 8]: second addRange() must result in the selection's last range being the same object we added assert_equals: getRangeAt(rangeCount - 1) must return the same object we added expected object "Äb̈c̈d̈ëf̈g̈ḧ
-Ijklmnop" but got object "Äb̈c̈d̈ëf̈g̈ḧ
-Ijklmnop"
-FAIL Range 20 [foreignDoc.head, 1, foreignDoc.head, 1] followed by Range 27 [paras[0].firstChild, 0, paras[1].firstChild, 8]: modifying the second added range must modify the Selection's last Range assert_equals: After mutating the second added Range, endContainer of the Selection's last Range must match the added Range expected Text node "Äb̈c̈d̈ëf̈g̈ḧ
-" but got Text node "Ijklmnop
-"
-FAIL Range 20 [foreignDoc.head, 1, foreignDoc.head, 1] followed by Range 27 [paras[0].firstChild, 0, paras[1].firstChild, 8]: modifying the Selection's last Range must modify the second added Range assert_equals: After second addRange(), after mutating the Selection's last Range, startOffset of the Selection's last Range must match the added Range expected 0 but got 6
+PASS Range 20 [foreignDoc.head, 1, foreignDoc.head, 1] followed by Range 27 [paras[0].firstChild, 0, paras[1].firstChild, 8]: second addRange() must result in the selection's last range being the same object we added
+PASS Range 20 [foreignDoc.head, 1, foreignDoc.head, 1] followed by Range 27 [paras[0].firstChild, 0, paras[1].firstChild, 8]: modifying the second added range must modify the Selection's last Range
+PASS Range 20 [foreignDoc.head, 1, foreignDoc.head, 1] followed by Range 27 [paras[0].firstChild, 0, paras[1].firstChild, 8]: modifying the Selection's last Range must modify the second added Range
PASS Range 20 [foreignDoc.head, 1, foreignDoc.head, 1] followed by Range 28 [paras[0].firstChild, 3, paras[3], 1]: first addRange() must not throw exceptions or modify the range it's given
FAIL Range 20 [foreignDoc.head, 1, foreignDoc.head, 1] followed by Range 28 [paras[0].firstChild, 3, paras[3], 1]: first addRange() must result in rangeCount being 1 assert_equals: rangeCount must be 1 expected 1 but got 0
FAIL Range 20 [foreignDoc.head, 1, foreignDoc.head, 1] followed by Range 28 [paras[0].firstChild, 3, paras[3], 1]: first addRange() must result in the selection's last range having the specified endpoints assert_not_equals: Cannot proceed with tests if rangeCount is 0 got disallowed value 0
@@ -505,13 +411,9 @@ FAIL Range 20 [foreignDoc.head, 1, foreignDoc.head, 1] followed by Range 28 [par
PASS Range 20 [foreignDoc.head, 1, foreignDoc.head, 1] followed by Range 28 [paras[0].firstChild, 3, paras[3], 1]: second addRange() must not throw exceptions or modify the range it's given
PASS Range 20 [foreignDoc.head, 1, foreignDoc.head, 1] followed by Range 28 [paras[0].firstChild, 3, paras[3], 1]: second addRange() must result in rangeCount being 1
PASS Range 20 [foreignDoc.head, 1, foreignDoc.head, 1] followed by Range 28 [paras[0].firstChild, 3, paras[3], 1]: second addRange() must result in the selection's last range having the specified endpoints
-FAIL Range 20 [foreignDoc.head, 1, foreignDoc.head, 1] followed by Range 28 [paras[0].firstChild, 3, paras[3], 1]: second addRange() must result in the selection's last range being the same object we added assert_equals: getRangeAt(rangeCount - 1) must return the same object we added expected object "̈c̈d̈ëf̈g̈ḧ
-Ijklmnop
-QrstuvwxYzabcdef" but got object "̈c̈d̈ëf̈g̈ḧ
-Ijklmnop
-QrstuvwxYzabcdef"
-FAIL Range 20 [foreignDoc.head, 1, foreignDoc.head, 1] followed by Range 28 [paras[0].firstChild, 3, paras[3], 1]: modifying the second added range must modify the Selection's last Range assert_equals: After mutating the second added Range, startOffset of the Selection's last Range must match the added Range expected 0 but got 3
-FAIL Range 20 [foreignDoc.head, 1, foreignDoc.head, 1] followed by Range 28 [paras[0].firstChild, 3, paras[3], 1]: modifying the Selection's last Range must modify the second added Range assert_equals: After second addRange(), after mutating the Selection's last Range, startOffset of the Selection's last Range must match the added Range expected 0 but got 6
+PASS Range 20 [foreignDoc.head, 1, foreignDoc.head, 1] followed by Range 28 [paras[0].firstChild, 3, paras[3], 1]: second addRange() must result in the selection's last range being the same object we added
+PASS Range 20 [foreignDoc.head, 1, foreignDoc.head, 1] followed by Range 28 [paras[0].firstChild, 3, paras[3], 1]: modifying the second added range must modify the Selection's last Range
+PASS Range 20 [foreignDoc.head, 1, foreignDoc.head, 1] followed by Range 28 [paras[0].firstChild, 3, paras[3], 1]: modifying the Selection's last Range must modify the second added Range
PASS Range 20 [foreignDoc.head, 1, foreignDoc.head, 1] followed by Range 29 [paras[0], 0, paras[0].firstChild, 7]: first addRange() must not throw exceptions or modify the range it's given
FAIL Range 20 [foreignDoc.head, 1, foreignDoc.head, 1] followed by Range 29 [paras[0], 0, paras[0].firstChild, 7]: first addRange() must result in rangeCount being 1 assert_equals: rangeCount must be 1 expected 1 but got 0
FAIL Range 20 [foreignDoc.head, 1, foreignDoc.head, 1] followed by Range 29 [paras[0], 0, paras[0].firstChild, 7]: first addRange() must result in the selection's last range having the specified endpoints assert_not_equals: Cannot proceed with tests if rangeCount is 0 got disallowed value 0
@@ -521,11 +423,9 @@ FAIL Range 20 [foreignDoc.head, 1, foreignDoc.head, 1] followed by Range 29 [par
PASS Range 20 [foreignDoc.head, 1, foreignDoc.head, 1] followed by Range 29 [paras[0], 0, paras[0].firstChild, 7]: second addRange() must not throw exceptions or modify the range it's given
PASS Range 20 [foreignDoc.head, 1, foreignDoc.head, 1] followed by Range 29 [paras[0], 0, paras[0].firstChild, 7]: second addRange() must result in rangeCount being 1
PASS Range 20 [foreignDoc.head, 1, foreignDoc.head, 1] followed by Range 29 [paras[0], 0, paras[0].firstChild, 7]: second addRange() must result in the selection's last range having the specified endpoints
-FAIL Range 20 [foreignDoc.head, 1, foreignDoc.head, 1] followed by Range 29 [paras[0], 0, paras[0].firstChild, 7]: second addRange() must result in the selection's last range being the same object we added assert_equals: getRangeAt(rangeCount - 1) must return the same object we added expected object "Äb̈c̈d" but got object "Äb̈c̈d"
-FAIL Range 20 [foreignDoc.head, 1, foreignDoc.head, 1] followed by Range 29 [paras[0], 0, paras[0].firstChild, 7]: modifying the second added range must modify the Selection's last Range assert_equals: After mutating the second added Range, startContainer of the Selection's last Range must match the added Range expected Text node "Äb̈c̈d̈ëf̈g̈ḧ
-" but got Element node <p id="a">Äb̈c̈d̈ëf̈g̈ḧ
-</p>
-FAIL Range 20 [foreignDoc.head, 1, foreignDoc.head, 1] followed by Range 29 [paras[0], 0, paras[0].firstChild, 7]: modifying the Selection's last Range must modify the second added Range assert_equals: After second addRange(), after mutating the Selection's last Range, startOffset of the Selection's last Range must match the added Range expected 0 but got 6
+PASS Range 20 [foreignDoc.head, 1, foreignDoc.head, 1] followed by Range 29 [paras[0], 0, paras[0].firstChild, 7]: second addRange() must result in the selection's last range being the same object we added
+PASS Range 20 [foreignDoc.head, 1, foreignDoc.head, 1] followed by Range 29 [paras[0], 0, paras[0].firstChild, 7]: modifying the second added range must modify the Selection's last Range
+PASS Range 20 [foreignDoc.head, 1, foreignDoc.head, 1] followed by Range 29 [paras[0], 0, paras[0].firstChild, 7]: modifying the Selection's last Range must modify the second added Range
PASS Range 20 [foreignDoc.head, 1, foreignDoc.head, 1] followed by Range 30 [testDiv, 2, paras[4], 1]: first addRange() must not throw exceptions or modify the range it's given
FAIL Range 20 [foreignDoc.head, 1, foreignDoc.head, 1] followed by Range 30 [testDiv, 2, paras[4], 1]: first addRange() must result in rangeCount being 1 assert_equals: rangeCount must be 1 expected 1 but got 0
FAIL Range 20 [foreignDoc.head, 1, foreignDoc.head, 1] followed by Range 30 [testDiv, 2, paras[4], 1]: first addRange() must result in the selection's last range having the specified endpoints assert_not_equals: Cannot proceed with tests if rangeCount is 0 got disallowed value 0
@@ -535,11 +435,9 @@ FAIL Range 20 [foreignDoc.head, 1, foreignDoc.head, 1] followed by Range 30 [tes
PASS Range 20 [foreignDoc.head, 1, foreignDoc.head, 1] followed by Range 30 [testDiv, 2, paras[4], 1]: second addRange() must not throw exceptions or modify the range it's given
PASS Range 20 [foreignDoc.head, 1, foreignDoc.head, 1] followed by Range 30 [testDiv, 2, paras[4], 1]: second addRange() must result in rangeCount being 1
PASS Range 20 [foreignDoc.head, 1, foreignDoc.head, 1] followed by Range 30 [testDiv, 2, paras[4], 1]: second addRange() must result in the selection's last range having the specified endpoints
-FAIL Range 20 [foreignDoc.head, 1, foreignDoc.head, 1] followed by Range 30 [testDiv, 2, paras[4], 1]: second addRange() must result in the selection's last range being the same object we added assert_equals: getRangeAt(rangeCount - 1) must return the same object we added expected object "QrstuvwxYzabcdefGhijklmn" but got object "QrstuvwxYzabcdefGhijklmn"
-FAIL Range 20 [foreignDoc.head, 1, foreignDoc.head, 1] followed by Range 30 [testDiv, 2, paras[4], 1]: modifying the second added range must modify the Selection's last Range assert_equals: After mutating the second added Range, startContainer of the Selection's last Range must match the added Range expected Text node "Äb̈c̈d̈ëf̈g̈ḧ
-" but got Element node <div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ
-</p><p id="b" s...
-FAIL Range 20 [foreignDoc.head, 1, foreignDoc.head, 1] followed by Range 30 [testDiv, 2, paras[4], 1]: modifying the Selection's last Range must modify the second added Range assert_equals: After second addRange(), after mutating the Selection's last Range, startOffset of the Selection's last Range must match the added Range expected 0 but got 6
+PASS Range 20 [foreignDoc.head, 1, foreignDoc.head, 1] followed by Range 30 [testDiv, 2, paras[4], 1]: second addRange() must result in the selection's last range being the same object we added
+PASS Range 20 [foreignDoc.head, 1, foreignDoc.head, 1] followed by Range 30 [testDiv, 2, paras[4], 1]: modifying the second added range must modify the Selection's last Range
+PASS Range 20 [foreignDoc.head, 1, foreignDoc.head, 1] followed by Range 30 [testDiv, 2, paras[4], 1]: modifying the Selection's last Range must modify the second added Range
PASS Range 20 [foreignDoc.head, 1, foreignDoc.head, 1] followed by Range 31 [testDiv, 1, paras[2].firstChild, 5]: first addRange() must not throw exceptions or modify the range it's given
FAIL Range 20 [foreignDoc.head, 1, foreignDoc.head, 1] followed by Range 31 [testDiv, 1, paras[2].firstChild, 5]: first addRange() must result in rangeCount being 1 assert_equals: rangeCount must be 1 expected 1 but got 0
FAIL Range 20 [foreignDoc.head, 1, foreignDoc.head, 1] followed by Range 31 [testDiv, 1, paras[2].firstChild, 5]: first addRange() must result in the selection's last range having the specified endpoints assert_not_equals: Cannot proceed with tests if rangeCount is 0 got disallowed value 0
@@ -549,13 +447,9 @@ FAIL Range 20 [foreignDoc.head, 1, foreignDoc.head, 1] followed by Range 31 [tes
PASS Range 20 [foreignDoc.head, 1, foreignDoc.head, 1] followed by Range 31 [testDiv, 1, paras[2].firstChild, 5]: second addRange() must not throw exceptions or modify the range it's given
PASS Range 20 [foreignDoc.head, 1, foreignDoc.head, 1] followed by Range 31 [testDiv, 1, paras[2].firstChild, 5]: second addRange() must result in rangeCount being 1
PASS Range 20 [foreignDoc.head, 1, foreignDoc.head, 1] followed by Range 31 [testDiv, 1, paras[2].firstChild, 5]: second addRange() must result in the selection's last range having the specified endpoints
-FAIL Range 20 [foreignDoc.head, 1, foreignDoc.head, 1] followed by Range 31 [testDiv, 1, paras[2].firstChild, 5]: second addRange() must result in the selection's last range being the same object we added assert_equals: getRangeAt(rangeCount - 1) must return the same object we added expected object "Ijklmnop
-Qrstu" but got object "Ijklmnop
-Qrstu"
-FAIL Range 20 [foreignDoc.head, 1, foreignDoc.head, 1] followed by Range 31 [testDiv, 1, paras[2].firstChild, 5]: modifying the second added range must modify the Selection's last Range assert_equals: After mutating the second added Range, startContainer of the Selection's last Range must match the added Range expected Text node "Äb̈c̈d̈ëf̈g̈ḧ
-" but got Element node <div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ
-</p><p id="b" s...
-FAIL Range 20 [foreignDoc.head, 1, foreignDoc.head, 1] followed by Range 31 [testDiv, 1, paras[2].firstChild, 5]: modifying the Selection's last Range must modify the second added Range assert_equals: After second addRange(), after mutating the Selection's last Range, startOffset of the Selection's last Range must match the added Range expected 0 but got 6
+PASS Range 20 [foreignDoc.head, 1, foreignDoc.head, 1] followed by Range 31 [testDiv, 1, paras[2].firstChild, 5]: second addRange() must result in the selection's last range being the same object we added
+PASS Range 20 [foreignDoc.head, 1, foreignDoc.head, 1] followed by Range 31 [testDiv, 1, paras[2].firstChild, 5]: modifying the second added range must modify the Selection's last Range
+PASS Range 20 [foreignDoc.head, 1, foreignDoc.head, 1] followed by Range 31 [testDiv, 1, paras[2].firstChild, 5]: modifying the Selection's last Range must modify the second added Range
PASS Range 20 [foreignDoc.head, 1, foreignDoc.head, 1] followed by Range 32 [document.documentElement, 1, document.body, 0]: first addRange() must not throw exceptions or modify the range it's given
FAIL Range 20 [foreignDoc.head, 1, foreignDoc.head, 1] followed by Range 32 [document.documentElement, 1, document.body, 0]: first addRange() must result in rangeCount being 1 assert_equals: rangeCount must be 1 expected 1 but got 0
FAIL Range 20 [foreignDoc.head, 1, foreignDoc.head, 1] followed by Range 32 [document.documentElement, 1, document.body, 0]: first addRange() must result in the selection's last range having the specified endpoints assert_not_equals: Cannot proceed with tests if rangeCount is 0 got disallowed value 0
@@ -565,11 +459,9 @@ FAIL Range 20 [foreignDoc.head, 1, foreignDoc.head, 1] followed by Range 32 [doc
PASS Range 20 [foreignDoc.head, 1, foreignDoc.head, 1] followed by Range 32 [document.documentElement, 1, document.body, 0]: second addRange() must not throw exceptions or modify the range it's given
PASS Range 20 [foreignDoc.head, 1, foreignDoc.head, 1] followed by Range 32 [document.documentElement, 1, document.body, 0]: second addRange() must result in rangeCount being 1
PASS Range 20 [foreignDoc.head, 1, foreignDoc.head, 1] followed by Range 32 [document.documentElement, 1, document.body, 0]: second addRange() must result in the selection's last range having the specified endpoints
-FAIL Range 20 [foreignDoc.head, 1, foreignDoc.head, 1] followed by Range 32 [document.documentElement, 1, document.body, 0]: second addRange() must result in the selection's last range being the same object we added assert_equals: getRangeAt(rangeCount - 1) must return the same object we added expected object "" but got object ""
-FAIL Range 20 [foreignDoc.head, 1, foreignDoc.head, 1] followed by Range 32 [document.documentElement, 1, document.body, 0]: modifying the second added range must modify the Selection's last Range assert_equals: After mutating the second added Range, startContainer of the Selection's last Range must match the added Range expected Text node "Äb̈c̈d̈ëf̈g̈ḧ
-" but got Element node <html><head><title>Selection.addRange() tests</title>
-<me...
-FAIL Range 20 [foreignDoc.head, 1, foreignDoc.head, 1] followed by Range 32 [document.documentElement, 1, document.body, 0]: modifying the Selection's last Range must modify the second added Range assert_equals: After second addRange(), after mutating the Selection's last Range, startOffset of the Selection's last Range must match the added Range expected 0 but got 6
+PASS Range 20 [foreignDoc.head, 1, foreignDoc.head, 1] followed by Range 32 [document.documentElement, 1, document.body, 0]: second addRange() must result in the selection's last range being the same object we added
+PASS Range 20 [foreignDoc.head, 1, foreignDoc.head, 1] followed by Range 32 [document.documentElement, 1, document.body, 0]: modifying the second added range must modify the Selection's last Range
+PASS Range 20 [foreignDoc.head, 1, foreignDoc.head, 1] followed by Range 32 [document.documentElement, 1, document.body, 0]: modifying the Selection's last Range must modify the second added Range
PASS Range 20 [foreignDoc.head, 1, foreignDoc.head, 1] followed by Range 33 [foreignDoc.documentElement, 1, foreignDoc.body, 0]: first addRange() must not throw exceptions or modify the range it's given
FAIL Range 20 [foreignDoc.head, 1, foreignDoc.head, 1] followed by Range 33 [foreignDoc.documentElement, 1, foreignDoc.body, 0]: first addRange() must result in rangeCount being 1 assert_equals: rangeCount must be 1 expected 1 but got 0
FAIL Range 20 [foreignDoc.head, 1, foreignDoc.head, 1] followed by Range 33 [foreignDoc.documentElement, 1, foreignDoc.body, 0]: first addRange() must result in the selection's last range having the specified endpoints assert_not_equals: Cannot proceed with tests if rangeCount is 0 got disallowed value 0
@@ -591,10 +483,9 @@ FAIL Range 20 [foreignDoc.head, 1, foreignDoc.head, 1] followed by Range 34 [doc
PASS Range 20 [foreignDoc.head, 1, foreignDoc.head, 1] followed by Range 34 [document, 0, document, 1]: second addRange() must not throw exceptions or modify the range it's given
PASS Range 20 [foreignDoc.head, 1, foreignDoc.head, 1] followed by Range 34 [document, 0, document, 1]: second addRange() must result in rangeCount being 1
PASS Range 20 [foreignDoc.head, 1, foreignDoc.head, 1] followed by Range 34 [document, 0, document, 1]: second addRange() must result in the selection's last range having the specified endpoints
-FAIL Range 20 [foreignDoc.head, 1, foreignDoc.head, 1] followed by Range 34 [document, 0, document, 1]: second addRange() must result in the selection's last range being the same object we added assert_equals: getRangeAt(rangeCount - 1) must return the same object we added expected object "" but got object ""
-FAIL Range 20 [foreignDoc.head, 1, foreignDoc.head, 1] followed by Range 34 [document, 0, document, 1]: modifying the second added range must modify the Selection's last Range assert_equals: After mutating the second added Range, startContainer of the Selection's last Range must match the added Range expected Text node "Äb̈c̈d̈ëf̈g̈ḧ
-" but got Document node with 2 children
-FAIL Range 20 [foreignDoc.head, 1, foreignDoc.head, 1] followed by Range 34 [document, 0, document, 1]: modifying the Selection's last Range must modify the second added Range assert_equals: After second addRange(), after mutating the Selection's last Range, startOffset of the Selection's last Range must match the added Range expected 0 but got 6
+PASS Range 20 [foreignDoc.head, 1, foreignDoc.head, 1] followed by Range 34 [document, 0, document, 1]: second addRange() must result in the selection's last range being the same object we added
+PASS Range 20 [foreignDoc.head, 1, foreignDoc.head, 1] followed by Range 34 [document, 0, document, 1]: modifying the second added range must modify the Selection's last Range
+PASS Range 20 [foreignDoc.head, 1, foreignDoc.head, 1] followed by Range 34 [document, 0, document, 1]: modifying the Selection's last Range must modify the second added Range
PASS Range 20 [foreignDoc.head, 1, foreignDoc.head, 1] followed by Range 35 [document, 0, document, 2]: first addRange() must not throw exceptions or modify the range it's given
FAIL Range 20 [foreignDoc.head, 1, foreignDoc.head, 1] followed by Range 35 [document, 0, document, 2]: first addRange() must result in rangeCount being 1 assert_equals: rangeCount must be 1 expected 1 but got 0
FAIL Range 20 [foreignDoc.head, 1, foreignDoc.head, 1] followed by Range 35 [document, 0, document, 2]: first addRange() must result in the selection's last range having the specified endpoints assert_not_equals: Cannot proceed with tests if rangeCount is 0 got disallowed value 0
@@ -604,38 +495,9 @@ FAIL Range 20 [foreignDoc.head, 1, foreignDoc.head, 1] followed by Range 35 [doc
PASS Range 20 [foreignDoc.head, 1, foreignDoc.head, 1] followed by Range 35 [document, 0, document, 2]: second addRange() must not throw exceptions or modify the range it's given
PASS Range 20 [foreignDoc.head, 1, foreignDoc.head, 1] followed by Range 35 [document, 0, document, 2]: second addRange() must result in rangeCount being 1
PASS Range 20 [foreignDoc.head, 1, foreignDoc.head, 1] followed by Range 35 [document, 0, document, 2]: second addRange() must result in the selection's last range having the specified endpoints
-FAIL Range 20 [foreignDoc.head, 1, foreignDoc.head, 1] followed by Range 35 [document, 0, document, 2]: second addRange() must result in the selection's last range being the same object we added assert_equals: getRangeAt(rangeCount - 1) must return the same object we added expected object "Selection.addRange() tests
-
-Äb̈c̈d̈ëf̈g̈ḧ
-Ijklmnop
-QrstuvwxYzabcdefGhijklmn
-
-
-
-
-
-"use strict";
-
-testAddRangeSubSet(20, 24);
-testDiv.style.display = "none";
-" but got object "Selection.addRange() tests
-
-Äb̈c̈d̈ëf̈g̈ḧ
-Ijklmnop
-QrstuvwxYzabcdefGhijklmn
-
-
-
-
-
-"use strict";
-
-testAddRangeSubSet(20, 24);
-testDiv.style.display = "none";
-"
-FAIL Range 20 [foreignDoc.head, 1, foreignDoc.head, 1] followed by Range 35 [document, 0, document, 2]: modifying the second added range must modify the Selection's last Range assert_equals: After mutating the second added Range, startContainer of the Selection's last Range must match the added Range expected Text node "Äb̈c̈d̈ëf̈g̈ḧ
-" but got Document node with 2 children
-FAIL Range 20 [foreignDoc.head, 1, foreignDoc.head, 1] followed by Range 35 [document, 0, document, 2]: modifying the Selection's last Range must modify the second added Range assert_equals: After second addRange(), after mutating the Selection's last Range, startOffset of the Selection's last Range must match the added Range expected 0 but got 6
+PASS Range 20 [foreignDoc.head, 1, foreignDoc.head, 1] followed by Range 35 [document, 0, document, 2]: second addRange() must result in the selection's last range being the same object we added
+PASS Range 20 [foreignDoc.head, 1, foreignDoc.head, 1] followed by Range 35 [document, 0, document, 2]: modifying the second added range must modify the Selection's last Range
+PASS Range 20 [foreignDoc.head, 1, foreignDoc.head, 1] followed by Range 35 [document, 0, document, 2]: modifying the Selection's last Range must modify the second added Range
PASS Range 20 [foreignDoc.head, 1, foreignDoc.head, 1] followed by Range 36 [document, 1, document, 2]: first addRange() must not throw exceptions or modify the range it's given
FAIL Range 20 [foreignDoc.head, 1, foreignDoc.head, 1] followed by Range 36 [document, 1, document, 2]: first addRange() must result in rangeCount being 1 assert_equals: rangeCount must be 1 expected 1 but got 0
FAIL Range 20 [foreignDoc.head, 1, foreignDoc.head, 1] followed by Range 36 [document, 1, document, 2]: first addRange() must result in the selection's last range having the specified endpoints assert_not_equals: Cannot proceed with tests if rangeCount is 0 got disallowed value 0
@@ -645,38 +507,9 @@ FAIL Range 20 [foreignDoc.head, 1, foreignDoc.head, 1] followed by Range 36 [doc
PASS Range 20 [foreignDoc.head, 1, foreignDoc.head, 1] followed by Range 36 [document, 1, document, 2]: second addRange() must not throw exceptions or modify the range it's given
PASS Range 20 [foreignDoc.head, 1, foreignDoc.head, 1] followed by Range 36 [document, 1, document, 2]: second addRange() must result in rangeCount being 1
PASS Range 20 [foreignDoc.head, 1, foreignDoc.head, 1] followed by Range 36 [document, 1, document, 2]: second addRange() must result in the selection's last range having the specified endpoints
-FAIL Range 20 [foreignDoc.head, 1, foreignDoc.head, 1] followed by Range 36 [document, 1, document, 2]: second addRange() must result in the selection's last range being the same object we added assert_equals: getRangeAt(rangeCount - 1) must return the same object we added expected object "Selection.addRange() tests
-
-Äb̈c̈d̈ëf̈g̈ḧ
-Ijklmnop
-QrstuvwxYzabcdefGhijklmn
-
-
-
-
-
-"use strict";
-
-testAddRangeSubSet(20, 24);
-testDiv.style.display = "none";
-" but got object "Selection.addRange() tests
-
-Äb̈c̈d̈ëf̈g̈ḧ
-Ijklmnop
-QrstuvwxYzabcdefGhijklmn
-
-
-
-
-
-"use strict";
-
-testAddRangeSubSet(20, 24);
-testDiv.style.display = "none";
-"
-FAIL Range 20 [foreignDoc.head, 1, foreignDoc.head, 1] followed by Range 36 [document, 1, document, 2]: modifying the second added range must modify the Selection's last Range assert_equals: After mutating the second added Range, startContainer of the Selection's last Range must match the added Range expected Text node "Äb̈c̈d̈ëf̈g̈ḧ
-" but got Document node with 2 children
-FAIL Range 20 [foreignDoc.head, 1, foreignDoc.head, 1] followed by Range 36 [document, 1, document, 2]: modifying the Selection's last Range must modify the second added Range assert_equals: After second addRange(), after mutating the Selection's last Range, startOffset of the Selection's last Range must match the added Range expected 0 but got 6
+PASS Range 20 [foreignDoc.head, 1, foreignDoc.head, 1] followed by Range 36 [document, 1, document, 2]: second addRange() must result in the selection's last range being the same object we added
+PASS Range 20 [foreignDoc.head, 1, foreignDoc.head, 1] followed by Range 36 [document, 1, document, 2]: modifying the second added range must modify the Selection's last Range
+PASS Range 20 [foreignDoc.head, 1, foreignDoc.head, 1] followed by Range 36 [document, 1, document, 2]: modifying the Selection's last Range must modify the second added Range
PASS Range 20 [foreignDoc.head, 1, foreignDoc.head, 1] followed by Range 37 [testDiv, 0, comment, 5]: first addRange() must not throw exceptions or modify the range it's given
FAIL Range 20 [foreignDoc.head, 1, foreignDoc.head, 1] followed by Range 37 [testDiv, 0, comment, 5]: first addRange() must result in rangeCount being 1 assert_equals: rangeCount must be 1 expected 1 but got 0
FAIL Range 20 [foreignDoc.head, 1, foreignDoc.head, 1] followed by Range 37 [testDiv, 0, comment, 5]: first addRange() must result in the selection's last range having the specified endpoints assert_not_equals: Cannot proceed with tests if rangeCount is 0 got disallowed value 0
@@ -685,17 +518,10 @@ FAIL Range 20 [foreignDoc.head, 1, foreignDoc.head, 1] followed by Range 37 [tes
FAIL Range 20 [foreignDoc.head, 1, foreignDoc.head, 1] followed by Range 37 [testDiv, 0, comment, 5]: modifying the Selection's last Range must modify the first added Range assert_not_equals: Cannot proceed with tests if rangeCount is 0 got disallowed value 0
PASS Range 20 [foreignDoc.head, 1, foreignDoc.head, 1] followed by Range 37 [testDiv, 0, comment, 5]: second addRange() must not throw exceptions or modify the range it's given
PASS Range 20 [foreignDoc.head, 1, foreignDoc.head, 1] followed by Range 37 [testDiv, 0, comment, 5]: second addRange() must result in rangeCount being 1
-FAIL Range 20 [foreignDoc.head, 1, foreignDoc.head, 1] followed by Range 37 [testDiv, 0, comment, 5]: second addRange() must result in the selection's last range having the specified endpoints assert_equals: endContainer of the Selection's last Range must match the added Range expected Comment node <!--Alphabet soup?--> but got Element node <div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ
-</p><p id="b" s...
-FAIL Range 20 [foreignDoc.head, 1, foreignDoc.head, 1] followed by Range 37 [testDiv, 0, comment, 5]: second addRange() must result in the selection's last range being the same object we added assert_equals: getRangeAt(rangeCount - 1) must return the same object we added expected object "Äb̈c̈d̈ëf̈g̈ḧ
-Ijklmnop
-QrstuvwxYzabcdefGhijklmn" but got object "Äb̈c̈d̈ëf̈g̈ḧ
-Ijklmnop
-QrstuvwxYzabcdefGhijklmn"
-FAIL Range 20 [foreignDoc.head, 1, foreignDoc.head, 1] followed by Range 37 [testDiv, 0, comment, 5]: modifying the second added range must modify the Selection's last Range assert_equals: After mutating the second added Range, startContainer of the Selection's last Range must match the added Range expected Text node "Äb̈c̈d̈ëf̈g̈ḧ
-" but got Element node <div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ
-</p><p id="b" s...
-FAIL Range 20 [foreignDoc.head, 1, foreignDoc.head, 1] followed by Range 37 [testDiv, 0, comment, 5]: modifying the Selection's last Range must modify the second added Range assert_equals: After second addRange(), after mutating the Selection's last Range, startOffset of the Selection's last Range must match the added Range expected 0 but got 6
+PASS Range 20 [foreignDoc.head, 1, foreignDoc.head, 1] followed by Range 37 [testDiv, 0, comment, 5]: second addRange() must result in the selection's last range having the specified endpoints
+PASS Range 20 [foreignDoc.head, 1, foreignDoc.head, 1] followed by Range 37 [testDiv, 0, comment, 5]: second addRange() must result in the selection's last range being the same object we added
+PASS Range 20 [foreignDoc.head, 1, foreignDoc.head, 1] followed by Range 37 [testDiv, 0, comment, 5]: modifying the second added range must modify the Selection's last Range
+PASS Range 20 [foreignDoc.head, 1, foreignDoc.head, 1] followed by Range 37 [testDiv, 0, comment, 5]: modifying the Selection's last Range must modify the second added Range
PASS Range 20 [foreignDoc.head, 1, foreignDoc.head, 1] followed by Range 38 [paras[2].firstChild, 4, comment, 2]: first addRange() must not throw exceptions or modify the range it's given
FAIL Range 20 [foreignDoc.head, 1, foreignDoc.head, 1] followed by Range 38 [paras[2].firstChild, 4, comment, 2]: first addRange() must result in rangeCount being 1 assert_equals: rangeCount must be 1 expected 1 but got 0
FAIL Range 20 [foreignDoc.head, 1, foreignDoc.head, 1] followed by Range 38 [paras[2].firstChild, 4, comment, 2]: first addRange() must result in the selection's last range having the specified endpoints assert_not_equals: Cannot proceed with tests if rangeCount is 0 got disallowed value 0
@@ -704,12 +530,10 @@ FAIL Range 20 [foreignDoc.head, 1, foreignDoc.head, 1] followed by Range 38 [par
FAIL Range 20 [foreignDoc.head, 1, foreignDoc.head, 1] followed by Range 38 [paras[2].firstChild, 4, comment, 2]: modifying the Selection's last Range must modify the first added Range assert_not_equals: Cannot proceed with tests if rangeCount is 0 got disallowed value 0
PASS Range 20 [foreignDoc.head, 1, foreignDoc.head, 1] followed by Range 38 [paras[2].firstChild, 4, comment, 2]: second addRange() must not throw exceptions or modify the range it's given
PASS Range 20 [foreignDoc.head, 1, foreignDoc.head, 1] followed by Range 38 [paras[2].firstChild, 4, comment, 2]: second addRange() must result in rangeCount being 1
-FAIL Range 20 [foreignDoc.head, 1, foreignDoc.head, 1] followed by Range 38 [paras[2].firstChild, 4, comment, 2]: second addRange() must result in the selection's last range having the specified endpoints assert_equals: endContainer of the Selection's last Range must match the added Range expected Comment node <!--Alphabet soup?--> but got Element node <div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ
-</p><p id="b" s...
-FAIL Range 20 [foreignDoc.head, 1, foreignDoc.head, 1] followed by Range 38 [paras[2].firstChild, 4, comment, 2]: second addRange() must result in the selection's last range being the same object we added assert_equals: getRangeAt(rangeCount - 1) must return the same object we added expected object "uvwxYzabcdefGhijklmn" but got object "uvwxYzabcdefGhijklmn"
-FAIL Range 20 [foreignDoc.head, 1, foreignDoc.head, 1] followed by Range 38 [paras[2].firstChild, 4, comment, 2]: modifying the second added range must modify the Selection's last Range assert_equals: After mutating the second added Range, startContainer of the Selection's last Range must match the added Range expected Text node "Äb̈c̈d̈ëf̈g̈ḧ
-" but got Text node "Qrstuvwx"
-FAIL Range 20 [foreignDoc.head, 1, foreignDoc.head, 1] followed by Range 38 [paras[2].firstChild, 4, comment, 2]: modifying the Selection's last Range must modify the second added Range assert_equals: After second addRange(), after mutating the Selection's last Range, startOffset of the Selection's last Range must match the added Range expected 0 but got 6
+PASS Range 20 [foreignDoc.head, 1, foreignDoc.head, 1] followed by Range 38 [paras[2].firstChild, 4, comment, 2]: second addRange() must result in the selection's last range having the specified endpoints
+PASS Range 20 [foreignDoc.head, 1, foreignDoc.head, 1] followed by Range 38 [paras[2].firstChild, 4, comment, 2]: second addRange() must result in the selection's last range being the same object we added
+PASS Range 20 [foreignDoc.head, 1, foreignDoc.head, 1] followed by Range 38 [paras[2].firstChild, 4, comment, 2]: modifying the second added range must modify the Selection's last Range
+PASS Range 20 [foreignDoc.head, 1, foreignDoc.head, 1] followed by Range 38 [paras[2].firstChild, 4, comment, 2]: modifying the Selection's last Range must modify the second added Range
PASS Range 20 [foreignDoc.head, 1, foreignDoc.head, 1] followed by Range 39 [paras[3], 1, comment, 8]: first addRange() must not throw exceptions or modify the range it's given
FAIL Range 20 [foreignDoc.head, 1, foreignDoc.head, 1] followed by Range 39 [paras[3], 1, comment, 8]: first addRange() must result in rangeCount being 1 assert_equals: rangeCount must be 1 expected 1 but got 0
FAIL Range 20 [foreignDoc.head, 1, foreignDoc.head, 1] followed by Range 39 [paras[3], 1, comment, 8]: first addRange() must result in the selection's last range having the specified endpoints assert_not_equals: Cannot proceed with tests if rangeCount is 0 got disallowed value 0
@@ -718,12 +542,10 @@ FAIL Range 20 [foreignDoc.head, 1, foreignDoc.head, 1] followed by Range 39 [par
FAIL Range 20 [foreignDoc.head, 1, foreignDoc.head, 1] followed by Range 39 [paras[3], 1, comment, 8]: modifying the Selection's last Range must modify the first added Range assert_not_equals: Cannot proceed with tests if rangeCount is 0 got disallowed value 0
PASS Range 20 [foreignDoc.head, 1, foreignDoc.head, 1] followed by Range 39 [paras[3], 1, comment, 8]: second addRange() must not throw exceptions or modify the range it's given
PASS Range 20 [foreignDoc.head, 1, foreignDoc.head, 1] followed by Range 39 [paras[3], 1, comment, 8]: second addRange() must result in rangeCount being 1
-FAIL Range 20 [foreignDoc.head, 1, foreignDoc.head, 1] followed by Range 39 [paras[3], 1, comment, 8]: second addRange() must result in the selection's last range having the specified endpoints assert_equals: endContainer of the Selection's last Range must match the added Range expected Comment node <!--Alphabet soup?--> but got Element node <div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ
-</p><p id="b" s...
-FAIL Range 20 [foreignDoc.head, 1, foreignDoc.head, 1] followed by Range 39 [paras[3], 1, comment, 8]: second addRange() must result in the selection's last range being the same object we added assert_equals: getRangeAt(rangeCount - 1) must return the same object we added expected object "Ghijklmn" but got object "Ghijklmn"
-FAIL Range 20 [foreignDoc.head, 1, foreignDoc.head, 1] followed by Range 39 [paras[3], 1, comment, 8]: modifying the second added range must modify the Selection's last Range assert_equals: After mutating the second added Range, startContainer of the Selection's last Range must match the added Range expected Text node "Äb̈c̈d̈ëf̈g̈ḧ
-" but got Element node <p id="d" style="display:none">Yzabcdef</p>
-FAIL Range 20 [foreignDoc.head, 1, foreignDoc.head, 1] followed by Range 39 [paras[3], 1, comment, 8]: modifying the Selection's last Range must modify the second added Range assert_equals: After second addRange(), after mutating the Selection's last Range, startOffset of the Selection's last Range must match the added Range expected 0 but got 6
+PASS Range 20 [foreignDoc.head, 1, foreignDoc.head, 1] followed by Range 39 [paras[3], 1, comment, 8]: second addRange() must result in the selection's last range having the specified endpoints
+PASS Range 20 [foreignDoc.head, 1, foreignDoc.head, 1] followed by Range 39 [paras[3], 1, comment, 8]: second addRange() must result in the selection's last range being the same object we added
+PASS Range 20 [foreignDoc.head, 1, foreignDoc.head, 1] followed by Range 39 [paras[3], 1, comment, 8]: modifying the second added range must modify the Selection's last Range
+PASS Range 20 [foreignDoc.head, 1, foreignDoc.head, 1] followed by Range 39 [paras[3], 1, comment, 8]: modifying the Selection's last Range must modify the second added Range
PASS Range 20 [foreignDoc.head, 1, foreignDoc.head, 1] followed by Range 40 [foreignDoc, 0, foreignDoc, 0]: first addRange() must not throw exceptions or modify the range it's given
FAIL Range 20 [foreignDoc.head, 1, foreignDoc.head, 1] followed by Range 40 [foreignDoc, 0, foreignDoc, 0]: first addRange() must result in rangeCount being 1 assert_equals: rangeCount must be 1 expected 1 but got 0
FAIL Range 20 [foreignDoc.head, 1, foreignDoc.head, 1] followed by Range 40 [foreignDoc, 0, foreignDoc, 0]: first addRange() must result in the selection's last range having the specified endpoints assert_not_equals: Cannot proceed with tests if rangeCount is 0 got disallowed value 0
@@ -949,9 +771,9 @@ FAIL Range 21 [foreignDoc.body, 0, foreignDoc.body, 0] followed by Range 0 [para
PASS Range 21 [foreignDoc.body, 0, foreignDoc.body, 0] followed by Range 0 [paras[0].firstChild, 0, paras[0].firstChild, 0]: second addRange() must not throw exceptions or modify the range it's given
PASS Range 21 [foreignDoc.body, 0, foreignDoc.body, 0] followed by Range 0 [paras[0].firstChild, 0, paras[0].firstChild, 0]: second addRange() must result in rangeCount being 1
PASS Range 21 [foreignDoc.body, 0, foreignDoc.body, 0] followed by Range 0 [paras[0].firstChild, 0, paras[0].firstChild, 0]: second addRange() must result in the selection's last range having the specified endpoints
-FAIL Range 21 [foreignDoc.body, 0, foreignDoc.body, 0] followed by Range 0 [paras[0].firstChild, 0, paras[0].firstChild, 0]: second addRange() must result in the selection's last range being the same object we added assert_equals: getRangeAt(rangeCount - 1) must return the same object we added expected object "" but got object ""
-FAIL Range 21 [foreignDoc.body, 0, foreignDoc.body, 0] followed by Range 0 [paras[0].firstChild, 0, paras[0].firstChild, 0]: modifying the second added range must modify the Selection's last Range assert_equals: After mutating the second added Range, endOffset of the Selection's last Range must match the added Range expected 2 but got 0
-FAIL Range 21 [foreignDoc.body, 0, foreignDoc.body, 0] followed by Range 0 [paras[0].firstChild, 0, paras[0].firstChild, 0]: modifying the Selection's last Range must modify the second added Range assert_equals: After second addRange(), after mutating the Selection's last Range, startOffset of the Selection's last Range must match the added Range expected 0 but got 6
+PASS Range 21 [foreignDoc.body, 0, foreignDoc.body, 0] followed by Range 0 [paras[0].firstChild, 0, paras[0].firstChild, 0]: second addRange() must result in the selection's last range being the same object we added
+PASS Range 21 [foreignDoc.body, 0, foreignDoc.body, 0] followed by Range 0 [paras[0].firstChild, 0, paras[0].firstChild, 0]: modifying the second added range must modify the Selection's last Range
+PASS Range 21 [foreignDoc.body, 0, foreignDoc.body, 0] followed by Range 0 [paras[0].firstChild, 0, paras[0].firstChild, 0]: modifying the Selection's last Range must modify the second added Range
PASS Range 21 [foreignDoc.body, 0, foreignDoc.body, 0] followed by Range 1 [paras[0].firstChild, 0, paras[0].firstChild, 1]: first addRange() must not throw exceptions or modify the range it's given
FAIL Range 21 [foreignDoc.body, 0, foreignDoc.body, 0] followed by Range 1 [paras[0].firstChild, 0, paras[0].firstChild, 1]: first addRange() must result in rangeCount being 1 assert_equals: rangeCount must be 1 expected 1 but got 0
FAIL Range 21 [foreignDoc.body, 0, foreignDoc.body, 0] followed by Range 1 [paras[0].firstChild, 0, paras[0].firstChild, 1]: first addRange() must result in the selection's last range having the specified endpoints assert_not_equals: Cannot proceed with tests if rangeCount is 0 got disallowed value 0
@@ -961,9 +783,9 @@ FAIL Range 21 [foreignDoc.body, 0, foreignDoc.body, 0] followed by Range 1 [para
PASS Range 21 [foreignDoc.body, 0, foreignDoc.body, 0] followed by Range 1 [paras[0].firstChild, 0, paras[0].firstChild, 1]: second addRange() must not throw exceptions or modify the range it's given
PASS Range 21 [foreignDoc.body, 0, foreignDoc.body, 0] followed by Range 1 [paras[0].firstChild, 0, paras[0].firstChild, 1]: second addRange() must result in rangeCount being 1
PASS Range 21 [foreignDoc.body, 0, foreignDoc.body, 0] followed by Range 1 [paras[0].firstChild, 0, paras[0].firstChild, 1]: second addRange() must result in the selection's last range having the specified endpoints
-FAIL Range 21 [foreignDoc.body, 0, foreignDoc.body, 0] followed by Range 1 [paras[0].firstChild, 0, paras[0].firstChild, 1]: second addRange() must result in the selection's last range being the same object we added assert_equals: getRangeAt(rangeCount - 1) must return the same object we added expected object "A" but got object "A"
-FAIL Range 21 [foreignDoc.body, 0, foreignDoc.body, 0] followed by Range 1 [paras[0].firstChild, 0, paras[0].firstChild, 1]: modifying the second added range must modify the Selection's last Range assert_equals: After mutating the second added Range, endOffset of the Selection's last Range must match the added Range expected 2 but got 1
-FAIL Range 21 [foreignDoc.body, 0, foreignDoc.body, 0] followed by Range 1 [paras[0].firstChild, 0, paras[0].firstChild, 1]: modifying the Selection's last Range must modify the second added Range assert_equals: After second addRange(), after mutating the Selection's last Range, startOffset of the Selection's last Range must match the added Range expected 0 but got 6
+PASS Range 21 [foreignDoc.body, 0, foreignDoc.body, 0] followed by Range 1 [paras[0].firstChild, 0, paras[0].firstChild, 1]: second addRange() must result in the selection's last range being the same object we added
+PASS Range 21 [foreignDoc.body, 0, foreignDoc.body, 0] followed by Range 1 [paras[0].firstChild, 0, paras[0].firstChild, 1]: modifying the second added range must modify the Selection's last Range
+PASS Range 21 [foreignDoc.body, 0, foreignDoc.body, 0] followed by Range 1 [paras[0].firstChild, 0, paras[0].firstChild, 1]: modifying the Selection's last Range must modify the second added Range
PASS Range 21 [foreignDoc.body, 0, foreignDoc.body, 0] followed by Range 2 [paras[0].firstChild, 2, paras[0].firstChild, 8]: first addRange() must not throw exceptions or modify the range it's given
FAIL Range 21 [foreignDoc.body, 0, foreignDoc.body, 0] followed by Range 2 [paras[0].firstChild, 2, paras[0].firstChild, 8]: first addRange() must result in rangeCount being 1 assert_equals: rangeCount must be 1 expected 1 but got 0
FAIL Range 21 [foreignDoc.body, 0, foreignDoc.body, 0] followed by Range 2 [paras[0].firstChild, 2, paras[0].firstChild, 8]: first addRange() must result in the selection's last range having the specified endpoints assert_not_equals: Cannot proceed with tests if rangeCount is 0 got disallowed value 0
@@ -973,9 +795,9 @@ FAIL Range 21 [foreignDoc.body, 0, foreignDoc.body, 0] followed by Range 2 [para
PASS Range 21 [foreignDoc.body, 0, foreignDoc.body, 0] followed by Range 2 [paras[0].firstChild, 2, paras[0].firstChild, 8]: second addRange() must not throw exceptions or modify the range it's given
PASS Range 21 [foreignDoc.body, 0, foreignDoc.body, 0] followed by Range 2 [paras[0].firstChild, 2, paras[0].firstChild, 8]: second addRange() must result in rangeCount being 1
PASS Range 21 [foreignDoc.body, 0, foreignDoc.body, 0] followed by Range 2 [paras[0].firstChild, 2, paras[0].firstChild, 8]: second addRange() must result in the selection's last range having the specified endpoints
-FAIL Range 21 [foreignDoc.body, 0, foreignDoc.body, 0] followed by Range 2 [paras[0].firstChild, 2, paras[0].firstChild, 8]: second addRange() must result in the selection's last range being the same object we added assert_equals: getRangeAt(rangeCount - 1) must return the same object we added expected object "b̈c̈d̈" but got object "b̈c̈d̈"
-FAIL Range 21 [foreignDoc.body, 0, foreignDoc.body, 0] followed by Range 2 [paras[0].firstChild, 2, paras[0].firstChild, 8]: modifying the second added range must modify the Selection's last Range assert_equals: After mutating the second added Range, startOffset of the Selection's last Range must match the added Range expected 0 but got 2
-FAIL Range 21 [foreignDoc.body, 0, foreignDoc.body, 0] followed by Range 2 [paras[0].firstChild, 2, paras[0].firstChild, 8]: modifying the Selection's last Range must modify the second added Range assert_equals: After second addRange(), after mutating the Selection's last Range, startOffset of the Selection's last Range must match the added Range expected 0 but got 6
+PASS Range 21 [foreignDoc.body, 0, foreignDoc.body, 0] followed by Range 2 [paras[0].firstChild, 2, paras[0].firstChild, 8]: second addRange() must result in the selection's last range being the same object we added
+PASS Range 21 [foreignDoc.body, 0, foreignDoc.body, 0] followed by Range 2 [paras[0].firstChild, 2, paras[0].firstChild, 8]: modifying the second added range must modify the Selection's last Range
+PASS Range 21 [foreignDoc.body, 0, foreignDoc.body, 0] followed by Range 2 [paras[0].firstChild, 2, paras[0].firstChild, 8]: modifying the Selection's last Range must modify the second added Range
PASS Range 21 [foreignDoc.body, 0, foreignDoc.body, 0] followed by Range 3 [paras[0].firstChild, 2, paras[0].firstChild, 9]: first addRange() must not throw exceptions or modify the range it's given
FAIL Range 21 [foreignDoc.body, 0, foreignDoc.body, 0] followed by Range 3 [paras[0].firstChild, 2, paras[0].firstChild, 9]: first addRange() must result in rangeCount being 1 assert_equals: rangeCount must be 1 expected 1 but got 0
FAIL Range 21 [foreignDoc.body, 0, foreignDoc.body, 0] followed by Range 3 [paras[0].firstChild, 2, paras[0].firstChild, 9]: first addRange() must result in the selection's last range having the specified endpoints assert_not_equals: Cannot proceed with tests if rangeCount is 0 got disallowed value 0
@@ -985,9 +807,9 @@ FAIL Range 21 [foreignDoc.body, 0, foreignDoc.body, 0] followed by Range 3 [para
PASS Range 21 [foreignDoc.body, 0, foreignDoc.body, 0] followed by Range 3 [paras[0].firstChild, 2, paras[0].firstChild, 9]: second addRange() must not throw exceptions or modify the range it's given
PASS Range 21 [foreignDoc.body, 0, foreignDoc.body, 0] followed by Range 3 [paras[0].firstChild, 2, paras[0].firstChild, 9]: second addRange() must result in rangeCount being 1
PASS Range 21 [foreignDoc.body, 0, foreignDoc.body, 0] followed by Range 3 [paras[0].firstChild, 2, paras[0].firstChild, 9]: second addRange() must result in the selection's last range having the specified endpoints
-FAIL Range 21 [foreignDoc.body, 0, foreignDoc.body, 0] followed by Range 3 [paras[0].firstChild, 2, paras[0].firstChild, 9]: second addRange() must result in the selection's last range being the same object we added assert_equals: getRangeAt(rangeCount - 1) must return the same object we added expected object "b̈c̈d̈e" but got object "b̈c̈d̈e"
-FAIL Range 21 [foreignDoc.body, 0, foreignDoc.body, 0] followed by Range 3 [paras[0].firstChild, 2, paras[0].firstChild, 9]: modifying the second added range must modify the Selection's last Range assert_equals: After mutating the second added Range, startOffset of the Selection's last Range must match the added Range expected 0 but got 2
-FAIL Range 21 [foreignDoc.body, 0, foreignDoc.body, 0] followed by Range 3 [paras[0].firstChild, 2, paras[0].firstChild, 9]: modifying the Selection's last Range must modify the second added Range assert_equals: After second addRange(), after mutating the Selection's last Range, startOffset of the Selection's last Range must match the added Range expected 0 but got 6
+PASS Range 21 [foreignDoc.body, 0, foreignDoc.body, 0] followed by Range 3 [paras[0].firstChild, 2, paras[0].firstChild, 9]: second addRange() must result in the selection's last range being the same object we added
+PASS Range 21 [foreignDoc.body, 0, foreignDoc.body, 0] followed by Range 3 [paras[0].firstChild, 2, paras[0].firstChild, 9]: modifying the second added range must modify the Selection's last Range
+PASS Range 21 [foreignDoc.body, 0, foreignDoc.body, 0] followed by Range 3 [paras[0].firstChild, 2, paras[0].firstChild, 9]: modifying the Selection's last Range must modify the second added Range
PASS Range 21 [foreignDoc.body, 0, foreignDoc.body, 0] followed by Range 4 [paras[1].firstChild, 0, paras[1].firstChild, 0]: first addRange() must not throw exceptions or modify the range it's given
FAIL Range 21 [foreignDoc.body, 0, foreignDoc.body, 0] followed by Range 4 [paras[1].firstChild, 0, paras[1].firstChild, 0]: first addRange() must result in rangeCount being 1 assert_equals: rangeCount must be 1 expected 1 but got 0
FAIL Range 21 [foreignDoc.body, 0, foreignDoc.body, 0] followed by Range 4 [paras[1].firstChild, 0, paras[1].firstChild, 0]: first addRange() must result in the selection's last range having the specified endpoints assert_not_equals: Cannot proceed with tests if rangeCount is 0 got disallowed value 0
@@ -997,11 +819,9 @@ FAIL Range 21 [foreignDoc.body, 0, foreignDoc.body, 0] followed by Range 4 [para
PASS Range 21 [foreignDoc.body, 0, foreignDoc.body, 0] followed by Range 4 [paras[1].firstChild, 0, paras[1].firstChild, 0]: second addRange() must not throw exceptions or modify the range it's given
PASS Range 21 [foreignDoc.body, 0, foreignDoc.body, 0] followed by Range 4 [paras[1].firstChild, 0, paras[1].firstChild, 0]: second addRange() must result in rangeCount being 1
PASS Range 21 [foreignDoc.body, 0, foreignDoc.body, 0] followed by Range 4 [paras[1].firstChild, 0, paras[1].firstChild, 0]: second addRange() must result in the selection's last range having the specified endpoints
-FAIL Range 21 [foreignDoc.body, 0, foreignDoc.body, 0] followed by Range 4 [paras[1].firstChild, 0, paras[1].firstChild, 0]: second addRange() must result in the selection's last range being the same object we added assert_equals: getRangeAt(rangeCount - 1) must return the same object we added expected object "" but got object ""
-FAIL Range 21 [foreignDoc.body, 0, foreignDoc.body, 0] followed by Range 4 [paras[1].firstChild, 0, paras[1].firstChild, 0]: modifying the second added range must modify the Selection's last Range assert_equals: After mutating the second added Range, startContainer of the Selection's last Range must match the added Range expected Text node "Äb̈c̈d̈ëf̈g̈ḧ
-" but got Text node "Ijklmnop
-"
-FAIL Range 21 [foreignDoc.body, 0, foreignDoc.body, 0] followed by Range 4 [paras[1].firstChild, 0, paras[1].firstChild, 0]: modifying the Selection's last Range must modify the second added Range assert_equals: After second addRange(), after mutating the Selection's last Range, startOffset of the Selection's last Range must match the added Range expected 0 but got 6
+PASS Range 21 [foreignDoc.body, 0, foreignDoc.body, 0] followed by Range 4 [paras[1].firstChild, 0, paras[1].firstChild, 0]: second addRange() must result in the selection's last range being the same object we added
+PASS Range 21 [foreignDoc.body, 0, foreignDoc.body, 0] followed by Range 4 [paras[1].firstChild, 0, paras[1].firstChild, 0]: modifying the second added range must modify the Selection's last Range
+PASS Range 21 [foreignDoc.body, 0, foreignDoc.body, 0] followed by Range 4 [paras[1].firstChild, 0, paras[1].firstChild, 0]: modifying the Selection's last Range must modify the second added Range
PASS Range 21 [foreignDoc.body, 0, foreignDoc.body, 0] followed by Range 5 [paras[1].firstChild, 0, paras[1].firstChild, 1]: first addRange() must not throw exceptions or modify the range it's given
FAIL Range 21 [foreignDoc.body, 0, foreignDoc.body, 0] followed by Range 5 [paras[1].firstChild, 0, paras[1].firstChild, 1]: first addRange() must result in rangeCount being 1 assert_equals: rangeCount must be 1 expected 1 but got 0
FAIL Range 21 [foreignDoc.body, 0, foreignDoc.body, 0] followed by Range 5 [paras[1].firstChild, 0, paras[1].firstChild, 1]: first addRange() must result in the selection's last range having the specified endpoints assert_not_equals: Cannot proceed with tests if rangeCount is 0 got disallowed value 0
@@ -1011,11 +831,9 @@ FAIL Range 21 [foreignDoc.body, 0, foreignDoc.body, 0] followed by Range 5 [para
PASS Range 21 [foreignDoc.body, 0, foreignDoc.body, 0] followed by Range 5 [paras[1].firstChild, 0, paras[1].firstChild, 1]: second addRange() must not throw exceptions or modify the range it's given
PASS Range 21 [foreignDoc.body, 0, foreignDoc.body, 0] followed by Range 5 [paras[1].firstChild, 0, paras[1].firstChild, 1]: second addRange() must result in rangeCount being 1
PASS Range 21 [foreignDoc.body, 0, foreignDoc.body, 0] followed by Range 5 [paras[1].firstChild, 0, paras[1].firstChild, 1]: second addRange() must result in the selection's last range having the specified endpoints
-FAIL Range 21 [foreignDoc.body, 0, foreignDoc.body, 0] followed by Range 5 [paras[1].firstChild, 0, paras[1].firstChild, 1]: second addRange() must result in the selection's last range being the same object we added assert_equals: getRangeAt(rangeCount - 1) must return the same object we added expected object "I" but got object "I"
-FAIL Range 21 [foreignDoc.body, 0, foreignDoc.body, 0] followed by Range 5 [paras[1].firstChild, 0, paras[1].firstChild, 1]: modifying the second added range must modify the Selection's last Range assert_equals: After mutating the second added Range, startContainer of the Selection's last Range must match the added Range expected Text node "Äb̈c̈d̈ëf̈g̈ḧ
-" but got Text node "Ijklmnop
-"
-FAIL Range 21 [foreignDoc.body, 0, foreignDoc.body, 0] followed by Range 5 [paras[1].firstChild, 0, paras[1].firstChild, 1]: modifying the Selection's last Range must modify the second added Range assert_equals: After second addRange(), after mutating the Selection's last Range, startOffset of the Selection's last Range must match the added Range expected 0 but got 6
+PASS Range 21 [foreignDoc.body, 0, foreignDoc.body, 0] followed by Range 5 [paras[1].firstChild, 0, paras[1].firstChild, 1]: second addRange() must result in the selection's last range being the same object we added
+PASS Range 21 [foreignDoc.body, 0, foreignDoc.body, 0] followed by Range 5 [paras[1].firstChild, 0, paras[1].firstChild, 1]: modifying the second added range must modify the Selection's last Range
+PASS Range 21 [foreignDoc.body, 0, foreignDoc.body, 0] followed by Range 5 [paras[1].firstChild, 0, paras[1].firstChild, 1]: modifying the Selection's last Range must modify the second added Range
PASS Range 21 [foreignDoc.body, 0, foreignDoc.body, 0] followed by Range 6 [paras[1].firstChild, 2, paras[1].firstChild, 8]: first addRange() must not throw exceptions or modify the range it's given
FAIL Range 21 [foreignDoc.body, 0, foreignDoc.body, 0] followed by Range 6 [paras[1].firstChild, 2, paras[1].firstChild, 8]: first addRange() must result in rangeCount being 1 assert_equals: rangeCount must be 1 expected 1 but got 0
FAIL Range 21 [foreignDoc.body, 0, foreignDoc.body, 0] followed by Range 6 [paras[1].firstChild, 2, paras[1].firstChild, 8]: first addRange() must result in the selection's last range having the specified endpoints assert_not_equals: Cannot proceed with tests if rangeCount is 0 got disallowed value 0
@@ -1025,11 +843,9 @@ FAIL Range 21 [foreignDoc.body, 0, foreignDoc.body, 0] followed by Range 6 [para
PASS Range 21 [foreignDoc.body, 0, foreignDoc.body, 0] followed by Range 6 [paras[1].firstChild, 2, paras[1].firstChild, 8]: second addRange() must not throw exceptions or modify the range it's given
PASS Range 21 [foreignDoc.body, 0, foreignDoc.body, 0] followed by Range 6 [paras[1].firstChild, 2, paras[1].firstChild, 8]: second addRange() must result in rangeCount being 1
PASS Range 21 [foreignDoc.body, 0, foreignDoc.body, 0] followed by Range 6 [paras[1].firstChild, 2, paras[1].firstChild, 8]: second addRange() must result in the selection's last range having the specified endpoints
-FAIL Range 21 [foreignDoc.body, 0, foreignDoc.body, 0] followed by Range 6 [paras[1].firstChild, 2, paras[1].firstChild, 8]: second addRange() must result in the selection's last range being the same object we added assert_equals: getRangeAt(rangeCount - 1) must return the same object we added expected object "klmnop" but got object "klmnop"
-FAIL Range 21 [foreignDoc.body, 0, foreignDoc.body, 0] followed by Range 6 [paras[1].firstChild, 2, paras[1].firstChild, 8]: modifying the second added range must modify the Selection's last Range assert_equals: After mutating the second added Range, startContainer of the Selection's last Range must match the added Range expected Text node "Äb̈c̈d̈ëf̈g̈ḧ
-" but got Text node "Ijklmnop
-"
-FAIL Range 21 [foreignDoc.body, 0, foreignDoc.body, 0] followed by Range 6 [paras[1].firstChild, 2, paras[1].firstChild, 8]: modifying the Selection's last Range must modify the second added Range assert_equals: After second addRange(), after mutating the Selection's last Range, startOffset of the Selection's last Range must match the added Range expected 0 but got 6
+PASS Range 21 [foreignDoc.body, 0, foreignDoc.body, 0] followed by Range 6 [paras[1].firstChild, 2, paras[1].firstChild, 8]: second addRange() must result in the selection's last range being the same object we added
+PASS Range 21 [foreignDoc.body, 0, foreignDoc.body, 0] followed by Range 6 [paras[1].firstChild, 2, paras[1].firstChild, 8]: modifying the second added range must modify the Selection's last Range
+PASS Range 21 [foreignDoc.body, 0, foreignDoc.body, 0] followed by Range 6 [paras[1].firstChild, 2, paras[1].firstChild, 8]: modifying the Selection's last Range must modify the second added Range
PASS Range 21 [foreignDoc.body, 0, foreignDoc.body, 0] followed by Range 7 [paras[1].firstChild, 2, paras[1].firstChild, 9]: first addRange() must not throw exceptions or modify the range it's given
FAIL Range 21 [foreignDoc.body, 0, foreignDoc.body, 0] followed by Range 7 [paras[1].firstChild, 2, paras[1].firstChild, 9]: first addRange() must result in rangeCount being 1 assert_equals: rangeCount must be 1 expected 1 but got 0
FAIL Range 21 [foreignDoc.body, 0, foreignDoc.body, 0] followed by Range 7 [paras[1].firstChild, 2, paras[1].firstChild, 9]: first addRange() must result in the selection's last range having the specified endpoints assert_not_equals: Cannot proceed with tests if rangeCount is 0 got disallowed value 0
@@ -1039,13 +855,9 @@ FAIL Range 21 [foreignDoc.body, 0, foreignDoc.body, 0] followed by Range 7 [para
PASS Range 21 [foreignDoc.body, 0, foreignDoc.body, 0] followed by Range 7 [paras[1].firstChild, 2, paras[1].firstChild, 9]: second addRange() must not throw exceptions or modify the range it's given
PASS Range 21 [foreignDoc.body, 0, foreignDoc.body, 0] followed by Range 7 [paras[1].firstChild, 2, paras[1].firstChild, 9]: second addRange() must result in rangeCount being 1
PASS Range 21 [foreignDoc.body, 0, foreignDoc.body, 0] followed by Range 7 [paras[1].firstChild, 2, paras[1].firstChild, 9]: second addRange() must result in the selection's last range having the specified endpoints
-FAIL Range 21 [foreignDoc.body, 0, foreignDoc.body, 0] followed by Range 7 [paras[1].firstChild, 2, paras[1].firstChild, 9]: second addRange() must result in the selection's last range being the same object we added assert_equals: getRangeAt(rangeCount - 1) must return the same object we added expected object "klmnop
-" but got object "klmnop
-"
-FAIL Range 21 [foreignDoc.body, 0, foreignDoc.body, 0] followed by Range 7 [paras[1].firstChild, 2, paras[1].firstChild, 9]: modifying the second added range must modify the Selection's last Range assert_equals: After mutating the second added Range, startContainer of the Selection's last Range must match the added Range expected Text node "Äb̈c̈d̈ëf̈g̈ḧ
-" but got Text node "Ijklmnop
-"
-FAIL Range 21 [foreignDoc.body, 0, foreignDoc.body, 0] followed by Range 7 [paras[1].firstChild, 2, paras[1].firstChild, 9]: modifying the Selection's last Range must modify the second added Range assert_equals: After second addRange(), after mutating the Selection's last Range, startOffset of the Selection's last Range must match the added Range expected 0 but got 6
+PASS Range 21 [foreignDoc.body, 0, foreignDoc.body, 0] followed by Range 7 [paras[1].firstChild, 2, paras[1].firstChild, 9]: second addRange() must result in the selection's last range being the same object we added
+PASS Range 21 [foreignDoc.body, 0, foreignDoc.body, 0] followed by Range 7 [paras[1].firstChild, 2, paras[1].firstChild, 9]: modifying the second added range must modify the Selection's last Range
+PASS Range 21 [foreignDoc.body, 0, foreignDoc.body, 0] followed by Range 7 [paras[1].firstChild, 2, paras[1].firstChild, 9]: modifying the Selection's last Range must modify the second added Range
PASS Range 21 [foreignDoc.body, 0, foreignDoc.body, 0] followed by Range 8 [detachedPara1.firstChild, 0, detachedPara1.firstChild, 0]: first addRange() must not throw exceptions or modify the range it's given
FAIL Range 21 [foreignDoc.body, 0, foreignDoc.body, 0] followed by Range 8 [detachedPara1.firstChild, 0, detachedPara1.firstChild, 0]: first addRange() must result in rangeCount being 1 assert_equals: rangeCount must be 1 expected 1 but got 0
FAIL Range 21 [foreignDoc.body, 0, foreignDoc.body, 0] followed by Range 8 [detachedPara1.firstChild, 0, detachedPara1.firstChild, 0]: first addRange() must result in the selection's last range having the specified endpoints assert_not_equals: Cannot proceed with tests if rangeCount is 0 got disallowed value 0
@@ -1127,15 +939,9 @@ FAIL Range 21 [foreignDoc.body, 0, foreignDoc.body, 0] followed by Range 14 [doc
PASS Range 21 [foreignDoc.body, 0, foreignDoc.body, 0] followed by Range 14 [document.documentElement, 0, document.documentElement, 1]: second addRange() must not throw exceptions or modify the range it's given
PASS Range 21 [foreignDoc.body, 0, foreignDoc.body, 0] followed by Range 14 [document.documentElement, 0, document.documentElement, 1]: second addRange() must result in rangeCount being 1
PASS Range 21 [foreignDoc.body, 0, foreignDoc.body, 0] followed by Range 14 [document.documentElement, 0, document.documentElement, 1]: second addRange() must result in the selection's last range having the specified endpoints
-FAIL Range 21 [foreignDoc.body, 0, foreignDoc.body, 0] followed by Range 14 [document.documentElement, 0, document.documentElement, 1]: second addRange() must result in the selection's last range being the same object we added assert_equals: getRangeAt(rangeCount - 1) must return the same object we added expected object "Selection.addRange() tests
-
-" but got object "Selection.addRange() tests
-
-"
-FAIL Range 21 [foreignDoc.body, 0, foreignDoc.body, 0] followed by Range 14 [document.documentElement, 0, document.documentElement, 1]: modifying the second added range must modify the Selection's last Range assert_equals: After mutating the second added Range, startContainer of the Selection's last Range must match the added Range expected Text node "Äb̈c̈d̈ëf̈g̈ḧ
-" but got Element node <html><head><title>Selection.addRange() tests</title>
-<me...
-FAIL Range 21 [foreignDoc.body, 0, foreignDoc.body, 0] followed by Range 14 [document.documentElement, 0, document.documentElement, 1]: modifying the Selection's last Range must modify the second added Range assert_equals: After second addRange(), after mutating the Selection's last Range, startOffset of the Selection's last Range must match the added Range expected 0 but got 6
+PASS Range 21 [foreignDoc.body, 0, foreignDoc.body, 0] followed by Range 14 [document.documentElement, 0, document.documentElement, 1]: second addRange() must result in the selection's last range being the same object we added
+PASS Range 21 [foreignDoc.body, 0, foreignDoc.body, 0] followed by Range 14 [document.documentElement, 0, document.documentElement, 1]: modifying the second added range must modify the Selection's last Range
+PASS Range 21 [foreignDoc.body, 0, foreignDoc.body, 0] followed by Range 14 [document.documentElement, 0, document.documentElement, 1]: modifying the Selection's last Range must modify the second added Range
PASS Range 21 [foreignDoc.body, 0, foreignDoc.body, 0] followed by Range 15 [document.documentElement, 0, document.documentElement, 2]: first addRange() must not throw exceptions or modify the range it's given
FAIL Range 21 [foreignDoc.body, 0, foreignDoc.body, 0] followed by Range 15 [document.documentElement, 0, document.documentElement, 2]: first addRange() must result in rangeCount being 1 assert_equals: rangeCount must be 1 expected 1 but got 0
FAIL Range 21 [foreignDoc.body, 0, foreignDoc.body, 0] followed by Range 15 [document.documentElement, 0, document.documentElement, 2]: first addRange() must result in the selection's last range having the specified endpoints assert_not_equals: Cannot proceed with tests if rangeCount is 0 got disallowed value 0
@@ -1145,39 +951,9 @@ FAIL Range 21 [foreignDoc.body, 0, foreignDoc.body, 0] followed by Range 15 [doc
PASS Range 21 [foreignDoc.body, 0, foreignDoc.body, 0] followed by Range 15 [document.documentElement, 0, document.documentElement, 2]: second addRange() must not throw exceptions or modify the range it's given
PASS Range 21 [foreignDoc.body, 0, foreignDoc.body, 0] followed by Range 15 [document.documentElement, 0, document.documentElement, 2]: second addRange() must result in rangeCount being 1
PASS Range 21 [foreignDoc.body, 0, foreignDoc.body, 0] followed by Range 15 [document.documentElement, 0, document.documentElement, 2]: second addRange() must result in the selection's last range having the specified endpoints
-FAIL Range 21 [foreignDoc.body, 0, foreignDoc.body, 0] followed by Range 15 [document.documentElement, 0, document.documentElement, 2]: second addRange() must result in the selection's last range being the same object we added assert_equals: getRangeAt(rangeCount - 1) must return the same object we added expected object "Selection.addRange() tests
-
-Äb̈c̈d̈ëf̈g̈ḧ
-Ijklmnop
-QrstuvwxYzabcdefGhijklmn
-
-
-
-
-
-"use strict";
-
-testAddRangeSubSet(20, 24);
-testDiv.style.display = "none";
-" but got object "Selection.addRange() tests
-
-Äb̈c̈d̈ëf̈g̈ḧ
-Ijklmnop
-QrstuvwxYzabcdefGhijklmn
-
-
-
-
-
-"use strict";
-
-testAddRangeSubSet(20, 24);
-testDiv.style.display = "none";
-"
-FAIL Range 21 [foreignDoc.body, 0, foreignDoc.body, 0] followed by Range 15 [document.documentElement, 0, document.documentElement, 2]: modifying the second added range must modify the Selection's last Range assert_equals: After mutating the second added Range, startContainer of the Selection's last Range must match the added Range expected Text node "Äb̈c̈d̈ëf̈g̈ḧ
-" but got Element node <html><head><title>Selection.addRange() tests</title>
-<me...
-FAIL Range 21 [foreignDoc.body, 0, foreignDoc.body, 0] followed by Range 15 [document.documentElement, 0, document.documentElement, 2]: modifying the Selection's last Range must modify the second added Range assert_equals: After second addRange(), after mutating the Selection's last Range, startOffset of the Selection's last Range must match the added Range expected 0 but got 6
+PASS Range 21 [foreignDoc.body, 0, foreignDoc.body, 0] followed by Range 15 [document.documentElement, 0, document.documentElement, 2]: second addRange() must result in the selection's last range being the same object we added
+PASS Range 21 [foreignDoc.body, 0, foreignDoc.body, 0] followed by Range 15 [document.documentElement, 0, document.documentElement, 2]: modifying the second added range must modify the Selection's last Range
+PASS Range 21 [foreignDoc.body, 0, foreignDoc.body, 0] followed by Range 15 [document.documentElement, 0, document.documentElement, 2]: modifying the Selection's last Range must modify the second added Range
PASS Range 21 [foreignDoc.body, 0, foreignDoc.body, 0] followed by Range 16 [document.documentElement, 1, document.documentElement, 2]: first addRange() must not throw exceptions or modify the range it's given
FAIL Range 21 [foreignDoc.body, 0, foreignDoc.body, 0] followed by Range 16 [document.documentElement, 1, document.documentElement, 2]: first addRange() must result in rangeCount being 1 assert_equals: rangeCount must be 1 expected 1 but got 0
FAIL Range 21 [foreignDoc.body, 0, foreignDoc.body, 0] followed by Range 16 [document.documentElement, 1, document.documentElement, 2]: first addRange() must result in the selection's last range having the specified endpoints assert_not_equals: Cannot proceed with tests if rangeCount is 0 got disallowed value 0
@@ -1187,35 +963,9 @@ FAIL Range 21 [foreignDoc.body, 0, foreignDoc.body, 0] followed by Range 16 [doc
PASS Range 21 [foreignDoc.body, 0, foreignDoc.body, 0] followed by Range 16 [document.documentElement, 1, document.documentElement, 2]: second addRange() must not throw exceptions or modify the range it's given
PASS Range 21 [foreignDoc.body, 0, foreignDoc.body, 0] followed by Range 16 [document.documentElement, 1, document.documentElement, 2]: second addRange() must result in rangeCount being 1
PASS Range 21 [foreignDoc.body, 0, foreignDoc.body, 0] followed by Range 16 [document.documentElement, 1, document.documentElement, 2]: second addRange() must result in the selection's last range having the specified endpoints
-FAIL Range 21 [foreignDoc.body, 0, foreignDoc.body, 0] followed by Range 16 [document.documentElement, 1, document.documentElement, 2]: second addRange() must result in the selection's last range being the same object we added assert_equals: getRangeAt(rangeCount - 1) must return the same object we added expected object "Äb̈c̈d̈ëf̈g̈ḧ
-Ijklmnop
-QrstuvwxYzabcdefGhijklmn
-
-
-
-
-
-"use strict";
-
-testAddRangeSubSet(20, 24);
-testDiv.style.display = "none";
-" but got object "Äb̈c̈d̈ëf̈g̈ḧ
-Ijklmnop
-QrstuvwxYzabcdefGhijklmn
-
-
-
-
-
-"use strict";
-
-testAddRangeSubSet(20, 24);
-testDiv.style.display = "none";
-"
-FAIL Range 21 [foreignDoc.body, 0, foreignDoc.body, 0] followed by Range 16 [document.documentElement, 1, document.documentElement, 2]: modifying the second added range must modify the Selection's last Range assert_equals: After mutating the second added Range, startContainer of the Selection's last Range must match the added Range expected Text node "Äb̈c̈d̈ëf̈g̈ḧ
-" but got Element node <html><head><title>Selection.addRange() tests</title>
-<me...
-FAIL Range 21 [foreignDoc.body, 0, foreignDoc.body, 0] followed by Range 16 [document.documentElement, 1, document.documentElement, 2]: modifying the Selection's last Range must modify the second added Range assert_equals: After second addRange(), after mutating the Selection's last Range, startOffset of the Selection's last Range must match the added Range expected 0 but got 6
+PASS Range 21 [foreignDoc.body, 0, foreignDoc.body, 0] followed by Range 16 [document.documentElement, 1, document.documentElement, 2]: second addRange() must result in the selection's last range being the same object we added
+PASS Range 21 [foreignDoc.body, 0, foreignDoc.body, 0] followed by Range 16 [document.documentElement, 1, document.documentElement, 2]: modifying the second added range must modify the Selection's last Range
+PASS Range 21 [foreignDoc.body, 0, foreignDoc.body, 0] followed by Range 16 [document.documentElement, 1, document.documentElement, 2]: modifying the Selection's last Range must modify the second added Range
PASS Range 21 [foreignDoc.body, 0, foreignDoc.body, 0] followed by Range 17 [document.head, 1, document.head, 1]: first addRange() must not throw exceptions or modify the range it's given
FAIL Range 21 [foreignDoc.body, 0, foreignDoc.body, 0] followed by Range 17 [document.head, 1, document.head, 1]: first addRange() must result in rangeCount being 1 assert_equals: rangeCount must be 1 expected 1 but got 0
FAIL Range 21 [foreignDoc.body, 0, foreignDoc.body, 0] followed by Range 17 [document.head, 1, document.head, 1]: first addRange() must result in the selection's last range having the specified endpoints assert_not_equals: Cannot proceed with tests if rangeCount is 0 got disallowed value 0
@@ -1225,11 +975,9 @@ FAIL Range 21 [foreignDoc.body, 0, foreignDoc.body, 0] followed by Range 17 [doc
PASS Range 21 [foreignDoc.body, 0, foreignDoc.body, 0] followed by Range 17 [document.head, 1, document.head, 1]: second addRange() must not throw exceptions or modify the range it's given
PASS Range 21 [foreignDoc.body, 0, foreignDoc.body, 0] followed by Range 17 [document.head, 1, document.head, 1]: second addRange() must result in rangeCount being 1
PASS Range 21 [foreignDoc.body, 0, foreignDoc.body, 0] followed by Range 17 [document.head, 1, document.head, 1]: second addRange() must result in the selection's last range having the specified endpoints
-FAIL Range 21 [foreignDoc.body, 0, foreignDoc.body, 0] followed by Range 17 [document.head, 1, document.head, 1]: second addRange() must result in the selection's last range being the same object we added assert_equals: getRangeAt(rangeCount - 1) must return the same object we added expected object "" but got object ""
-FAIL Range 21 [foreignDoc.body, 0, foreignDoc.body, 0] followed by Range 17 [document.head, 1, document.head, 1]: modifying the second added range must modify the Selection's last Range assert_equals: After mutating the second added Range, startContainer of the Selection's last Range must match the added Range expected Text node "Äb̈c̈d̈ëf̈g̈ḧ
-" but got Element node <head><title>Selection.addRange() tests</title>
-<meta nam...
-FAIL Range 21 [foreignDoc.body, 0, foreignDoc.body, 0] followed by Range 17 [document.head, 1, document.head, 1]: modifying the Selection's last Range must modify the second added Range assert_equals: After second addRange(), after mutating the Selection's last Range, startOffset of the Selection's last Range must match the added Range expected 0 but got 6
+PASS Range 21 [foreignDoc.body, 0, foreignDoc.body, 0] followed by Range 17 [document.head, 1, document.head, 1]: second addRange() must result in the selection's last range being the same object we added
+PASS Range 21 [foreignDoc.body, 0, foreignDoc.body, 0] followed by Range 17 [document.head, 1, document.head, 1]: modifying the second added range must modify the Selection's last Range
+PASS Range 21 [foreignDoc.body, 0, foreignDoc.body, 0] followed by Range 17 [document.head, 1, document.head, 1]: modifying the Selection's last Range must modify the second added Range
PASS Range 21 [foreignDoc.body, 0, foreignDoc.body, 0] followed by Range 18 [document.body, 0, document.body, 1]: first addRange() must not throw exceptions or modify the range it's given
FAIL Range 21 [foreignDoc.body, 0, foreignDoc.body, 0] followed by Range 18 [document.body, 0, document.body, 1]: first addRange() must result in rangeCount being 1 assert_equals: rangeCount must be 1 expected 1 but got 0
FAIL Range 21 [foreignDoc.body, 0, foreignDoc.body, 0] followed by Range 18 [document.body, 0, document.body, 1]: first addRange() must result in the selection's last range having the specified endpoints assert_not_equals: Cannot proceed with tests if rangeCount is 0 got disallowed value 0
@@ -1239,15 +987,9 @@ FAIL Range 21 [foreignDoc.body, 0, foreignDoc.body, 0] followed by Range 18 [doc
PASS Range 21 [foreignDoc.body, 0, foreignDoc.body, 0] followed by Range 18 [document.body, 0, document.body, 1]: second addRange() must not throw exceptions or modify the range it's given
PASS Range 21 [foreignDoc.body, 0, foreignDoc.body, 0] followed by Range 18 [document.body, 0, document.body, 1]: second addRange() must result in rangeCount being 1
PASS Range 21 [foreignDoc.body, 0, foreignDoc.body, 0] followed by Range 18 [document.body, 0, document.body, 1]: second addRange() must result in the selection's last range having the specified endpoints
-FAIL Range 21 [foreignDoc.body, 0, foreignDoc.body, 0] followed by Range 18 [document.body, 0, document.body, 1]: second addRange() must result in the selection's last range being the same object we added assert_equals: getRangeAt(rangeCount - 1) must return the same object we added expected object "Äb̈c̈d̈ëf̈g̈ḧ
-Ijklmnop
-QrstuvwxYzabcdefGhijklmn" but got object "Äb̈c̈d̈ëf̈g̈ḧ
-Ijklmnop
-QrstuvwxYzabcdefGhijklmn"
-FAIL Range 21 [foreignDoc.body, 0, foreignDoc.body, 0] followed by Range 18 [document.body, 0, document.body, 1]: modifying the second added range must modify the Selection's last Range assert_equals: After mutating the second added Range, startContainer of the Selection's last Range must match the added Range expected Text node "Äb̈c̈d̈ëf̈g̈ḧ
-" but got Element node <body><div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ
-</p><p id...
-FAIL Range 21 [foreignDoc.body, 0, foreignDoc.body, 0] followed by Range 18 [document.body, 0, document.body, 1]: modifying the Selection's last Range must modify the second added Range assert_equals: After second addRange(), after mutating the Selection's last Range, startOffset of the Selection's last Range must match the added Range expected 0 but got 6
+PASS Range 21 [foreignDoc.body, 0, foreignDoc.body, 0] followed by Range 18 [document.body, 0, document.body, 1]: second addRange() must result in the selection's last range being the same object we added
+PASS Range 21 [foreignDoc.body, 0, foreignDoc.body, 0] followed by Range 18 [document.body, 0, document.body, 1]: modifying the second added range must modify the Selection's last Range
+PASS Range 21 [foreignDoc.body, 0, foreignDoc.body, 0] followed by Range 18 [document.body, 0, document.body, 1]: modifying the Selection's last Range must modify the second added Range
PASS Range 21 [foreignDoc.body, 0, foreignDoc.body, 0] followed by Range 19 [foreignDoc.documentElement, 0, foreignDoc.documentElement, 1]: first addRange() must not throw exceptions or modify the range it's given
FAIL Range 21 [foreignDoc.body, 0, foreignDoc.body, 0] followed by Range 19 [foreignDoc.documentElement, 0, foreignDoc.documentElement, 1]: first addRange() must result in rangeCount being 1 assert_equals: rangeCount must be 1 expected 1 but got 0
FAIL Range 21 [foreignDoc.body, 0, foreignDoc.body, 0] followed by Range 19 [foreignDoc.documentElement, 0, foreignDoc.documentElement, 1]: first addRange() must result in the selection's last range having the specified endpoints assert_not_equals: Cannot proceed with tests if rangeCount is 0 got disallowed value 0
@@ -1293,11 +1035,9 @@ FAIL Range 21 [foreignDoc.body, 0, foreignDoc.body, 0] followed by Range 22 [par
PASS Range 21 [foreignDoc.body, 0, foreignDoc.body, 0] followed by Range 22 [paras[0], 0, paras[0], 0]: second addRange() must not throw exceptions or modify the range it's given
PASS Range 21 [foreignDoc.body, 0, foreignDoc.body, 0] followed by Range 22 [paras[0], 0, paras[0], 0]: second addRange() must result in rangeCount being 1
PASS Range 21 [foreignDoc.body, 0, foreignDoc.body, 0] followed by Range 22 [paras[0], 0, paras[0], 0]: second addRange() must result in the selection's last range having the specified endpoints
-FAIL Range 21 [foreignDoc.body, 0, foreignDoc.body, 0] followed by Range 22 [paras[0], 0, paras[0], 0]: second addRange() must result in the selection's last range being the same object we added assert_equals: getRangeAt(rangeCount - 1) must return the same object we added expected object "" but got object ""
-FAIL Range 21 [foreignDoc.body, 0, foreignDoc.body, 0] followed by Range 22 [paras[0], 0, paras[0], 0]: modifying the second added range must modify the Selection's last Range assert_equals: After mutating the second added Range, startContainer of the Selection's last Range must match the added Range expected Text node "Äb̈c̈d̈ëf̈g̈ḧ
-" but got Element node <p id="a">Äb̈c̈d̈ëf̈g̈ḧ
-</p>
-FAIL Range 21 [foreignDoc.body, 0, foreignDoc.body, 0] followed by Range 22 [paras[0], 0, paras[0], 0]: modifying the Selection's last Range must modify the second added Range assert_equals: After second addRange(), after mutating the Selection's last Range, startOffset of the Selection's last Range must match the added Range expected 0 but got 6
+PASS Range 21 [foreignDoc.body, 0, foreignDoc.body, 0] followed by Range 22 [paras[0], 0, paras[0], 0]: second addRange() must result in the selection's last range being the same object we added
+PASS Range 21 [foreignDoc.body, 0, foreignDoc.body, 0] followed by Range 22 [paras[0], 0, paras[0], 0]: modifying the second added range must modify the Selection's last Range
+PASS Range 21 [foreignDoc.body, 0, foreignDoc.body, 0] followed by Range 22 [paras[0], 0, paras[0], 0]: modifying the Selection's last Range must modify the second added Range
PASS Range 21 [foreignDoc.body, 0, foreignDoc.body, 0] followed by Range 23 [paras[0], 0, paras[0], 1]: first addRange() must not throw exceptions or modify the range it's given
FAIL Range 21 [foreignDoc.body, 0, foreignDoc.body, 0] followed by Range 23 [paras[0], 0, paras[0], 1]: first addRange() must result in rangeCount being 1 assert_equals: rangeCount must be 1 expected 1 but got 0
FAIL Range 21 [foreignDoc.body, 0, foreignDoc.body, 0] followed by Range 23 [paras[0], 0, paras[0], 1]: first addRange() must result in the selection's last range having the specified endpoints assert_not_equals: Cannot proceed with tests if rangeCount is 0 got disallowed value 0
@@ -1307,13 +1047,9 @@ FAIL Range 21 [foreignDoc.body, 0, foreignDoc.body, 0] followed by Range 23 [par
PASS Range 21 [foreignDoc.body, 0, foreignDoc.body, 0] followed by Range 23 [paras[0], 0, paras[0], 1]: second addRange() must not throw exceptions or modify the range it's given
PASS Range 21 [foreignDoc.body, 0, foreignDoc.body, 0] followed by Range 23 [paras[0], 0, paras[0], 1]: second addRange() must result in rangeCount being 1
PASS Range 21 [foreignDoc.body, 0, foreignDoc.body, 0] followed by Range 23 [paras[0], 0, paras[0], 1]: second addRange() must result in the selection's last range having the specified endpoints
-FAIL Range 21 [foreignDoc.body, 0, foreignDoc.body, 0] followed by Range 23 [paras[0], 0, paras[0], 1]: second addRange() must result in the selection's last range being the same object we added assert_equals: getRangeAt(rangeCount - 1) must return the same object we added expected object "Äb̈c̈d̈ëf̈g̈ḧ
-" but got object "Äb̈c̈d̈ëf̈g̈ḧ
-"
-FAIL Range 21 [foreignDoc.body, 0, foreignDoc.body, 0] followed by Range 23 [paras[0], 0, paras[0], 1]: modifying the second added range must modify the Selection's last Range assert_equals: After mutating the second added Range, startContainer of the Selection's last Range must match the added Range expected Text node "Äb̈c̈d̈ëf̈g̈ḧ
-" but got Element node <p id="a">Äb̈c̈d̈ëf̈g̈ḧ
-</p>
-FAIL Range 21 [foreignDoc.body, 0, foreignDoc.body, 0] followed by Range 23 [paras[0], 0, paras[0], 1]: modifying the Selection's last Range must modify the second added Range assert_equals: After second addRange(), after mutating the Selection's last Range, startOffset of the Selection's last Range must match the added Range expected 0 but got 6
+PASS Range 21 [foreignDoc.body, 0, foreignDoc.body, 0] followed by Range 23 [paras[0], 0, paras[0], 1]: second addRange() must result in the selection's last range being the same object we added
+PASS Range 21 [foreignDoc.body, 0, foreignDoc.body, 0] followed by Range 23 [paras[0], 0, paras[0], 1]: modifying the second added range must modify the Selection's last Range
+PASS Range 21 [foreignDoc.body, 0, foreignDoc.body, 0] followed by Range 23 [paras[0], 0, paras[0], 1]: modifying the Selection's last Range must modify the second added Range
PASS Range 21 [foreignDoc.body, 0, foreignDoc.body, 0] followed by Range 24 [detachedPara1, 0, detachedPara1, 0]: first addRange() must not throw exceptions or modify the range it's given
FAIL Range 21 [foreignDoc.body, 0, foreignDoc.body, 0] followed by Range 24 [detachedPara1, 0, detachedPara1, 0]: first addRange() must result in rangeCount being 1 assert_equals: rangeCount must be 1 expected 1 but got 0
FAIL Range 21 [foreignDoc.body, 0, foreignDoc.body, 0] followed by Range 24 [detachedPara1, 0, detachedPara1, 0]: first addRange() must result in the selection's last range having the specified endpoints assert_not_equals: Cannot proceed with tests if rangeCount is 0 got disallowed value 0
@@ -1347,13 +1083,9 @@ FAIL Range 21 [foreignDoc.body, 0, foreignDoc.body, 0] followed by Range 26 [par
PASS Range 21 [foreignDoc.body, 0, foreignDoc.body, 0] followed by Range 26 [paras[0].firstChild, 0, paras[1].firstChild, 0]: second addRange() must not throw exceptions or modify the range it's given
PASS Range 21 [foreignDoc.body, 0, foreignDoc.body, 0] followed by Range 26 [paras[0].firstChild, 0, paras[1].firstChild, 0]: second addRange() must result in rangeCount being 1
PASS Range 21 [foreignDoc.body, 0, foreignDoc.body, 0] followed by Range 26 [paras[0].firstChild, 0, paras[1].firstChild, 0]: second addRange() must result in the selection's last range having the specified endpoints
-FAIL Range 21 [foreignDoc.body, 0, foreignDoc.body, 0] followed by Range 26 [paras[0].firstChild, 0, paras[1].firstChild, 0]: second addRange() must result in the selection's last range being the same object we added assert_equals: getRangeAt(rangeCount - 1) must return the same object we added expected object "Äb̈c̈d̈ëf̈g̈ḧ
-" but got object "Äb̈c̈d̈ëf̈g̈ḧ
-"
-FAIL Range 21 [foreignDoc.body, 0, foreignDoc.body, 0] followed by Range 26 [paras[0].firstChild, 0, paras[1].firstChild, 0]: modifying the second added range must modify the Selection's last Range assert_equals: After mutating the second added Range, endContainer of the Selection's last Range must match the added Range expected Text node "Äb̈c̈d̈ëf̈g̈ḧ
-" but got Text node "Ijklmnop
-"
-FAIL Range 21 [foreignDoc.body, 0, foreignDoc.body, 0] followed by Range 26 [paras[0].firstChild, 0, paras[1].firstChild, 0]: modifying the Selection's last Range must modify the second added Range assert_equals: After second addRange(), after mutating the Selection's last Range, startOffset of the Selection's last Range must match the added Range expected 0 but got 6
+PASS Range 21 [foreignDoc.body, 0, foreignDoc.body, 0] followed by Range 26 [paras[0].firstChild, 0, paras[1].firstChild, 0]: second addRange() must result in the selection's last range being the same object we added
+PASS Range 21 [foreignDoc.body, 0, foreignDoc.body, 0] followed by Range 26 [paras[0].firstChild, 0, paras[1].firstChild, 0]: modifying the second added range must modify the Selection's last Range
+PASS Range 21 [foreignDoc.body, 0, foreignDoc.body, 0] followed by Range 26 [paras[0].firstChild, 0, paras[1].firstChild, 0]: modifying the Selection's last Range must modify the second added Range
PASS Range 21 [foreignDoc.body, 0, foreignDoc.body, 0] followed by Range 27 [paras[0].firstChild, 0, paras[1].firstChild, 8]: first addRange() must not throw exceptions or modify the range it's given
FAIL Range 21 [foreignDoc.body, 0, foreignDoc.body, 0] followed by Range 27 [paras[0].firstChild, 0, paras[1].firstChild, 8]: first addRange() must result in rangeCount being 1 assert_equals: rangeCount must be 1 expected 1 but got 0
FAIL Range 21 [foreignDoc.body, 0, foreignDoc.body, 0] followed by Range 27 [paras[0].firstChild, 0, paras[1].firstChild, 8]: first addRange() must result in the selection's last range having the specified endpoints assert_not_equals: Cannot proceed with tests if rangeCount is 0 got disallowed value 0
@@ -1363,13 +1095,9 @@ FAIL Range 21 [foreignDoc.body, 0, foreignDoc.body, 0] followed by Range 27 [par
PASS Range 21 [foreignDoc.body, 0, foreignDoc.body, 0] followed by Range 27 [paras[0].firstChild, 0, paras[1].firstChild, 8]: second addRange() must not throw exceptions or modify the range it's given
PASS Range 21 [foreignDoc.body, 0, foreignDoc.body, 0] followed by Range 27 [paras[0].firstChild, 0, paras[1].firstChild, 8]: second addRange() must result in rangeCount being 1
PASS Range 21 [foreignDoc.body, 0, foreignDoc.body, 0] followed by Range 27 [paras[0].firstChild, 0, paras[1].firstChild, 8]: second addRange() must result in the selection's last range having the specified endpoints
-FAIL Range 21 [foreignDoc.body, 0, foreignDoc.body, 0] followed by Range 27 [paras[0].firstChild, 0, paras[1].firstChild, 8]: second addRange() must result in the selection's last range being the same object we added assert_equals: getRangeAt(rangeCount - 1) must return the same object we added expected object "Äb̈c̈d̈ëf̈g̈ḧ
-Ijklmnop" but got object "Äb̈c̈d̈ëf̈g̈ḧ
-Ijklmnop"
-FAIL Range 21 [foreignDoc.body, 0, foreignDoc.body, 0] followed by Range 27 [paras[0].firstChild, 0, paras[1].firstChild, 8]: modifying the second added range must modify the Selection's last Range assert_equals: After mutating the second added Range, endContainer of the Selection's last Range must match the added Range expected Text node "Äb̈c̈d̈ëf̈g̈ḧ
-" but got Text node "Ijklmnop
-"
-FAIL Range 21 [foreignDoc.body, 0, foreignDoc.body, 0] followed by Range 27 [paras[0].firstChild, 0, paras[1].firstChild, 8]: modifying the Selection's last Range must modify the second added Range assert_equals: After second addRange(), after mutating the Selection's last Range, startOffset of the Selection's last Range must match the added Range expected 0 but got 6
+PASS Range 21 [foreignDoc.body, 0, foreignDoc.body, 0] followed by Range 27 [paras[0].firstChild, 0, paras[1].firstChild, 8]: second addRange() must result in the selection's last range being the same object we added
+PASS Range 21 [foreignDoc.body, 0, foreignDoc.body, 0] followed by Range 27 [paras[0].firstChild, 0, paras[1].firstChild, 8]: modifying the second added range must modify the Selection's last Range
+PASS Range 21 [foreignDoc.body, 0, foreignDoc.body, 0] followed by Range 27 [paras[0].firstChild, 0, paras[1].firstChild, 8]: modifying the Selection's last Range must modify the second added Range
PASS Range 21 [foreignDoc.body, 0, foreignDoc.body, 0] followed by Range 28 [paras[0].firstChild, 3, paras[3], 1]: first addRange() must not throw exceptions or modify the range it's given
FAIL Range 21 [foreignDoc.body, 0, foreignDoc.body, 0] followed by Range 28 [paras[0].firstChild, 3, paras[3], 1]: first addRange() must result in rangeCount being 1 assert_equals: rangeCount must be 1 expected 1 but got 0
FAIL Range 21 [foreignDoc.body, 0, foreignDoc.body, 0] followed by Range 28 [paras[0].firstChild, 3, paras[3], 1]: first addRange() must result in the selection's last range having the specified endpoints assert_not_equals: Cannot proceed with tests if rangeCount is 0 got disallowed value 0
@@ -1379,13 +1107,9 @@ FAIL Range 21 [foreignDoc.body, 0, foreignDoc.body, 0] followed by Range 28 [par
PASS Range 21 [foreignDoc.body, 0, foreignDoc.body, 0] followed by Range 28 [paras[0].firstChild, 3, paras[3], 1]: second addRange() must not throw exceptions or modify the range it's given
PASS Range 21 [foreignDoc.body, 0, foreignDoc.body, 0] followed by Range 28 [paras[0].firstChild, 3, paras[3], 1]: second addRange() must result in rangeCount being 1
PASS Range 21 [foreignDoc.body, 0, foreignDoc.body, 0] followed by Range 28 [paras[0].firstChild, 3, paras[3], 1]: second addRange() must result in the selection's last range having the specified endpoints
-FAIL Range 21 [foreignDoc.body, 0, foreignDoc.body, 0] followed by Range 28 [paras[0].firstChild, 3, paras[3], 1]: second addRange() must result in the selection's last range being the same object we added assert_equals: getRangeAt(rangeCount - 1) must return the same object we added expected object "̈c̈d̈ëf̈g̈ḧ
-Ijklmnop
-QrstuvwxYzabcdef" but got object "̈c̈d̈ëf̈g̈ḧ
-Ijklmnop
-QrstuvwxYzabcdef"
-FAIL Range 21 [foreignDoc.body, 0, foreignDoc.body, 0] followed by Range 28 [paras[0].firstChild, 3, paras[3], 1]: modifying the second added range must modify the Selection's last Range assert_equals: After mutating the second added Range, startOffset of the Selection's last Range must match the added Range expected 0 but got 3
-FAIL Range 21 [foreignDoc.body, 0, foreignDoc.body, 0] followed by Range 28 [paras[0].firstChild, 3, paras[3], 1]: modifying the Selection's last Range must modify the second added Range assert_equals: After second addRange(), after mutating the Selection's last Range, startOffset of the Selection's last Range must match the added Range expected 0 but got 6
+PASS Range 21 [foreignDoc.body, 0, foreignDoc.body, 0] followed by Range 28 [paras[0].firstChild, 3, paras[3], 1]: second addRange() must result in the selection's last range being the same object we added
+PASS Range 21 [foreignDoc.body, 0, foreignDoc.body, 0] followed by Range 28 [paras[0].firstChild, 3, paras[3], 1]: modifying the second added range must modify the Selection's last Range
+PASS Range 21 [foreignDoc.body, 0, foreignDoc.body, 0] followed by Range 28 [paras[0].firstChild, 3, paras[3], 1]: modifying the Selection's last Range must modify the second added Range
PASS Range 21 [foreignDoc.body, 0, foreignDoc.body, 0] followed by Range 29 [paras[0], 0, paras[0].firstChild, 7]: first addRange() must not throw exceptions or modify the range it's given
FAIL Range 21 [foreignDoc.body, 0, foreignDoc.body, 0] followed by Range 29 [paras[0], 0, paras[0].firstChild, 7]: first addRange() must result in rangeCount being 1 assert_equals: rangeCount must be 1 expected 1 but got 0
FAIL Range 21 [foreignDoc.body, 0, foreignDoc.body, 0] followed by Range 29 [paras[0], 0, paras[0].firstChild, 7]: first addRange() must result in the selection's last range having the specified endpoints assert_not_equals: Cannot proceed with tests if rangeCount is 0 got disallowed value 0
@@ -1395,11 +1119,9 @@ FAIL Range 21 [foreignDoc.body, 0, foreignDoc.body, 0] followed by Range 29 [par
PASS Range 21 [foreignDoc.body, 0, foreignDoc.body, 0] followed by Range 29 [paras[0], 0, paras[0].firstChild, 7]: second addRange() must not throw exceptions or modify the range it's given
PASS Range 21 [foreignDoc.body, 0, foreignDoc.body, 0] followed by Range 29 [paras[0], 0, paras[0].firstChild, 7]: second addRange() must result in rangeCount being 1
PASS Range 21 [foreignDoc.body, 0, foreignDoc.body, 0] followed by Range 29 [paras[0], 0, paras[0].firstChild, 7]: second addRange() must result in the selection's last range having the specified endpoints
-FAIL Range 21 [foreignDoc.body, 0, foreignDoc.body, 0] followed by Range 29 [paras[0], 0, paras[0].firstChild, 7]: second addRange() must result in the selection's last range being the same object we added assert_equals: getRangeAt(rangeCount - 1) must return the same object we added expected object "Äb̈c̈d" but got object "Äb̈c̈d"
-FAIL Range 21 [foreignDoc.body, 0, foreignDoc.body, 0] followed by Range 29 [paras[0], 0, paras[0].firstChild, 7]: modifying the second added range must modify the Selection's last Range assert_equals: After mutating the second added Range, startContainer of the Selection's last Range must match the added Range expected Text node "Äb̈c̈d̈ëf̈g̈ḧ
-" but got Element node <p id="a">Äb̈c̈d̈ëf̈g̈ḧ
-</p>
-FAIL Range 21 [foreignDoc.body, 0, foreignDoc.body, 0] followed by Range 29 [paras[0], 0, paras[0].firstChild, 7]: modifying the Selection's last Range must modify the second added Range assert_equals: After second addRange(), after mutating the Selection's last Range, startOffset of the Selection's last Range must match the added Range expected 0 but got 6
+PASS Range 21 [foreignDoc.body, 0, foreignDoc.body, 0] followed by Range 29 [paras[0], 0, paras[0].firstChild, 7]: second addRange() must result in the selection's last range being the same object we added
+PASS Range 21 [foreignDoc.body, 0, foreignDoc.body, 0] followed by Range 29 [paras[0], 0, paras[0].firstChild, 7]: modifying the second added range must modify the Selection's last Range
+PASS Range 21 [foreignDoc.body, 0, foreignDoc.body, 0] followed by Range 29 [paras[0], 0, paras[0].firstChild, 7]: modifying the Selection's last Range must modify the second added Range
PASS Range 21 [foreignDoc.body, 0, foreignDoc.body, 0] followed by Range 30 [testDiv, 2, paras[4], 1]: first addRange() must not throw exceptions or modify the range it's given
FAIL Range 21 [foreignDoc.body, 0, foreignDoc.body, 0] followed by Range 30 [testDiv, 2, paras[4], 1]: first addRange() must result in rangeCount being 1 assert_equals: rangeCount must be 1 expected 1 but got 0
FAIL Range 21 [foreignDoc.body, 0, foreignDoc.body, 0] followed by Range 30 [testDiv, 2, paras[4], 1]: first addRange() must result in the selection's last range having the specified endpoints assert_not_equals: Cannot proceed with tests if rangeCount is 0 got disallowed value 0
@@ -1409,11 +1131,9 @@ FAIL Range 21 [foreignDoc.body, 0, foreignDoc.body, 0] followed by Range 30 [tes
PASS Range 21 [foreignDoc.body, 0, foreignDoc.body, 0] followed by Range 30 [testDiv, 2, paras[4], 1]: second addRange() must not throw exceptions or modify the range it's given
PASS Range 21 [foreignDoc.body, 0, foreignDoc.body, 0] followed by Range 30 [testDiv, 2, paras[4], 1]: second addRange() must result in rangeCount being 1
PASS Range 21 [foreignDoc.body, 0, foreignDoc.body, 0] followed by Range 30 [testDiv, 2, paras[4], 1]: second addRange() must result in the selection's last range having the specified endpoints
-FAIL Range 21 [foreignDoc.body, 0, foreignDoc.body, 0] followed by Range 30 [testDiv, 2, paras[4], 1]: second addRange() must result in the selection's last range being the same object we added assert_equals: getRangeAt(rangeCount - 1) must return the same object we added expected object "QrstuvwxYzabcdefGhijklmn" but got object "QrstuvwxYzabcdefGhijklmn"
-FAIL Range 21 [foreignDoc.body, 0, foreignDoc.body, 0] followed by Range 30 [testDiv, 2, paras[4], 1]: modifying the second added range must modify the Selection's last Range assert_equals: After mutating the second added Range, startContainer of the Selection's last Range must match the added Range expected Text node "Äb̈c̈d̈ëf̈g̈ḧ
-" but got Element node <div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ
-</p><p id="b" s...
-FAIL Range 21 [foreignDoc.body, 0, foreignDoc.body, 0] followed by Range 30 [testDiv, 2, paras[4], 1]: modifying the Selection's last Range must modify the second added Range assert_equals: After second addRange(), after mutating the Selection's last Range, startOffset of the Selection's last Range must match the added Range expected 0 but got 6
+PASS Range 21 [foreignDoc.body, 0, foreignDoc.body, 0] followed by Range 30 [testDiv, 2, paras[4], 1]: second addRange() must result in the selection's last range being the same object we added
+PASS Range 21 [foreignDoc.body, 0, foreignDoc.body, 0] followed by Range 30 [testDiv, 2, paras[4], 1]: modifying the second added range must modify the Selection's last Range
+PASS Range 21 [foreignDoc.body, 0, foreignDoc.body, 0] followed by Range 30 [testDiv, 2, paras[4], 1]: modifying the Selection's last Range must modify the second added Range
PASS Range 21 [foreignDoc.body, 0, foreignDoc.body, 0] followed by Range 31 [testDiv, 1, paras[2].firstChild, 5]: first addRange() must not throw exceptions or modify the range it's given
FAIL Range 21 [foreignDoc.body, 0, foreignDoc.body, 0] followed by Range 31 [testDiv, 1, paras[2].firstChild, 5]: first addRange() must result in rangeCount being 1 assert_equals: rangeCount must be 1 expected 1 but got 0
FAIL Range 21 [foreignDoc.body, 0, foreignDoc.body, 0] followed by Range 31 [testDiv, 1, paras[2].firstChild, 5]: first addRange() must result in the selection's last range having the specified endpoints assert_not_equals: Cannot proceed with tests if rangeCount is 0 got disallowed value 0
@@ -1423,13 +1143,9 @@ FAIL Range 21 [foreignDoc.body, 0, foreignDoc.body, 0] followed by Range 31 [tes
PASS Range 21 [foreignDoc.body, 0, foreignDoc.body, 0] followed by Range 31 [testDiv, 1, paras[2].firstChild, 5]: second addRange() must not throw exceptions or modify the range it's given
PASS Range 21 [foreignDoc.body, 0, foreignDoc.body, 0] followed by Range 31 [testDiv, 1, paras[2].firstChild, 5]: second addRange() must result in rangeCount being 1
PASS Range 21 [foreignDoc.body, 0, foreignDoc.body, 0] followed by Range 31 [testDiv, 1, paras[2].firstChild, 5]: second addRange() must result in the selection's last range having the specified endpoints
-FAIL Range 21 [foreignDoc.body, 0, foreignDoc.body, 0] followed by Range 31 [testDiv, 1, paras[2].firstChild, 5]: second addRange() must result in the selection's last range being the same object we added assert_equals: getRangeAt(rangeCount - 1) must return the same object we added expected object "Ijklmnop
-Qrstu" but got object "Ijklmnop
-Qrstu"
-FAIL Range 21 [foreignDoc.body, 0, foreignDoc.body, 0] followed by Range 31 [testDiv, 1, paras[2].firstChild, 5]: modifying the second added range must modify the Selection's last Range assert_equals: After mutating the second added Range, startContainer of the Selection's last Range must match the added Range expected Text node "Äb̈c̈d̈ëf̈g̈ḧ
-" but got Element node <div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ
-</p><p id="b" s...
-FAIL Range 21 [foreignDoc.body, 0, foreignDoc.body, 0] followed by Range 31 [testDiv, 1, paras[2].firstChild, 5]: modifying the Selection's last Range must modify the second added Range assert_equals: After second addRange(), after mutating the Selection's last Range, startOffset of the Selection's last Range must match the added Range expected 0 but got 6
+PASS Range 21 [foreignDoc.body, 0, foreignDoc.body, 0] followed by Range 31 [testDiv, 1, paras[2].firstChild, 5]: second addRange() must result in the selection's last range being the same object we added
+PASS Range 21 [foreignDoc.body, 0, foreignDoc.body, 0] followed by Range 31 [testDiv, 1, paras[2].firstChild, 5]: modifying the second added range must modify the Selection's last Range
+PASS Range 21 [foreignDoc.body, 0, foreignDoc.body, 0] followed by Range 31 [testDiv, 1, paras[2].firstChild, 5]: modifying the Selection's last Range must modify the second added Range
PASS Range 21 [foreignDoc.body, 0, foreignDoc.body, 0] followed by Range 32 [document.documentElement, 1, document.body, 0]: first addRange() must not throw exceptions or modify the range it's given
FAIL Range 21 [foreignDoc.body, 0, foreignDoc.body, 0] followed by Range 32 [document.documentElement, 1, document.body, 0]: first addRange() must result in rangeCount being 1 assert_equals: rangeCount must be 1 expected 1 but got 0
FAIL Range 21 [foreignDoc.body, 0, foreignDoc.body, 0] followed by Range 32 [document.documentElement, 1, document.body, 0]: first addRange() must result in the selection's last range having the specified endpoints assert_not_equals: Cannot proceed with tests if rangeCount is 0 got disallowed value 0
@@ -1439,11 +1155,9 @@ FAIL Range 21 [foreignDoc.body, 0, foreignDoc.body, 0] followed by Range 32 [doc
PASS Range 21 [foreignDoc.body, 0, foreignDoc.body, 0] followed by Range 32 [document.documentElement, 1, document.body, 0]: second addRange() must not throw exceptions or modify the range it's given
PASS Range 21 [foreignDoc.body, 0, foreignDoc.body, 0] followed by Range 32 [document.documentElement, 1, document.body, 0]: second addRange() must result in rangeCount being 1
PASS Range 21 [foreignDoc.body, 0, foreignDoc.body, 0] followed by Range 32 [document.documentElement, 1, document.body, 0]: second addRange() must result in the selection's last range having the specified endpoints
-FAIL Range 21 [foreignDoc.body, 0, foreignDoc.body, 0] followed by Range 32 [document.documentElement, 1, document.body, 0]: second addRange() must result in the selection's last range being the same object we added assert_equals: getRangeAt(rangeCount - 1) must return the same object we added expected object "" but got object ""
-FAIL Range 21 [foreignDoc.body, 0, foreignDoc.body, 0] followed by Range 32 [document.documentElement, 1, document.body, 0]: modifying the second added range must modify the Selection's last Range assert_equals: After mutating the second added Range, startContainer of the Selection's last Range must match the added Range expected Text node "Äb̈c̈d̈ëf̈g̈ḧ
-" but got Element node <html><head><title>Selection.addRange() tests</title>
-<me...
-FAIL Range 21 [foreignDoc.body, 0, foreignDoc.body, 0] followed by Range 32 [document.documentElement, 1, document.body, 0]: modifying the Selection's last Range must modify the second added Range assert_equals: After second addRange(), after mutating the Selection's last Range, startOffset of the Selection's last Range must match the added Range expected 0 but got 6
+PASS Range 21 [foreignDoc.body, 0, foreignDoc.body, 0] followed by Range 32 [document.documentElement, 1, document.body, 0]: second addRange() must result in the selection's last range being the same object we added
+PASS Range 21 [foreignDoc.body, 0, foreignDoc.body, 0] followed by Range 32 [document.documentElement, 1, document.body, 0]: modifying the second added range must modify the Selection's last Range
+PASS Range 21 [foreignDoc.body, 0, foreignDoc.body, 0] followed by Range 32 [document.documentElement, 1, document.body, 0]: modifying the Selection's last Range must modify the second added Range
PASS Range 21 [foreignDoc.body, 0, foreignDoc.body, 0] followed by Range 33 [foreignDoc.documentElement, 1, foreignDoc.body, 0]: first addRange() must not throw exceptions or modify the range it's given
FAIL Range 21 [foreignDoc.body, 0, foreignDoc.body, 0] followed by Range 33 [foreignDoc.documentElement, 1, foreignDoc.body, 0]: first addRange() must result in rangeCount being 1 assert_equals: rangeCount must be 1 expected 1 but got 0
FAIL Range 21 [foreignDoc.body, 0, foreignDoc.body, 0] followed by Range 33 [foreignDoc.documentElement, 1, foreignDoc.body, 0]: first addRange() must result in the selection's last range having the specified endpoints assert_not_equals: Cannot proceed with tests if rangeCount is 0 got disallowed value 0
@@ -1465,10 +1179,9 @@ FAIL Range 21 [foreignDoc.body, 0, foreignDoc.body, 0] followed by Range 34 [doc
PASS Range 21 [foreignDoc.body, 0, foreignDoc.body, 0] followed by Range 34 [document, 0, document, 1]: second addRange() must not throw exceptions or modify the range it's given
PASS Range 21 [foreignDoc.body, 0, foreignDoc.body, 0] followed by Range 34 [document, 0, document, 1]: second addRange() must result in rangeCount being 1
PASS Range 21 [foreignDoc.body, 0, foreignDoc.body, 0] followed by Range 34 [document, 0, document, 1]: second addRange() must result in the selection's last range having the specified endpoints
-FAIL Range 21 [foreignDoc.body, 0, foreignDoc.body, 0] followed by Range 34 [document, 0, document, 1]: second addRange() must result in the selection's last range being the same object we added assert_equals: getRangeAt(rangeCount - 1) must return the same object we added expected object "" but got object ""
-FAIL Range 21 [foreignDoc.body, 0, foreignDoc.body, 0] followed by Range 34 [document, 0, document, 1]: modifying the second added range must modify the Selection's last Range assert_equals: After mutating the second added Range, startContainer of the Selection's last Range must match the added Range expected Text node "Äb̈c̈d̈ëf̈g̈ḧ
-" but got Document node with 2 children
-FAIL Range 21 [foreignDoc.body, 0, foreignDoc.body, 0] followed by Range 34 [document, 0, document, 1]: modifying the Selection's last Range must modify the second added Range assert_equals: After second addRange(), after mutating the Selection's last Range, startOffset of the Selection's last Range must match the added Range expected 0 but got 6
+PASS Range 21 [foreignDoc.body, 0, foreignDoc.body, 0] followed by Range 34 [document, 0, document, 1]: second addRange() must result in the selection's last range being the same object we added
+PASS Range 21 [foreignDoc.body, 0, foreignDoc.body, 0] followed by Range 34 [document, 0, document, 1]: modifying the second added range must modify the Selection's last Range
+PASS Range 21 [foreignDoc.body, 0, foreignDoc.body, 0] followed by Range 34 [document, 0, document, 1]: modifying the Selection's last Range must modify the second added Range
PASS Range 21 [foreignDoc.body, 0, foreignDoc.body, 0] followed by Range 35 [document, 0, document, 2]: first addRange() must not throw exceptions or modify the range it's given
FAIL Range 21 [foreignDoc.body, 0, foreignDoc.body, 0] followed by Range 35 [document, 0, document, 2]: first addRange() must result in rangeCount being 1 assert_equals: rangeCount must be 1 expected 1 but got 0
FAIL Range 21 [foreignDoc.body, 0, foreignDoc.body, 0] followed by Range 35 [document, 0, document, 2]: first addRange() must result in the selection's last range having the specified endpoints assert_not_equals: Cannot proceed with tests if rangeCount is 0 got disallowed value 0
@@ -1478,38 +1191,9 @@ FAIL Range 21 [foreignDoc.body, 0, foreignDoc.body, 0] followed by Range 35 [doc
PASS Range 21 [foreignDoc.body, 0, foreignDoc.body, 0] followed by Range 35 [document, 0, document, 2]: second addRange() must not throw exceptions or modify the range it's given
PASS Range 21 [foreignDoc.body, 0, foreignDoc.body, 0] followed by Range 35 [document, 0, document, 2]: second addRange() must result in rangeCount being 1
PASS Range 21 [foreignDoc.body, 0, foreignDoc.body, 0] followed by Range 35 [document, 0, document, 2]: second addRange() must result in the selection's last range having the specified endpoints
-FAIL Range 21 [foreignDoc.body, 0, foreignDoc.body, 0] followed by Range 35 [document, 0, document, 2]: second addRange() must result in the selection's last range being the same object we added assert_equals: getRangeAt(rangeCount - 1) must return the same object we added expected object "Selection.addRange() tests
-
-Äb̈c̈d̈ëf̈g̈ḧ
-Ijklmnop
-QrstuvwxYzabcdefGhijklmn
-
-
-
-
-
-"use strict";
-
-testAddRangeSubSet(20, 24);
-testDiv.style.display = "none";
-" but got object "Selection.addRange() tests
-
-Äb̈c̈d̈ëf̈g̈ḧ
-Ijklmnop
-QrstuvwxYzabcdefGhijklmn
-
-
-
-
-
-"use strict";
-
-testAddRangeSubSet(20, 24);
-testDiv.style.display = "none";
-"
-FAIL Range 21 [foreignDoc.body, 0, foreignDoc.body, 0] followed by Range 35 [document, 0, document, 2]: modifying the second added range must modify the Selection's last Range assert_equals: After mutating the second added Range, startContainer of the Selection's last Range must match the added Range expected Text node "Äb̈c̈d̈ëf̈g̈ḧ
-" but got Document node with 2 children
-FAIL Range 21 [foreignDoc.body, 0, foreignDoc.body, 0] followed by Range 35 [document, 0, document, 2]: modifying the Selection's last Range must modify the second added Range assert_equals: After second addRange(), after mutating the Selection's last Range, startOffset of the Selection's last Range must match the added Range expected 0 but got 6
+PASS Range 21 [foreignDoc.body, 0, foreignDoc.body, 0] followed by Range 35 [document, 0, document, 2]: second addRange() must result in the selection's last range being the same object we added
+PASS Range 21 [foreignDoc.body, 0, foreignDoc.body, 0] followed by Range 35 [document, 0, document, 2]: modifying the second added range must modify the Selection's last Range
+PASS Range 21 [foreignDoc.body, 0, foreignDoc.body, 0] followed by Range 35 [document, 0, document, 2]: modifying the Selection's last Range must modify the second added Range
PASS Range 21 [foreignDoc.body, 0, foreignDoc.body, 0] followed by Range 36 [document, 1, document, 2]: first addRange() must not throw exceptions or modify the range it's given
FAIL Range 21 [foreignDoc.body, 0, foreignDoc.body, 0] followed by Range 36 [document, 1, document, 2]: first addRange() must result in rangeCount being 1 assert_equals: rangeCount must be 1 expected 1 but got 0
FAIL Range 21 [foreignDoc.body, 0, foreignDoc.body, 0] followed by Range 36 [document, 1, document, 2]: first addRange() must result in the selection's last range having the specified endpoints assert_not_equals: Cannot proceed with tests if rangeCount is 0 got disallowed value 0
@@ -1519,38 +1203,9 @@ FAIL Range 21 [foreignDoc.body, 0, foreignDoc.body, 0] followed by Range 36 [doc
PASS Range 21 [foreignDoc.body, 0, foreignDoc.body, 0] followed by Range 36 [document, 1, document, 2]: second addRange() must not throw exceptions or modify the range it's given
PASS Range 21 [foreignDoc.body, 0, foreignDoc.body, 0] followed by Range 36 [document, 1, document, 2]: second addRange() must result in rangeCount being 1
PASS Range 21 [foreignDoc.body, 0, foreignDoc.body, 0] followed by Range 36 [document, 1, document, 2]: second addRange() must result in the selection's last range having the specified endpoints
-FAIL Range 21 [foreignDoc.body, 0, foreignDoc.body, 0] followed by Range 36 [document, 1, document, 2]: second addRange() must result in the selection's last range being the same object we added assert_equals: getRangeAt(rangeCount - 1) must return the same object we added expected object "Selection.addRange() tests
-
-Äb̈c̈d̈ëf̈g̈ḧ
-Ijklmnop
-QrstuvwxYzabcdefGhijklmn
-
-
-
-
-
-"use strict";
-
-testAddRangeSubSet(20, 24);
-testDiv.style.display = "none";
-" but got object "Selection.addRange() tests
-
-Äb̈c̈d̈ëf̈g̈ḧ
-Ijklmnop
-QrstuvwxYzabcdefGhijklmn
-
-
-
-
-
-"use strict";
-
-testAddRangeSubSet(20, 24);
-testDiv.style.display = "none";
-"
-FAIL Range 21 [foreignDoc.body, 0, foreignDoc.body, 0] followed by Range 36 [document, 1, document, 2]: modifying the second added range must modify the Selection's last Range assert_equals: After mutating the second added Range, startContainer of the Selection's last Range must match the added Range expected Text node "Äb̈c̈d̈ëf̈g̈ḧ
-" but got Document node with 2 children
-FAIL Range 21 [foreignDoc.body, 0, foreignDoc.body, 0] followed by Range 36 [document, 1, document, 2]: modifying the Selection's last Range must modify the second added Range assert_equals: After second addRange(), after mutating the Selection's last Range, startOffset of the Selection's last Range must match the added Range expected 0 but got 6
+PASS Range 21 [foreignDoc.body, 0, foreignDoc.body, 0] followed by Range 36 [document, 1, document, 2]: second addRange() must result in the selection's last range being the same object we added
+PASS Range 21 [foreignDoc.body, 0, foreignDoc.body, 0] followed by Range 36 [document, 1, document, 2]: modifying the second added range must modify the Selection's last Range
+PASS Range 21 [foreignDoc.body, 0, foreignDoc.body, 0] followed by Range 36 [document, 1, document, 2]: modifying the Selection's last Range must modify the second added Range
PASS Range 21 [foreignDoc.body, 0, foreignDoc.body, 0] followed by Range 37 [testDiv, 0, comment, 5]: first addRange() must not throw exceptions or modify the range it's given
FAIL Range 21 [foreignDoc.body, 0, foreignDoc.body, 0] followed by Range 37 [testDiv, 0, comment, 5]: first addRange() must result in rangeCount being 1 assert_equals: rangeCount must be 1 expected 1 but got 0
FAIL Range 21 [foreignDoc.body, 0, foreignDoc.body, 0] followed by Range 37 [testDiv, 0, comment, 5]: first addRange() must result in the selection's last range having the specified endpoints assert_not_equals: Cannot proceed with tests if rangeCount is 0 got disallowed value 0
@@ -1559,17 +1214,10 @@ FAIL Range 21 [foreignDoc.body, 0, foreignDoc.body, 0] followed by Range 37 [tes
FAIL Range 21 [foreignDoc.body, 0, foreignDoc.body, 0] followed by Range 37 [testDiv, 0, comment, 5]: modifying the Selection's last Range must modify the first added Range assert_not_equals: Cannot proceed with tests if rangeCount is 0 got disallowed value 0
PASS Range 21 [foreignDoc.body, 0, foreignDoc.body, 0] followed by Range 37 [testDiv, 0, comment, 5]: second addRange() must not throw exceptions or modify the range it's given
PASS Range 21 [foreignDoc.body, 0, foreignDoc.body, 0] followed by Range 37 [testDiv, 0, comment, 5]: second addRange() must result in rangeCount being 1
-FAIL Range 21 [foreignDoc.body, 0, foreignDoc.body, 0] followed by Range 37 [testDiv, 0, comment, 5]: second addRange() must result in the selection's last range having the specified endpoints assert_equals: endContainer of the Selection's last Range must match the added Range expected Comment node <!--Alphabet soup?--> but got Element node <div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ
-</p><p id="b" s...
-FAIL Range 21 [foreignDoc.body, 0, foreignDoc.body, 0] followed by Range 37 [testDiv, 0, comment, 5]: second addRange() must result in the selection's last range being the same object we added assert_equals: getRangeAt(rangeCount - 1) must return the same object we added expected object "Äb̈c̈d̈ëf̈g̈ḧ
-Ijklmnop
-QrstuvwxYzabcdefGhijklmn" but got object "Äb̈c̈d̈ëf̈g̈ḧ
-Ijklmnop
-QrstuvwxYzabcdefGhijklmn"
-FAIL Range 21 [foreignDoc.body, 0, foreignDoc.body, 0] followed by Range 37 [testDiv, 0, comment, 5]: modifying the second added range must modify the Selection's last Range assert_equals: After mutating the second added Range, startContainer of the Selection's last Range must match the added Range expected Text node "Äb̈c̈d̈ëf̈g̈ḧ
-" but got Element node <div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ
-</p><p id="b" s...
-FAIL Range 21 [foreignDoc.body, 0, foreignDoc.body, 0] followed by Range 37 [testDiv, 0, comment, 5]: modifying the Selection's last Range must modify the second added Range assert_equals: After second addRange(), after mutating the Selection's last Range, startOffset of the Selection's last Range must match the added Range expected 0 but got 6
+PASS Range 21 [foreignDoc.body, 0, foreignDoc.body, 0] followed by Range 37 [testDiv, 0, comment, 5]: second addRange() must result in the selection's last range having the specified endpoints
+PASS Range 21 [foreignDoc.body, 0, foreignDoc.body, 0] followed by Range 37 [testDiv, 0, comment, 5]: second addRange() must result in the selection's last range being the same object we added
+PASS Range 21 [foreignDoc.body, 0, foreignDoc.body, 0] followed by Range 37 [testDiv, 0, comment, 5]: modifying the second added range must modify the Selection's last Range
+PASS Range 21 [foreignDoc.body, 0, foreignDoc.body, 0] followed by Range 37 [testDiv, 0, comment, 5]: modifying the Selection's last Range must modify the second added Range
PASS Range 21 [foreignDoc.body, 0, foreignDoc.body, 0] followed by Range 38 [paras[2].firstChild, 4, comment, 2]: first addRange() must not throw exceptions or modify the range it's given
FAIL Range 21 [foreignDoc.body, 0, foreignDoc.body, 0] followed by Range 38 [paras[2].firstChild, 4, comment, 2]: first addRange() must result in rangeCount being 1 assert_equals: rangeCount must be 1 expected 1 but got 0
FAIL Range 21 [foreignDoc.body, 0, foreignDoc.body, 0] followed by Range 38 [paras[2].firstChild, 4, comment, 2]: first addRange() must result in the selection's last range having the specified endpoints assert_not_equals: Cannot proceed with tests if rangeCount is 0 got disallowed value 0
@@ -1578,12 +1226,10 @@ FAIL Range 21 [foreignDoc.body, 0, foreignDoc.body, 0] followed by Range 38 [par
FAIL Range 21 [foreignDoc.body, 0, foreignDoc.body, 0] followed by Range 38 [paras[2].firstChild, 4, comment, 2]: modifying the Selection's last Range must modify the first added Range assert_not_equals: Cannot proceed with tests if rangeCount is 0 got disallowed value 0
PASS Range 21 [foreignDoc.body, 0, foreignDoc.body, 0] followed by Range 38 [paras[2].firstChild, 4, comment, 2]: second addRange() must not throw exceptions or modify the range it's given
PASS Range 21 [foreignDoc.body, 0, foreignDoc.body, 0] followed by Range 38 [paras[2].firstChild, 4, comment, 2]: second addRange() must result in rangeCount being 1
-FAIL Range 21 [foreignDoc.body, 0, foreignDoc.body, 0] followed by Range 38 [paras[2].firstChild, 4, comment, 2]: second addRange() must result in the selection's last range having the specified endpoints assert_equals: endContainer of the Selection's last Range must match the added Range expected Comment node <!--Alphabet soup?--> but got Element node <div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ
-</p><p id="b" s...
-FAIL Range 21 [foreignDoc.body, 0, foreignDoc.body, 0] followed by Range 38 [paras[2].firstChild, 4, comment, 2]: second addRange() must result in the selection's last range being the same object we added assert_equals: getRangeAt(rangeCount - 1) must return the same object we added expected object "uvwxYzabcdefGhijklmn" but got object "uvwxYzabcdefGhijklmn"
-FAIL Range 21 [foreignDoc.body, 0, foreignDoc.body, 0] followed by Range 38 [paras[2].firstChild, 4, comment, 2]: modifying the second added range must modify the Selection's last Range assert_equals: After mutating the second added Range, startContainer of the Selection's last Range must match the added Range expected Text node "Äb̈c̈d̈ëf̈g̈ḧ
-" but got Text node "Qrstuvwx"
-FAIL Range 21 [foreignDoc.body, 0, foreignDoc.body, 0] followed by Range 38 [paras[2].firstChild, 4, comment, 2]: modifying the Selection's last Range must modify the second added Range assert_equals: After second addRange(), after mutating the Selection's last Range, startOffset of the Selection's last Range must match the added Range expected 0 but got 6
+PASS Range 21 [foreignDoc.body, 0, foreignDoc.body, 0] followed by Range 38 [paras[2].firstChild, 4, comment, 2]: second addRange() must result in the selection's last range having the specified endpoints
+PASS Range 21 [foreignDoc.body, 0, foreignDoc.body, 0] followed by Range 38 [paras[2].firstChild, 4, comment, 2]: second addRange() must result in the selection's last range being the same object we added
+PASS Range 21 [foreignDoc.body, 0, foreignDoc.body, 0] followed by Range 38 [paras[2].firstChild, 4, comment, 2]: modifying the second added range must modify the Selection's last Range
+PASS Range 21 [foreignDoc.body, 0, foreignDoc.body, 0] followed by Range 38 [paras[2].firstChild, 4, comment, 2]: modifying the Selection's last Range must modify the second added Range
PASS Range 21 [foreignDoc.body, 0, foreignDoc.body, 0] followed by Range 39 [paras[3], 1, comment, 8]: first addRange() must not throw exceptions or modify the range it's given
FAIL Range 21 [foreignDoc.body, 0, foreignDoc.body, 0] followed by Range 39 [paras[3], 1, comment, 8]: first addRange() must result in rangeCount being 1 assert_equals: rangeCount must be 1 expected 1 but got 0
FAIL Range 21 [foreignDoc.body, 0, foreignDoc.body, 0] followed by Range 39 [paras[3], 1, comment, 8]: first addRange() must result in the selection's last range having the specified endpoints assert_not_equals: Cannot proceed with tests if rangeCount is 0 got disallowed value 0
@@ -1592,12 +1238,10 @@ FAIL Range 21 [foreignDoc.body, 0, foreignDoc.body, 0] followed by Range 39 [par
FAIL Range 21 [foreignDoc.body, 0, foreignDoc.body, 0] followed by Range 39 [paras[3], 1, comment, 8]: modifying the Selection's last Range must modify the first added Range assert_not_equals: Cannot proceed with tests if rangeCount is 0 got disallowed value 0
PASS Range 21 [foreignDoc.body, 0, foreignDoc.body, 0] followed by Range 39 [paras[3], 1, comment, 8]: second addRange() must not throw exceptions or modify the range it's given
PASS Range 21 [foreignDoc.body, 0, foreignDoc.body, 0] followed by Range 39 [paras[3], 1, comment, 8]: second addRange() must result in rangeCount being 1
-FAIL Range 21 [foreignDoc.body, 0, foreignDoc.body, 0] followed by Range 39 [paras[3], 1, comment, 8]: second addRange() must result in the selection's last range having the specified endpoints assert_equals: endContainer of the Selection's last Range must match the added Range expected Comment node <!--Alphabet soup?--> but got Element node <div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ
-</p><p id="b" s...
-FAIL Range 21 [foreignDoc.body, 0, foreignDoc.body, 0] followed by Range 39 [paras[3], 1, comment, 8]: second addRange() must result in the selection's last range being the same object we added assert_equals: getRangeAt(rangeCount - 1) must return the same object we added expected object "Ghijklmn" but got object "Ghijklmn"
-FAIL Range 21 [foreignDoc.body, 0, foreignDoc.body, 0] followed by Range 39 [paras[3], 1, comment, 8]: modifying the second added range must modify the Selection's last Range assert_equals: After mutating the second added Range, startContainer of the Selection's last Range must match the added Range expected Text node "Äb̈c̈d̈ëf̈g̈ḧ
-" but got Element node <p id="d" style="display:none">Yzabcdef</p>
-FAIL Range 21 [foreignDoc.body, 0, foreignDoc.body, 0] followed by Range 39 [paras[3], 1, comment, 8]: modifying the Selection's last Range must modify the second added Range assert_equals: After second addRange(), after mutating the Selection's last Range, startOffset of the Selection's last Range must match the added Range expected 0 but got 6
+PASS Range 21 [foreignDoc.body, 0, foreignDoc.body, 0] followed by Range 39 [paras[3], 1, comment, 8]: second addRange() must result in the selection's last range having the specified endpoints
+PASS Range 21 [foreignDoc.body, 0, foreignDoc.body, 0] followed by Range 39 [paras[3], 1, comment, 8]: second addRange() must result in the selection's last range being the same object we added
+PASS Range 21 [foreignDoc.body, 0, foreignDoc.body, 0] followed by Range 39 [paras[3], 1, comment, 8]: modifying the second added range must modify the Selection's last Range
+PASS Range 21 [foreignDoc.body, 0, foreignDoc.body, 0] followed by Range 39 [paras[3], 1, comment, 8]: modifying the Selection's last Range must modify the second added Range
PASS Range 21 [foreignDoc.body, 0, foreignDoc.body, 0] followed by Range 40 [foreignDoc, 0, foreignDoc, 0]: first addRange() must not throw exceptions or modify the range it's given
FAIL Range 21 [foreignDoc.body, 0, foreignDoc.body, 0] followed by Range 40 [foreignDoc, 0, foreignDoc, 0]: first addRange() must result in rangeCount being 1 assert_equals: rangeCount must be 1 expected 1 but got 0
FAIL Range 21 [foreignDoc.body, 0, foreignDoc.body, 0] followed by Range 40 [foreignDoc, 0, foreignDoc, 0]: first addRange() must result in the selection's last range having the specified endpoints assert_not_equals: Cannot proceed with tests if rangeCount is 0 got disallowed value 0
@@ -1817,278 +1461,208 @@ FAIL Range 21 [foreignDoc.body, 0, foreignDoc.body, 0] followed by Range 57 [xml
PASS Range 22 [paras[0], 0, paras[0], 0] followed by Range 0 [paras[0].firstChild, 0, paras[0].firstChild, 0]: first addRange() must not throw exceptions or modify the range it's given
PASS Range 22 [paras[0], 0, paras[0], 0] followed by Range 0 [paras[0].firstChild, 0, paras[0].firstChild, 0]: first addRange() must result in rangeCount being 1
PASS Range 22 [paras[0], 0, paras[0], 0] followed by Range 0 [paras[0].firstChild, 0, paras[0].firstChild, 0]: first addRange() must result in the selection's last range having the specified endpoints
-FAIL Range 22 [paras[0], 0, paras[0], 0] followed by Range 0 [paras[0].firstChild, 0, paras[0].firstChild, 0]: first addRange() must result in the selection's last range being the same object we added assert_equals: getRangeAt(rangeCount - 1) must return the same object we added expected object "" but got object ""
-FAIL Range 22 [paras[0], 0, paras[0], 0] followed by Range 0 [paras[0].firstChild, 0, paras[0].firstChild, 0]: modifying the first added range must modify the Selection's last Range assert_equals: After mutating the first added Range, startContainer of the Selection's last Range must match the added Range expected Text node "Äb̈c̈d̈ëf̈g̈ḧ
-" but got Element node <p id="a">Äb̈c̈d̈ëf̈g̈ḧ
-</p>
-FAIL Range 22 [paras[0], 0, paras[0], 0] followed by Range 0 [paras[0].firstChild, 0, paras[0].firstChild, 0]: modifying the Selection's last Range must modify the first added Range assert_equals: After first addRange(), after mutating the Selection's last Range, startOffset of the Selection's last Range must match the added Range expected 0 but got 6
+PASS Range 22 [paras[0], 0, paras[0], 0] followed by Range 0 [paras[0].firstChild, 0, paras[0].firstChild, 0]: first addRange() must result in the selection's last range being the same object we added
+PASS Range 22 [paras[0], 0, paras[0], 0] followed by Range 0 [paras[0].firstChild, 0, paras[0].firstChild, 0]: modifying the first added range must modify the Selection's last Range
+PASS Range 22 [paras[0], 0, paras[0], 0] followed by Range 0 [paras[0].firstChild, 0, paras[0].firstChild, 0]: modifying the Selection's last Range must modify the first added Range
PASS Range 22 [paras[0], 0, paras[0], 0] followed by Range 0 [paras[0].firstChild, 0, paras[0].firstChild, 0]: second addRange() must not throw exceptions or modify the range it's given
PASS Range 22 [paras[0], 0, paras[0], 0] followed by Range 0 [paras[0].firstChild, 0, paras[0].firstChild, 0]: second addRange() must result in rangeCount being 1
-FAIL Range 22 [paras[0], 0, paras[0], 0] followed by Range 0 [paras[0].firstChild, 0, paras[0].firstChild, 0]: second addRange() must result in the selection's last range having the specified endpoints assert_equals: startContainer of the Selection's last Range must match the added Range expected Text node "Äb̈c̈d̈ëf̈g̈ḧ
-" but got Element node <p id="a">Äb̈c̈d̈ëf̈g̈ḧ
-</p>
+FAIL Range 22 [paras[0], 0, paras[0], 0] followed by Range 0 [paras[0].firstChild, 0, paras[0].firstChild, 0]: second addRange() must result in the selection's last range having the specified endpoints assert_equals: startOffset of the Selection's last Range must match the added Range expected 0 but got 6
FAIL Range 22 [paras[0], 0, paras[0], 0] followed by Range 0 [paras[0].firstChild, 0, paras[0].firstChild, 0]: second addRange() must result in the selection's last range being the same object we added assert_equals: getRangeAt(rangeCount - 1) must return the same object we added expected object "" but got object ""
-FAIL Range 22 [paras[0], 0, paras[0], 0] followed by Range 0 [paras[0].firstChild, 0, paras[0].firstChild, 0]: modifying the second added range must modify the Selection's last Range assert_equals: After mutating the second added Range, startContainer of the Selection's last Range must match the added Range expected Text node "Äb̈c̈d̈ëf̈g̈ḧ
-" but got Element node <p id="a">Äb̈c̈d̈ëf̈g̈ḧ
-</p>
+FAIL Range 22 [paras[0], 0, paras[0], 0] followed by Range 0 [paras[0].firstChild, 0, paras[0].firstChild, 0]: modifying the second added range must modify the Selection's last Range assert_equals: After mutating the second added Range, startOffset of the Selection's last Range must match the added Range expected 0 but got 6
FAIL Range 22 [paras[0], 0, paras[0], 0] followed by Range 0 [paras[0].firstChild, 0, paras[0].firstChild, 0]: modifying the Selection's last Range must modify the second added Range assert_equals: After second addRange(), after mutating the Selection's last Range, startOffset of the Selection's last Range must match the added Range expected 0 but got 6
PASS Range 22 [paras[0], 0, paras[0], 0] followed by Range 1 [paras[0].firstChild, 0, paras[0].firstChild, 1]: first addRange() must not throw exceptions or modify the range it's given
PASS Range 22 [paras[0], 0, paras[0], 0] followed by Range 1 [paras[0].firstChild, 0, paras[0].firstChild, 1]: first addRange() must result in rangeCount being 1
PASS Range 22 [paras[0], 0, paras[0], 0] followed by Range 1 [paras[0].firstChild, 0, paras[0].firstChild, 1]: first addRange() must result in the selection's last range having the specified endpoints
-FAIL Range 22 [paras[0], 0, paras[0], 0] followed by Range 1 [paras[0].firstChild, 0, paras[0].firstChild, 1]: first addRange() must result in the selection's last range being the same object we added assert_equals: getRangeAt(rangeCount - 1) must return the same object we added expected object "" but got object ""
-FAIL Range 22 [paras[0], 0, paras[0], 0] followed by Range 1 [paras[0].firstChild, 0, paras[0].firstChild, 1]: modifying the first added range must modify the Selection's last Range assert_equals: After mutating the first added Range, startContainer of the Selection's last Range must match the added Range expected Text node "Äb̈c̈d̈ëf̈g̈ḧ
-" but got Element node <p id="a">Äb̈c̈d̈ëf̈g̈ḧ
-</p>
-FAIL Range 22 [paras[0], 0, paras[0], 0] followed by Range 1 [paras[0].firstChild, 0, paras[0].firstChild, 1]: modifying the Selection's last Range must modify the first added Range assert_equals: After first addRange(), after mutating the Selection's last Range, startOffset of the Selection's last Range must match the added Range expected 0 but got 6
+PASS Range 22 [paras[0], 0, paras[0], 0] followed by Range 1 [paras[0].firstChild, 0, paras[0].firstChild, 1]: first addRange() must result in the selection's last range being the same object we added
+PASS Range 22 [paras[0], 0, paras[0], 0] followed by Range 1 [paras[0].firstChild, 0, paras[0].firstChild, 1]: modifying the first added range must modify the Selection's last Range
+PASS Range 22 [paras[0], 0, paras[0], 0] followed by Range 1 [paras[0].firstChild, 0, paras[0].firstChild, 1]: modifying the Selection's last Range must modify the first added Range
PASS Range 22 [paras[0], 0, paras[0], 0] followed by Range 1 [paras[0].firstChild, 0, paras[0].firstChild, 1]: second addRange() must not throw exceptions or modify the range it's given
PASS Range 22 [paras[0], 0, paras[0], 0] followed by Range 1 [paras[0].firstChild, 0, paras[0].firstChild, 1]: second addRange() must result in rangeCount being 1
-FAIL Range 22 [paras[0], 0, paras[0], 0] followed by Range 1 [paras[0].firstChild, 0, paras[0].firstChild, 1]: second addRange() must result in the selection's last range having the specified endpoints assert_equals: startContainer of the Selection's last Range must match the added Range expected Text node "Äb̈c̈d̈ëf̈g̈ḧ
-" but got Element node <p id="a">Äb̈c̈d̈ëf̈g̈ḧ
-</p>
+FAIL Range 22 [paras[0], 0, paras[0], 0] followed by Range 1 [paras[0].firstChild, 0, paras[0].firstChild, 1]: second addRange() must result in the selection's last range having the specified endpoints assert_equals: startOffset of the Selection's last Range must match the added Range expected 0 but got 6
FAIL Range 22 [paras[0], 0, paras[0], 0] followed by Range 1 [paras[0].firstChild, 0, paras[0].firstChild, 1]: second addRange() must result in the selection's last range being the same object we added assert_equals: getRangeAt(rangeCount - 1) must return the same object we added expected object "A" but got object ""
-FAIL Range 22 [paras[0], 0, paras[0], 0] followed by Range 1 [paras[0].firstChild, 0, paras[0].firstChild, 1]: modifying the second added range must modify the Selection's last Range assert_equals: After mutating the second added Range, startContainer of the Selection's last Range must match the added Range expected Text node "Äb̈c̈d̈ëf̈g̈ḧ
-" but got Element node <p id="a">Äb̈c̈d̈ëf̈g̈ḧ
-</p>
+FAIL Range 22 [paras[0], 0, paras[0], 0] followed by Range 1 [paras[0].firstChild, 0, paras[0].firstChild, 1]: modifying the second added range must modify the Selection's last Range assert_equals: After mutating the second added Range, startOffset of the Selection's last Range must match the added Range expected 0 but got 6
FAIL Range 22 [paras[0], 0, paras[0], 0] followed by Range 1 [paras[0].firstChild, 0, paras[0].firstChild, 1]: modifying the Selection's last Range must modify the second added Range assert_equals: After second addRange(), after mutating the Selection's last Range, startOffset of the Selection's last Range must match the added Range expected 0 but got 6
PASS Range 22 [paras[0], 0, paras[0], 0] followed by Range 2 [paras[0].firstChild, 2, paras[0].firstChild, 8]: first addRange() must not throw exceptions or modify the range it's given
PASS Range 22 [paras[0], 0, paras[0], 0] followed by Range 2 [paras[0].firstChild, 2, paras[0].firstChild, 8]: first addRange() must result in rangeCount being 1
PASS Range 22 [paras[0], 0, paras[0], 0] followed by Range 2 [paras[0].firstChild, 2, paras[0].firstChild, 8]: first addRange() must result in the selection's last range having the specified endpoints
-FAIL Range 22 [paras[0], 0, paras[0], 0] followed by Range 2 [paras[0].firstChild, 2, paras[0].firstChild, 8]: first addRange() must result in the selection's last range being the same object we added assert_equals: getRangeAt(rangeCount - 1) must return the same object we added expected object "" but got object ""
-FAIL Range 22 [paras[0], 0, paras[0], 0] followed by Range 2 [paras[0].firstChild, 2, paras[0].firstChild, 8]: modifying the first added range must modify the Selection's last Range assert_equals: After mutating the first added Range, startContainer of the Selection's last Range must match the added Range expected Text node "Äb̈c̈d̈ëf̈g̈ḧ
-" but got Element node <p id="a">Äb̈c̈d̈ëf̈g̈ḧ
-</p>
-FAIL Range 22 [paras[0], 0, paras[0], 0] followed by Range 2 [paras[0].firstChild, 2, paras[0].firstChild, 8]: modifying the Selection's last Range must modify the first added Range assert_equals: After first addRange(), after mutating the Selection's last Range, startOffset of the Selection's last Range must match the added Range expected 0 but got 6
+PASS Range 22 [paras[0], 0, paras[0], 0] followed by Range 2 [paras[0].firstChild, 2, paras[0].firstChild, 8]: first addRange() must result in the selection's last range being the same object we added
+PASS Range 22 [paras[0], 0, paras[0], 0] followed by Range 2 [paras[0].firstChild, 2, paras[0].firstChild, 8]: modifying the first added range must modify the Selection's last Range
+PASS Range 22 [paras[0], 0, paras[0], 0] followed by Range 2 [paras[0].firstChild, 2, paras[0].firstChild, 8]: modifying the Selection's last Range must modify the first added Range
PASS Range 22 [paras[0], 0, paras[0], 0] followed by Range 2 [paras[0].firstChild, 2, paras[0].firstChild, 8]: second addRange() must not throw exceptions or modify the range it's given
PASS Range 22 [paras[0], 0, paras[0], 0] followed by Range 2 [paras[0].firstChild, 2, paras[0].firstChild, 8]: second addRange() must result in rangeCount being 1
-FAIL Range 22 [paras[0], 0, paras[0], 0] followed by Range 2 [paras[0].firstChild, 2, paras[0].firstChild, 8]: second addRange() must result in the selection's last range having the specified endpoints assert_equals: startContainer of the Selection's last Range must match the added Range expected Text node "Äb̈c̈d̈ëf̈g̈ḧ
-" but got Element node <p id="a">Äb̈c̈d̈ëf̈g̈ḧ
-</p>
+FAIL Range 22 [paras[0], 0, paras[0], 0] followed by Range 2 [paras[0].firstChild, 2, paras[0].firstChild, 8]: second addRange() must result in the selection's last range having the specified endpoints assert_equals: startOffset of the Selection's last Range must match the added Range expected 2 but got 6
FAIL Range 22 [paras[0], 0, paras[0], 0] followed by Range 2 [paras[0].firstChild, 2, paras[0].firstChild, 8]: second addRange() must result in the selection's last range being the same object we added assert_equals: getRangeAt(rangeCount - 1) must return the same object we added expected object "b̈c̈d̈" but got object ""
-FAIL Range 22 [paras[0], 0, paras[0], 0] followed by Range 2 [paras[0].firstChild, 2, paras[0].firstChild, 8]: modifying the second added range must modify the Selection's last Range assert_equals: After mutating the second added Range, startContainer of the Selection's last Range must match the added Range expected Text node "Äb̈c̈d̈ëf̈g̈ḧ
-" but got Element node <p id="a">Äb̈c̈d̈ëf̈g̈ḧ
-</p>
+FAIL Range 22 [paras[0], 0, paras[0], 0] followed by Range 2 [paras[0].firstChild, 2, paras[0].firstChild, 8]: modifying the second added range must modify the Selection's last Range assert_equals: After mutating the second added Range, startOffset of the Selection's last Range must match the added Range expected 0 but got 6
FAIL Range 22 [paras[0], 0, paras[0], 0] followed by Range 2 [paras[0].firstChild, 2, paras[0].firstChild, 8]: modifying the Selection's last Range must modify the second added Range assert_equals: After second addRange(), after mutating the Selection's last Range, startOffset of the Selection's last Range must match the added Range expected 0 but got 6
PASS Range 22 [paras[0], 0, paras[0], 0] followed by Range 3 [paras[0].firstChild, 2, paras[0].firstChild, 9]: first addRange() must not throw exceptions or modify the range it's given
PASS Range 22 [paras[0], 0, paras[0], 0] followed by Range 3 [paras[0].firstChild, 2, paras[0].firstChild, 9]: first addRange() must result in rangeCount being 1
PASS Range 22 [paras[0], 0, paras[0], 0] followed by Range 3 [paras[0].firstChild, 2, paras[0].firstChild, 9]: first addRange() must result in the selection's last range having the specified endpoints
-FAIL Range 22 [paras[0], 0, paras[0], 0] followed by Range 3 [paras[0].firstChild, 2, paras[0].firstChild, 9]: first addRange() must result in the selection's last range being the same object we added assert_equals: getRangeAt(rangeCount - 1) must return the same object we added expected object "" but got object ""
-FAIL Range 22 [paras[0], 0, paras[0], 0] followed by Range 3 [paras[0].firstChild, 2, paras[0].firstChild, 9]: modifying the first added range must modify the Selection's last Range assert_equals: After mutating the first added Range, startContainer of the Selection's last Range must match the added Range expected Text node "Äb̈c̈d̈ëf̈g̈ḧ
-" but got Element node <p id="a">Äb̈c̈d̈ëf̈g̈ḧ
-</p>
-FAIL Range 22 [paras[0], 0, paras[0], 0] followed by Range 3 [paras[0].firstChild, 2, paras[0].firstChild, 9]: modifying the Selection's last Range must modify the first added Range assert_equals: After first addRange(), after mutating the Selection's last Range, startOffset of the Selection's last Range must match the added Range expected 0 but got 6
+PASS Range 22 [paras[0], 0, paras[0], 0] followed by Range 3 [paras[0].firstChild, 2, paras[0].firstChild, 9]: first addRange() must result in the selection's last range being the same object we added
+PASS Range 22 [paras[0], 0, paras[0], 0] followed by Range 3 [paras[0].firstChild, 2, paras[0].firstChild, 9]: modifying the first added range must modify the Selection's last Range
+PASS Range 22 [paras[0], 0, paras[0], 0] followed by Range 3 [paras[0].firstChild, 2, paras[0].firstChild, 9]: modifying the Selection's last Range must modify the first added Range
PASS Range 22 [paras[0], 0, paras[0], 0] followed by Range 3 [paras[0].firstChild, 2, paras[0].firstChild, 9]: second addRange() must not throw exceptions or modify the range it's given
PASS Range 22 [paras[0], 0, paras[0], 0] followed by Range 3 [paras[0].firstChild, 2, paras[0].firstChild, 9]: second addRange() must result in rangeCount being 1
-FAIL Range 22 [paras[0], 0, paras[0], 0] followed by Range 3 [paras[0].firstChild, 2, paras[0].firstChild, 9]: second addRange() must result in the selection's last range having the specified endpoints assert_equals: startContainer of the Selection's last Range must match the added Range expected Text node "Äb̈c̈d̈ëf̈g̈ḧ
-" but got Element node <p id="a">Äb̈c̈d̈ëf̈g̈ḧ
-</p>
+FAIL Range 22 [paras[0], 0, paras[0], 0] followed by Range 3 [paras[0].firstChild, 2, paras[0].firstChild, 9]: second addRange() must result in the selection's last range having the specified endpoints assert_equals: startOffset of the Selection's last Range must match the added Range expected 2 but got 6
FAIL Range 22 [paras[0], 0, paras[0], 0] followed by Range 3 [paras[0].firstChild, 2, paras[0].firstChild, 9]: second addRange() must result in the selection's last range being the same object we added assert_equals: getRangeAt(rangeCount - 1) must return the same object we added expected object "b̈c̈d̈e" but got object ""
-FAIL Range 22 [paras[0], 0, paras[0], 0] followed by Range 3 [paras[0].firstChild, 2, paras[0].firstChild, 9]: modifying the second added range must modify the Selection's last Range assert_equals: After mutating the second added Range, startContainer of the Selection's last Range must match the added Range expected Text node "Äb̈c̈d̈ëf̈g̈ḧ
-" but got Element node <p id="a">Äb̈c̈d̈ëf̈g̈ḧ
-</p>
+FAIL Range 22 [paras[0], 0, paras[0], 0] followed by Range 3 [paras[0].firstChild, 2, paras[0].firstChild, 9]: modifying the second added range must modify the Selection's last Range assert_equals: After mutating the second added Range, startOffset of the Selection's last Range must match the added Range expected 0 but got 6
FAIL Range 22 [paras[0], 0, paras[0], 0] followed by Range 3 [paras[0].firstChild, 2, paras[0].firstChild, 9]: modifying the Selection's last Range must modify the second added Range assert_equals: After second addRange(), after mutating the Selection's last Range, startOffset of the Selection's last Range must match the added Range expected 0 but got 6
PASS Range 22 [paras[0], 0, paras[0], 0] followed by Range 4 [paras[1].firstChild, 0, paras[1].firstChild, 0]: first addRange() must not throw exceptions or modify the range it's given
PASS Range 22 [paras[0], 0, paras[0], 0] followed by Range 4 [paras[1].firstChild, 0, paras[1].firstChild, 0]: first addRange() must result in rangeCount being 1
PASS Range 22 [paras[0], 0, paras[0], 0] followed by Range 4 [paras[1].firstChild, 0, paras[1].firstChild, 0]: first addRange() must result in the selection's last range having the specified endpoints
-FAIL Range 22 [paras[0], 0, paras[0], 0] followed by Range 4 [paras[1].firstChild, 0, paras[1].firstChild, 0]: first addRange() must result in the selection's last range being the same object we added assert_equals: getRangeAt(rangeCount - 1) must return the same object we added expected object "" but got object ""
-FAIL Range 22 [paras[0], 0, paras[0], 0] followed by Range 4 [paras[1].firstChild, 0, paras[1].firstChild, 0]: modifying the first added range must modify the Selection's last Range assert_equals: After mutating the first added Range, startContainer of the Selection's last Range must match the added Range expected Text node "Äb̈c̈d̈ëf̈g̈ḧ
-" but got Element node <p id="a">Äb̈c̈d̈ëf̈g̈ḧ
-</p>
-FAIL Range 22 [paras[0], 0, paras[0], 0] followed by Range 4 [paras[1].firstChild, 0, paras[1].firstChild, 0]: modifying the Selection's last Range must modify the first added Range assert_equals: After first addRange(), after mutating the Selection's last Range, startOffset of the Selection's last Range must match the added Range expected 0 but got 6
+PASS Range 22 [paras[0], 0, paras[0], 0] followed by Range 4 [paras[1].firstChild, 0, paras[1].firstChild, 0]: first addRange() must result in the selection's last range being the same object we added
+PASS Range 22 [paras[0], 0, paras[0], 0] followed by Range 4 [paras[1].firstChild, 0, paras[1].firstChild, 0]: modifying the first added range must modify the Selection's last Range
+PASS Range 22 [paras[0], 0, paras[0], 0] followed by Range 4 [paras[1].firstChild, 0, paras[1].firstChild, 0]: modifying the Selection's last Range must modify the first added Range
PASS Range 22 [paras[0], 0, paras[0], 0] followed by Range 4 [paras[1].firstChild, 0, paras[1].firstChild, 0]: second addRange() must not throw exceptions or modify the range it's given
PASS Range 22 [paras[0], 0, paras[0], 0] followed by Range 4 [paras[1].firstChild, 0, paras[1].firstChild, 0]: second addRange() must result in rangeCount being 1
FAIL Range 22 [paras[0], 0, paras[0], 0] followed by Range 4 [paras[1].firstChild, 0, paras[1].firstChild, 0]: second addRange() must result in the selection's last range having the specified endpoints assert_equals: startContainer of the Selection's last Range must match the added Range expected Text node "Ijklmnop
-" but got Element node <p id="a">Äb̈c̈d̈ëf̈g̈ḧ
-</p>
+" but got Text node "Äb̈c̈d̈ëf̈g̈ḧ
+"
FAIL Range 22 [paras[0], 0, paras[0], 0] followed by Range 4 [paras[1].firstChild, 0, paras[1].firstChild, 0]: second addRange() must result in the selection's last range being the same object we added assert_equals: getRangeAt(rangeCount - 1) must return the same object we added expected object "" but got object ""
-FAIL Range 22 [paras[0], 0, paras[0], 0] followed by Range 4 [paras[1].firstChild, 0, paras[1].firstChild, 0]: modifying the second added range must modify the Selection's last Range assert_equals: After mutating the second added Range, startContainer of the Selection's last Range must match the added Range expected Text node "Äb̈c̈d̈ëf̈g̈ḧ
-" but got Element node <p id="a">Äb̈c̈d̈ëf̈g̈ḧ
-</p>
+FAIL Range 22 [paras[0], 0, paras[0], 0] followed by Range 4 [paras[1].firstChild, 0, paras[1].firstChild, 0]: modifying the second added range must modify the Selection's last Range assert_equals: After mutating the second added Range, startOffset of the Selection's last Range must match the added Range expected 0 but got 6
FAIL Range 22 [paras[0], 0, paras[0], 0] followed by Range 4 [paras[1].firstChild, 0, paras[1].firstChild, 0]: modifying the Selection's last Range must modify the second added Range assert_equals: After second addRange(), after mutating the Selection's last Range, startOffset of the Selection's last Range must match the added Range expected 0 but got 6
PASS Range 22 [paras[0], 0, paras[0], 0] followed by Range 5 [paras[1].firstChild, 0, paras[1].firstChild, 1]: first addRange() must not throw exceptions or modify the range it's given
PASS Range 22 [paras[0], 0, paras[0], 0] followed by Range 5 [paras[1].firstChild, 0, paras[1].firstChild, 1]: first addRange() must result in rangeCount being 1
PASS Range 22 [paras[0], 0, paras[0], 0] followed by Range 5 [paras[1].firstChild, 0, paras[1].firstChild, 1]: first addRange() must result in the selection's last range having the specified endpoints
-FAIL Range 22 [paras[0], 0, paras[0], 0] followed by Range 5 [paras[1].firstChild, 0, paras[1].firstChild, 1]: first addRange() must result in the selection's last range being the same object we added assert_equals: getRangeAt(rangeCount - 1) must return the same object we added expected object "" but got object ""
-FAIL Range 22 [paras[0], 0, paras[0], 0] followed by Range 5 [paras[1].firstChild, 0, paras[1].firstChild, 1]: modifying the first added range must modify the Selection's last Range assert_equals: After mutating the first added Range, startContainer of the Selection's last Range must match the added Range expected Text node "Äb̈c̈d̈ëf̈g̈ḧ
-" but got Element node <p id="a">Äb̈c̈d̈ëf̈g̈ḧ
-</p>
-FAIL Range 22 [paras[0], 0, paras[0], 0] followed by Range 5 [paras[1].firstChild, 0, paras[1].firstChild, 1]: modifying the Selection's last Range must modify the first added Range assert_equals: After first addRange(), after mutating the Selection's last Range, startOffset of the Selection's last Range must match the added Range expected 0 but got 6
+PASS Range 22 [paras[0], 0, paras[0], 0] followed by Range 5 [paras[1].firstChild, 0, paras[1].firstChild, 1]: first addRange() must result in the selection's last range being the same object we added
+PASS Range 22 [paras[0], 0, paras[0], 0] followed by Range 5 [paras[1].firstChild, 0, paras[1].firstChild, 1]: modifying the first added range must modify the Selection's last Range
+PASS Range 22 [paras[0], 0, paras[0], 0] followed by Range 5 [paras[1].firstChild, 0, paras[1].firstChild, 1]: modifying the Selection's last Range must modify the first added Range
PASS Range 22 [paras[0], 0, paras[0], 0] followed by Range 5 [paras[1].firstChild, 0, paras[1].firstChild, 1]: second addRange() must not throw exceptions or modify the range it's given
PASS Range 22 [paras[0], 0, paras[0], 0] followed by Range 5 [paras[1].firstChild, 0, paras[1].firstChild, 1]: second addRange() must result in rangeCount being 1
FAIL Range 22 [paras[0], 0, paras[0], 0] followed by Range 5 [paras[1].firstChild, 0, paras[1].firstChild, 1]: second addRange() must result in the selection's last range having the specified endpoints assert_equals: startContainer of the Selection's last Range must match the added Range expected Text node "Ijklmnop
-" but got Element node <p id="a">Äb̈c̈d̈ëf̈g̈ḧ
-</p>
+" but got Text node "Äb̈c̈d̈ëf̈g̈ḧ
+"
FAIL Range 22 [paras[0], 0, paras[0], 0] followed by Range 5 [paras[1].firstChild, 0, paras[1].firstChild, 1]: second addRange() must result in the selection's last range being the same object we added assert_equals: getRangeAt(rangeCount - 1) must return the same object we added expected object "I" but got object ""
-FAIL Range 22 [paras[0], 0, paras[0], 0] followed by Range 5 [paras[1].firstChild, 0, paras[1].firstChild, 1]: modifying the second added range must modify the Selection's last Range assert_equals: After mutating the second added Range, startContainer of the Selection's last Range must match the added Range expected Text node "Äb̈c̈d̈ëf̈g̈ḧ
-" but got Element node <p id="a">Äb̈c̈d̈ëf̈g̈ḧ
-</p>
+FAIL Range 22 [paras[0], 0, paras[0], 0] followed by Range 5 [paras[1].firstChild, 0, paras[1].firstChild, 1]: modifying the second added range must modify the Selection's last Range assert_equals: After mutating the second added Range, startOffset of the Selection's last Range must match the added Range expected 0 but got 6
FAIL Range 22 [paras[0], 0, paras[0], 0] followed by Range 5 [paras[1].firstChild, 0, paras[1].firstChild, 1]: modifying the Selection's last Range must modify the second added Range assert_equals: After second addRange(), after mutating the Selection's last Range, startOffset of the Selection's last Range must match the added Range expected 0 but got 6
PASS Range 22 [paras[0], 0, paras[0], 0] followed by Range 6 [paras[1].firstChild, 2, paras[1].firstChild, 8]: first addRange() must not throw exceptions or modify the range it's given
PASS Range 22 [paras[0], 0, paras[0], 0] followed by Range 6 [paras[1].firstChild, 2, paras[1].firstChild, 8]: first addRange() must result in rangeCount being 1
PASS Range 22 [paras[0], 0, paras[0], 0] followed by Range 6 [paras[1].firstChild, 2, paras[1].firstChild, 8]: first addRange() must result in the selection's last range having the specified endpoints
-FAIL Range 22 [paras[0], 0, paras[0], 0] followed by Range 6 [paras[1].firstChild, 2, paras[1].firstChild, 8]: first addRange() must result in the selection's last range being the same object we added assert_equals: getRangeAt(rangeCount - 1) must return the same object we added expected object "" but got object ""
-FAIL Range 22 [paras[0], 0, paras[0], 0] followed by Range 6 [paras[1].firstChild, 2, paras[1].firstChild, 8]: modifying the first added range must modify the Selection's last Range assert_equals: After mutating the first added Range, startContainer of the Selection's last Range must match the added Range expected Text node "Äb̈c̈d̈ëf̈g̈ḧ
-" but got Element node <p id="a">Äb̈c̈d̈ëf̈g̈ḧ
-</p>
-FAIL Range 22 [paras[0], 0, paras[0], 0] followed by Range 6 [paras[1].firstChild, 2, paras[1].firstChild, 8]: modifying the Selection's last Range must modify the first added Range assert_equals: After first addRange(), after mutating the Selection's last Range, startOffset of the Selection's last Range must match the added Range expected 0 but got 6
+PASS Range 22 [paras[0], 0, paras[0], 0] followed by Range 6 [paras[1].firstChild, 2, paras[1].firstChild, 8]: first addRange() must result in the selection's last range being the same object we added
+PASS Range 22 [paras[0], 0, paras[0], 0] followed by Range 6 [paras[1].firstChild, 2, paras[1].firstChild, 8]: modifying the first added range must modify the Selection's last Range
+PASS Range 22 [paras[0], 0, paras[0], 0] followed by Range 6 [paras[1].firstChild, 2, paras[1].firstChild, 8]: modifying the Selection's last Range must modify the first added Range
PASS Range 22 [paras[0], 0, paras[0], 0] followed by Range 6 [paras[1].firstChild, 2, paras[1].firstChild, 8]: second addRange() must not throw exceptions or modify the range it's given
PASS Range 22 [paras[0], 0, paras[0], 0] followed by Range 6 [paras[1].firstChild, 2, paras[1].firstChild, 8]: second addRange() must result in rangeCount being 1
FAIL Range 22 [paras[0], 0, paras[0], 0] followed by Range 6 [paras[1].firstChild, 2, paras[1].firstChild, 8]: second addRange() must result in the selection's last range having the specified endpoints assert_equals: startContainer of the Selection's last Range must match the added Range expected Text node "Ijklmnop
-" but got Element node <p id="a">Äb̈c̈d̈ëf̈g̈ḧ
-</p>
+" but got Text node "Äb̈c̈d̈ëf̈g̈ḧ
+"
FAIL Range 22 [paras[0], 0, paras[0], 0] followed by Range 6 [paras[1].firstChild, 2, paras[1].firstChild, 8]: second addRange() must result in the selection's last range being the same object we added assert_equals: getRangeAt(rangeCount - 1) must return the same object we added expected object "klmnop" but got object ""
-FAIL Range 22 [paras[0], 0, paras[0], 0] followed by Range 6 [paras[1].firstChild, 2, paras[1].firstChild, 8]: modifying the second added range must modify the Selection's last Range assert_equals: After mutating the second added Range, startContainer of the Selection's last Range must match the added Range expected Text node "Äb̈c̈d̈ëf̈g̈ḧ
-" but got Element node <p id="a">Äb̈c̈d̈ëf̈g̈ḧ
-</p>
+FAIL Range 22 [paras[0], 0, paras[0], 0] followed by Range 6 [paras[1].firstChild, 2, paras[1].firstChild, 8]: modifying the second added range must modify the Selection's last Range assert_equals: After mutating the second added Range, startOffset of the Selection's last Range must match the added Range expected 0 but got 6
FAIL Range 22 [paras[0], 0, paras[0], 0] followed by Range 6 [paras[1].firstChild, 2, paras[1].firstChild, 8]: modifying the Selection's last Range must modify the second added Range assert_equals: After second addRange(), after mutating the Selection's last Range, startOffset of the Selection's last Range must match the added Range expected 0 but got 6
PASS Range 22 [paras[0], 0, paras[0], 0] followed by Range 7 [paras[1].firstChild, 2, paras[1].firstChild, 9]: first addRange() must not throw exceptions or modify the range it's given
PASS Range 22 [paras[0], 0, paras[0], 0] followed by Range 7 [paras[1].firstChild, 2, paras[1].firstChild, 9]: first addRange() must result in rangeCount being 1
PASS Range 22 [paras[0], 0, paras[0], 0] followed by Range 7 [paras[1].firstChild, 2, paras[1].firstChild, 9]: first addRange() must result in the selection's last range having the specified endpoints
-FAIL Range 22 [paras[0], 0, paras[0], 0] followed by Range 7 [paras[1].firstChild, 2, paras[1].firstChild, 9]: first addRange() must result in the selection's last range being the same object we added assert_equals: getRangeAt(rangeCount - 1) must return the same object we added expected object "" but got object ""
-FAIL Range 22 [paras[0], 0, paras[0], 0] followed by Range 7 [paras[1].firstChild, 2, paras[1].firstChild, 9]: modifying the first added range must modify the Selection's last Range assert_equals: After mutating the first added Range, startContainer of the Selection's last Range must match the added Range expected Text node "Äb̈c̈d̈ëf̈g̈ḧ
-" but got Element node <p id="a">Äb̈c̈d̈ëf̈g̈ḧ
-</p>
-FAIL Range 22 [paras[0], 0, paras[0], 0] followed by Range 7 [paras[1].firstChild, 2, paras[1].firstChild, 9]: modifying the Selection's last Range must modify the first added Range assert_equals: After first addRange(), after mutating the Selection's last Range, startOffset of the Selection's last Range must match the added Range expected 0 but got 6
+PASS Range 22 [paras[0], 0, paras[0], 0] followed by Range 7 [paras[1].firstChild, 2, paras[1].firstChild, 9]: first addRange() must result in the selection's last range being the same object we added
+PASS Range 22 [paras[0], 0, paras[0], 0] followed by Range 7 [paras[1].firstChild, 2, paras[1].firstChild, 9]: modifying the first added range must modify the Selection's last Range
+PASS Range 22 [paras[0], 0, paras[0], 0] followed by Range 7 [paras[1].firstChild, 2, paras[1].firstChild, 9]: modifying the Selection's last Range must modify the first added Range
PASS Range 22 [paras[0], 0, paras[0], 0] followed by Range 7 [paras[1].firstChild, 2, paras[1].firstChild, 9]: second addRange() must not throw exceptions or modify the range it's given
PASS Range 22 [paras[0], 0, paras[0], 0] followed by Range 7 [paras[1].firstChild, 2, paras[1].firstChild, 9]: second addRange() must result in rangeCount being 1
FAIL Range 22 [paras[0], 0, paras[0], 0] followed by Range 7 [paras[1].firstChild, 2, paras[1].firstChild, 9]: second addRange() must result in the selection's last range having the specified endpoints assert_equals: startContainer of the Selection's last Range must match the added Range expected Text node "Ijklmnop
-" but got Element node <p id="a">Äb̈c̈d̈ëf̈g̈ḧ
-</p>
+" but got Text node "Äb̈c̈d̈ëf̈g̈ḧ
+"
FAIL Range 22 [paras[0], 0, paras[0], 0] followed by Range 7 [paras[1].firstChild, 2, paras[1].firstChild, 9]: second addRange() must result in the selection's last range being the same object we added assert_equals: getRangeAt(rangeCount - 1) must return the same object we added expected object "klmnop
" but got object ""
-FAIL Range 22 [paras[0], 0, paras[0], 0] followed by Range 7 [paras[1].firstChild, 2, paras[1].firstChild, 9]: modifying the second added range must modify the Selection's last Range assert_equals: After mutating the second added Range, startContainer of the Selection's last Range must match the added Range expected Text node "Äb̈c̈d̈ëf̈g̈ḧ
-" but got Element node <p id="a">Äb̈c̈d̈ëf̈g̈ḧ
-</p>
+FAIL Range 22 [paras[0], 0, paras[0], 0] followed by Range 7 [paras[1].firstChild, 2, paras[1].firstChild, 9]: modifying the second added range must modify the Selection's last Range assert_equals: After mutating the second added Range, startOffset of the Selection's last Range must match the added Range expected 0 but got 6
FAIL Range 22 [paras[0], 0, paras[0], 0] followed by Range 7 [paras[1].firstChild, 2, paras[1].firstChild, 9]: modifying the Selection's last Range must modify the second added Range assert_equals: After second addRange(), after mutating the Selection's last Range, startOffset of the Selection's last Range must match the added Range expected 0 but got 6
PASS Range 22 [paras[0], 0, paras[0], 0] followed by Range 8 [detachedPara1.firstChild, 0, detachedPara1.firstChild, 0]: first addRange() must not throw exceptions or modify the range it's given
PASS Range 22 [paras[0], 0, paras[0], 0] followed by Range 8 [detachedPara1.firstChild, 0, detachedPara1.firstChild, 0]: first addRange() must result in rangeCount being 1
PASS Range 22 [paras[0], 0, paras[0], 0] followed by Range 8 [detachedPara1.firstChild, 0, detachedPara1.firstChild, 0]: first addRange() must result in the selection's last range having the specified endpoints
-FAIL Range 22 [paras[0], 0, paras[0], 0] followed by Range 8 [detachedPara1.firstChild, 0, detachedPara1.firstChild, 0]: first addRange() must result in the selection's last range being the same object we added assert_equals: getRangeAt(rangeCount - 1) must return the same object we added expected object "" but got object ""
-FAIL Range 22 [paras[0], 0, paras[0], 0] followed by Range 8 [detachedPara1.firstChild, 0, detachedPara1.firstChild, 0]: modifying the first added range must modify the Selection's last Range assert_equals: After mutating the first added Range, startContainer of the Selection's last Range must match the added Range expected Text node "Äb̈c̈d̈ëf̈g̈ḧ
-" but got Element node <p id="a">Äb̈c̈d̈ëf̈g̈ḧ
-</p>
-FAIL Range 22 [paras[0], 0, paras[0], 0] followed by Range 8 [detachedPara1.firstChild, 0, detachedPara1.firstChild, 0]: modifying the Selection's last Range must modify the first added Range assert_equals: After first addRange(), after mutating the Selection's last Range, startOffset of the Selection's last Range must match the added Range expected 0 but got 6
+PASS Range 22 [paras[0], 0, paras[0], 0] followed by Range 8 [detachedPara1.firstChild, 0, detachedPara1.firstChild, 0]: first addRange() must result in the selection's last range being the same object we added
+PASS Range 22 [paras[0], 0, paras[0], 0] followed by Range 8 [detachedPara1.firstChild, 0, detachedPara1.firstChild, 0]: modifying the first added range must modify the Selection's last Range
+PASS Range 22 [paras[0], 0, paras[0], 0] followed by Range 8 [detachedPara1.firstChild, 0, detachedPara1.firstChild, 0]: modifying the Selection's last Range must modify the first added Range
PASS Range 22 [paras[0], 0, paras[0], 0] followed by Range 8 [detachedPara1.firstChild, 0, detachedPara1.firstChild, 0]: second addRange() must not throw exceptions or modify the range it's given
PASS Range 22 [paras[0], 0, paras[0], 0] followed by Range 8 [detachedPara1.firstChild, 0, detachedPara1.firstChild, 0]: second addRange() must result in rangeCount being 1
-FAIL Range 22 [paras[0], 0, paras[0], 0] followed by Range 8 [detachedPara1.firstChild, 0, detachedPara1.firstChild, 0]: second addRange() must result in the selection's last range having the specified endpoints assert_equals: startContainer of the Selection's last Range must match the added Range expected Text node "Opqrstuv" but got Element node <p id="a">Äb̈c̈d̈ëf̈g̈ḧ
-</p>
+FAIL Range 22 [paras[0], 0, paras[0], 0] followed by Range 8 [detachedPara1.firstChild, 0, detachedPara1.firstChild, 0]: second addRange() must result in the selection's last range having the specified endpoints assert_equals: startContainer of the Selection's last Range must match the added Range expected Text node "Opqrstuv" but got Text node "Äb̈c̈d̈ëf̈g̈ḧ
+"
FAIL Range 22 [paras[0], 0, paras[0], 0] followed by Range 8 [detachedPara1.firstChild, 0, detachedPara1.firstChild, 0]: second addRange() must result in the selection's last range being the same object we added assert_equals: getRangeAt(rangeCount - 1) must return the same object we added expected object "" but got object ""
-FAIL Range 22 [paras[0], 0, paras[0], 0] followed by Range 8 [detachedPara1.firstChild, 0, detachedPara1.firstChild, 0]: modifying the second added range must modify the Selection's last Range assert_equals: After mutating the second added Range, startContainer of the Selection's last Range must match the added Range expected Text node "Äb̈c̈d̈ëf̈g̈ḧ
-" but got Element node <p id="a">Äb̈c̈d̈ëf̈g̈ḧ
-</p>
+FAIL Range 22 [paras[0], 0, paras[0], 0] followed by Range 8 [detachedPara1.firstChild, 0, detachedPara1.firstChild, 0]: modifying the second added range must modify the Selection's last Range assert_equals: After mutating the second added Range, startOffset of the Selection's last Range must match the added Range expected 0 but got 6
FAIL Range 22 [paras[0], 0, paras[0], 0] followed by Range 8 [detachedPara1.firstChild, 0, detachedPara1.firstChild, 0]: modifying the Selection's last Range must modify the second added Range assert_equals: After second addRange(), after mutating the Selection's last Range, startOffset of the Selection's last Range must match the added Range expected 0 but got 6
PASS Range 22 [paras[0], 0, paras[0], 0] followed by Range 9 [detachedPara1.firstChild, 0, detachedPara1.firstChild, 1]: first addRange() must not throw exceptions or modify the range it's given
PASS Range 22 [paras[0], 0, paras[0], 0] followed by Range 9 [detachedPara1.firstChild, 0, detachedPara1.firstChild, 1]: first addRange() must result in rangeCount being 1
PASS Range 22 [paras[0], 0, paras[0], 0] followed by Range 9 [detachedPara1.firstChild, 0, detachedPara1.firstChild, 1]: first addRange() must result in the selection's last range having the specified endpoints
-FAIL Range 22 [paras[0], 0, paras[0], 0] followed by Range 9 [detachedPara1.firstChild, 0, detachedPara1.firstChild, 1]: first addRange() must result in the selection's last range being the same object we added assert_equals: getRangeAt(rangeCount - 1) must return the same object we added expected object "" but got object ""
-FAIL Range 22 [paras[0], 0, paras[0], 0] followed by Range 9 [detachedPara1.firstChild, 0, detachedPara1.firstChild, 1]: modifying the first added range must modify the Selection's last Range assert_equals: After mutating the first added Range, startContainer of the Selection's last Range must match the added Range expected Text node "Äb̈c̈d̈ëf̈g̈ḧ
-" but got Element node <p id="a">Äb̈c̈d̈ëf̈g̈ḧ
-</p>
-FAIL Range 22 [paras[0], 0, paras[0], 0] followed by Range 9 [detachedPara1.firstChild, 0, detachedPara1.firstChild, 1]: modifying the Selection's last Range must modify the first added Range assert_equals: After first addRange(), after mutating the Selection's last Range, startOffset of the Selection's last Range must match the added Range expected 0 but got 6
+PASS Range 22 [paras[0], 0, paras[0], 0] followed by Range 9 [detachedPara1.firstChild, 0, detachedPara1.firstChild, 1]: first addRange() must result in the selection's last range being the same object we added
+PASS Range 22 [paras[0], 0, paras[0], 0] followed by Range 9 [detachedPara1.firstChild, 0, detachedPara1.firstChild, 1]: modifying the first added range must modify the Selection's last Range
+PASS Range 22 [paras[0], 0, paras[0], 0] followed by Range 9 [detachedPara1.firstChild, 0, detachedPara1.firstChild, 1]: modifying the Selection's last Range must modify the first added Range
PASS Range 22 [paras[0], 0, paras[0], 0] followed by Range 9 [detachedPara1.firstChild, 0, detachedPara1.firstChild, 1]: second addRange() must not throw exceptions or modify the range it's given
PASS Range 22 [paras[0], 0, paras[0], 0] followed by Range 9 [detachedPara1.firstChild, 0, detachedPara1.firstChild, 1]: second addRange() must result in rangeCount being 1
-FAIL Range 22 [paras[0], 0, paras[0], 0] followed by Range 9 [detachedPara1.firstChild, 0, detachedPara1.firstChild, 1]: second addRange() must result in the selection's last range having the specified endpoints assert_equals: startContainer of the Selection's last Range must match the added Range expected Text node "Opqrstuv" but got Element node <p id="a">Äb̈c̈d̈ëf̈g̈ḧ
-</p>
+FAIL Range 22 [paras[0], 0, paras[0], 0] followed by Range 9 [detachedPara1.firstChild, 0, detachedPara1.firstChild, 1]: second addRange() must result in the selection's last range having the specified endpoints assert_equals: startContainer of the Selection's last Range must match the added Range expected Text node "Opqrstuv" but got Text node "Äb̈c̈d̈ëf̈g̈ḧ
+"
FAIL Range 22 [paras[0], 0, paras[0], 0] followed by Range 9 [detachedPara1.firstChild, 0, detachedPara1.firstChild, 1]: second addRange() must result in the selection's last range being the same object we added assert_equals: getRangeAt(rangeCount - 1) must return the same object we added expected object "O" but got object ""
-FAIL Range 22 [paras[0], 0, paras[0], 0] followed by Range 9 [detachedPara1.firstChild, 0, detachedPara1.firstChild, 1]: modifying the second added range must modify the Selection's last Range assert_equals: After mutating the second added Range, startContainer of the Selection's last Range must match the added Range expected Text node "Äb̈c̈d̈ëf̈g̈ḧ
-" but got Element node <p id="a">Äb̈c̈d̈ëf̈g̈ḧ
-</p>
+FAIL Range 22 [paras[0], 0, paras[0], 0] followed by Range 9 [detachedPara1.firstChild, 0, detachedPara1.firstChild, 1]: modifying the second added range must modify the Selection's last Range assert_equals: After mutating the second added Range, startOffset of the Selection's last Range must match the added Range expected 0 but got 6
FAIL Range 22 [paras[0], 0, paras[0], 0] followed by Range 9 [detachedPara1.firstChild, 0, detachedPara1.firstChild, 1]: modifying the Selection's last Range must modify the second added Range assert_equals: After second addRange(), after mutating the Selection's last Range, startOffset of the Selection's last Range must match the added Range expected 0 but got 6
PASS Range 22 [paras[0], 0, paras[0], 0] followed by Range 10 [detachedPara1.firstChild, 2, detachedPara1.firstChild, 8]: first addRange() must not throw exceptions or modify the range it's given
PASS Range 22 [paras[0], 0, paras[0], 0] followed by Range 10 [detachedPara1.firstChild, 2, detachedPara1.firstChild, 8]: first addRange() must result in rangeCount being 1
PASS Range 22 [paras[0], 0, paras[0], 0] followed by Range 10 [detachedPara1.firstChild, 2, detachedPara1.firstChild, 8]: first addRange() must result in the selection's last range having the specified endpoints
-FAIL Range 22 [paras[0], 0, paras[0], 0] followed by Range 10 [detachedPara1.firstChild, 2, detachedPara1.firstChild, 8]: first addRange() must result in the selection's last range being the same object we added assert_equals: getRangeAt(rangeCount - 1) must return the same object we added expected object "" but got object ""
-FAIL Range 22 [paras[0], 0, paras[0], 0] followed by Range 10 [detachedPara1.firstChild, 2, detachedPara1.firstChild, 8]: modifying the first added range must modify the Selection's last Range assert_equals: After mutating the first added Range, startContainer of the Selection's last Range must match the added Range expected Text node "Äb̈c̈d̈ëf̈g̈ḧ
-" but got Element node <p id="a">Äb̈c̈d̈ëf̈g̈ḧ
-</p>
-FAIL Range 22 [paras[0], 0, paras[0], 0] followed by Range 10 [detachedPara1.firstChild, 2, detachedPara1.firstChild, 8]: modifying the Selection's last Range must modify the first added Range assert_equals: After first addRange(), after mutating the Selection's last Range, startOffset of the Selection's last Range must match the added Range expected 0 but got 6
+PASS Range 22 [paras[0], 0, paras[0], 0] followed by Range 10 [detachedPara1.firstChild, 2, detachedPara1.firstChild, 8]: first addRange() must result in the selection's last range being the same object we added
+PASS Range 22 [paras[0], 0, paras[0], 0] followed by Range 10 [detachedPara1.firstChild, 2, detachedPara1.firstChild, 8]: modifying the first added range must modify the Selection's last Range
+PASS Range 22 [paras[0], 0, paras[0], 0] followed by Range 10 [detachedPara1.firstChild, 2, detachedPara1.firstChild, 8]: modifying the Selection's last Range must modify the first added Range
PASS Range 22 [paras[0], 0, paras[0], 0] followed by Range 10 [detachedPara1.firstChild, 2, detachedPara1.firstChild, 8]: second addRange() must not throw exceptions or modify the range it's given
PASS Range 22 [paras[0], 0, paras[0], 0] followed by Range 10 [detachedPara1.firstChild, 2, detachedPara1.firstChild, 8]: second addRange() must result in rangeCount being 1
-FAIL Range 22 [paras[0], 0, paras[0], 0] followed by Range 10 [detachedPara1.firstChild, 2, detachedPara1.firstChild, 8]: second addRange() must result in the selection's last range having the specified endpoints assert_equals: startContainer of the Selection's last Range must match the added Range expected Text node "Opqrstuv" but got Element node <p id="a">Äb̈c̈d̈ëf̈g̈ḧ
-</p>
+FAIL Range 22 [paras[0], 0, paras[0], 0] followed by Range 10 [detachedPara1.firstChild, 2, detachedPara1.firstChild, 8]: second addRange() must result in the selection's last range having the specified endpoints assert_equals: startContainer of the Selection's last Range must match the added Range expected Text node "Opqrstuv" but got Text node "Äb̈c̈d̈ëf̈g̈ḧ
+"
FAIL Range 22 [paras[0], 0, paras[0], 0] followed by Range 10 [detachedPara1.firstChild, 2, detachedPara1.firstChild, 8]: second addRange() must result in the selection's last range being the same object we added assert_equals: getRangeAt(rangeCount - 1) must return the same object we added expected object "qrstuv" but got object ""
-FAIL Range 22 [paras[0], 0, paras[0], 0] followed by Range 10 [detachedPara1.firstChild, 2, detachedPara1.firstChild, 8]: modifying the second added range must modify the Selection's last Range assert_equals: After mutating the second added Range, startContainer of the Selection's last Range must match the added Range expected Text node "Äb̈c̈d̈ëf̈g̈ḧ
-" but got Element node <p id="a">Äb̈c̈d̈ëf̈g̈ḧ
-</p>
+FAIL Range 22 [paras[0], 0, paras[0], 0] followed by Range 10 [detachedPara1.firstChild, 2, detachedPara1.firstChild, 8]: modifying the second added range must modify the Selection's last Range assert_equals: After mutating the second added Range, startOffset of the Selection's last Range must match the added Range expected 0 but got 6
FAIL Range 22 [paras[0], 0, paras[0], 0] followed by Range 10 [detachedPara1.firstChild, 2, detachedPara1.firstChild, 8]: modifying the Selection's last Range must modify the second added Range assert_equals: After second addRange(), after mutating the Selection's last Range, startOffset of the Selection's last Range must match the added Range expected 0 but got 6
PASS Range 22 [paras[0], 0, paras[0], 0] followed by Range 11 [foreignPara1.firstChild, 0, foreignPara1.firstChild, 0]: first addRange() must not throw exceptions or modify the range it's given
PASS Range 22 [paras[0], 0, paras[0], 0] followed by Range 11 [foreignPara1.firstChild, 0, foreignPara1.firstChild, 0]: first addRange() must result in rangeCount being 1
PASS Range 22 [paras[0], 0, paras[0], 0] followed by Range 11 [foreignPara1.firstChild, 0, foreignPara1.firstChild, 0]: first addRange() must result in the selection's last range having the specified endpoints
-FAIL Range 22 [paras[0], 0, paras[0], 0] followed by Range 11 [foreignPara1.firstChild, 0, foreignPara1.firstChild, 0]: first addRange() must result in the selection's last range being the same object we added assert_equals: getRangeAt(rangeCount - 1) must return the same object we added expected object "" but got object ""
-FAIL Range 22 [paras[0], 0, paras[0], 0] followed by Range 11 [foreignPara1.firstChild, 0, foreignPara1.firstChild, 0]: modifying the first added range must modify the Selection's last Range assert_equals: After mutating the first added Range, startContainer of the Selection's last Range must match the added Range expected Text node "Äb̈c̈d̈ëf̈g̈ḧ
-" but got Element node <p id="a">Äb̈c̈d̈ëf̈g̈ḧ
-</p>
-FAIL Range 22 [paras[0], 0, paras[0], 0] followed by Range 11 [foreignPara1.firstChild, 0, foreignPara1.firstChild, 0]: modifying the Selection's last Range must modify the first added Range assert_equals: After first addRange(), after mutating the Selection's last Range, startOffset of the Selection's last Range must match the added Range expected 0 but got 6
+PASS Range 22 [paras[0], 0, paras[0], 0] followed by Range 11 [foreignPara1.firstChild, 0, foreignPara1.firstChild, 0]: first addRange() must result in the selection's last range being the same object we added
+PASS Range 22 [paras[0], 0, paras[0], 0] followed by Range 11 [foreignPara1.firstChild, 0, foreignPara1.firstChild, 0]: modifying the first added range must modify the Selection's last Range
+PASS Range 22 [paras[0], 0, paras[0], 0] followed by Range 11 [foreignPara1.firstChild, 0, foreignPara1.firstChild, 0]: modifying the Selection's last Range must modify the first added Range
PASS Range 22 [paras[0], 0, paras[0], 0] followed by Range 11 [foreignPara1.firstChild, 0, foreignPara1.firstChild, 0]: second addRange() must not throw exceptions or modify the range it's given
PASS Range 22 [paras[0], 0, paras[0], 0] followed by Range 11 [foreignPara1.firstChild, 0, foreignPara1.firstChild, 0]: second addRange() must result in rangeCount being 1
-FAIL Range 22 [paras[0], 0, paras[0], 0] followed by Range 11 [foreignPara1.firstChild, 0, foreignPara1.firstChild, 0]: second addRange() must result in the selection's last range having the specified endpoints assert_equals: startContainer of the Selection's last Range must match the added Range expected Text node "Efghijkl" but got Element node <p id="a">Äb̈c̈d̈ëf̈g̈ḧ
-</p>
+FAIL Range 22 [paras[0], 0, paras[0], 0] followed by Range 11 [foreignPara1.firstChild, 0, foreignPara1.firstChild, 0]: second addRange() must result in the selection's last range having the specified endpoints assert_equals: startContainer of the Selection's last Range must match the added Range expected Text node "Efghijkl" but got Text node "Äb̈c̈d̈ëf̈g̈ḧ
+"
FAIL Range 22 [paras[0], 0, paras[0], 0] followed by Range 11 [foreignPara1.firstChild, 0, foreignPara1.firstChild, 0]: second addRange() must result in the selection's last range being the same object we added assert_equals: getRangeAt(rangeCount - 1) must return the same object we added expected object "" but got object ""
-FAIL Range 22 [paras[0], 0, paras[0], 0] followed by Range 11 [foreignPara1.firstChild, 0, foreignPara1.firstChild, 0]: modifying the second added range must modify the Selection's last Range assert_equals: After mutating the second added Range, startContainer of the Selection's last Range must match the added Range expected Text node "Äb̈c̈d̈ëf̈g̈ḧ
-" but got Element node <p id="a">Äb̈c̈d̈ëf̈g̈ḧ
-</p>
+FAIL Range 22 [paras[0], 0, paras[0], 0] followed by Range 11 [foreignPara1.firstChild, 0, foreignPara1.firstChild, 0]: modifying the second added range must modify the Selection's last Range assert_equals: After mutating the second added Range, startOffset of the Selection's last Range must match the added Range expected 0 but got 6
FAIL Range 22 [paras[0], 0, paras[0], 0] followed by Range 11 [foreignPara1.firstChild, 0, foreignPara1.firstChild, 0]: modifying the Selection's last Range must modify the second added Range assert_equals: After second addRange(), after mutating the Selection's last Range, startOffset of the Selection's last Range must match the added Range expected 0 but got 6
PASS Range 22 [paras[0], 0, paras[0], 0] followed by Range 12 [foreignPara1.firstChild, 0, foreignPara1.firstChild, 1]: first addRange() must not throw exceptions or modify the range it's given
PASS Range 22 [paras[0], 0, paras[0], 0] followed by Range 12 [foreignPara1.firstChild, 0, foreignPara1.firstChild, 1]: first addRange() must result in rangeCount being 1
PASS Range 22 [paras[0], 0, paras[0], 0] followed by Range 12 [foreignPara1.firstChild, 0, foreignPara1.firstChild, 1]: first addRange() must result in the selection's last range having the specified endpoints
-FAIL Range 22 [paras[0], 0, paras[0], 0] followed by Range 12 [foreignPara1.firstChild, 0, foreignPara1.firstChild, 1]: first addRange() must result in the selection's last range being the same object we added assert_equals: getRangeAt(rangeCount - 1) must return the same object we added expected object "" but got object ""
-FAIL Range 22 [paras[0], 0, paras[0], 0] followed by Range 12 [foreignPara1.firstChild, 0, foreignPara1.firstChild, 1]: modifying the first added range must modify the Selection's last Range assert_equals: After mutating the first added Range, startContainer of the Selection's last Range must match the added Range expected Text node "Äb̈c̈d̈ëf̈g̈ḧ
-" but got Element node <p id="a">Äb̈c̈d̈ëf̈g̈ḧ
-</p>
-FAIL Range 22 [paras[0], 0, paras[0], 0] followed by Range 12 [foreignPara1.firstChild, 0, foreignPara1.firstChild, 1]: modifying the Selection's last Range must modify the first added Range assert_equals: After first addRange(), after mutating the Selection's last Range, startOffset of the Selection's last Range must match the added Range expected 0 but got 6
+PASS Range 22 [paras[0], 0, paras[0], 0] followed by Range 12 [foreignPara1.firstChild, 0, foreignPara1.firstChild, 1]: first addRange() must result in the selection's last range being the same object we added
+PASS Range 22 [paras[0], 0, paras[0], 0] followed by Range 12 [foreignPara1.firstChild, 0, foreignPara1.firstChild, 1]: modifying the first added range must modify the Selection's last Range
+PASS Range 22 [paras[0], 0, paras[0], 0] followed by Range 12 [foreignPara1.firstChild, 0, foreignPara1.firstChild, 1]: modifying the Selection's last Range must modify the first added Range
PASS Range 22 [paras[0], 0, paras[0], 0] followed by Range 12 [foreignPara1.firstChild, 0, foreignPara1.firstChild, 1]: second addRange() must not throw exceptions or modify the range it's given
PASS Range 22 [paras[0], 0, paras[0], 0] followed by Range 12 [foreignPara1.firstChild, 0, foreignPara1.firstChild, 1]: second addRange() must result in rangeCount being 1
-FAIL Range 22 [paras[0], 0, paras[0], 0] followed by Range 12 [foreignPara1.firstChild, 0, foreignPara1.firstChild, 1]: second addRange() must result in the selection's last range having the specified endpoints assert_equals: startContainer of the Selection's last Range must match the added Range expected Text node "Efghijkl" but got Element node <p id="a">Äb̈c̈d̈ëf̈g̈ḧ
-</p>
+FAIL Range 22 [paras[0], 0, paras[0], 0] followed by Range 12 [foreignPara1.firstChild, 0, foreignPara1.firstChild, 1]: second addRange() must result in the selection's last range having the specified endpoints assert_equals: startContainer of the Selection's last Range must match the added Range expected Text node "Efghijkl" but got Text node "Äb̈c̈d̈ëf̈g̈ḧ
+"
FAIL Range 22 [paras[0], 0, paras[0], 0] followed by Range 12 [foreignPara1.firstChild, 0, foreignPara1.firstChild, 1]: second addRange() must result in the selection's last range being the same object we added assert_equals: getRangeAt(rangeCount - 1) must return the same object we added expected object "E" but got object ""
-FAIL Range 22 [paras[0], 0, paras[0], 0] followed by Range 12 [foreignPara1.firstChild, 0, foreignPara1.firstChild, 1]: modifying the second added range must modify the Selection's last Range assert_equals: After mutating the second added Range, startContainer of the Selection's last Range must match the added Range expected Text node "Äb̈c̈d̈ëf̈g̈ḧ
-" but got Element node <p id="a">Äb̈c̈d̈ëf̈g̈ḧ
-</p>
+FAIL Range 22 [paras[0], 0, paras[0], 0] followed by Range 12 [foreignPara1.firstChild, 0, foreignPara1.firstChild, 1]: modifying the second added range must modify the Selection's last Range assert_equals: After mutating the second added Range, startOffset of the Selection's last Range must match the added Range expected 0 but got 6
FAIL Range 22 [paras[0], 0, paras[0], 0] followed by Range 12 [foreignPara1.firstChild, 0, foreignPara1.firstChild, 1]: modifying the Selection's last Range must modify the second added Range assert_equals: After second addRange(), after mutating the Selection's last Range, startOffset of the Selection's last Range must match the added Range expected 0 but got 6
PASS Range 22 [paras[0], 0, paras[0], 0] followed by Range 13 [foreignPara1.firstChild, 2, foreignPara1.firstChild, 8]: first addRange() must not throw exceptions or modify the range it's given
PASS Range 22 [paras[0], 0, paras[0], 0] followed by Range 13 [foreignPara1.firstChild, 2, foreignPara1.firstChild, 8]: first addRange() must result in rangeCount being 1
PASS Range 22 [paras[0], 0, paras[0], 0] followed by Range 13 [foreignPara1.firstChild, 2, foreignPara1.firstChild, 8]: first addRange() must result in the selection's last range having the specified endpoints
-FAIL Range 22 [paras[0], 0, paras[0], 0] followed by Range 13 [foreignPara1.firstChild, 2, foreignPara1.firstChild, 8]: first addRange() must result in the selection's last range being the same object we added assert_equals: getRangeAt(rangeCount - 1) must return the same object we added expected object "" but got object ""
-FAIL Range 22 [paras[0], 0, paras[0], 0] followed by Range 13 [foreignPara1.firstChild, 2, foreignPara1.firstChild, 8]: modifying the first added range must modify the Selection's last Range assert_equals: After mutating the first added Range, startContainer of the Selection's last Range must match the added Range expected Text node "Äb̈c̈d̈ëf̈g̈ḧ
-" but got Element node <p id="a">Äb̈c̈d̈ëf̈g̈ḧ
-</p>
-FAIL Range 22 [paras[0], 0, paras[0], 0] followed by Range 13 [foreignPara1.firstChild, 2, foreignPara1.firstChild, 8]: modifying the Selection's last Range must modify the first added Range assert_equals: After first addRange(), after mutating the Selection's last Range, startOffset of the Selection's last Range must match the added Range expected 0 but got 6
+PASS Range 22 [paras[0], 0, paras[0], 0] followed by Range 13 [foreignPara1.firstChild, 2, foreignPara1.firstChild, 8]: first addRange() must result in the selection's last range being the same object we added
+PASS Range 22 [paras[0], 0, paras[0], 0] followed by Range 13 [foreignPara1.firstChild, 2, foreignPara1.firstChild, 8]: modifying the first added range must modify the Selection's last Range
+PASS Range 22 [paras[0], 0, paras[0], 0] followed by Range 13 [foreignPara1.firstChild, 2, foreignPara1.firstChild, 8]: modifying the Selection's last Range must modify the first added Range
PASS Range 22 [paras[0], 0, paras[0], 0] followed by Range 13 [foreignPara1.firstChild, 2, foreignPara1.firstChild, 8]: second addRange() must not throw exceptions or modify the range it's given
PASS Range 22 [paras[0], 0, paras[0], 0] followed by Range 13 [foreignPara1.firstChild, 2, foreignPara1.firstChild, 8]: second addRange() must result in rangeCount being 1
-FAIL Range 22 [paras[0], 0, paras[0], 0] followed by Range 13 [foreignPara1.firstChild, 2, foreignPara1.firstChild, 8]: second addRange() must result in the selection's last range having the specified endpoints assert_equals: startContainer of the Selection's last Range must match the added Range expected Text node "Efghijkl" but got Element node <p id="a">Äb̈c̈d̈ëf̈g̈ḧ
-</p>
+FAIL Range 22 [paras[0], 0, paras[0], 0] followed by Range 13 [foreignPara1.firstChild, 2, foreignPara1.firstChild, 8]: second addRange() must result in the selection's last range having the specified endpoints assert_equals: startContainer of the Selection's last Range must match the added Range expected Text node "Efghijkl" but got Text node "Äb̈c̈d̈ëf̈g̈ḧ
+"
FAIL Range 22 [paras[0], 0, paras[0], 0] followed by Range 13 [foreignPara1.firstChild, 2, foreignPara1.firstChild, 8]: second addRange() must result in the selection's last range being the same object we added assert_equals: getRangeAt(rangeCount - 1) must return the same object we added expected object "ghijkl" but got object ""
-FAIL Range 22 [paras[0], 0, paras[0], 0] followed by Range 13 [foreignPara1.firstChild, 2, foreignPara1.firstChild, 8]: modifying the second added range must modify the Selection's last Range assert_equals: After mutating the second added Range, startContainer of the Selection's last Range must match the added Range expected Text node "Äb̈c̈d̈ëf̈g̈ḧ
-" but got Element node <p id="a">Äb̈c̈d̈ëf̈g̈ḧ
-</p>
+FAIL Range 22 [paras[0], 0, paras[0], 0] followed by Range 13 [foreignPara1.firstChild, 2, foreignPara1.firstChild, 8]: modifying the second added range must modify the Selection's last Range assert_equals: After mutating the second added Range, startOffset of the Selection's last Range must match the added Range expected 0 but got 6
FAIL Range 22 [paras[0], 0, paras[0], 0] followed by Range 13 [foreignPara1.firstChild, 2, foreignPara1.firstChild, 8]: modifying the Selection's last Range must modify the second added Range assert_equals: After second addRange(), after mutating the Selection's last Range, startOffset of the Selection's last Range must match the added Range expected 0 but got 6
PASS Range 22 [paras[0], 0, paras[0], 0] followed by Range 14 [document.documentElement, 0, document.documentElement, 1]: first addRange() must not throw exceptions or modify the range it's given
PASS Range 22 [paras[0], 0, paras[0], 0] followed by Range 14 [document.documentElement, 0, document.documentElement, 1]: first addRange() must result in rangeCount being 1
PASS Range 22 [paras[0], 0, paras[0], 0] followed by Range 14 [document.documentElement, 0, document.documentElement, 1]: first addRange() must result in the selection's last range having the specified endpoints
-FAIL Range 22 [paras[0], 0, paras[0], 0] followed by Range 14 [document.documentElement, 0, document.documentElement, 1]: first addRange() must result in the selection's last range being the same object we added assert_equals: getRangeAt(rangeCount - 1) must return the same object we added expected object "" but got object ""
-FAIL Range 22 [paras[0], 0, paras[0], 0] followed by Range 14 [document.documentElement, 0, document.documentElement, 1]: modifying the first added range must modify the Selection's last Range assert_equals: After mutating the first added Range, startContainer of the Selection's last Range must match the added Range expected Text node "Äb̈c̈d̈ëf̈g̈ḧ
-" but got Element node <p id="a">Äb̈c̈d̈ëf̈g̈ḧ
-</p>
-FAIL Range 22 [paras[0], 0, paras[0], 0] followed by Range 14 [document.documentElement, 0, document.documentElement, 1]: modifying the Selection's last Range must modify the first added Range assert_equals: After first addRange(), after mutating the Selection's last Range, startOffset of the Selection's last Range must match the added Range expected 0 but got 6
+PASS Range 22 [paras[0], 0, paras[0], 0] followed by Range 14 [document.documentElement, 0, document.documentElement, 1]: first addRange() must result in the selection's last range being the same object we added
+PASS Range 22 [paras[0], 0, paras[0], 0] followed by Range 14 [document.documentElement, 0, document.documentElement, 1]: modifying the first added range must modify the Selection's last Range
+PASS Range 22 [paras[0], 0, paras[0], 0] followed by Range 14 [document.documentElement, 0, document.documentElement, 1]: modifying the Selection's last Range must modify the first added Range
PASS Range 22 [paras[0], 0, paras[0], 0] followed by Range 14 [document.documentElement, 0, document.documentElement, 1]: second addRange() must not throw exceptions or modify the range it's given
PASS Range 22 [paras[0], 0, paras[0], 0] followed by Range 14 [document.documentElement, 0, document.documentElement, 1]: second addRange() must result in rangeCount being 1
FAIL Range 22 [paras[0], 0, paras[0], 0] followed by Range 14 [document.documentElement, 0, document.documentElement, 1]: second addRange() must result in the selection's last range having the specified endpoints assert_equals: startContainer of the Selection's last Range must match the added Range expected Element node <html><head><title>Selection.addRange() tests</title>
-<me... but got Element node <p id="a">Äb̈c̈d̈ëf̈g̈ḧ
-</p>
+<me... but got Text node "Äb̈c̈d̈ëf̈g̈ḧ
+"
FAIL Range 22 [paras[0], 0, paras[0], 0] followed by Range 14 [document.documentElement, 0, document.documentElement, 1]: second addRange() must result in the selection's last range being the same object we added assert_equals: getRangeAt(rangeCount - 1) must return the same object we added expected object "Selection.addRange() tests
" but got object ""
-FAIL Range 22 [paras[0], 0, paras[0], 0] followed by Range 14 [document.documentElement, 0, document.documentElement, 1]: modifying the second added range must modify the Selection's last Range assert_equals: After mutating the second added Range, startContainer of the Selection's last Range must match the added Range expected Text node "Äb̈c̈d̈ëf̈g̈ḧ
-" but got Element node <p id="a">Äb̈c̈d̈ëf̈g̈ḧ
-</p>
+FAIL Range 22 [paras[0], 0, paras[0], 0] followed by Range 14 [document.documentElement, 0, document.documentElement, 1]: modifying the second added range must modify the Selection's last Range assert_equals: After mutating the second added Range, startOffset of the Selection's last Range must match the added Range expected 0 but got 6
FAIL Range 22 [paras[0], 0, paras[0], 0] followed by Range 14 [document.documentElement, 0, document.documentElement, 1]: modifying the Selection's last Range must modify the second added Range assert_equals: After second addRange(), after mutating the Selection's last Range, startOffset of the Selection's last Range must match the added Range expected 0 but got 6
PASS Range 22 [paras[0], 0, paras[0], 0] followed by Range 15 [document.documentElement, 0, document.documentElement, 2]: first addRange() must not throw exceptions or modify the range it's given
PASS Range 22 [paras[0], 0, paras[0], 0] followed by Range 15 [document.documentElement, 0, document.documentElement, 2]: first addRange() must result in rangeCount being 1
PASS Range 22 [paras[0], 0, paras[0], 0] followed by Range 15 [document.documentElement, 0, document.documentElement, 2]: first addRange() must result in the selection's last range having the specified endpoints
-FAIL Range 22 [paras[0], 0, paras[0], 0] followed by Range 15 [document.documentElement, 0, document.documentElement, 2]: first addRange() must result in the selection's last range being the same object we added assert_equals: getRangeAt(rangeCount - 1) must return the same object we added expected object "" but got object ""
-FAIL Range 22 [paras[0], 0, paras[0], 0] followed by Range 15 [document.documentElement, 0, document.documentElement, 2]: modifying the first added range must modify the Selection's last Range assert_equals: After mutating the first added Range, startContainer of the Selection's last Range must match the added Range expected Text node "Äb̈c̈d̈ëf̈g̈ḧ
-" but got Element node <p id="a">Äb̈c̈d̈ëf̈g̈ḧ
-</p>
-FAIL Range 22 [paras[0], 0, paras[0], 0] followed by Range 15 [document.documentElement, 0, document.documentElement, 2]: modifying the Selection's last Range must modify the first added Range assert_equals: After first addRange(), after mutating the Selection's last Range, startOffset of the Selection's last Range must match the added Range expected 0 but got 6
+PASS Range 22 [paras[0], 0, paras[0], 0] followed by Range 15 [document.documentElement, 0, document.documentElement, 2]: first addRange() must result in the selection's last range being the same object we added
+PASS Range 22 [paras[0], 0, paras[0], 0] followed by Range 15 [document.documentElement, 0, document.documentElement, 2]: modifying the first added range must modify the Selection's last Range
+PASS Range 22 [paras[0], 0, paras[0], 0] followed by Range 15 [document.documentElement, 0, document.documentElement, 2]: modifying the Selection's last Range must modify the first added Range
PASS Range 22 [paras[0], 0, paras[0], 0] followed by Range 15 [document.documentElement, 0, document.documentElement, 2]: second addRange() must not throw exceptions or modify the range it's given
PASS Range 22 [paras[0], 0, paras[0], 0] followed by Range 15 [document.documentElement, 0, document.documentElement, 2]: second addRange() must result in rangeCount being 1
PASS Range 22 [paras[0], 0, paras[0], 0] followed by Range 15 [document.documentElement, 0, document.documentElement, 2]: second addRange() must result in the selection's last range having the specified endpoints
@@ -2128,11 +1702,9 @@ FAIL Range 22 [paras[0], 0, paras[0], 0] followed by Range 15 [document.document
PASS Range 22 [paras[0], 0, paras[0], 0] followed by Range 16 [document.documentElement, 1, document.documentElement, 2]: first addRange() must not throw exceptions or modify the range it's given
PASS Range 22 [paras[0], 0, paras[0], 0] followed by Range 16 [document.documentElement, 1, document.documentElement, 2]: first addRange() must result in rangeCount being 1
PASS Range 22 [paras[0], 0, paras[0], 0] followed by Range 16 [document.documentElement, 1, document.documentElement, 2]: first addRange() must result in the selection's last range having the specified endpoints
-FAIL Range 22 [paras[0], 0, paras[0], 0] followed by Range 16 [document.documentElement, 1, document.documentElement, 2]: first addRange() must result in the selection's last range being the same object we added assert_equals: getRangeAt(rangeCount - 1) must return the same object we added expected object "" but got object ""
-FAIL Range 22 [paras[0], 0, paras[0], 0] followed by Range 16 [document.documentElement, 1, document.documentElement, 2]: modifying the first added range must modify the Selection's last Range assert_equals: After mutating the first added Range, startContainer of the Selection's last Range must match the added Range expected Text node "Äb̈c̈d̈ëf̈g̈ḧ
-" but got Element node <p id="a">Äb̈c̈d̈ëf̈g̈ḧ
-</p>
-FAIL Range 22 [paras[0], 0, paras[0], 0] followed by Range 16 [document.documentElement, 1, document.documentElement, 2]: modifying the Selection's last Range must modify the first added Range assert_equals: After first addRange(), after mutating the Selection's last Range, startOffset of the Selection's last Range must match the added Range expected 0 but got 6
+PASS Range 22 [paras[0], 0, paras[0], 0] followed by Range 16 [document.documentElement, 1, document.documentElement, 2]: first addRange() must result in the selection's last range being the same object we added
+PASS Range 22 [paras[0], 0, paras[0], 0] followed by Range 16 [document.documentElement, 1, document.documentElement, 2]: modifying the first added range must modify the Selection's last Range
+PASS Range 22 [paras[0], 0, paras[0], 0] followed by Range 16 [document.documentElement, 1, document.documentElement, 2]: modifying the Selection's last Range must modify the first added Range
PASS Range 22 [paras[0], 0, paras[0], 0] followed by Range 16 [document.documentElement, 1, document.documentElement, 2]: second addRange() must not throw exceptions or modify the range it's given
PASS Range 22 [paras[0], 0, paras[0], 0] followed by Range 16 [document.documentElement, 1, document.documentElement, 2]: second addRange() must result in rangeCount being 1
PASS Range 22 [paras[0], 0, paras[0], 0] followed by Range 16 [document.documentElement, 1, document.documentElement, 2]: second addRange() must result in the selection's last range having the specified endpoints
@@ -2168,29 +1740,23 @@ FAIL Range 22 [paras[0], 0, paras[0], 0] followed by Range 16 [document.document
PASS Range 22 [paras[0], 0, paras[0], 0] followed by Range 17 [document.head, 1, document.head, 1]: first addRange() must not throw exceptions or modify the range it's given
PASS Range 22 [paras[0], 0, paras[0], 0] followed by Range 17 [document.head, 1, document.head, 1]: first addRange() must result in rangeCount being 1
PASS Range 22 [paras[0], 0, paras[0], 0] followed by Range 17 [document.head, 1, document.head, 1]: first addRange() must result in the selection's last range having the specified endpoints
-FAIL Range 22 [paras[0], 0, paras[0], 0] followed by Range 17 [document.head, 1, document.head, 1]: first addRange() must result in the selection's last range being the same object we added assert_equals: getRangeAt(rangeCount - 1) must return the same object we added expected object "" but got object ""
-FAIL Range 22 [paras[0], 0, paras[0], 0] followed by Range 17 [document.head, 1, document.head, 1]: modifying the first added range must modify the Selection's last Range assert_equals: After mutating the first added Range, startContainer of the Selection's last Range must match the added Range expected Text node "Äb̈c̈d̈ëf̈g̈ḧ
-" but got Element node <p id="a">Äb̈c̈d̈ëf̈g̈ḧ
-</p>
-FAIL Range 22 [paras[0], 0, paras[0], 0] followed by Range 17 [document.head, 1, document.head, 1]: modifying the Selection's last Range must modify the first added Range assert_equals: After first addRange(), after mutating the Selection's last Range, startOffset of the Selection's last Range must match the added Range expected 0 but got 6
+PASS Range 22 [paras[0], 0, paras[0], 0] followed by Range 17 [document.head, 1, document.head, 1]: first addRange() must result in the selection's last range being the same object we added
+PASS Range 22 [paras[0], 0, paras[0], 0] followed by Range 17 [document.head, 1, document.head, 1]: modifying the first added range must modify the Selection's last Range
+PASS Range 22 [paras[0], 0, paras[0], 0] followed by Range 17 [document.head, 1, document.head, 1]: modifying the Selection's last Range must modify the first added Range
PASS Range 22 [paras[0], 0, paras[0], 0] followed by Range 17 [document.head, 1, document.head, 1]: second addRange() must not throw exceptions or modify the range it's given
PASS Range 22 [paras[0], 0, paras[0], 0] followed by Range 17 [document.head, 1, document.head, 1]: second addRange() must result in rangeCount being 1
FAIL Range 22 [paras[0], 0, paras[0], 0] followed by Range 17 [document.head, 1, document.head, 1]: second addRange() must result in the selection's last range having the specified endpoints assert_equals: startContainer of the Selection's last Range must match the added Range expected Element node <head><title>Selection.addRange() tests</title>
-<meta nam... but got Element node <p id="a">Äb̈c̈d̈ëf̈g̈ḧ
-</p>
+<meta nam... but got Text node "Äb̈c̈d̈ëf̈g̈ḧ
+"
FAIL Range 22 [paras[0], 0, paras[0], 0] followed by Range 17 [document.head, 1, document.head, 1]: second addRange() must result in the selection's last range being the same object we added assert_equals: getRangeAt(rangeCount - 1) must return the same object we added expected object "" but got object ""
-FAIL Range 22 [paras[0], 0, paras[0], 0] followed by Range 17 [document.head, 1, document.head, 1]: modifying the second added range must modify the Selection's last Range assert_equals: After mutating the second added Range, startContainer of the Selection's last Range must match the added Range expected Text node "Äb̈c̈d̈ëf̈g̈ḧ
-" but got Element node <p id="a">Äb̈c̈d̈ëf̈g̈ḧ
-</p>
+FAIL Range 22 [paras[0], 0, paras[0], 0] followed by Range 17 [document.head, 1, document.head, 1]: modifying the second added range must modify the Selection's last Range assert_equals: After mutating the second added Range, startOffset of the Selection's last Range must match the added Range expected 0 but got 6
FAIL Range 22 [paras[0], 0, paras[0], 0] followed by Range 17 [document.head, 1, document.head, 1]: modifying the Selection's last Range must modify the second added Range assert_equals: After second addRange(), after mutating the Selection's last Range, startOffset of the Selection's last Range must match the added Range expected 0 but got 6
PASS Range 22 [paras[0], 0, paras[0], 0] followed by Range 18 [document.body, 0, document.body, 1]: first addRange() must not throw exceptions or modify the range it's given
PASS Range 22 [paras[0], 0, paras[0], 0] followed by Range 18 [document.body, 0, document.body, 1]: first addRange() must result in rangeCount being 1
PASS Range 22 [paras[0], 0, paras[0], 0] followed by Range 18 [document.body, 0, document.body, 1]: first addRange() must result in the selection's last range having the specified endpoints
-FAIL Range 22 [paras[0], 0, paras[0], 0] followed by Range 18 [document.body, 0, document.body, 1]: first addRange() must result in the selection's last range being the same object we added assert_equals: getRangeAt(rangeCount - 1) must return the same object we added expected object "" but got object ""
-FAIL Range 22 [paras[0], 0, paras[0], 0] followed by Range 18 [document.body, 0, document.body, 1]: modifying the first added range must modify the Selection's last Range assert_equals: After mutating the first added Range, startContainer of the Selection's last Range must match the added Range expected Text node "Äb̈c̈d̈ëf̈g̈ḧ
-" but got Element node <p id="a">Äb̈c̈d̈ëf̈g̈ḧ
-</p>
-FAIL Range 22 [paras[0], 0, paras[0], 0] followed by Range 18 [document.body, 0, document.body, 1]: modifying the Selection's last Range must modify the first added Range assert_equals: After first addRange(), after mutating the Selection's last Range, startOffset of the Selection's last Range must match the added Range expected 0 but got 6
+PASS Range 22 [paras[0], 0, paras[0], 0] followed by Range 18 [document.body, 0, document.body, 1]: first addRange() must result in the selection's last range being the same object we added
+PASS Range 22 [paras[0], 0, paras[0], 0] followed by Range 18 [document.body, 0, document.body, 1]: modifying the first added range must modify the Selection's last Range
+PASS Range 22 [paras[0], 0, paras[0], 0] followed by Range 18 [document.body, 0, document.body, 1]: modifying the Selection's last Range must modify the first added Range
PASS Range 22 [paras[0], 0, paras[0], 0] followed by Range 18 [document.body, 0, document.body, 1]: second addRange() must not throw exceptions or modify the range it's given
PASS Range 22 [paras[0], 0, paras[0], 0] followed by Range 18 [document.body, 0, document.body, 1]: second addRange() must result in rangeCount being 1
PASS Range 22 [paras[0], 0, paras[0], 0] followed by Range 18 [document.body, 0, document.body, 1]: second addRange() must result in the selection's last range having the specified endpoints
@@ -2206,62 +1772,48 @@ FAIL Range 22 [paras[0], 0, paras[0], 0] followed by Range 18 [document.body, 0,
PASS Range 22 [paras[0], 0, paras[0], 0] followed by Range 19 [foreignDoc.documentElement, 0, foreignDoc.documentElement, 1]: first addRange() must not throw exceptions or modify the range it's given
PASS Range 22 [paras[0], 0, paras[0], 0] followed by Range 19 [foreignDoc.documentElement, 0, foreignDoc.documentElement, 1]: first addRange() must result in rangeCount being 1
PASS Range 22 [paras[0], 0, paras[0], 0] followed by Range 19 [foreignDoc.documentElement, 0, foreignDoc.documentElement, 1]: first addRange() must result in the selection's last range having the specified endpoints
-FAIL Range 22 [paras[0], 0, paras[0], 0] followed by Range 19 [foreignDoc.documentElement, 0, foreignDoc.documentElement, 1]: first addRange() must result in the selection's last range being the same object we added assert_equals: getRangeAt(rangeCount - 1) must return the same object we added expected object "" but got object ""
-FAIL Range 22 [paras[0], 0, paras[0], 0] followed by Range 19 [foreignDoc.documentElement, 0, foreignDoc.documentElement, 1]: modifying the first added range must modify the Selection's last Range assert_equals: After mutating the first added Range, startContainer of the Selection's last Range must match the added Range expected Text node "Äb̈c̈d̈ëf̈g̈ḧ
-" but got Element node <p id="a">Äb̈c̈d̈ëf̈g̈ḧ
-</p>
-FAIL Range 22 [paras[0], 0, paras[0], 0] followed by Range 19 [foreignDoc.documentElement, 0, foreignDoc.documentElement, 1]: modifying the Selection's last Range must modify the first added Range assert_equals: After first addRange(), after mutating the Selection's last Range, startOffset of the Selection's last Range must match the added Range expected 0 but got 6
+PASS Range 22 [paras[0], 0, paras[0], 0] followed by Range 19 [foreignDoc.documentElement, 0, foreignDoc.documentElement, 1]: first addRange() must result in the selection's last range being the same object we added
+PASS Range 22 [paras[0], 0, paras[0], 0] followed by Range 19 [foreignDoc.documentElement, 0, foreignDoc.documentElement, 1]: modifying the first added range must modify the Selection's last Range
+PASS Range 22 [paras[0], 0, paras[0], 0] followed by Range 19 [foreignDoc.documentElement, 0, foreignDoc.documentElement, 1]: modifying the Selection's last Range must modify the first added Range
PASS Range 22 [paras[0], 0, paras[0], 0] followed by Range 19 [foreignDoc.documentElement, 0, foreignDoc.documentElement, 1]: second addRange() must not throw exceptions or modify the range it's given
PASS Range 22 [paras[0], 0, paras[0], 0] followed by Range 19 [foreignDoc.documentElement, 0, foreignDoc.documentElement, 1]: second addRange() must result in rangeCount being 1
-FAIL Range 22 [paras[0], 0, paras[0], 0] followed by Range 19 [foreignDoc.documentElement, 0, foreignDoc.documentElement, 1]: second addRange() must result in the selection's last range having the specified endpoints assert_equals: startContainer of the Selection's last Range must match the added Range expected Element node <html><head><title></title></head><body><p>Efghijkl</p><p... but got Element node <p id="a">Äb̈c̈d̈ëf̈g̈ḧ
-</p>
+FAIL Range 22 [paras[0], 0, paras[0], 0] followed by Range 19 [foreignDoc.documentElement, 0, foreignDoc.documentElement, 1]: second addRange() must result in the selection's last range having the specified endpoints assert_equals: startContainer of the Selection's last Range must match the added Range expected Element node <html><head><title></title></head><body><p>Efghijkl</p><p... but got Text node "Äb̈c̈d̈ëf̈g̈ḧ
+"
FAIL Range 22 [paras[0], 0, paras[0], 0] followed by Range 19 [foreignDoc.documentElement, 0, foreignDoc.documentElement, 1]: second addRange() must result in the selection's last range being the same object we added assert_equals: getRangeAt(rangeCount - 1) must return the same object we added expected object "" but got object ""
-FAIL Range 22 [paras[0], 0, paras[0], 0] followed by Range 19 [foreignDoc.documentElement, 0, foreignDoc.documentElement, 1]: modifying the second added range must modify the Selection's last Range assert_equals: After mutating the second added Range, startContainer of the Selection's last Range must match the added Range expected Text node "Äb̈c̈d̈ëf̈g̈ḧ
-" but got Element node <p id="a">Äb̈c̈d̈ëf̈g̈ḧ
-</p>
+FAIL Range 22 [paras[0], 0, paras[0], 0] followed by Range 19 [foreignDoc.documentElement, 0, foreignDoc.documentElement, 1]: modifying the second added range must modify the Selection's last Range assert_equals: After mutating the second added Range, startOffset of the Selection's last Range must match the added Range expected 0 but got 6
FAIL Range 22 [paras[0], 0, paras[0], 0] followed by Range 19 [foreignDoc.documentElement, 0, foreignDoc.documentElement, 1]: modifying the Selection's last Range must modify the second added Range assert_equals: After second addRange(), after mutating the Selection's last Range, startOffset of the Selection's last Range must match the added Range expected 0 but got 6
PASS Range 22 [paras[0], 0, paras[0], 0] followed by Range 20 [foreignDoc.head, 1, foreignDoc.head, 1]: first addRange() must not throw exceptions or modify the range it's given
PASS Range 22 [paras[0], 0, paras[0], 0] followed by Range 20 [foreignDoc.head, 1, foreignDoc.head, 1]: first addRange() must result in rangeCount being 1
PASS Range 22 [paras[0], 0, paras[0], 0] followed by Range 20 [foreignDoc.head, 1, foreignDoc.head, 1]: first addRange() must result in the selection's last range having the specified endpoints
-FAIL Range 22 [paras[0], 0, paras[0], 0] followed by Range 20 [foreignDoc.head, 1, foreignDoc.head, 1]: first addRange() must result in the selection's last range being the same object we added assert_equals: getRangeAt(rangeCount - 1) must return the same object we added expected object "" but got object ""
-FAIL Range 22 [paras[0], 0, paras[0], 0] followed by Range 20 [foreignDoc.head, 1, foreignDoc.head, 1]: modifying the first added range must modify the Selection's last Range assert_equals: After mutating the first added Range, startContainer of the Selection's last Range must match the added Range expected Text node "Äb̈c̈d̈ëf̈g̈ḧ
-" but got Element node <p id="a">Äb̈c̈d̈ëf̈g̈ḧ
-</p>
-FAIL Range 22 [paras[0], 0, paras[0], 0] followed by Range 20 [foreignDoc.head, 1, foreignDoc.head, 1]: modifying the Selection's last Range must modify the first added Range assert_equals: After first addRange(), after mutating the Selection's last Range, startOffset of the Selection's last Range must match the added Range expected 0 but got 6
+PASS Range 22 [paras[0], 0, paras[0], 0] followed by Range 20 [foreignDoc.head, 1, foreignDoc.head, 1]: first addRange() must result in the selection's last range being the same object we added
+PASS Range 22 [paras[0], 0, paras[0], 0] followed by Range 20 [foreignDoc.head, 1, foreignDoc.head, 1]: modifying the first added range must modify the Selection's last Range
+PASS Range 22 [paras[0], 0, paras[0], 0] followed by Range 20 [foreignDoc.head, 1, foreignDoc.head, 1]: modifying the Selection's last Range must modify the first added Range
PASS Range 22 [paras[0], 0, paras[0], 0] followed by Range 20 [foreignDoc.head, 1, foreignDoc.head, 1]: second addRange() must not throw exceptions or modify the range it's given
PASS Range 22 [paras[0], 0, paras[0], 0] followed by Range 20 [foreignDoc.head, 1, foreignDoc.head, 1]: second addRange() must result in rangeCount being 1
-FAIL Range 22 [paras[0], 0, paras[0], 0] followed by Range 20 [foreignDoc.head, 1, foreignDoc.head, 1]: second addRange() must result in the selection's last range having the specified endpoints assert_equals: startContainer of the Selection's last Range must match the added Range expected Element node <head><title></title></head> but got Element node <p id="a">Äb̈c̈d̈ëf̈g̈ḧ
-</p>
+FAIL Range 22 [paras[0], 0, paras[0], 0] followed by Range 20 [foreignDoc.head, 1, foreignDoc.head, 1]: second addRange() must result in the selection's last range having the specified endpoints assert_equals: startContainer of the Selection's last Range must match the added Range expected Element node <head><title></title></head> but got Text node "Äb̈c̈d̈ëf̈g̈ḧ
+"
FAIL Range 22 [paras[0], 0, paras[0], 0] followed by Range 20 [foreignDoc.head, 1, foreignDoc.head, 1]: second addRange() must result in the selection's last range being the same object we added assert_equals: getRangeAt(rangeCount - 1) must return the same object we added expected object "" but got object ""
-FAIL Range 22 [paras[0], 0, paras[0], 0] followed by Range 20 [foreignDoc.head, 1, foreignDoc.head, 1]: modifying the second added range must modify the Selection's last Range assert_equals: After mutating the second added Range, startContainer of the Selection's last Range must match the added Range expected Text node "Äb̈c̈d̈ëf̈g̈ḧ
-" but got Element node <p id="a">Äb̈c̈d̈ëf̈g̈ḧ
-</p>
+FAIL Range 22 [paras[0], 0, paras[0], 0] followed by Range 20 [foreignDoc.head, 1, foreignDoc.head, 1]: modifying the second added range must modify the Selection's last Range assert_equals: After mutating the second added Range, startOffset of the Selection's last Range must match the added Range expected 0 but got 6
FAIL Range 22 [paras[0], 0, paras[0], 0] followed by Range 20 [foreignDoc.head, 1, foreignDoc.head, 1]: modifying the Selection's last Range must modify the second added Range assert_equals: After second addRange(), after mutating the Selection's last Range, startOffset of the Selection's last Range must match the added Range expected 0 but got 6
PASS Range 22 [paras[0], 0, paras[0], 0] followed by Range 21 [foreignDoc.body, 0, foreignDoc.body, 0]: first addRange() must not throw exceptions or modify the range it's given
PASS Range 22 [paras[0], 0, paras[0], 0] followed by Range 21 [foreignDoc.body, 0, foreignDoc.body, 0]: first addRange() must result in rangeCount being 1
PASS Range 22 [paras[0], 0, paras[0], 0] followed by Range 21 [foreignDoc.body, 0, foreignDoc.body, 0]: first addRange() must result in the selection's last range having the specified endpoints
-FAIL Range 22 [paras[0], 0, paras[0], 0] followed by Range 21 [foreignDoc.body, 0, foreignDoc.body, 0]: first addRange() must result in the selection's last range being the same object we added assert_equals: getRangeAt(rangeCount - 1) must return the same object we added expected object "" but got object ""
-FAIL Range 22 [paras[0], 0, paras[0], 0] followed by Range 21 [foreignDoc.body, 0, foreignDoc.body, 0]: modifying the first added range must modify the Selection's last Range assert_equals: After mutating the first added Range, startContainer of the Selection's last Range must match the added Range expected Text node "Äb̈c̈d̈ëf̈g̈ḧ
-" but got Element node <p id="a">Äb̈c̈d̈ëf̈g̈ḧ
-</p>
-FAIL Range 22 [paras[0], 0, paras[0], 0] followed by Range 21 [foreignDoc.body, 0, foreignDoc.body, 0]: modifying the Selection's last Range must modify the first added Range assert_equals: After first addRange(), after mutating the Selection's last Range, startOffset of the Selection's last Range must match the added Range expected 0 but got 6
+PASS Range 22 [paras[0], 0, paras[0], 0] followed by Range 21 [foreignDoc.body, 0, foreignDoc.body, 0]: first addRange() must result in the selection's last range being the same object we added
+PASS Range 22 [paras[0], 0, paras[0], 0] followed by Range 21 [foreignDoc.body, 0, foreignDoc.body, 0]: modifying the first added range must modify the Selection's last Range
+PASS Range 22 [paras[0], 0, paras[0], 0] followed by Range 21 [foreignDoc.body, 0, foreignDoc.body, 0]: modifying the Selection's last Range must modify the first added Range
PASS Range 22 [paras[0], 0, paras[0], 0] followed by Range 21 [foreignDoc.body, 0, foreignDoc.body, 0]: second addRange() must not throw exceptions or modify the range it's given
PASS Range 22 [paras[0], 0, paras[0], 0] followed by Range 21 [foreignDoc.body, 0, foreignDoc.body, 0]: second addRange() must result in rangeCount being 1
-FAIL Range 22 [paras[0], 0, paras[0], 0] followed by Range 21 [foreignDoc.body, 0, foreignDoc.body, 0]: second addRange() must result in the selection's last range having the specified endpoints assert_equals: startContainer of the Selection's last Range must match the added Range expected Element node <body><p>Efghijkl</p><p>Mnopqrst</p>I admit that I harbor... but got Element node <p id="a">Äb̈c̈d̈ëf̈g̈ḧ
-</p>
+FAIL Range 22 [paras[0], 0, paras[0], 0] followed by Range 21 [foreignDoc.body, 0, foreignDoc.body, 0]: second addRange() must result in the selection's last range having the specified endpoints assert_equals: startContainer of the Selection's last Range must match the added Range expected Element node <body><p>Efghijkl</p><p>Mnopqrst</p>I admit that I harbor... but got Text node "Äb̈c̈d̈ëf̈g̈ḧ
+"
FAIL Range 22 [paras[0], 0, paras[0], 0] followed by Range 21 [foreignDoc.body, 0, foreignDoc.body, 0]: second addRange() must result in the selection's last range being the same object we added assert_equals: getRangeAt(rangeCount - 1) must return the same object we added expected object "" but got object ""
-FAIL Range 22 [paras[0], 0, paras[0], 0] followed by Range 21 [foreignDoc.body, 0, foreignDoc.body, 0]: modifying the second added range must modify the Selection's last Range assert_equals: After mutating the second added Range, startContainer of the Selection's last Range must match the added Range expected Text node "Äb̈c̈d̈ëf̈g̈ḧ
-" but got Element node <p id="a">Äb̈c̈d̈ëf̈g̈ḧ
-</p>
+FAIL Range 22 [paras[0], 0, paras[0], 0] followed by Range 21 [foreignDoc.body, 0, foreignDoc.body, 0]: modifying the second added range must modify the Selection's last Range assert_equals: After mutating the second added Range, startOffset of the Selection's last Range must match the added Range expected 0 but got 6
FAIL Range 22 [paras[0], 0, paras[0], 0] followed by Range 21 [foreignDoc.body, 0, foreignDoc.body, 0]: modifying the Selection's last Range must modify the second added Range assert_equals: After second addRange(), after mutating the Selection's last Range, startOffset of the Selection's last Range must match the added Range expected 0 but got 6
PASS Range 22 [paras[0], 0, paras[0], 0] followed by Range 22 [paras[0], 0, paras[0], 0]: first addRange() must not throw exceptions or modify the range it's given
PASS Range 22 [paras[0], 0, paras[0], 0] followed by Range 22 [paras[0], 0, paras[0], 0]: first addRange() must result in rangeCount being 1
PASS Range 22 [paras[0], 0, paras[0], 0] followed by Range 22 [paras[0], 0, paras[0], 0]: first addRange() must result in the selection's last range having the specified endpoints
-FAIL Range 22 [paras[0], 0, paras[0], 0] followed by Range 22 [paras[0], 0, paras[0], 0]: first addRange() must result in the selection's last range being the same object we added assert_equals: getRangeAt(rangeCount - 1) must return the same object we added expected object "" but got object ""
-FAIL Range 22 [paras[0], 0, paras[0], 0] followed by Range 22 [paras[0], 0, paras[0], 0]: modifying the first added range must modify the Selection's last Range assert_equals: After mutating the first added Range, startContainer of the Selection's last Range must match the added Range expected Text node "Äb̈c̈d̈ëf̈g̈ḧ
-" but got Element node <p id="a">Äb̈c̈d̈ëf̈g̈ḧ
-</p>
-FAIL Range 22 [paras[0], 0, paras[0], 0] followed by Range 22 [paras[0], 0, paras[0], 0]: modifying the Selection's last Range must modify the first added Range assert_equals: After first addRange(), after mutating the Selection's last Range, startOffset of the Selection's last Range must match the added Range expected 0 but got 6
+PASS Range 22 [paras[0], 0, paras[0], 0] followed by Range 22 [paras[0], 0, paras[0], 0]: first addRange() must result in the selection's last range being the same object we added
+PASS Range 22 [paras[0], 0, paras[0], 0] followed by Range 22 [paras[0], 0, paras[0], 0]: modifying the first added range must modify the Selection's last Range
+PASS Range 22 [paras[0], 0, paras[0], 0] followed by Range 22 [paras[0], 0, paras[0], 0]: modifying the Selection's last Range must modify the first added Range
PASS Range 22 [paras[0], 0, paras[0], 0] followed by Range 22 [paras[0], 0, paras[0], 0]: second addRange() must not throw exceptions or modify the range it's given
PASS Range 22 [paras[0], 0, paras[0], 0] followed by Range 22 [paras[0], 0, paras[0], 0]: second addRange() must result in rangeCount being 1
PASS Range 22 [paras[0], 0, paras[0], 0] followed by Range 22 [paras[0], 0, paras[0], 0]: second addRange() must result in the selection's last range having the specified endpoints
@@ -2273,11 +1825,9 @@ FAIL Range 22 [paras[0], 0, paras[0], 0] followed by Range 22 [paras[0], 0, para
PASS Range 22 [paras[0], 0, paras[0], 0] followed by Range 23 [paras[0], 0, paras[0], 1]: first addRange() must not throw exceptions or modify the range it's given
PASS Range 22 [paras[0], 0, paras[0], 0] followed by Range 23 [paras[0], 0, paras[0], 1]: first addRange() must result in rangeCount being 1
PASS Range 22 [paras[0], 0, paras[0], 0] followed by Range 23 [paras[0], 0, paras[0], 1]: first addRange() must result in the selection's last range having the specified endpoints
-FAIL Range 22 [paras[0], 0, paras[0], 0] followed by Range 23 [paras[0], 0, paras[0], 1]: first addRange() must result in the selection's last range being the same object we added assert_equals: getRangeAt(rangeCount - 1) must return the same object we added expected object "" but got object ""
-FAIL Range 22 [paras[0], 0, paras[0], 0] followed by Range 23 [paras[0], 0, paras[0], 1]: modifying the first added range must modify the Selection's last Range assert_equals: After mutating the first added Range, startContainer of the Selection's last Range must match the added Range expected Text node "Äb̈c̈d̈ëf̈g̈ḧ
-" but got Element node <p id="a">Äb̈c̈d̈ëf̈g̈ḧ
-</p>
-FAIL Range 22 [paras[0], 0, paras[0], 0] followed by Range 23 [paras[0], 0, paras[0], 1]: modifying the Selection's last Range must modify the first added Range assert_equals: After first addRange(), after mutating the Selection's last Range, startOffset of the Selection's last Range must match the added Range expected 0 but got 6
+PASS Range 22 [paras[0], 0, paras[0], 0] followed by Range 23 [paras[0], 0, paras[0], 1]: first addRange() must result in the selection's last range being the same object we added
+PASS Range 22 [paras[0], 0, paras[0], 0] followed by Range 23 [paras[0], 0, paras[0], 1]: modifying the first added range must modify the Selection's last Range
+PASS Range 22 [paras[0], 0, paras[0], 0] followed by Range 23 [paras[0], 0, paras[0], 1]: modifying the Selection's last Range must modify the first added Range
PASS Range 22 [paras[0], 0, paras[0], 0] followed by Range 23 [paras[0], 0, paras[0], 1]: second addRange() must not throw exceptions or modify the range it's given
PASS Range 22 [paras[0], 0, paras[0], 0] followed by Range 23 [paras[0], 0, paras[0], 1]: second addRange() must result in rangeCount being 1
PASS Range 22 [paras[0], 0, paras[0], 0] followed by Range 23 [paras[0], 0, paras[0], 1]: second addRange() must result in the selection's last range having the specified endpoints
@@ -2291,103 +1841,75 @@ FAIL Range 22 [paras[0], 0, paras[0], 0] followed by Range 23 [paras[0], 0, para
PASS Range 22 [paras[0], 0, paras[0], 0] followed by Range 24 [detachedPara1, 0, detachedPara1, 0]: first addRange() must not throw exceptions or modify the range it's given
PASS Range 22 [paras[0], 0, paras[0], 0] followed by Range 24 [detachedPara1, 0, detachedPara1, 0]: first addRange() must result in rangeCount being 1
PASS Range 22 [paras[0], 0, paras[0], 0] followed by Range 24 [detachedPara1, 0, detachedPara1, 0]: first addRange() must result in the selection's last range having the specified endpoints
-FAIL Range 22 [paras[0], 0, paras[0], 0] followed by Range 24 [detachedPara1, 0, detachedPara1, 0]: first addRange() must result in the selection's last range being the same object we added assert_equals: getRangeAt(rangeCount - 1) must return the same object we added expected object "" but got object ""
-FAIL Range 22 [paras[0], 0, paras[0], 0] followed by Range 24 [detachedPara1, 0, detachedPara1, 0]: modifying the first added range must modify the Selection's last Range assert_equals: After mutating the first added Range, startContainer of the Selection's last Range must match the added Range expected Text node "Äb̈c̈d̈ëf̈g̈ḧ
-" but got Element node <p id="a">Äb̈c̈d̈ëf̈g̈ḧ
-</p>
-FAIL Range 22 [paras[0], 0, paras[0], 0] followed by Range 24 [detachedPara1, 0, detachedPara1, 0]: modifying the Selection's last Range must modify the first added Range assert_equals: After first addRange(), after mutating the Selection's last Range, startOffset of the Selection's last Range must match the added Range expected 0 but got 6
+PASS Range 22 [paras[0], 0, paras[0], 0] followed by Range 24 [detachedPara1, 0, detachedPara1, 0]: first addRange() must result in the selection's last range being the same object we added
+PASS Range 22 [paras[0], 0, paras[0], 0] followed by Range 24 [detachedPara1, 0, detachedPara1, 0]: modifying the first added range must modify the Selection's last Range
+PASS Range 22 [paras[0], 0, paras[0], 0] followed by Range 24 [detachedPara1, 0, detachedPara1, 0]: modifying the Selection's last Range must modify the first added Range
PASS Range 22 [paras[0], 0, paras[0], 0] followed by Range 24 [detachedPara1, 0, detachedPara1, 0]: second addRange() must not throw exceptions or modify the range it's given
PASS Range 22 [paras[0], 0, paras[0], 0] followed by Range 24 [detachedPara1, 0, detachedPara1, 0]: second addRange() must result in rangeCount being 1
-FAIL Range 22 [paras[0], 0, paras[0], 0] followed by Range 24 [detachedPara1, 0, detachedPara1, 0]: second addRange() must result in the selection's last range having the specified endpoints assert_equals: startContainer of the Selection's last Range must match the added Range expected Element node <p>Opqrstuv</p> but got Element node <p id="a">Äb̈c̈d̈ëf̈g̈ḧ
-</p>
+FAIL Range 22 [paras[0], 0, paras[0], 0] followed by Range 24 [detachedPara1, 0, detachedPara1, 0]: second addRange() must result in the selection's last range having the specified endpoints assert_equals: startContainer of the Selection's last Range must match the added Range expected Element node <p>Opqrstuv</p> but got Text node "Äb̈c̈d̈ëf̈g̈ḧ
+"
FAIL Range 22 [paras[0], 0, paras[0], 0] followed by Range 24 [detachedPara1, 0, detachedPara1, 0]: second addRange() must result in the selection's last range being the same object we added assert_equals: getRangeAt(rangeCount - 1) must return the same object we added expected object "" but got object ""
-FAIL Range 22 [paras[0], 0, paras[0], 0] followed by Range 24 [detachedPara1, 0, detachedPara1, 0]: modifying the second added range must modify the Selection's last Range assert_equals: After mutating the second added Range, startContainer of the Selection's last Range must match the added Range expected Text node "Äb̈c̈d̈ëf̈g̈ḧ
-" but got Element node <p id="a">Äb̈c̈d̈ëf̈g̈ḧ
-</p>
+FAIL Range 22 [paras[0], 0, paras[0], 0] followed by Range 24 [detachedPara1, 0, detachedPara1, 0]: modifying the second added range must modify the Selection's last Range assert_equals: After mutating the second added Range, startOffset of the Selection's last Range must match the added Range expected 0 but got 6
FAIL Range 22 [paras[0], 0, paras[0], 0] followed by Range 24 [detachedPara1, 0, detachedPara1, 0]: modifying the Selection's last Range must modify the second added Range assert_equals: After second addRange(), after mutating the Selection's last Range, startOffset of the Selection's last Range must match the added Range expected 0 but got 6
PASS Range 22 [paras[0], 0, paras[0], 0] followed by Range 25 [detachedPara1, 0, detachedPara1, 1]: first addRange() must not throw exceptions or modify the range it's given
PASS Range 22 [paras[0], 0, paras[0], 0] followed by Range 25 [detachedPara1, 0, detachedPara1, 1]: first addRange() must result in rangeCount being 1
PASS Range 22 [paras[0], 0, paras[0], 0] followed by Range 25 [detachedPara1, 0, detachedPara1, 1]: first addRange() must result in the selection's last range having the specified endpoints
-FAIL Range 22 [paras[0], 0, paras[0], 0] followed by Range 25 [detachedPara1, 0, detachedPara1, 1]: first addRange() must result in the selection's last range being the same object we added assert_equals: getRangeAt(rangeCount - 1) must return the same object we added expected object "" but got object ""
-FAIL Range 22 [paras[0], 0, paras[0], 0] followed by Range 25 [detachedPara1, 0, detachedPara1, 1]: modifying the first added range must modify the Selection's last Range assert_equals: After mutating the first added Range, startContainer of the Selection's last Range must match the added Range expected Text node "Äb̈c̈d̈ëf̈g̈ḧ
-" but got Element node <p id="a">Äb̈c̈d̈ëf̈g̈ḧ
-</p>
-FAIL Range 22 [paras[0], 0, paras[0], 0] followed by Range 25 [detachedPara1, 0, detachedPara1, 1]: modifying the Selection's last Range must modify the first added Range assert_equals: After first addRange(), after mutating the Selection's last Range, startOffset of the Selection's last Range must match the added Range expected 0 but got 6
+PASS Range 22 [paras[0], 0, paras[0], 0] followed by Range 25 [detachedPara1, 0, detachedPara1, 1]: first addRange() must result in the selection's last range being the same object we added
+PASS Range 22 [paras[0], 0, paras[0], 0] followed by Range 25 [detachedPara1, 0, detachedPara1, 1]: modifying the first added range must modify the Selection's last Range
+PASS Range 22 [paras[0], 0, paras[0], 0] followed by Range 25 [detachedPara1, 0, detachedPara1, 1]: modifying the Selection's last Range must modify the first added Range
PASS Range 22 [paras[0], 0, paras[0], 0] followed by Range 25 [detachedPara1, 0, detachedPara1, 1]: second addRange() must not throw exceptions or modify the range it's given
PASS Range 22 [paras[0], 0, paras[0], 0] followed by Range 25 [detachedPara1, 0, detachedPara1, 1]: second addRange() must result in rangeCount being 1
-FAIL Range 22 [paras[0], 0, paras[0], 0] followed by Range 25 [detachedPara1, 0, detachedPara1, 1]: second addRange() must result in the selection's last range having the specified endpoints assert_equals: startContainer of the Selection's last Range must match the added Range expected Element node <p>Opqrstuv</p> but got Element node <p id="a">Äb̈c̈d̈ëf̈g̈ḧ
-</p>
+FAIL Range 22 [paras[0], 0, paras[0], 0] followed by Range 25 [detachedPara1, 0, detachedPara1, 1]: second addRange() must result in the selection's last range having the specified endpoints assert_equals: startContainer of the Selection's last Range must match the added Range expected Element node <p>Opqrstuv</p> but got Text node "Äb̈c̈d̈ëf̈g̈ḧ
+"
FAIL Range 22 [paras[0], 0, paras[0], 0] followed by Range 25 [detachedPara1, 0, detachedPara1, 1]: second addRange() must result in the selection's last range being the same object we added assert_equals: getRangeAt(rangeCount - 1) must return the same object we added expected object "Opqrstuv" but got object ""
-FAIL Range 22 [paras[0], 0, paras[0], 0] followed by Range 25 [detachedPara1, 0, detachedPara1, 1]: modifying the second added range must modify the Selection's last Range assert_equals: After mutating the second added Range, startContainer of the Selection's last Range must match the added Range expected Text node "Äb̈c̈d̈ëf̈g̈ḧ
-" but got Element node <p id="a">Äb̈c̈d̈ëf̈g̈ḧ
-</p>
+FAIL Range 22 [paras[0], 0, paras[0], 0] followed by Range 25 [detachedPara1, 0, detachedPara1, 1]: modifying the second added range must modify the Selection's last Range assert_equals: After mutating the second added Range, startOffset of the Selection's last Range must match the added Range expected 0 but got 6
FAIL Range 22 [paras[0], 0, paras[0], 0] followed by Range 25 [detachedPara1, 0, detachedPara1, 1]: modifying the Selection's last Range must modify the second added Range assert_equals: After second addRange(), after mutating the Selection's last Range, startOffset of the Selection's last Range must match the added Range expected 0 but got 6
PASS Range 22 [paras[0], 0, paras[0], 0] followed by Range 26 [paras[0].firstChild, 0, paras[1].firstChild, 0]: first addRange() must not throw exceptions or modify the range it's given
PASS Range 22 [paras[0], 0, paras[0], 0] followed by Range 26 [paras[0].firstChild, 0, paras[1].firstChild, 0]: first addRange() must result in rangeCount being 1
PASS Range 22 [paras[0], 0, paras[0], 0] followed by Range 26 [paras[0].firstChild, 0, paras[1].firstChild, 0]: first addRange() must result in the selection's last range having the specified endpoints
-FAIL Range 22 [paras[0], 0, paras[0], 0] followed by Range 26 [paras[0].firstChild, 0, paras[1].firstChild, 0]: first addRange() must result in the selection's last range being the same object we added assert_equals: getRangeAt(rangeCount - 1) must return the same object we added expected object "" but got object ""
-FAIL Range 22 [paras[0], 0, paras[0], 0] followed by Range 26 [paras[0].firstChild, 0, paras[1].firstChild, 0]: modifying the first added range must modify the Selection's last Range assert_equals: After mutating the first added Range, startContainer of the Selection's last Range must match the added Range expected Text node "Äb̈c̈d̈ëf̈g̈ḧ
-" but got Element node <p id="a">Äb̈c̈d̈ëf̈g̈ḧ
-</p>
-FAIL Range 22 [paras[0], 0, paras[0], 0] followed by Range 26 [paras[0].firstChild, 0, paras[1].firstChild, 0]: modifying the Selection's last Range must modify the first added Range assert_equals: After first addRange(), after mutating the Selection's last Range, startOffset of the Selection's last Range must match the added Range expected 0 but got 6
+PASS Range 22 [paras[0], 0, paras[0], 0] followed by Range 26 [paras[0].firstChild, 0, paras[1].firstChild, 0]: first addRange() must result in the selection's last range being the same object we added
+PASS Range 22 [paras[0], 0, paras[0], 0] followed by Range 26 [paras[0].firstChild, 0, paras[1].firstChild, 0]: modifying the first added range must modify the Selection's last Range
+PASS Range 22 [paras[0], 0, paras[0], 0] followed by Range 26 [paras[0].firstChild, 0, paras[1].firstChild, 0]: modifying the Selection's last Range must modify the first added Range
PASS Range 22 [paras[0], 0, paras[0], 0] followed by Range 26 [paras[0].firstChild, 0, paras[1].firstChild, 0]: second addRange() must not throw exceptions or modify the range it's given
PASS Range 22 [paras[0], 0, paras[0], 0] followed by Range 26 [paras[0].firstChild, 0, paras[1].firstChild, 0]: second addRange() must result in rangeCount being 1
-FAIL Range 22 [paras[0], 0, paras[0], 0] followed by Range 26 [paras[0].firstChild, 0, paras[1].firstChild, 0]: second addRange() must result in the selection's last range having the specified endpoints assert_equals: startContainer of the Selection's last Range must match the added Range expected Text node "Äb̈c̈d̈ëf̈g̈ḧ
-" but got Element node <p id="a">Äb̈c̈d̈ëf̈g̈ḧ
-</p>
+FAIL Range 22 [paras[0], 0, paras[0], 0] followed by Range 26 [paras[0].firstChild, 0, paras[1].firstChild, 0]: second addRange() must result in the selection's last range having the specified endpoints assert_equals: startOffset of the Selection's last Range must match the added Range expected 0 but got 6
FAIL Range 22 [paras[0], 0, paras[0], 0] followed by Range 26 [paras[0].firstChild, 0, paras[1].firstChild, 0]: second addRange() must result in the selection's last range being the same object we added assert_equals: getRangeAt(rangeCount - 1) must return the same object we added expected object "Äb̈c̈d̈ëf̈g̈ḧ
" but got object ""
-FAIL Range 22 [paras[0], 0, paras[0], 0] followed by Range 26 [paras[0].firstChild, 0, paras[1].firstChild, 0]: modifying the second added range must modify the Selection's last Range assert_equals: After mutating the second added Range, startContainer of the Selection's last Range must match the added Range expected Text node "Äb̈c̈d̈ëf̈g̈ḧ
-" but got Element node <p id="a">Äb̈c̈d̈ëf̈g̈ḧ
-</p>
+FAIL Range 22 [paras[0], 0, paras[0], 0] followed by Range 26 [paras[0].firstChild, 0, paras[1].firstChild, 0]: modifying the second added range must modify the Selection's last Range assert_equals: After mutating the second added Range, startOffset of the Selection's last Range must match the added Range expected 0 but got 6
FAIL Range 22 [paras[0], 0, paras[0], 0] followed by Range 26 [paras[0].firstChild, 0, paras[1].firstChild, 0]: modifying the Selection's last Range must modify the second added Range assert_equals: After second addRange(), after mutating the Selection's last Range, startOffset of the Selection's last Range must match the added Range expected 0 but got 6
PASS Range 22 [paras[0], 0, paras[0], 0] followed by Range 27 [paras[0].firstChild, 0, paras[1].firstChild, 8]: first addRange() must not throw exceptions or modify the range it's given
PASS Range 22 [paras[0], 0, paras[0], 0] followed by Range 27 [paras[0].firstChild, 0, paras[1].firstChild, 8]: first addRange() must result in rangeCount being 1
PASS Range 22 [paras[0], 0, paras[0], 0] followed by Range 27 [paras[0].firstChild, 0, paras[1].firstChild, 8]: first addRange() must result in the selection's last range having the specified endpoints
-FAIL Range 22 [paras[0], 0, paras[0], 0] followed by Range 27 [paras[0].firstChild, 0, paras[1].firstChild, 8]: first addRange() must result in the selection's last range being the same object we added assert_equals: getRangeAt(rangeCount - 1) must return the same object we added expected object "" but got object ""
-FAIL Range 22 [paras[0], 0, paras[0], 0] followed by Range 27 [paras[0].firstChild, 0, paras[1].firstChild, 8]: modifying the first added range must modify the Selection's last Range assert_equals: After mutating the first added Range, startContainer of the Selection's last Range must match the added Range expected Text node "Äb̈c̈d̈ëf̈g̈ḧ
-" but got Element node <p id="a">Äb̈c̈d̈ëf̈g̈ḧ
-</p>
-FAIL Range 22 [paras[0], 0, paras[0], 0] followed by Range 27 [paras[0].firstChild, 0, paras[1].firstChild, 8]: modifying the Selection's last Range must modify the first added Range assert_equals: After first addRange(), after mutating the Selection's last Range, startOffset of the Selection's last Range must match the added Range expected 0 but got 6
+PASS Range 22 [paras[0], 0, paras[0], 0] followed by Range 27 [paras[0].firstChild, 0, paras[1].firstChild, 8]: first addRange() must result in the selection's last range being the same object we added
+PASS Range 22 [paras[0], 0, paras[0], 0] followed by Range 27 [paras[0].firstChild, 0, paras[1].firstChild, 8]: modifying the first added range must modify the Selection's last Range
+PASS Range 22 [paras[0], 0, paras[0], 0] followed by Range 27 [paras[0].firstChild, 0, paras[1].firstChild, 8]: modifying the Selection's last Range must modify the first added Range
PASS Range 22 [paras[0], 0, paras[0], 0] followed by Range 27 [paras[0].firstChild, 0, paras[1].firstChild, 8]: second addRange() must not throw exceptions or modify the range it's given
PASS Range 22 [paras[0], 0, paras[0], 0] followed by Range 27 [paras[0].firstChild, 0, paras[1].firstChild, 8]: second addRange() must result in rangeCount being 1
-FAIL Range 22 [paras[0], 0, paras[0], 0] followed by Range 27 [paras[0].firstChild, 0, paras[1].firstChild, 8]: second addRange() must result in the selection's last range having the specified endpoints assert_equals: startContainer of the Selection's last Range must match the added Range expected Text node "Äb̈c̈d̈ëf̈g̈ḧ
-" but got Element node <p id="a">Äb̈c̈d̈ëf̈g̈ḧ
-</p>
+FAIL Range 22 [paras[0], 0, paras[0], 0] followed by Range 27 [paras[0].firstChild, 0, paras[1].firstChild, 8]: second addRange() must result in the selection's last range having the specified endpoints assert_equals: startOffset of the Selection's last Range must match the added Range expected 0 but got 6
FAIL Range 22 [paras[0], 0, paras[0], 0] followed by Range 27 [paras[0].firstChild, 0, paras[1].firstChild, 8]: second addRange() must result in the selection's last range being the same object we added assert_equals: getRangeAt(rangeCount - 1) must return the same object we added expected object "Äb̈c̈d̈ëf̈g̈ḧ
Ijklmnop" but got object ""
-FAIL Range 22 [paras[0], 0, paras[0], 0] followed by Range 27 [paras[0].firstChild, 0, paras[1].firstChild, 8]: modifying the second added range must modify the Selection's last Range assert_equals: After mutating the second added Range, startContainer of the Selection's last Range must match the added Range expected Text node "Äb̈c̈d̈ëf̈g̈ḧ
-" but got Element node <p id="a">Äb̈c̈d̈ëf̈g̈ḧ
-</p>
+FAIL Range 22 [paras[0], 0, paras[0], 0] followed by Range 27 [paras[0].firstChild, 0, paras[1].firstChild, 8]: modifying the second added range must modify the Selection's last Range assert_equals: After mutating the second added Range, startOffset of the Selection's last Range must match the added Range expected 0 but got 6
FAIL Range 22 [paras[0], 0, paras[0], 0] followed by Range 27 [paras[0].firstChild, 0, paras[1].firstChild, 8]: modifying the Selection's last Range must modify the second added Range assert_equals: After second addRange(), after mutating the Selection's last Range, startOffset of the Selection's last Range must match the added Range expected 0 but got 6
PASS Range 22 [paras[0], 0, paras[0], 0] followed by Range 28 [paras[0].firstChild, 3, paras[3], 1]: first addRange() must not throw exceptions or modify the range it's given
PASS Range 22 [paras[0], 0, paras[0], 0] followed by Range 28 [paras[0].firstChild, 3, paras[3], 1]: first addRange() must result in rangeCount being 1
PASS Range 22 [paras[0], 0, paras[0], 0] followed by Range 28 [paras[0].firstChild, 3, paras[3], 1]: first addRange() must result in the selection's last range having the specified endpoints
-FAIL Range 22 [paras[0], 0, paras[0], 0] followed by Range 28 [paras[0].firstChild, 3, paras[3], 1]: first addRange() must result in the selection's last range being the same object we added assert_equals: getRangeAt(rangeCount - 1) must return the same object we added expected object "" but got object ""
-FAIL Range 22 [paras[0], 0, paras[0], 0] followed by Range 28 [paras[0].firstChild, 3, paras[3], 1]: modifying the first added range must modify the Selection's last Range assert_equals: After mutating the first added Range, startContainer of the Selection's last Range must match the added Range expected Text node "Äb̈c̈d̈ëf̈g̈ḧ
-" but got Element node <p id="a">Äb̈c̈d̈ëf̈g̈ḧ
-</p>
-FAIL Range 22 [paras[0], 0, paras[0], 0] followed by Range 28 [paras[0].firstChild, 3, paras[3], 1]: modifying the Selection's last Range must modify the first added Range assert_equals: After first addRange(), after mutating the Selection's last Range, startOffset of the Selection's last Range must match the added Range expected 0 but got 6
+PASS Range 22 [paras[0], 0, paras[0], 0] followed by Range 28 [paras[0].firstChild, 3, paras[3], 1]: first addRange() must result in the selection's last range being the same object we added
+PASS Range 22 [paras[0], 0, paras[0], 0] followed by Range 28 [paras[0].firstChild, 3, paras[3], 1]: modifying the first added range must modify the Selection's last Range
+PASS Range 22 [paras[0], 0, paras[0], 0] followed by Range 28 [paras[0].firstChild, 3, paras[3], 1]: modifying the Selection's last Range must modify the first added Range
PASS Range 22 [paras[0], 0, paras[0], 0] followed by Range 28 [paras[0].firstChild, 3, paras[3], 1]: second addRange() must not throw exceptions or modify the range it's given
PASS Range 22 [paras[0], 0, paras[0], 0] followed by Range 28 [paras[0].firstChild, 3, paras[3], 1]: second addRange() must result in rangeCount being 1
-FAIL Range 22 [paras[0], 0, paras[0], 0] followed by Range 28 [paras[0].firstChild, 3, paras[3], 1]: second addRange() must result in the selection's last range having the specified endpoints assert_equals: startContainer of the Selection's last Range must match the added Range expected Text node "Äb̈c̈d̈ëf̈g̈ḧ
-" but got Element node <p id="a">Äb̈c̈d̈ëf̈g̈ḧ
-</p>
+FAIL Range 22 [paras[0], 0, paras[0], 0] followed by Range 28 [paras[0].firstChild, 3, paras[3], 1]: second addRange() must result in the selection's last range having the specified endpoints assert_equals: startOffset of the Selection's last Range must match the added Range expected 3 but got 6
FAIL Range 22 [paras[0], 0, paras[0], 0] followed by Range 28 [paras[0].firstChild, 3, paras[3], 1]: second addRange() must result in the selection's last range being the same object we added assert_equals: getRangeAt(rangeCount - 1) must return the same object we added expected object "̈c̈d̈ëf̈g̈ḧ
Ijklmnop
QrstuvwxYzabcdef" but got object ""
-FAIL Range 22 [paras[0], 0, paras[0], 0] followed by Range 28 [paras[0].firstChild, 3, paras[3], 1]: modifying the second added range must modify the Selection's last Range assert_equals: After mutating the second added Range, startContainer of the Selection's last Range must match the added Range expected Text node "Äb̈c̈d̈ëf̈g̈ḧ
-" but got Element node <p id="a">Äb̈c̈d̈ëf̈g̈ḧ
-</p>
+FAIL Range 22 [paras[0], 0, paras[0], 0] followed by Range 28 [paras[0].firstChild, 3, paras[3], 1]: modifying the second added range must modify the Selection's last Range assert_equals: After mutating the second added Range, startOffset of the Selection's last Range must match the added Range expected 0 but got 6
FAIL Range 22 [paras[0], 0, paras[0], 0] followed by Range 28 [paras[0].firstChild, 3, paras[3], 1]: modifying the Selection's last Range must modify the second added Range assert_equals: After second addRange(), after mutating the Selection's last Range, startOffset of the Selection's last Range must match the added Range expected 0 but got 6
PASS Range 22 [paras[0], 0, paras[0], 0] followed by Range 29 [paras[0], 0, paras[0].firstChild, 7]: first addRange() must not throw exceptions or modify the range it's given
PASS Range 22 [paras[0], 0, paras[0], 0] followed by Range 29 [paras[0], 0, paras[0].firstChild, 7]: first addRange() must result in rangeCount being 1
PASS Range 22 [paras[0], 0, paras[0], 0] followed by Range 29 [paras[0], 0, paras[0].firstChild, 7]: first addRange() must result in the selection's last range having the specified endpoints
-FAIL Range 22 [paras[0], 0, paras[0], 0] followed by Range 29 [paras[0], 0, paras[0].firstChild, 7]: first addRange() must result in the selection's last range being the same object we added assert_equals: getRangeAt(rangeCount - 1) must return the same object we added expected object "" but got object ""
-FAIL Range 22 [paras[0], 0, paras[0], 0] followed by Range 29 [paras[0], 0, paras[0].firstChild, 7]: modifying the first added range must modify the Selection's last Range assert_equals: After mutating the first added Range, startContainer of the Selection's last Range must match the added Range expected Text node "Äb̈c̈d̈ëf̈g̈ḧ
-" but got Element node <p id="a">Äb̈c̈d̈ëf̈g̈ḧ
-</p>
-FAIL Range 22 [paras[0], 0, paras[0], 0] followed by Range 29 [paras[0], 0, paras[0].firstChild, 7]: modifying the Selection's last Range must modify the first added Range assert_equals: After first addRange(), after mutating the Selection's last Range, startOffset of the Selection's last Range must match the added Range expected 0 but got 6
+PASS Range 22 [paras[0], 0, paras[0], 0] followed by Range 29 [paras[0], 0, paras[0].firstChild, 7]: first addRange() must result in the selection's last range being the same object we added
+PASS Range 22 [paras[0], 0, paras[0], 0] followed by Range 29 [paras[0], 0, paras[0].firstChild, 7]: modifying the first added range must modify the Selection's last Range
+PASS Range 22 [paras[0], 0, paras[0], 0] followed by Range 29 [paras[0], 0, paras[0].firstChild, 7]: modifying the Selection's last Range must modify the first added Range
PASS Range 22 [paras[0], 0, paras[0], 0] followed by Range 29 [paras[0], 0, paras[0].firstChild, 7]: second addRange() must not throw exceptions or modify the range it's given
PASS Range 22 [paras[0], 0, paras[0], 0] followed by Range 29 [paras[0], 0, paras[0].firstChild, 7]: second addRange() must result in rangeCount being 1
PASS Range 22 [paras[0], 0, paras[0], 0] followed by Range 29 [paras[0], 0, paras[0].firstChild, 7]: second addRange() must result in the selection's last range having the specified endpoints
@@ -2399,100 +1921,78 @@ FAIL Range 22 [paras[0], 0, paras[0], 0] followed by Range 29 [paras[0], 0, para
PASS Range 22 [paras[0], 0, paras[0], 0] followed by Range 30 [testDiv, 2, paras[4], 1]: first addRange() must not throw exceptions or modify the range it's given
PASS Range 22 [paras[0], 0, paras[0], 0] followed by Range 30 [testDiv, 2, paras[4], 1]: first addRange() must result in rangeCount being 1
PASS Range 22 [paras[0], 0, paras[0], 0] followed by Range 30 [testDiv, 2, paras[4], 1]: first addRange() must result in the selection's last range having the specified endpoints
-FAIL Range 22 [paras[0], 0, paras[0], 0] followed by Range 30 [testDiv, 2, paras[4], 1]: first addRange() must result in the selection's last range being the same object we added assert_equals: getRangeAt(rangeCount - 1) must return the same object we added expected object "" but got object ""
-FAIL Range 22 [paras[0], 0, paras[0], 0] followed by Range 30 [testDiv, 2, paras[4], 1]: modifying the first added range must modify the Selection's last Range assert_equals: After mutating the first added Range, startContainer of the Selection's last Range must match the added Range expected Text node "Äb̈c̈d̈ëf̈g̈ḧ
-" but got Element node <p id="a">Äb̈c̈d̈ëf̈g̈ḧ
-</p>
-FAIL Range 22 [paras[0], 0, paras[0], 0] followed by Range 30 [testDiv, 2, paras[4], 1]: modifying the Selection's last Range must modify the first added Range assert_equals: After first addRange(), after mutating the Selection's last Range, startOffset of the Selection's last Range must match the added Range expected 0 but got 6
+PASS Range 22 [paras[0], 0, paras[0], 0] followed by Range 30 [testDiv, 2, paras[4], 1]: first addRange() must result in the selection's last range being the same object we added
+PASS Range 22 [paras[0], 0, paras[0], 0] followed by Range 30 [testDiv, 2, paras[4], 1]: modifying the first added range must modify the Selection's last Range
+PASS Range 22 [paras[0], 0, paras[0], 0] followed by Range 30 [testDiv, 2, paras[4], 1]: modifying the Selection's last Range must modify the first added Range
PASS Range 22 [paras[0], 0, paras[0], 0] followed by Range 30 [testDiv, 2, paras[4], 1]: second addRange() must not throw exceptions or modify the range it's given
PASS Range 22 [paras[0], 0, paras[0], 0] followed by Range 30 [testDiv, 2, paras[4], 1]: second addRange() must result in rangeCount being 1
FAIL Range 22 [paras[0], 0, paras[0], 0] followed by Range 30 [testDiv, 2, paras[4], 1]: second addRange() must result in the selection's last range having the specified endpoints assert_equals: startContainer of the Selection's last Range must match the added Range expected Element node <div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ
-</p><p id="b" s... but got Element node <p id="a">Äb̈c̈d̈ëf̈g̈ḧ
-</p>
+</p><p id="b" s... but got Text node "Äb̈c̈d̈ëf̈g̈ḧ
+"
FAIL Range 22 [paras[0], 0, paras[0], 0] followed by Range 30 [testDiv, 2, paras[4], 1]: second addRange() must result in the selection's last range being the same object we added assert_equals: getRangeAt(rangeCount - 1) must return the same object we added expected object "QrstuvwxYzabcdefGhijklmn" but got object ""
-FAIL Range 22 [paras[0], 0, paras[0], 0] followed by Range 30 [testDiv, 2, paras[4], 1]: modifying the second added range must modify the Selection's last Range assert_equals: After mutating the second added Range, startContainer of the Selection's last Range must match the added Range expected Text node "Äb̈c̈d̈ëf̈g̈ḧ
-" but got Element node <p id="a">Äb̈c̈d̈ëf̈g̈ḧ
-</p>
+FAIL Range 22 [paras[0], 0, paras[0], 0] followed by Range 30 [testDiv, 2, paras[4], 1]: modifying the second added range must modify the Selection's last Range assert_equals: After mutating the second added Range, startOffset of the Selection's last Range must match the added Range expected 0 but got 6
FAIL Range 22 [paras[0], 0, paras[0], 0] followed by Range 30 [testDiv, 2, paras[4], 1]: modifying the Selection's last Range must modify the second added Range assert_equals: After second addRange(), after mutating the Selection's last Range, startOffset of the Selection's last Range must match the added Range expected 0 but got 6
PASS Range 22 [paras[0], 0, paras[0], 0] followed by Range 31 [testDiv, 1, paras[2].firstChild, 5]: first addRange() must not throw exceptions or modify the range it's given
PASS Range 22 [paras[0], 0, paras[0], 0] followed by Range 31 [testDiv, 1, paras[2].firstChild, 5]: first addRange() must result in rangeCount being 1
PASS Range 22 [paras[0], 0, paras[0], 0] followed by Range 31 [testDiv, 1, paras[2].firstChild, 5]: first addRange() must result in the selection's last range having the specified endpoints
-FAIL Range 22 [paras[0], 0, paras[0], 0] followed by Range 31 [testDiv, 1, paras[2].firstChild, 5]: first addRange() must result in the selection's last range being the same object we added assert_equals: getRangeAt(rangeCount - 1) must return the same object we added expected object "" but got object ""
-FAIL Range 22 [paras[0], 0, paras[0], 0] followed by Range 31 [testDiv, 1, paras[2].firstChild, 5]: modifying the first added range must modify the Selection's last Range assert_equals: After mutating the first added Range, startContainer of the Selection's last Range must match the added Range expected Text node "Äb̈c̈d̈ëf̈g̈ḧ
-" but got Element node <p id="a">Äb̈c̈d̈ëf̈g̈ḧ
-</p>
-FAIL Range 22 [paras[0], 0, paras[0], 0] followed by Range 31 [testDiv, 1, paras[2].firstChild, 5]: modifying the Selection's last Range must modify the first added Range assert_equals: After first addRange(), after mutating the Selection's last Range, startOffset of the Selection's last Range must match the added Range expected 0 but got 6
+PASS Range 22 [paras[0], 0, paras[0], 0] followed by Range 31 [testDiv, 1, paras[2].firstChild, 5]: first addRange() must result in the selection's last range being the same object we added
+PASS Range 22 [paras[0], 0, paras[0], 0] followed by Range 31 [testDiv, 1, paras[2].firstChild, 5]: modifying the first added range must modify the Selection's last Range
+PASS Range 22 [paras[0], 0, paras[0], 0] followed by Range 31 [testDiv, 1, paras[2].firstChild, 5]: modifying the Selection's last Range must modify the first added Range
PASS Range 22 [paras[0], 0, paras[0], 0] followed by Range 31 [testDiv, 1, paras[2].firstChild, 5]: second addRange() must not throw exceptions or modify the range it's given
PASS Range 22 [paras[0], 0, paras[0], 0] followed by Range 31 [testDiv, 1, paras[2].firstChild, 5]: second addRange() must result in rangeCount being 1
FAIL Range 22 [paras[0], 0, paras[0], 0] followed by Range 31 [testDiv, 1, paras[2].firstChild, 5]: second addRange() must result in the selection's last range having the specified endpoints assert_equals: startContainer of the Selection's last Range must match the added Range expected Element node <div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ
-</p><p id="b" s... but got Element node <p id="a">Äb̈c̈d̈ëf̈g̈ḧ
-</p>
+</p><p id="b" s... but got Text node "Äb̈c̈d̈ëf̈g̈ḧ
+"
FAIL Range 22 [paras[0], 0, paras[0], 0] followed by Range 31 [testDiv, 1, paras[2].firstChild, 5]: second addRange() must result in the selection's last range being the same object we added assert_equals: getRangeAt(rangeCount - 1) must return the same object we added expected object "Ijklmnop
Qrstu" but got object ""
-FAIL Range 22 [paras[0], 0, paras[0], 0] followed by Range 31 [testDiv, 1, paras[2].firstChild, 5]: modifying the second added range must modify the Selection's last Range assert_equals: After mutating the second added Range, startContainer of the Selection's last Range must match the added Range expected Text node "Äb̈c̈d̈ëf̈g̈ḧ
-" but got Element node <p id="a">Äb̈c̈d̈ëf̈g̈ḧ
-</p>
+FAIL Range 22 [paras[0], 0, paras[0], 0] followed by Range 31 [testDiv, 1, paras[2].firstChild, 5]: modifying the second added range must modify the Selection's last Range assert_equals: After mutating the second added Range, startOffset of the Selection's last Range must match the added Range expected 0 but got 6
FAIL Range 22 [paras[0], 0, paras[0], 0] followed by Range 31 [testDiv, 1, paras[2].firstChild, 5]: modifying the Selection's last Range must modify the second added Range assert_equals: After second addRange(), after mutating the Selection's last Range, startOffset of the Selection's last Range must match the added Range expected 0 but got 6
PASS Range 22 [paras[0], 0, paras[0], 0] followed by Range 32 [document.documentElement, 1, document.body, 0]: first addRange() must not throw exceptions or modify the range it's given
PASS Range 22 [paras[0], 0, paras[0], 0] followed by Range 32 [document.documentElement, 1, document.body, 0]: first addRange() must result in rangeCount being 1
PASS Range 22 [paras[0], 0, paras[0], 0] followed by Range 32 [document.documentElement, 1, document.body, 0]: first addRange() must result in the selection's last range having the specified endpoints
-FAIL Range 22 [paras[0], 0, paras[0], 0] followed by Range 32 [document.documentElement, 1, document.body, 0]: first addRange() must result in the selection's last range being the same object we added assert_equals: getRangeAt(rangeCount - 1) must return the same object we added expected object "" but got object ""
-FAIL Range 22 [paras[0], 0, paras[0], 0] followed by Range 32 [document.documentElement, 1, document.body, 0]: modifying the first added range must modify the Selection's last Range assert_equals: After mutating the first added Range, startContainer of the Selection's last Range must match the added Range expected Text node "Äb̈c̈d̈ëf̈g̈ḧ
-" but got Element node <p id="a">Äb̈c̈d̈ëf̈g̈ḧ
-</p>
-FAIL Range 22 [paras[0], 0, paras[0], 0] followed by Range 32 [document.documentElement, 1, document.body, 0]: modifying the Selection's last Range must modify the first added Range assert_equals: After first addRange(), after mutating the Selection's last Range, startOffset of the Selection's last Range must match the added Range expected 0 but got 6
+PASS Range 22 [paras[0], 0, paras[0], 0] followed by Range 32 [document.documentElement, 1, document.body, 0]: first addRange() must result in the selection's last range being the same object we added
+PASS Range 22 [paras[0], 0, paras[0], 0] followed by Range 32 [document.documentElement, 1, document.body, 0]: modifying the first added range must modify the Selection's last Range
+PASS Range 22 [paras[0], 0, paras[0], 0] followed by Range 32 [document.documentElement, 1, document.body, 0]: modifying the Selection's last Range must modify the first added Range
PASS Range 22 [paras[0], 0, paras[0], 0] followed by Range 32 [document.documentElement, 1, document.body, 0]: second addRange() must not throw exceptions or modify the range it's given
PASS Range 22 [paras[0], 0, paras[0], 0] followed by Range 32 [document.documentElement, 1, document.body, 0]: second addRange() must result in rangeCount being 1
FAIL Range 22 [paras[0], 0, paras[0], 0] followed by Range 32 [document.documentElement, 1, document.body, 0]: second addRange() must result in the selection's last range having the specified endpoints assert_equals: startContainer of the Selection's last Range must match the added Range expected Element node <html><head><title>Selection.addRange() tests</title>
-<me... but got Element node <p id="a">Äb̈c̈d̈ëf̈g̈ḧ
-</p>
+<me... but got Text node "Äb̈c̈d̈ëf̈g̈ḧ
+"
FAIL Range 22 [paras[0], 0, paras[0], 0] followed by Range 32 [document.documentElement, 1, document.body, 0]: second addRange() must result in the selection's last range being the same object we added assert_equals: getRangeAt(rangeCount - 1) must return the same object we added expected object "" but got object ""
-FAIL Range 22 [paras[0], 0, paras[0], 0] followed by Range 32 [document.documentElement, 1, document.body, 0]: modifying the second added range must modify the Selection's last Range assert_equals: After mutating the second added Range, startContainer of the Selection's last Range must match the added Range expected Text node "Äb̈c̈d̈ëf̈g̈ḧ
-" but got Element node <p id="a">Äb̈c̈d̈ëf̈g̈ḧ
-</p>
+FAIL Range 22 [paras[0], 0, paras[0], 0] followed by Range 32 [document.documentElement, 1, document.body, 0]: modifying the second added range must modify the Selection's last Range assert_equals: After mutating the second added Range, startOffset of the Selection's last Range must match the added Range expected 0 but got 6
FAIL Range 22 [paras[0], 0, paras[0], 0] followed by Range 32 [document.documentElement, 1, document.body, 0]: modifying the Selection's last Range must modify the second added Range assert_equals: After second addRange(), after mutating the Selection's last Range, startOffset of the Selection's last Range must match the added Range expected 0 but got 6
PASS Range 22 [paras[0], 0, paras[0], 0] followed by Range 33 [foreignDoc.documentElement, 1, foreignDoc.body, 0]: first addRange() must not throw exceptions or modify the range it's given
PASS Range 22 [paras[0], 0, paras[0], 0] followed by Range 33 [foreignDoc.documentElement, 1, foreignDoc.body, 0]: first addRange() must result in rangeCount being 1
PASS Range 22 [paras[0], 0, paras[0], 0] followed by Range 33 [foreignDoc.documentElement, 1, foreignDoc.body, 0]: first addRange() must result in the selection's last range having the specified endpoints
-FAIL Range 22 [paras[0], 0, paras[0], 0] followed by Range 33 [foreignDoc.documentElement, 1, foreignDoc.body, 0]: first addRange() must result in the selection's last range being the same object we added assert_equals: getRangeAt(rangeCount - 1) must return the same object we added expected object "" but got object ""
-FAIL Range 22 [paras[0], 0, paras[0], 0] followed by Range 33 [foreignDoc.documentElement, 1, foreignDoc.body, 0]: modifying the first added range must modify the Selection's last Range assert_equals: After mutating the first added Range, startContainer of the Selection's last Range must match the added Range expected Text node "Äb̈c̈d̈ëf̈g̈ḧ
-" but got Element node <p id="a">Äb̈c̈d̈ëf̈g̈ḧ
-</p>
-FAIL Range 22 [paras[0], 0, paras[0], 0] followed by Range 33 [foreignDoc.documentElement, 1, foreignDoc.body, 0]: modifying the Selection's last Range must modify the first added Range assert_equals: After first addRange(), after mutating the Selection's last Range, startOffset of the Selection's last Range must match the added Range expected 0 but got 6
+PASS Range 22 [paras[0], 0, paras[0], 0] followed by Range 33 [foreignDoc.documentElement, 1, foreignDoc.body, 0]: first addRange() must result in the selection's last range being the same object we added
+PASS Range 22 [paras[0], 0, paras[0], 0] followed by Range 33 [foreignDoc.documentElement, 1, foreignDoc.body, 0]: modifying the first added range must modify the Selection's last Range
+PASS Range 22 [paras[0], 0, paras[0], 0] followed by Range 33 [foreignDoc.documentElement, 1, foreignDoc.body, 0]: modifying the Selection's last Range must modify the first added Range
PASS Range 22 [paras[0], 0, paras[0], 0] followed by Range 33 [foreignDoc.documentElement, 1, foreignDoc.body, 0]: second addRange() must not throw exceptions or modify the range it's given
PASS Range 22 [paras[0], 0, paras[0], 0] followed by Range 33 [foreignDoc.documentElement, 1, foreignDoc.body, 0]: second addRange() must result in rangeCount being 1
-FAIL Range 22 [paras[0], 0, paras[0], 0] followed by Range 33 [foreignDoc.documentElement, 1, foreignDoc.body, 0]: second addRange() must result in the selection's last range having the specified endpoints assert_equals: startContainer of the Selection's last Range must match the added Range expected Element node <html><head><title></title></head><body><p>Efghijkl</p><p... but got Element node <p id="a">Äb̈c̈d̈ëf̈g̈ḧ
-</p>
+FAIL Range 22 [paras[0], 0, paras[0], 0] followed by Range 33 [foreignDoc.documentElement, 1, foreignDoc.body, 0]: second addRange() must result in the selection's last range having the specified endpoints assert_equals: startContainer of the Selection's last Range must match the added Range expected Element node <html><head><title></title></head><body><p>Efghijkl</p><p... but got Text node "Äb̈c̈d̈ëf̈g̈ḧ
+"
FAIL Range 22 [paras[0], 0, paras[0], 0] followed by Range 33 [foreignDoc.documentElement, 1, foreignDoc.body, 0]: second addRange() must result in the selection's last range being the same object we added assert_equals: getRangeAt(rangeCount - 1) must return the same object we added expected object "" but got object ""
-FAIL Range 22 [paras[0], 0, paras[0], 0] followed by Range 33 [foreignDoc.documentElement, 1, foreignDoc.body, 0]: modifying the second added range must modify the Selection's last Range assert_equals: After mutating the second added Range, startContainer of the Selection's last Range must match the added Range expected Text node "Äb̈c̈d̈ëf̈g̈ḧ
-" but got Element node <p id="a">Äb̈c̈d̈ëf̈g̈ḧ
-</p>
+FAIL Range 22 [paras[0], 0, paras[0], 0] followed by Range 33 [foreignDoc.documentElement, 1, foreignDoc.body, 0]: modifying the second added range must modify the Selection's last Range assert_equals: After mutating the second added Range, startOffset of the Selection's last Range must match the added Range expected 0 but got 6
FAIL Range 22 [paras[0], 0, paras[0], 0] followed by Range 33 [foreignDoc.documentElement, 1, foreignDoc.body, 0]: modifying the Selection's last Range must modify the second added Range assert_equals: After second addRange(), after mutating the Selection's last Range, startOffset of the Selection's last Range must match the added Range expected 0 but got 6
PASS Range 22 [paras[0], 0, paras[0], 0] followed by Range 34 [document, 0, document, 1]: first addRange() must not throw exceptions or modify the range it's given
PASS Range 22 [paras[0], 0, paras[0], 0] followed by Range 34 [document, 0, document, 1]: first addRange() must result in rangeCount being 1
PASS Range 22 [paras[0], 0, paras[0], 0] followed by Range 34 [document, 0, document, 1]: first addRange() must result in the selection's last range having the specified endpoints
-FAIL Range 22 [paras[0], 0, paras[0], 0] followed by Range 34 [document, 0, document, 1]: first addRange() must result in the selection's last range being the same object we added assert_equals: getRangeAt(rangeCount - 1) must return the same object we added expected object "" but got object ""
-FAIL Range 22 [paras[0], 0, paras[0], 0] followed by Range 34 [document, 0, document, 1]: modifying the first added range must modify the Selection's last Range assert_equals: After mutating the first added Range, startContainer of the Selection's last Range must match the added Range expected Text node "Äb̈c̈d̈ëf̈g̈ḧ
-" but got Element node <p id="a">Äb̈c̈d̈ëf̈g̈ḧ
-</p>
-FAIL Range 22 [paras[0], 0, paras[0], 0] followed by Range 34 [document, 0, document, 1]: modifying the Selection's last Range must modify the first added Range assert_equals: After first addRange(), after mutating the Selection's last Range, startOffset of the Selection's last Range must match the added Range expected 0 but got 6
+PASS Range 22 [paras[0], 0, paras[0], 0] followed by Range 34 [document, 0, document, 1]: first addRange() must result in the selection's last range being the same object we added
+PASS Range 22 [paras[0], 0, paras[0], 0] followed by Range 34 [document, 0, document, 1]: modifying the first added range must modify the Selection's last Range
+PASS Range 22 [paras[0], 0, paras[0], 0] followed by Range 34 [document, 0, document, 1]: modifying the Selection's last Range must modify the first added Range
PASS Range 22 [paras[0], 0, paras[0], 0] followed by Range 34 [document, 0, document, 1]: second addRange() must not throw exceptions or modify the range it's given
PASS Range 22 [paras[0], 0, paras[0], 0] followed by Range 34 [document, 0, document, 1]: second addRange() must result in rangeCount being 1
-FAIL Range 22 [paras[0], 0, paras[0], 0] followed by Range 34 [document, 0, document, 1]: second addRange() must result in the selection's last range having the specified endpoints assert_equals: startContainer of the Selection's last Range must match the added Range expected Document node with 2 children but got Element node <p id="a">Äb̈c̈d̈ëf̈g̈ḧ
-</p>
+FAIL Range 22 [paras[0], 0, paras[0], 0] followed by Range 34 [document, 0, document, 1]: second addRange() must result in the selection's last range having the specified endpoints assert_equals: startContainer of the Selection's last Range must match the added Range expected Document node with 2 children but got Text node "Äb̈c̈d̈ëf̈g̈ḧ
+"
FAIL Range 22 [paras[0], 0, paras[0], 0] followed by Range 34 [document, 0, document, 1]: second addRange() must result in the selection's last range being the same object we added assert_equals: getRangeAt(rangeCount - 1) must return the same object we added expected object "" but got object ""
-FAIL Range 22 [paras[0], 0, paras[0], 0] followed by Range 34 [document, 0, document, 1]: modifying the second added range must modify the Selection's last Range assert_equals: After mutating the second added Range, startContainer of the Selection's last Range must match the added Range expected Text node "Äb̈c̈d̈ëf̈g̈ḧ
-" but got Element node <p id="a">Äb̈c̈d̈ëf̈g̈ḧ
-</p>
+FAIL Range 22 [paras[0], 0, paras[0], 0] followed by Range 34 [document, 0, document, 1]: modifying the second added range must modify the Selection's last Range assert_equals: After mutating the second added Range, startOffset of the Selection's last Range must match the added Range expected 0 but got 6
FAIL Range 22 [paras[0], 0, paras[0], 0] followed by Range 34 [document, 0, document, 1]: modifying the Selection's last Range must modify the second added Range assert_equals: After second addRange(), after mutating the Selection's last Range, startOffset of the Selection's last Range must match the added Range expected 0 but got 6
PASS Range 22 [paras[0], 0, paras[0], 0] followed by Range 35 [document, 0, document, 2]: first addRange() must not throw exceptions or modify the range it's given
PASS Range 22 [paras[0], 0, paras[0], 0] followed by Range 35 [document, 0, document, 2]: first addRange() must result in rangeCount being 1
PASS Range 22 [paras[0], 0, paras[0], 0] followed by Range 35 [document, 0, document, 2]: first addRange() must result in the selection's last range having the specified endpoints
-FAIL Range 22 [paras[0], 0, paras[0], 0] followed by Range 35 [document, 0, document, 2]: first addRange() must result in the selection's last range being the same object we added assert_equals: getRangeAt(rangeCount - 1) must return the same object we added expected object "" but got object ""
-FAIL Range 22 [paras[0], 0, paras[0], 0] followed by Range 35 [document, 0, document, 2]: modifying the first added range must modify the Selection's last Range assert_equals: After mutating the first added Range, startContainer of the Selection's last Range must match the added Range expected Text node "Äb̈c̈d̈ëf̈g̈ḧ
-" but got Element node <p id="a">Äb̈c̈d̈ëf̈g̈ḧ
-</p>
-FAIL Range 22 [paras[0], 0, paras[0], 0] followed by Range 35 [document, 0, document, 2]: modifying the Selection's last Range must modify the first added Range assert_equals: After first addRange(), after mutating the Selection's last Range, startOffset of the Selection's last Range must match the added Range expected 0 but got 6
+PASS Range 22 [paras[0], 0, paras[0], 0] followed by Range 35 [document, 0, document, 2]: first addRange() must result in the selection's last range being the same object we added
+PASS Range 22 [paras[0], 0, paras[0], 0] followed by Range 35 [document, 0, document, 2]: modifying the first added range must modify the Selection's last Range
+PASS Range 22 [paras[0], 0, paras[0], 0] followed by Range 35 [document, 0, document, 2]: modifying the Selection's last Range must modify the first added Range
PASS Range 22 [paras[0], 0, paras[0], 0] followed by Range 35 [document, 0, document, 2]: second addRange() must not throw exceptions or modify the range it's given
PASS Range 22 [paras[0], 0, paras[0], 0] followed by Range 35 [document, 0, document, 2]: second addRange() must result in rangeCount being 1
PASS Range 22 [paras[0], 0, paras[0], 0] followed by Range 35 [document, 0, document, 2]: second addRange() must result in the selection's last range having the specified endpoints
@@ -2531,11 +2031,9 @@ FAIL Range 22 [paras[0], 0, paras[0], 0] followed by Range 35 [document, 0, docu
PASS Range 22 [paras[0], 0, paras[0], 0] followed by Range 36 [document, 1, document, 2]: first addRange() must not throw exceptions or modify the range it's given
PASS Range 22 [paras[0], 0, paras[0], 0] followed by Range 36 [document, 1, document, 2]: first addRange() must result in rangeCount being 1
PASS Range 22 [paras[0], 0, paras[0], 0] followed by Range 36 [document, 1, document, 2]: first addRange() must result in the selection's last range having the specified endpoints
-FAIL Range 22 [paras[0], 0, paras[0], 0] followed by Range 36 [document, 1, document, 2]: first addRange() must result in the selection's last range being the same object we added assert_equals: getRangeAt(rangeCount - 1) must return the same object we added expected object "" but got object ""
-FAIL Range 22 [paras[0], 0, paras[0], 0] followed by Range 36 [document, 1, document, 2]: modifying the first added range must modify the Selection's last Range assert_equals: After mutating the first added Range, startContainer of the Selection's last Range must match the added Range expected Text node "Äb̈c̈d̈ëf̈g̈ḧ
-" but got Element node <p id="a">Äb̈c̈d̈ëf̈g̈ḧ
-</p>
-FAIL Range 22 [paras[0], 0, paras[0], 0] followed by Range 36 [document, 1, document, 2]: modifying the Selection's last Range must modify the first added Range assert_equals: After first addRange(), after mutating the Selection's last Range, startOffset of the Selection's last Range must match the added Range expected 0 but got 6
+PASS Range 22 [paras[0], 0, paras[0], 0] followed by Range 36 [document, 1, document, 2]: first addRange() must result in the selection's last range being the same object we added
+PASS Range 22 [paras[0], 0, paras[0], 0] followed by Range 36 [document, 1, document, 2]: modifying the first added range must modify the Selection's last Range
+PASS Range 22 [paras[0], 0, paras[0], 0] followed by Range 36 [document, 1, document, 2]: modifying the Selection's last Range must modify the first added Range
PASS Range 22 [paras[0], 0, paras[0], 0] followed by Range 36 [document, 1, document, 2]: second addRange() must not throw exceptions or modify the range it's given
PASS Range 22 [paras[0], 0, paras[0], 0] followed by Range 36 [document, 1, document, 2]: second addRange() must result in rangeCount being 1
PASS Range 22 [paras[0], 0, paras[0], 0] followed by Range 36 [document, 1, document, 2]: second addRange() must result in the selection's last range having the specified endpoints
@@ -2574,11 +2072,9 @@ FAIL Range 22 [paras[0], 0, paras[0], 0] followed by Range 36 [document, 1, docu
PASS Range 22 [paras[0], 0, paras[0], 0] followed by Range 37 [testDiv, 0, comment, 5]: first addRange() must not throw exceptions or modify the range it's given
PASS Range 22 [paras[0], 0, paras[0], 0] followed by Range 37 [testDiv, 0, comment, 5]: first addRange() must result in rangeCount being 1
PASS Range 22 [paras[0], 0, paras[0], 0] followed by Range 37 [testDiv, 0, comment, 5]: first addRange() must result in the selection's last range having the specified endpoints
-FAIL Range 22 [paras[0], 0, paras[0], 0] followed by Range 37 [testDiv, 0, comment, 5]: first addRange() must result in the selection's last range being the same object we added assert_equals: getRangeAt(rangeCount - 1) must return the same object we added expected object "" but got object ""
-FAIL Range 22 [paras[0], 0, paras[0], 0] followed by Range 37 [testDiv, 0, comment, 5]: modifying the first added range must modify the Selection's last Range assert_equals: After mutating the first added Range, startContainer of the Selection's last Range must match the added Range expected Text node "Äb̈c̈d̈ëf̈g̈ḧ
-" but got Element node <p id="a">Äb̈c̈d̈ëf̈g̈ḧ
-</p>
-FAIL Range 22 [paras[0], 0, paras[0], 0] followed by Range 37 [testDiv, 0, comment, 5]: modifying the Selection's last Range must modify the first added Range assert_equals: After first addRange(), after mutating the Selection's last Range, startOffset of the Selection's last Range must match the added Range expected 0 but got 6
+PASS Range 22 [paras[0], 0, paras[0], 0] followed by Range 37 [testDiv, 0, comment, 5]: first addRange() must result in the selection's last range being the same object we added
+PASS Range 22 [paras[0], 0, paras[0], 0] followed by Range 37 [testDiv, 0, comment, 5]: modifying the first added range must modify the Selection's last Range
+PASS Range 22 [paras[0], 0, paras[0], 0] followed by Range 37 [testDiv, 0, comment, 5]: modifying the Selection's last Range must modify the first added Range
PASS Range 22 [paras[0], 0, paras[0], 0] followed by Range 37 [testDiv, 0, comment, 5]: second addRange() must not throw exceptions or modify the range it's given
PASS Range 22 [paras[0], 0, paras[0], 0] followed by Range 37 [testDiv, 0, comment, 5]: second addRange() must result in rangeCount being 1
FAIL Range 22 [paras[0], 0, paras[0], 0] followed by Range 37 [testDiv, 0, comment, 5]: second addRange() must result in the selection's last range having the specified endpoints assert_equals: endContainer of the Selection's last Range must match the added Range expected Comment node <!--Alphabet soup?--> but got Element node <div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ
@@ -2595,353 +2091,269 @@ FAIL Range 22 [paras[0], 0, paras[0], 0] followed by Range 37 [testDiv, 0, comme
PASS Range 22 [paras[0], 0, paras[0], 0] followed by Range 38 [paras[2].firstChild, 4, comment, 2]: first addRange() must not throw exceptions or modify the range it's given
PASS Range 22 [paras[0], 0, paras[0], 0] followed by Range 38 [paras[2].firstChild, 4, comment, 2]: first addRange() must result in rangeCount being 1
PASS Range 22 [paras[0], 0, paras[0], 0] followed by Range 38 [paras[2].firstChild, 4, comment, 2]: first addRange() must result in the selection's last range having the specified endpoints
-FAIL Range 22 [paras[0], 0, paras[0], 0] followed by Range 38 [paras[2].firstChild, 4, comment, 2]: first addRange() must result in the selection's last range being the same object we added assert_equals: getRangeAt(rangeCount - 1) must return the same object we added expected object "" but got object ""
-FAIL Range 22 [paras[0], 0, paras[0], 0] followed by Range 38 [paras[2].firstChild, 4, comment, 2]: modifying the first added range must modify the Selection's last Range assert_equals: After mutating the first added Range, startContainer of the Selection's last Range must match the added Range expected Text node "Äb̈c̈d̈ëf̈g̈ḧ
-" but got Element node <p id="a">Äb̈c̈d̈ëf̈g̈ḧ
-</p>
-FAIL Range 22 [paras[0], 0, paras[0], 0] followed by Range 38 [paras[2].firstChild, 4, comment, 2]: modifying the Selection's last Range must modify the first added Range assert_equals: After first addRange(), after mutating the Selection's last Range, startOffset of the Selection's last Range must match the added Range expected 0 but got 6
+PASS Range 22 [paras[0], 0, paras[0], 0] followed by Range 38 [paras[2].firstChild, 4, comment, 2]: first addRange() must result in the selection's last range being the same object we added
+PASS Range 22 [paras[0], 0, paras[0], 0] followed by Range 38 [paras[2].firstChild, 4, comment, 2]: modifying the first added range must modify the Selection's last Range
+PASS Range 22 [paras[0], 0, paras[0], 0] followed by Range 38 [paras[2].firstChild, 4, comment, 2]: modifying the Selection's last Range must modify the first added Range
PASS Range 22 [paras[0], 0, paras[0], 0] followed by Range 38 [paras[2].firstChild, 4, comment, 2]: second addRange() must not throw exceptions or modify the range it's given
PASS Range 22 [paras[0], 0, paras[0], 0] followed by Range 38 [paras[2].firstChild, 4, comment, 2]: second addRange() must result in rangeCount being 1
-FAIL Range 22 [paras[0], 0, paras[0], 0] followed by Range 38 [paras[2].firstChild, 4, comment, 2]: second addRange() must result in the selection's last range having the specified endpoints assert_equals: startContainer of the Selection's last Range must match the added Range expected Text node "Qrstuvwx" but got Element node <p id="a">Äb̈c̈d̈ëf̈g̈ḧ
-</p>
+FAIL Range 22 [paras[0], 0, paras[0], 0] followed by Range 38 [paras[2].firstChild, 4, comment, 2]: second addRange() must result in the selection's last range having the specified endpoints assert_equals: startContainer of the Selection's last Range must match the added Range expected Text node "Qrstuvwx" but got Text node "Äb̈c̈d̈ëf̈g̈ḧ
+"
FAIL Range 22 [paras[0], 0, paras[0], 0] followed by Range 38 [paras[2].firstChild, 4, comment, 2]: second addRange() must result in the selection's last range being the same object we added assert_equals: getRangeAt(rangeCount - 1) must return the same object we added expected object "uvwxYzabcdefGhijklmn" but got object ""
-FAIL Range 22 [paras[0], 0, paras[0], 0] followed by Range 38 [paras[2].firstChild, 4, comment, 2]: modifying the second added range must modify the Selection's last Range assert_equals: After mutating the second added Range, startContainer of the Selection's last Range must match the added Range expected Text node "Äb̈c̈d̈ëf̈g̈ḧ
-" but got Element node <p id="a">Äb̈c̈d̈ëf̈g̈ḧ
-</p>
+FAIL Range 22 [paras[0], 0, paras[0], 0] followed by Range 38 [paras[2].firstChild, 4, comment, 2]: modifying the second added range must modify the Selection's last Range assert_equals: After mutating the second added Range, startOffset of the Selection's last Range must match the added Range expected 0 but got 6
FAIL Range 22 [paras[0], 0, paras[0], 0] followed by Range 38 [paras[2].firstChild, 4, comment, 2]: modifying the Selection's last Range must modify the second added Range assert_equals: After second addRange(), after mutating the Selection's last Range, startOffset of the Selection's last Range must match the added Range expected 0 but got 6
PASS Range 22 [paras[0], 0, paras[0], 0] followed by Range 39 [paras[3], 1, comment, 8]: first addRange() must not throw exceptions or modify the range it's given
PASS Range 22 [paras[0], 0, paras[0], 0] followed by Range 39 [paras[3], 1, comment, 8]: first addRange() must result in rangeCount being 1
PASS Range 22 [paras[0], 0, paras[0], 0] followed by Range 39 [paras[3], 1, comment, 8]: first addRange() must result in the selection's last range having the specified endpoints
-FAIL Range 22 [paras[0], 0, paras[0], 0] followed by Range 39 [paras[3], 1, comment, 8]: first addRange() must result in the selection's last range being the same object we added assert_equals: getRangeAt(rangeCount - 1) must return the same object we added expected object "" but got object ""
-FAIL Range 22 [paras[0], 0, paras[0], 0] followed by Range 39 [paras[3], 1, comment, 8]: modifying the first added range must modify the Selection's last Range assert_equals: After mutating the first added Range, startContainer of the Selection's last Range must match the added Range expected Text node "Äb̈c̈d̈ëf̈g̈ḧ
-" but got Element node <p id="a">Äb̈c̈d̈ëf̈g̈ḧ
-</p>
-FAIL Range 22 [paras[0], 0, paras[0], 0] followed by Range 39 [paras[3], 1, comment, 8]: modifying the Selection's last Range must modify the first added Range assert_equals: After first addRange(), after mutating the Selection's last Range, startOffset of the Selection's last Range must match the added Range expected 0 but got 6
+PASS Range 22 [paras[0], 0, paras[0], 0] followed by Range 39 [paras[3], 1, comment, 8]: first addRange() must result in the selection's last range being the same object we added
+PASS Range 22 [paras[0], 0, paras[0], 0] followed by Range 39 [paras[3], 1, comment, 8]: modifying the first added range must modify the Selection's last Range
+PASS Range 22 [paras[0], 0, paras[0], 0] followed by Range 39 [paras[3], 1, comment, 8]: modifying the Selection's last Range must modify the first added Range
PASS Range 22 [paras[0], 0, paras[0], 0] followed by Range 39 [paras[3], 1, comment, 8]: second addRange() must not throw exceptions or modify the range it's given
PASS Range 22 [paras[0], 0, paras[0], 0] followed by Range 39 [paras[3], 1, comment, 8]: second addRange() must result in rangeCount being 1
-FAIL Range 22 [paras[0], 0, paras[0], 0] followed by Range 39 [paras[3], 1, comment, 8]: second addRange() must result in the selection's last range having the specified endpoints assert_equals: startContainer of the Selection's last Range must match the added Range expected Element node <p id="d" style="display:none">Yzabcdef</p> but got Element node <p id="a">Äb̈c̈d̈ëf̈g̈ḧ
-</p>
+FAIL Range 22 [paras[0], 0, paras[0], 0] followed by Range 39 [paras[3], 1, comment, 8]: second addRange() must result in the selection's last range having the specified endpoints assert_equals: startContainer of the Selection's last Range must match the added Range expected Element node <p id="d" style="display:none">Yzabcdef</p> but got Text node "Äb̈c̈d̈ëf̈g̈ḧ
+"
FAIL Range 22 [paras[0], 0, paras[0], 0] followed by Range 39 [paras[3], 1, comment, 8]: second addRange() must result in the selection's last range being the same object we added assert_equals: getRangeAt(rangeCount - 1) must return the same object we added expected object "Ghijklmn" but got object ""
-FAIL Range 22 [paras[0], 0, paras[0], 0] followed by Range 39 [paras[3], 1, comment, 8]: modifying the second added range must modify the Selection's last Range assert_equals: After mutating the second added Range, startContainer of the Selection's last Range must match the added Range expected Text node "Äb̈c̈d̈ëf̈g̈ḧ
-" but got Element node <p id="a">Äb̈c̈d̈ëf̈g̈ḧ
-</p>
+FAIL Range 22 [paras[0], 0, paras[0], 0] followed by Range 39 [paras[3], 1, comment, 8]: modifying the second added range must modify the Selection's last Range assert_equals: After mutating the second added Range, startOffset of the Selection's last Range must match the added Range expected 0 but got 6
FAIL Range 22 [paras[0], 0, paras[0], 0] followed by Range 39 [paras[3], 1, comment, 8]: modifying the Selection's last Range must modify the second added Range assert_equals: After second addRange(), after mutating the Selection's last Range, startOffset of the Selection's last Range must match the added Range expected 0 but got 6
PASS Range 22 [paras[0], 0, paras[0], 0] followed by Range 40 [foreignDoc, 0, foreignDoc, 0]: first addRange() must not throw exceptions or modify the range it's given
PASS Range 22 [paras[0], 0, paras[0], 0] followed by Range 40 [foreignDoc, 0, foreignDoc, 0]: first addRange() must result in rangeCount being 1
PASS Range 22 [paras[0], 0, paras[0], 0] followed by Range 40 [foreignDoc, 0, foreignDoc, 0]: first addRange() must result in the selection's last range having the specified endpoints
-FAIL Range 22 [paras[0], 0, paras[0], 0] followed by Range 40 [foreignDoc, 0, foreignDoc, 0]: first addRange() must result in the selection's last range being the same object we added assert_equals: getRangeAt(rangeCount - 1) must return the same object we added expected object "" but got object ""
-FAIL Range 22 [paras[0], 0, paras[0], 0] followed by Range 40 [foreignDoc, 0, foreignDoc, 0]: modifying the first added range must modify the Selection's last Range assert_equals: After mutating the first added Range, startContainer of the Selection's last Range must match the added Range expected Text node "Äb̈c̈d̈ëf̈g̈ḧ
-" but got Element node <p id="a">Äb̈c̈d̈ëf̈g̈ḧ
-</p>
-FAIL Range 22 [paras[0], 0, paras[0], 0] followed by Range 40 [foreignDoc, 0, foreignDoc, 0]: modifying the Selection's last Range must modify the first added Range assert_equals: After first addRange(), after mutating the Selection's last Range, startOffset of the Selection's last Range must match the added Range expected 0 but got 6
+PASS Range 22 [paras[0], 0, paras[0], 0] followed by Range 40 [foreignDoc, 0, foreignDoc, 0]: first addRange() must result in the selection's last range being the same object we added
+PASS Range 22 [paras[0], 0, paras[0], 0] followed by Range 40 [foreignDoc, 0, foreignDoc, 0]: modifying the first added range must modify the Selection's last Range
+PASS Range 22 [paras[0], 0, paras[0], 0] followed by Range 40 [foreignDoc, 0, foreignDoc, 0]: modifying the Selection's last Range must modify the first added Range
PASS Range 22 [paras[0], 0, paras[0], 0] followed by Range 40 [foreignDoc, 0, foreignDoc, 0]: second addRange() must not throw exceptions or modify the range it's given
PASS Range 22 [paras[0], 0, paras[0], 0] followed by Range 40 [foreignDoc, 0, foreignDoc, 0]: second addRange() must result in rangeCount being 1
-FAIL Range 22 [paras[0], 0, paras[0], 0] followed by Range 40 [foreignDoc, 0, foreignDoc, 0]: second addRange() must result in the selection's last range having the specified endpoints assert_equals: startContainer of the Selection's last Range must match the added Range expected Document node with 3 children but got Element node <p id="a">Äb̈c̈d̈ëf̈g̈ḧ
-</p>
+FAIL Range 22 [paras[0], 0, paras[0], 0] followed by Range 40 [foreignDoc, 0, foreignDoc, 0]: second addRange() must result in the selection's last range having the specified endpoints assert_equals: startContainer of the Selection's last Range must match the added Range expected Document node with 3 children but got Text node "Äb̈c̈d̈ëf̈g̈ḧ
+"
FAIL Range 22 [paras[0], 0, paras[0], 0] followed by Range 40 [foreignDoc, 0, foreignDoc, 0]: second addRange() must result in the selection's last range being the same object we added assert_equals: getRangeAt(rangeCount - 1) must return the same object we added expected object "" but got object ""
-FAIL Range 22 [paras[0], 0, paras[0], 0] followed by Range 40 [foreignDoc, 0, foreignDoc, 0]: modifying the second added range must modify the Selection's last Range assert_equals: After mutating the second added Range, startContainer of the Selection's last Range must match the added Range expected Text node "Äb̈c̈d̈ëf̈g̈ḧ
-" but got Element node <p id="a">Äb̈c̈d̈ëf̈g̈ḧ
-</p>
+FAIL Range 22 [paras[0], 0, paras[0], 0] followed by Range 40 [foreignDoc, 0, foreignDoc, 0]: modifying the second added range must modify the Selection's last Range assert_equals: After mutating the second added Range, startOffset of the Selection's last Range must match the added Range expected 0 but got 6
FAIL Range 22 [paras[0], 0, paras[0], 0] followed by Range 40 [foreignDoc, 0, foreignDoc, 0]: modifying the Selection's last Range must modify the second added Range assert_equals: After second addRange(), after mutating the Selection's last Range, startOffset of the Selection's last Range must match the added Range expected 0 but got 6
PASS Range 22 [paras[0], 0, paras[0], 0] followed by Range 41 [foreignDoc, 1, foreignComment, 2]: first addRange() must not throw exceptions or modify the range it's given
PASS Range 22 [paras[0], 0, paras[0], 0] followed by Range 41 [foreignDoc, 1, foreignComment, 2]: first addRange() must result in rangeCount being 1
PASS Range 22 [paras[0], 0, paras[0], 0] followed by Range 41 [foreignDoc, 1, foreignComment, 2]: first addRange() must result in the selection's last range having the specified endpoints
-FAIL Range 22 [paras[0], 0, paras[0], 0] followed by Range 41 [foreignDoc, 1, foreignComment, 2]: first addRange() must result in the selection's last range being the same object we added assert_equals: getRangeAt(rangeCount - 1) must return the same object we added expected object "" but got object ""
-FAIL Range 22 [paras[0], 0, paras[0], 0] followed by Range 41 [foreignDoc, 1, foreignComment, 2]: modifying the first added range must modify the Selection's last Range assert_equals: After mutating the first added Range, startContainer of the Selection's last Range must match the added Range expected Text node "Äb̈c̈d̈ëf̈g̈ḧ
-" but got Element node <p id="a">Äb̈c̈d̈ëf̈g̈ḧ
-</p>
-FAIL Range 22 [paras[0], 0, paras[0], 0] followed by Range 41 [foreignDoc, 1, foreignComment, 2]: modifying the Selection's last Range must modify the first added Range assert_equals: After first addRange(), after mutating the Selection's last Range, startOffset of the Selection's last Range must match the added Range expected 0 but got 6
+PASS Range 22 [paras[0], 0, paras[0], 0] followed by Range 41 [foreignDoc, 1, foreignComment, 2]: first addRange() must result in the selection's last range being the same object we added
+PASS Range 22 [paras[0], 0, paras[0], 0] followed by Range 41 [foreignDoc, 1, foreignComment, 2]: modifying the first added range must modify the Selection's last Range
+PASS Range 22 [paras[0], 0, paras[0], 0] followed by Range 41 [foreignDoc, 1, foreignComment, 2]: modifying the Selection's last Range must modify the first added Range
PASS Range 22 [paras[0], 0, paras[0], 0] followed by Range 41 [foreignDoc, 1, foreignComment, 2]: second addRange() must not throw exceptions or modify the range it's given
PASS Range 22 [paras[0], 0, paras[0], 0] followed by Range 41 [foreignDoc, 1, foreignComment, 2]: second addRange() must result in rangeCount being 1
-FAIL Range 22 [paras[0], 0, paras[0], 0] followed by Range 41 [foreignDoc, 1, foreignComment, 2]: second addRange() must result in the selection's last range having the specified endpoints assert_equals: startContainer of the Selection's last Range must match the added Range expected Document node with 3 children but got Element node <p id="a">Äb̈c̈d̈ëf̈g̈ḧ
-</p>
+FAIL Range 22 [paras[0], 0, paras[0], 0] followed by Range 41 [foreignDoc, 1, foreignComment, 2]: second addRange() must result in the selection's last range having the specified endpoints assert_equals: startContainer of the Selection's last Range must match the added Range expected Document node with 3 children but got Text node "Äb̈c̈d̈ëf̈g̈ḧ
+"
FAIL Range 22 [paras[0], 0, paras[0], 0] followed by Range 41 [foreignDoc, 1, foreignComment, 2]: second addRange() must result in the selection's last range being the same object we added assert_equals: getRangeAt(rangeCount - 1) must return the same object we added expected object "EfghijklMnopqrstI admit that I harbor doubts about whether we really need so many things to test, but it's too late to stop now." but got object ""
-FAIL Range 22 [paras[0], 0, paras[0], 0] followed by Range 41 [foreignDoc, 1, foreignComment, 2]: modifying the second added range must modify the Selection's last Range assert_equals: After mutating the second added Range, startContainer of the Selection's last Range must match the added Range expected Text node "Äb̈c̈d̈ëf̈g̈ḧ
-" but got Element node <p id="a">Äb̈c̈d̈ëf̈g̈ḧ
-</p>
+FAIL Range 22 [paras[0], 0, paras[0], 0] followed by Range 41 [foreignDoc, 1, foreignComment, 2]: modifying the second added range must modify the Selection's last Range assert_equals: After mutating the second added Range, startOffset of the Selection's last Range must match the added Range expected 0 but got 6
FAIL Range 22 [paras[0], 0, paras[0], 0] followed by Range 41 [foreignDoc, 1, foreignComment, 2]: modifying the Selection's last Range must modify the second added Range assert_equals: After second addRange(), after mutating the Selection's last Range, startOffset of the Selection's last Range must match the added Range expected 0 but got 6
PASS Range 22 [paras[0], 0, paras[0], 0] followed by Range 42 [foreignDoc.body, 0, foreignTextNode, 36]: first addRange() must not throw exceptions or modify the range it's given
PASS Range 22 [paras[0], 0, paras[0], 0] followed by Range 42 [foreignDoc.body, 0, foreignTextNode, 36]: first addRange() must result in rangeCount being 1
PASS Range 22 [paras[0], 0, paras[0], 0] followed by Range 42 [foreignDoc.body, 0, foreignTextNode, 36]: first addRange() must result in the selection's last range having the specified endpoints
-FAIL Range 22 [paras[0], 0, paras[0], 0] followed by Range 42 [foreignDoc.body, 0, foreignTextNode, 36]: first addRange() must result in the selection's last range being the same object we added assert_equals: getRangeAt(rangeCount - 1) must return the same object we added expected object "" but got object ""
-FAIL Range 22 [paras[0], 0, paras[0], 0] followed by Range 42 [foreignDoc.body, 0, foreignTextNode, 36]: modifying the first added range must modify the Selection's last Range assert_equals: After mutating the first added Range, startContainer of the Selection's last Range must match the added Range expected Text node "Äb̈c̈d̈ëf̈g̈ḧ
-" but got Element node <p id="a">Äb̈c̈d̈ëf̈g̈ḧ
-</p>
-FAIL Range 22 [paras[0], 0, paras[0], 0] followed by Range 42 [foreignDoc.body, 0, foreignTextNode, 36]: modifying the Selection's last Range must modify the first added Range assert_equals: After first addRange(), after mutating the Selection's last Range, startOffset of the Selection's last Range must match the added Range expected 0 but got 6
+PASS Range 22 [paras[0], 0, paras[0], 0] followed by Range 42 [foreignDoc.body, 0, foreignTextNode, 36]: first addRange() must result in the selection's last range being the same object we added
+PASS Range 22 [paras[0], 0, paras[0], 0] followed by Range 42 [foreignDoc.body, 0, foreignTextNode, 36]: modifying the first added range must modify the Selection's last Range
+PASS Range 22 [paras[0], 0, paras[0], 0] followed by Range 42 [foreignDoc.body, 0, foreignTextNode, 36]: modifying the Selection's last Range must modify the first added Range
PASS Range 22 [paras[0], 0, paras[0], 0] followed by Range 42 [foreignDoc.body, 0, foreignTextNode, 36]: second addRange() must not throw exceptions or modify the range it's given
PASS Range 22 [paras[0], 0, paras[0], 0] followed by Range 42 [foreignDoc.body, 0, foreignTextNode, 36]: second addRange() must result in rangeCount being 1
-FAIL Range 22 [paras[0], 0, paras[0], 0] followed by Range 42 [foreignDoc.body, 0, foreignTextNode, 36]: second addRange() must result in the selection's last range having the specified endpoints assert_equals: startContainer of the Selection's last Range must match the added Range expected Element node <body><p>Efghijkl</p><p>Mnopqrst</p>I admit that I harbor... but got Element node <p id="a">Äb̈c̈d̈ëf̈g̈ḧ
-</p>
+FAIL Range 22 [paras[0], 0, paras[0], 0] followed by Range 42 [foreignDoc.body, 0, foreignTextNode, 36]: second addRange() must result in the selection's last range having the specified endpoints assert_equals: startContainer of the Selection's last Range must match the added Range expected Element node <body><p>Efghijkl</p><p>Mnopqrst</p>I admit that I harbor... but got Text node "Äb̈c̈d̈ëf̈g̈ḧ
+"
FAIL Range 22 [paras[0], 0, paras[0], 0] followed by Range 42 [foreignDoc.body, 0, foreignTextNode, 36]: second addRange() must result in the selection's last range being the same object we added assert_equals: getRangeAt(rangeCount - 1) must return the same object we added expected object "EfghijklMnopqrstI admit that I harbor doubts about w" but got object ""
-FAIL Range 22 [paras[0], 0, paras[0], 0] followed by Range 42 [foreignDoc.body, 0, foreignTextNode, 36]: modifying the second added range must modify the Selection's last Range assert_equals: After mutating the second added Range, startContainer of the Selection's last Range must match the added Range expected Text node "Äb̈c̈d̈ëf̈g̈ḧ
-" but got Element node <p id="a">Äb̈c̈d̈ëf̈g̈ḧ
-</p>
+FAIL Range 22 [paras[0], 0, paras[0], 0] followed by Range 42 [foreignDoc.body, 0, foreignTextNode, 36]: modifying the second added range must modify the Selection's last Range assert_equals: After mutating the second added Range, startOffset of the Selection's last Range must match the added Range expected 0 but got 6
FAIL Range 22 [paras[0], 0, paras[0], 0] followed by Range 42 [foreignDoc.body, 0, foreignTextNode, 36]: modifying the Selection's last Range must modify the second added Range assert_equals: After second addRange(), after mutating the Selection's last Range, startOffset of the Selection's last Range must match the added Range expected 0 but got 6
PASS Range 22 [paras[0], 0, paras[0], 0] followed by Range 43 [xmlDoc, 0, xmlDoc, 0]: first addRange() must not throw exceptions or modify the range it's given
PASS Range 22 [paras[0], 0, paras[0], 0] followed by Range 43 [xmlDoc, 0, xmlDoc, 0]: first addRange() must result in rangeCount being 1
PASS Range 22 [paras[0], 0, paras[0], 0] followed by Range 43 [xmlDoc, 0, xmlDoc, 0]: first addRange() must result in the selection's last range having the specified endpoints
-FAIL Range 22 [paras[0], 0, paras[0], 0] followed by Range 43 [xmlDoc, 0, xmlDoc, 0]: first addRange() must result in the selection's last range being the same object we added assert_equals: getRangeAt(rangeCount - 1) must return the same object we added expected object "" but got object ""
-FAIL Range 22 [paras[0], 0, paras[0], 0] followed by Range 43 [xmlDoc, 0, xmlDoc, 0]: modifying the first added range must modify the Selection's last Range assert_equals: After mutating the first added Range, startContainer of the Selection's last Range must match the added Range expected Text node "Äb̈c̈d̈ëf̈g̈ḧ
-" but got Element node <p id="a">Äb̈c̈d̈ëf̈g̈ḧ
-</p>
-FAIL Range 22 [paras[0], 0, paras[0], 0] followed by Range 43 [xmlDoc, 0, xmlDoc, 0]: modifying the Selection's last Range must modify the first added Range assert_equals: After first addRange(), after mutating the Selection's last Range, startOffset of the Selection's last Range must match the added Range expected 0 but got 6
+PASS Range 22 [paras[0], 0, paras[0], 0] followed by Range 43 [xmlDoc, 0, xmlDoc, 0]: first addRange() must result in the selection's last range being the same object we added
+PASS Range 22 [paras[0], 0, paras[0], 0] followed by Range 43 [xmlDoc, 0, xmlDoc, 0]: modifying the first added range must modify the Selection's last Range
+PASS Range 22 [paras[0], 0, paras[0], 0] followed by Range 43 [xmlDoc, 0, xmlDoc, 0]: modifying the Selection's last Range must modify the first added Range
PASS Range 22 [paras[0], 0, paras[0], 0] followed by Range 43 [xmlDoc, 0, xmlDoc, 0]: second addRange() must not throw exceptions or modify the range it's given
PASS Range 22 [paras[0], 0, paras[0], 0] followed by Range 43 [xmlDoc, 0, xmlDoc, 0]: second addRange() must result in rangeCount being 1
-FAIL Range 22 [paras[0], 0, paras[0], 0] followed by Range 43 [xmlDoc, 0, xmlDoc, 0]: second addRange() must result in the selection's last range having the specified endpoints assert_equals: startContainer of the Selection's last Range must match the added Range expected Document node with 4 children but got Element node <p id="a">Äb̈c̈d̈ëf̈g̈ḧ
-</p>
+FAIL Range 22 [paras[0], 0, paras[0], 0] followed by Range 43 [xmlDoc, 0, xmlDoc, 0]: second addRange() must result in the selection's last range having the specified endpoints assert_equals: startContainer of the Selection's last Range must match the added Range expected Document node with 4 children but got Text node "Äb̈c̈d̈ëf̈g̈ḧ
+"
FAIL Range 22 [paras[0], 0, paras[0], 0] followed by Range 43 [xmlDoc, 0, xmlDoc, 0]: second addRange() must result in the selection's last range being the same object we added assert_equals: getRangeAt(rangeCount - 1) must return the same object we added expected object "" but got object ""
-FAIL Range 22 [paras[0], 0, paras[0], 0] followed by Range 43 [xmlDoc, 0, xmlDoc, 0]: modifying the second added range must modify the Selection's last Range assert_equals: After mutating the second added Range, startContainer of the Selection's last Range must match the added Range expected Text node "Äb̈c̈d̈ëf̈g̈ḧ
-" but got Element node <p id="a">Äb̈c̈d̈ëf̈g̈ḧ
-</p>
+FAIL Range 22 [paras[0], 0, paras[0], 0] followed by Range 43 [xmlDoc, 0, xmlDoc, 0]: modifying the second added range must modify the Selection's last Range assert_equals: After mutating the second added Range, startOffset of the Selection's last Range must match the added Range expected 0 but got 6
FAIL Range 22 [paras[0], 0, paras[0], 0] followed by Range 43 [xmlDoc, 0, xmlDoc, 0]: modifying the Selection's last Range must modify the second added Range assert_equals: After second addRange(), after mutating the Selection's last Range, startOffset of the Selection's last Range must match the added Range expected 0 but got 6
PASS Range 22 [paras[0], 0, paras[0], 0] followed by Range 44 [xmlDoc, 1, xmlComment, 0]: first addRange() must not throw exceptions or modify the range it's given
PASS Range 22 [paras[0], 0, paras[0], 0] followed by Range 44 [xmlDoc, 1, xmlComment, 0]: first addRange() must result in rangeCount being 1
PASS Range 22 [paras[0], 0, paras[0], 0] followed by Range 44 [xmlDoc, 1, xmlComment, 0]: first addRange() must result in the selection's last range having the specified endpoints
-FAIL Range 22 [paras[0], 0, paras[0], 0] followed by Range 44 [xmlDoc, 1, xmlComment, 0]: first addRange() must result in the selection's last range being the same object we added assert_equals: getRangeAt(rangeCount - 1) must return the same object we added expected object "" but got object ""
-FAIL Range 22 [paras[0], 0, paras[0], 0] followed by Range 44 [xmlDoc, 1, xmlComment, 0]: modifying the first added range must modify the Selection's last Range assert_equals: After mutating the first added Range, startContainer of the Selection's last Range must match the added Range expected Text node "Äb̈c̈d̈ëf̈g̈ḧ
-" but got Element node <p id="a">Äb̈c̈d̈ëf̈g̈ḧ
-</p>
-FAIL Range 22 [paras[0], 0, paras[0], 0] followed by Range 44 [xmlDoc, 1, xmlComment, 0]: modifying the Selection's last Range must modify the first added Range assert_equals: After first addRange(), after mutating the Selection's last Range, startOffset of the Selection's last Range must match the added Range expected 0 but got 6
+PASS Range 22 [paras[0], 0, paras[0], 0] followed by Range 44 [xmlDoc, 1, xmlComment, 0]: first addRange() must result in the selection's last range being the same object we added
+PASS Range 22 [paras[0], 0, paras[0], 0] followed by Range 44 [xmlDoc, 1, xmlComment, 0]: modifying the first added range must modify the Selection's last Range
+PASS Range 22 [paras[0], 0, paras[0], 0] followed by Range 44 [xmlDoc, 1, xmlComment, 0]: modifying the Selection's last Range must modify the first added Range
PASS Range 22 [paras[0], 0, paras[0], 0] followed by Range 44 [xmlDoc, 1, xmlComment, 0]: second addRange() must not throw exceptions or modify the range it's given
PASS Range 22 [paras[0], 0, paras[0], 0] followed by Range 44 [xmlDoc, 1, xmlComment, 0]: second addRange() must result in rangeCount being 1
-FAIL Range 22 [paras[0], 0, paras[0], 0] followed by Range 44 [xmlDoc, 1, xmlComment, 0]: second addRange() must result in the selection's last range having the specified endpoints assert_equals: startContainer of the Selection's last Range must match the added Range expected Document node with 4 children but got Element node <p id="a">Äb̈c̈d̈ëf̈g̈ḧ
-</p>
+FAIL Range 22 [paras[0], 0, paras[0], 0] followed by Range 44 [xmlDoc, 1, xmlComment, 0]: second addRange() must result in the selection's last range having the specified endpoints assert_equals: startContainer of the Selection's last Range must match the added Range expected Document node with 4 children but got Text node "Äb̈c̈d̈ëf̈g̈ḧ
+"
FAIL Range 22 [paras[0], 0, paras[0], 0] followed by Range 44 [xmlDoc, 1, xmlComment, 0]: second addRange() must result in the selection's last range being the same object we added assert_equals: getRangeAt(rangeCount - 1) must return the same object we added expected object "do re mi fa so la ti" but got object ""
-FAIL Range 22 [paras[0], 0, paras[0], 0] followed by Range 44 [xmlDoc, 1, xmlComment, 0]: modifying the second added range must modify the Selection's last Range assert_equals: After mutating the second added Range, startContainer of the Selection's last Range must match the added Range expected Text node "Äb̈c̈d̈ëf̈g̈ḧ
-" but got Element node <p id="a">Äb̈c̈d̈ëf̈g̈ḧ
-</p>
+FAIL Range 22 [paras[0], 0, paras[0], 0] followed by Range 44 [xmlDoc, 1, xmlComment, 0]: modifying the second added range must modify the Selection's last Range assert_equals: After mutating the second added Range, startOffset of the Selection's last Range must match the added Range expected 0 but got 6
FAIL Range 22 [paras[0], 0, paras[0], 0] followed by Range 44 [xmlDoc, 1, xmlComment, 0]: modifying the Selection's last Range must modify the second added Range assert_equals: After second addRange(), after mutating the Selection's last Range, startOffset of the Selection's last Range must match the added Range expected 0 but got 6
PASS Range 22 [paras[0], 0, paras[0], 0] followed by Range 45 [detachedTextNode, 0, detachedTextNode, 8]: first addRange() must not throw exceptions or modify the range it's given
PASS Range 22 [paras[0], 0, paras[0], 0] followed by Range 45 [detachedTextNode, 0, detachedTextNode, 8]: first addRange() must result in rangeCount being 1
PASS Range 22 [paras[0], 0, paras[0], 0] followed by Range 45 [detachedTextNode, 0, detachedTextNode, 8]: first addRange() must result in the selection's last range having the specified endpoints
-FAIL Range 22 [paras[0], 0, paras[0], 0] followed by Range 45 [detachedTextNode, 0, detachedTextNode, 8]: first addRange() must result in the selection's last range being the same object we added assert_equals: getRangeAt(rangeCount - 1) must return the same object we added expected object "" but got object ""
-FAIL Range 22 [paras[0], 0, paras[0], 0] followed by Range 45 [detachedTextNode, 0, detachedTextNode, 8]: modifying the first added range must modify the Selection's last Range assert_equals: After mutating the first added Range, startContainer of the Selection's last Range must match the added Range expected Text node "Äb̈c̈d̈ëf̈g̈ḧ
-" but got Element node <p id="a">Äb̈c̈d̈ëf̈g̈ḧ
-</p>
-FAIL Range 22 [paras[0], 0, paras[0], 0] followed by Range 45 [detachedTextNode, 0, detachedTextNode, 8]: modifying the Selection's last Range must modify the first added Range assert_equals: After first addRange(), after mutating the Selection's last Range, startOffset of the Selection's last Range must match the added Range expected 0 but got 6
+PASS Range 22 [paras[0], 0, paras[0], 0] followed by Range 45 [detachedTextNode, 0, detachedTextNode, 8]: first addRange() must result in the selection's last range being the same object we added
+PASS Range 22 [paras[0], 0, paras[0], 0] followed by Range 45 [detachedTextNode, 0, detachedTextNode, 8]: modifying the first added range must modify the Selection's last Range
+PASS Range 22 [paras[0], 0, paras[0], 0] followed by Range 45 [detachedTextNode, 0, detachedTextNode, 8]: modifying the Selection's last Range must modify the first added Range
PASS Range 22 [paras[0], 0, paras[0], 0] followed by Range 45 [detachedTextNode, 0, detachedTextNode, 8]: second addRange() must not throw exceptions or modify the range it's given
PASS Range 22 [paras[0], 0, paras[0], 0] followed by Range 45 [detachedTextNode, 0, detachedTextNode, 8]: second addRange() must result in rangeCount being 1
-FAIL Range 22 [paras[0], 0, paras[0], 0] followed by Range 45 [detachedTextNode, 0, detachedTextNode, 8]: second addRange() must result in the selection's last range having the specified endpoints assert_equals: startContainer of the Selection's last Range must match the added Range expected Text node "Uvwxyzab" but got Element node <p id="a">Äb̈c̈d̈ëf̈g̈ḧ
-</p>
+FAIL Range 22 [paras[0], 0, paras[0], 0] followed by Range 45 [detachedTextNode, 0, detachedTextNode, 8]: second addRange() must result in the selection's last range having the specified endpoints assert_equals: startContainer of the Selection's last Range must match the added Range expected Text node "Uvwxyzab" but got Text node "Äb̈c̈d̈ëf̈g̈ḧ
+"
FAIL Range 22 [paras[0], 0, paras[0], 0] followed by Range 45 [detachedTextNode, 0, detachedTextNode, 8]: second addRange() must result in the selection's last range being the same object we added assert_equals: getRangeAt(rangeCount - 1) must return the same object we added expected object "Uvwxyzab" but got object ""
-FAIL Range 22 [paras[0], 0, paras[0], 0] followed by Range 45 [detachedTextNode, 0, detachedTextNode, 8]: modifying the second added range must modify the Selection's last Range assert_equals: After mutating the second added Range, startContainer of the Selection's last Range must match the added Range expected Text node "Äb̈c̈d̈ëf̈g̈ḧ
-" but got Element node <p id="a">Äb̈c̈d̈ëf̈g̈ḧ
-</p>
+FAIL Range 22 [paras[0], 0, paras[0], 0] followed by Range 45 [detachedTextNode, 0, detachedTextNode, 8]: modifying the second added range must modify the Selection's last Range assert_equals: After mutating the second added Range, startOffset of the Selection's last Range must match the added Range expected 0 but got 6
FAIL Range 22 [paras[0], 0, paras[0], 0] followed by Range 45 [detachedTextNode, 0, detachedTextNode, 8]: modifying the Selection's last Range must modify the second added Range assert_equals: After second addRange(), after mutating the Selection's last Range, startOffset of the Selection's last Range must match the added Range expected 0 but got 6
PASS Range 22 [paras[0], 0, paras[0], 0] followed by Range 46 [detachedForeignTextNode, 7, detachedForeignTextNode, 7]: first addRange() must not throw exceptions or modify the range it's given
PASS Range 22 [paras[0], 0, paras[0], 0] followed by Range 46 [detachedForeignTextNode, 7, detachedForeignTextNode, 7]: first addRange() must result in rangeCount being 1
PASS Range 22 [paras[0], 0, paras[0], 0] followed by Range 46 [detachedForeignTextNode, 7, detachedForeignTextNode, 7]: first addRange() must result in the selection's last range having the specified endpoints
-FAIL Range 22 [paras[0], 0, paras[0], 0] followed by Range 46 [detachedForeignTextNode, 7, detachedForeignTextNode, 7]: first addRange() must result in the selection's last range being the same object we added assert_equals: getRangeAt(rangeCount - 1) must return the same object we added expected object "" but got object ""
-FAIL Range 22 [paras[0], 0, paras[0], 0] followed by Range 46 [detachedForeignTextNode, 7, detachedForeignTextNode, 7]: modifying the first added range must modify the Selection's last Range assert_equals: After mutating the first added Range, startContainer of the Selection's last Range must match the added Range expected Text node "Äb̈c̈d̈ëf̈g̈ḧ
-" but got Element node <p id="a">Äb̈c̈d̈ëf̈g̈ḧ
-</p>
-FAIL Range 22 [paras[0], 0, paras[0], 0] followed by Range 46 [detachedForeignTextNode, 7, detachedForeignTextNode, 7]: modifying the Selection's last Range must modify the first added Range assert_equals: After first addRange(), after mutating the Selection's last Range, startOffset of the Selection's last Range must match the added Range expected 0 but got 6
+PASS Range 22 [paras[0], 0, paras[0], 0] followed by Range 46 [detachedForeignTextNode, 7, detachedForeignTextNode, 7]: first addRange() must result in the selection's last range being the same object we added
+PASS Range 22 [paras[0], 0, paras[0], 0] followed by Range 46 [detachedForeignTextNode, 7, detachedForeignTextNode, 7]: modifying the first added range must modify the Selection's last Range
+PASS Range 22 [paras[0], 0, paras[0], 0] followed by Range 46 [detachedForeignTextNode, 7, detachedForeignTextNode, 7]: modifying the Selection's last Range must modify the first added Range
PASS Range 22 [paras[0], 0, paras[0], 0] followed by Range 46 [detachedForeignTextNode, 7, detachedForeignTextNode, 7]: second addRange() must not throw exceptions or modify the range it's given
PASS Range 22 [paras[0], 0, paras[0], 0] followed by Range 46 [detachedForeignTextNode, 7, detachedForeignTextNode, 7]: second addRange() must result in rangeCount being 1
-FAIL Range 22 [paras[0], 0, paras[0], 0] followed by Range 46 [detachedForeignTextNode, 7, detachedForeignTextNode, 7]: second addRange() must result in the selection's last range having the specified endpoints assert_equals: startContainer of the Selection's last Range must match the added Range expected Text node "Cdefghij" but got Element node <p id="a">Äb̈c̈d̈ëf̈g̈ḧ
-</p>
+FAIL Range 22 [paras[0], 0, paras[0], 0] followed by Range 46 [detachedForeignTextNode, 7, detachedForeignTextNode, 7]: second addRange() must result in the selection's last range having the specified endpoints assert_equals: startContainer of the Selection's last Range must match the added Range expected Text node "Cdefghij" but got Text node "Äb̈c̈d̈ëf̈g̈ḧ
+"
FAIL Range 22 [paras[0], 0, paras[0], 0] followed by Range 46 [detachedForeignTextNode, 7, detachedForeignTextNode, 7]: second addRange() must result in the selection's last range being the same object we added assert_equals: getRangeAt(rangeCount - 1) must return the same object we added expected object "" but got object ""
-FAIL Range 22 [paras[0], 0, paras[0], 0] followed by Range 46 [detachedForeignTextNode, 7, detachedForeignTextNode, 7]: modifying the second added range must modify the Selection's last Range assert_equals: After mutating the second added Range, startContainer of the Selection's last Range must match the added Range expected Text node "Äb̈c̈d̈ëf̈g̈ḧ
-" but got Element node <p id="a">Äb̈c̈d̈ëf̈g̈ḧ
-</p>
+FAIL Range 22 [paras[0], 0, paras[0], 0] followed by Range 46 [detachedForeignTextNode, 7, detachedForeignTextNode, 7]: modifying the second added range must modify the Selection's last Range assert_equals: After mutating the second added Range, startOffset of the Selection's last Range must match the added Range expected 0 but got 6
FAIL Range 22 [paras[0], 0, paras[0], 0] followed by Range 46 [detachedForeignTextNode, 7, detachedForeignTextNode, 7]: modifying the Selection's last Range must modify the second added Range assert_equals: After second addRange(), after mutating the Selection's last Range, startOffset of the Selection's last Range must match the added Range expected 0 but got 6
PASS Range 22 [paras[0], 0, paras[0], 0] followed by Range 47 [detachedForeignTextNode, 0, detachedForeignTextNode, 8]: first addRange() must not throw exceptions or modify the range it's given
PASS Range 22 [paras[0], 0, paras[0], 0] followed by Range 47 [detachedForeignTextNode, 0, detachedForeignTextNode, 8]: first addRange() must result in rangeCount being 1
PASS Range 22 [paras[0], 0, paras[0], 0] followed by Range 47 [detachedForeignTextNode, 0, detachedForeignTextNode, 8]: first addRange() must result in the selection's last range having the specified endpoints
-FAIL Range 22 [paras[0], 0, paras[0], 0] followed by Range 47 [detachedForeignTextNode, 0, detachedForeignTextNode, 8]: first addRange() must result in the selection's last range being the same object we added assert_equals: getRangeAt(rangeCount - 1) must return the same object we added expected object "" but got object ""
-FAIL Range 22 [paras[0], 0, paras[0], 0] followed by Range 47 [detachedForeignTextNode, 0, detachedForeignTextNode, 8]: modifying the first added range must modify the Selection's last Range assert_equals: After mutating the first added Range, startContainer of the Selection's last Range must match the added Range expected Text node "Äb̈c̈d̈ëf̈g̈ḧ
-" but got Element node <p id="a">Äb̈c̈d̈ëf̈g̈ḧ
-</p>
-FAIL Range 22 [paras[0], 0, paras[0], 0] followed by Range 47 [detachedForeignTextNode, 0, detachedForeignTextNode, 8]: modifying the Selection's last Range must modify the first added Range assert_equals: After first addRange(), after mutating the Selection's last Range, startOffset of the Selection's last Range must match the added Range expected 0 but got 6
+PASS Range 22 [paras[0], 0, paras[0], 0] followed by Range 47 [detachedForeignTextNode, 0, detachedForeignTextNode, 8]: first addRange() must result in the selection's last range being the same object we added
+PASS Range 22 [paras[0], 0, paras[0], 0] followed by Range 47 [detachedForeignTextNode, 0, detachedForeignTextNode, 8]: modifying the first added range must modify the Selection's last Range
+PASS Range 22 [paras[0], 0, paras[0], 0] followed by Range 47 [detachedForeignTextNode, 0, detachedForeignTextNode, 8]: modifying the Selection's last Range must modify the first added Range
PASS Range 22 [paras[0], 0, paras[0], 0] followed by Range 47 [detachedForeignTextNode, 0, detachedForeignTextNode, 8]: second addRange() must not throw exceptions or modify the range it's given
PASS Range 22 [paras[0], 0, paras[0], 0] followed by Range 47 [detachedForeignTextNode, 0, detachedForeignTextNode, 8]: second addRange() must result in rangeCount being 1
-FAIL Range 22 [paras[0], 0, paras[0], 0] followed by Range 47 [detachedForeignTextNode, 0, detachedForeignTextNode, 8]: second addRange() must result in the selection's last range having the specified endpoints assert_equals: startContainer of the Selection's last Range must match the added Range expected Text node "Cdefghij" but got Element node <p id="a">Äb̈c̈d̈ëf̈g̈ḧ
-</p>
+FAIL Range 22 [paras[0], 0, paras[0], 0] followed by Range 47 [detachedForeignTextNode, 0, detachedForeignTextNode, 8]: second addRange() must result in the selection's last range having the specified endpoints assert_equals: startContainer of the Selection's last Range must match the added Range expected Text node "Cdefghij" but got Text node "Äb̈c̈d̈ëf̈g̈ḧ
+"
FAIL Range 22 [paras[0], 0, paras[0], 0] followed by Range 47 [detachedForeignTextNode, 0, detachedForeignTextNode, 8]: second addRange() must result in the selection's last range being the same object we added assert_equals: getRangeAt(rangeCount - 1) must return the same object we added expected object "Cdefghij" but got object ""
-FAIL Range 22 [paras[0], 0, paras[0], 0] followed by Range 47 [detachedForeignTextNode, 0, detachedForeignTextNode, 8]: modifying the second added range must modify the Selection's last Range assert_equals: After mutating the second added Range, startContainer of the Selection's last Range must match the added Range expected Text node "Äb̈c̈d̈ëf̈g̈ḧ
-" but got Element node <p id="a">Äb̈c̈d̈ëf̈g̈ḧ
-</p>
+FAIL Range 22 [paras[0], 0, paras[0], 0] followed by Range 47 [detachedForeignTextNode, 0, detachedForeignTextNode, 8]: modifying the second added range must modify the Selection's last Range assert_equals: After mutating the second added Range, startOffset of the Selection's last Range must match the added Range expected 0 but got 6
FAIL Range 22 [paras[0], 0, paras[0], 0] followed by Range 47 [detachedForeignTextNode, 0, detachedForeignTextNode, 8]: modifying the Selection's last Range must modify the second added Range assert_equals: After second addRange(), after mutating the Selection's last Range, startOffset of the Selection's last Range must match the added Range expected 0 but got 6
PASS Range 22 [paras[0], 0, paras[0], 0] followed by Range 48 [detachedXmlTextNode, 7, detachedXmlTextNode, 7]: first addRange() must not throw exceptions or modify the range it's given
PASS Range 22 [paras[0], 0, paras[0], 0] followed by Range 48 [detachedXmlTextNode, 7, detachedXmlTextNode, 7]: first addRange() must result in rangeCount being 1
PASS Range 22 [paras[0], 0, paras[0], 0] followed by Range 48 [detachedXmlTextNode, 7, detachedXmlTextNode, 7]: first addRange() must result in the selection's last range having the specified endpoints
-FAIL Range 22 [paras[0], 0, paras[0], 0] followed by Range 48 [detachedXmlTextNode, 7, detachedXmlTextNode, 7]: first addRange() must result in the selection's last range being the same object we added assert_equals: getRangeAt(rangeCount - 1) must return the same object we added expected object "" but got object ""
-FAIL Range 22 [paras[0], 0, paras[0], 0] followed by Range 48 [detachedXmlTextNode, 7, detachedXmlTextNode, 7]: modifying the first added range must modify the Selection's last Range assert_equals: After mutating the first added Range, startContainer of the Selection's last Range must match the added Range expected Text node "Äb̈c̈d̈ëf̈g̈ḧ
-" but got Element node <p id="a">Äb̈c̈d̈ëf̈g̈ḧ
-</p>
-FAIL Range 22 [paras[0], 0, paras[0], 0] followed by Range 48 [detachedXmlTextNode, 7, detachedXmlTextNode, 7]: modifying the Selection's last Range must modify the first added Range assert_equals: After first addRange(), after mutating the Selection's last Range, startOffset of the Selection's last Range must match the added Range expected 0 but got 6
+PASS Range 22 [paras[0], 0, paras[0], 0] followed by Range 48 [detachedXmlTextNode, 7, detachedXmlTextNode, 7]: first addRange() must result in the selection's last range being the same object we added
+PASS Range 22 [paras[0], 0, paras[0], 0] followed by Range 48 [detachedXmlTextNode, 7, detachedXmlTextNode, 7]: modifying the first added range must modify the Selection's last Range
+PASS Range 22 [paras[0], 0, paras[0], 0] followed by Range 48 [detachedXmlTextNode, 7, detachedXmlTextNode, 7]: modifying the Selection's last Range must modify the first added Range
PASS Range 22 [paras[0], 0, paras[0], 0] followed by Range 48 [detachedXmlTextNode, 7, detachedXmlTextNode, 7]: second addRange() must not throw exceptions or modify the range it's given
PASS Range 22 [paras[0], 0, paras[0], 0] followed by Range 48 [detachedXmlTextNode, 7, detachedXmlTextNode, 7]: second addRange() must result in rangeCount being 1
-FAIL Range 22 [paras[0], 0, paras[0], 0] followed by Range 48 [detachedXmlTextNode, 7, detachedXmlTextNode, 7]: second addRange() must result in the selection's last range having the specified endpoints assert_equals: startContainer of the Selection's last Range must match the added Range expected Text node "Klmnopqr" but got Element node <p id="a">Äb̈c̈d̈ëf̈g̈ḧ
-</p>
+FAIL Range 22 [paras[0], 0, paras[0], 0] followed by Range 48 [detachedXmlTextNode, 7, detachedXmlTextNode, 7]: second addRange() must result in the selection's last range having the specified endpoints assert_equals: startContainer of the Selection's last Range must match the added Range expected Text node "Klmnopqr" but got Text node "Äb̈c̈d̈ëf̈g̈ḧ
+"
FAIL Range 22 [paras[0], 0, paras[0], 0] followed by Range 48 [detachedXmlTextNode, 7, detachedXmlTextNode, 7]: second addRange() must result in the selection's last range being the same object we added assert_equals: getRangeAt(rangeCount - 1) must return the same object we added expected object "" but got object ""
-FAIL Range 22 [paras[0], 0, paras[0], 0] followed by Range 48 [detachedXmlTextNode, 7, detachedXmlTextNode, 7]: modifying the second added range must modify the Selection's last Range assert_equals: After mutating the second added Range, startContainer of the Selection's last Range must match the added Range expected Text node "Äb̈c̈d̈ëf̈g̈ḧ
-" but got Element node <p id="a">Äb̈c̈d̈ëf̈g̈ḧ
-</p>
+FAIL Range 22 [paras[0], 0, paras[0], 0] followed by Range 48 [detachedXmlTextNode, 7, detachedXmlTextNode, 7]: modifying the second added range must modify the Selection's last Range assert_equals: After mutating the second added Range, startOffset of the Selection's last Range must match the added Range expected 0 but got 6
FAIL Range 22 [paras[0], 0, paras[0], 0] followed by Range 48 [detachedXmlTextNode, 7, detachedXmlTextNode, 7]: modifying the Selection's last Range must modify the second added Range assert_equals: After second addRange(), after mutating the Selection's last Range, startOffset of the Selection's last Range must match the added Range expected 0 but got 6
PASS Range 22 [paras[0], 0, paras[0], 0] followed by Range 49 [detachedXmlTextNode, 0, detachedXmlTextNode, 8]: first addRange() must not throw exceptions or modify the range it's given
PASS Range 22 [paras[0], 0, paras[0], 0] followed by Range 49 [detachedXmlTextNode, 0, detachedXmlTextNode, 8]: first addRange() must result in rangeCount being 1
PASS Range 22 [paras[0], 0, paras[0], 0] followed by Range 49 [detachedXmlTextNode, 0, detachedXmlTextNode, 8]: first addRange() must result in the selection's last range having the specified endpoints
-FAIL Range 22 [paras[0], 0, paras[0], 0] followed by Range 49 [detachedXmlTextNode, 0, detachedXmlTextNode, 8]: first addRange() must result in the selection's last range being the same object we added assert_equals: getRangeAt(rangeCount - 1) must return the same object we added expected object "" but got object ""
-FAIL Range 22 [paras[0], 0, paras[0], 0] followed by Range 49 [detachedXmlTextNode, 0, detachedXmlTextNode, 8]: modifying the first added range must modify the Selection's last Range assert_equals: After mutating the first added Range, startContainer of the Selection's last Range must match the added Range expected Text node "Äb̈c̈d̈ëf̈g̈ḧ
-" but got Element node <p id="a">Äb̈c̈d̈ëf̈g̈ḧ
-</p>
-FAIL Range 22 [paras[0], 0, paras[0], 0] followed by Range 49 [detachedXmlTextNode, 0, detachedXmlTextNode, 8]: modifying the Selection's last Range must modify the first added Range assert_equals: After first addRange(), after mutating the Selection's last Range, startOffset of the Selection's last Range must match the added Range expected 0 but got 6
+PASS Range 22 [paras[0], 0, paras[0], 0] followed by Range 49 [detachedXmlTextNode, 0, detachedXmlTextNode, 8]: first addRange() must result in the selection's last range being the same object we added
+PASS Range 22 [paras[0], 0, paras[0], 0] followed by Range 49 [detachedXmlTextNode, 0, detachedXmlTextNode, 8]: modifying the first added range must modify the Selection's last Range
+PASS Range 22 [paras[0], 0, paras[0], 0] followed by Range 49 [detachedXmlTextNode, 0, detachedXmlTextNode, 8]: modifying the Selection's last Range must modify the first added Range
PASS Range 22 [paras[0], 0, paras[0], 0] followed by Range 49 [detachedXmlTextNode, 0, detachedXmlTextNode, 8]: second addRange() must not throw exceptions or modify the range it's given
PASS Range 22 [paras[0], 0, paras[0], 0] followed by Range 49 [detachedXmlTextNode, 0, detachedXmlTextNode, 8]: second addRange() must result in rangeCount being 1
-FAIL Range 22 [paras[0], 0, paras[0], 0] followed by Range 49 [detachedXmlTextNode, 0, detachedXmlTextNode, 8]: second addRange() must result in the selection's last range having the specified endpoints assert_equals: startContainer of the Selection's last Range must match the added Range expected Text node "Klmnopqr" but got Element node <p id="a">Äb̈c̈d̈ëf̈g̈ḧ
-</p>
+FAIL Range 22 [paras[0], 0, paras[0], 0] followed by Range 49 [detachedXmlTextNode, 0, detachedXmlTextNode, 8]: second addRange() must result in the selection's last range having the specified endpoints assert_equals: startContainer of the Selection's last Range must match the added Range expected Text node "Klmnopqr" but got Text node "Äb̈c̈d̈ëf̈g̈ḧ
+"
FAIL Range 22 [paras[0], 0, paras[0], 0] followed by Range 49 [detachedXmlTextNode, 0, detachedXmlTextNode, 8]: second addRange() must result in the selection's last range being the same object we added assert_equals: getRangeAt(rangeCount - 1) must return the same object we added expected object "Klmnopqr" but got object ""
-FAIL Range 22 [paras[0], 0, paras[0], 0] followed by Range 49 [detachedXmlTextNode, 0, detachedXmlTextNode, 8]: modifying the second added range must modify the Selection's last Range assert_equals: After mutating the second added Range, startContainer of the Selection's last Range must match the added Range expected Text node "Äb̈c̈d̈ëf̈g̈ḧ
-" but got Element node <p id="a">Äb̈c̈d̈ëf̈g̈ḧ
-</p>
+FAIL Range 22 [paras[0], 0, paras[0], 0] followed by Range 49 [detachedXmlTextNode, 0, detachedXmlTextNode, 8]: modifying the second added range must modify the Selection's last Range assert_equals: After mutating the second added Range, startOffset of the Selection's last Range must match the added Range expected 0 but got 6
FAIL Range 22 [paras[0], 0, paras[0], 0] followed by Range 49 [detachedXmlTextNode, 0, detachedXmlTextNode, 8]: modifying the Selection's last Range must modify the second added Range assert_equals: After second addRange(), after mutating the Selection's last Range, startOffset of the Selection's last Range must match the added Range expected 0 but got 6
PASS Range 22 [paras[0], 0, paras[0], 0] followed by Range 50 [detachedComment, 3, detachedComment, 4]: first addRange() must not throw exceptions or modify the range it's given
PASS Range 22 [paras[0], 0, paras[0], 0] followed by Range 50 [detachedComment, 3, detachedComment, 4]: first addRange() must result in rangeCount being 1
PASS Range 22 [paras[0], 0, paras[0], 0] followed by Range 50 [detachedComment, 3, detachedComment, 4]: first addRange() must result in the selection's last range having the specified endpoints
-FAIL Range 22 [paras[0], 0, paras[0], 0] followed by Range 50 [detachedComment, 3, detachedComment, 4]: first addRange() must result in the selection's last range being the same object we added assert_equals: getRangeAt(rangeCount - 1) must return the same object we added expected object "" but got object ""
-FAIL Range 22 [paras[0], 0, paras[0], 0] followed by Range 50 [detachedComment, 3, detachedComment, 4]: modifying the first added range must modify the Selection's last Range assert_equals: After mutating the first added Range, startContainer of the Selection's last Range must match the added Range expected Text node "Äb̈c̈d̈ëf̈g̈ḧ
-" but got Element node <p id="a">Äb̈c̈d̈ëf̈g̈ḧ
-</p>
-FAIL Range 22 [paras[0], 0, paras[0], 0] followed by Range 50 [detachedComment, 3, detachedComment, 4]: modifying the Selection's last Range must modify the first added Range assert_equals: After first addRange(), after mutating the Selection's last Range, startOffset of the Selection's last Range must match the added Range expected 0 but got 6
+PASS Range 22 [paras[0], 0, paras[0], 0] followed by Range 50 [detachedComment, 3, detachedComment, 4]: first addRange() must result in the selection's last range being the same object we added
+PASS Range 22 [paras[0], 0, paras[0], 0] followed by Range 50 [detachedComment, 3, detachedComment, 4]: modifying the first added range must modify the Selection's last Range
+PASS Range 22 [paras[0], 0, paras[0], 0] followed by Range 50 [detachedComment, 3, detachedComment, 4]: modifying the Selection's last Range must modify the first added Range
PASS Range 22 [paras[0], 0, paras[0], 0] followed by Range 50 [detachedComment, 3, detachedComment, 4]: second addRange() must not throw exceptions or modify the range it's given
PASS Range 22 [paras[0], 0, paras[0], 0] followed by Range 50 [detachedComment, 3, detachedComment, 4]: second addRange() must result in rangeCount being 1
-FAIL Range 22 [paras[0], 0, paras[0], 0] followed by Range 50 [detachedComment, 3, detachedComment, 4]: second addRange() must result in the selection's last range having the specified endpoints assert_equals: startContainer of the Selection's last Range must match the added Range expected Comment node <!--Stuvwxyz--> but got Element node <p id="a">Äb̈c̈d̈ëf̈g̈ḧ
-</p>
+FAIL Range 22 [paras[0], 0, paras[0], 0] followed by Range 50 [detachedComment, 3, detachedComment, 4]: second addRange() must result in the selection's last range having the specified endpoints assert_equals: startContainer of the Selection's last Range must match the added Range expected Comment node <!--Stuvwxyz--> but got Text node "Äb̈c̈d̈ëf̈g̈ḧ
+"
FAIL Range 22 [paras[0], 0, paras[0], 0] followed by Range 50 [detachedComment, 3, detachedComment, 4]: second addRange() must result in the selection's last range being the same object we added assert_equals: getRangeAt(rangeCount - 1) must return the same object we added expected object "" but got object ""
-FAIL Range 22 [paras[0], 0, paras[0], 0] followed by Range 50 [detachedComment, 3, detachedComment, 4]: modifying the second added range must modify the Selection's last Range assert_equals: After mutating the second added Range, startContainer of the Selection's last Range must match the added Range expected Text node "Äb̈c̈d̈ëf̈g̈ḧ
-" but got Element node <p id="a">Äb̈c̈d̈ëf̈g̈ḧ
-</p>
+FAIL Range 22 [paras[0], 0, paras[0], 0] followed by Range 50 [detachedComment, 3, detachedComment, 4]: modifying the second added range must modify the Selection's last Range assert_equals: After mutating the second added Range, startOffset of the Selection's last Range must match the added Range expected 0 but got 6
FAIL Range 22 [paras[0], 0, paras[0], 0] followed by Range 50 [detachedComment, 3, detachedComment, 4]: modifying the Selection's last Range must modify the second added Range assert_equals: After second addRange(), after mutating the Selection's last Range, startOffset of the Selection's last Range must match the added Range expected 0 but got 6
PASS Range 22 [paras[0], 0, paras[0], 0] followed by Range 51 [detachedComment, 5, detachedComment, 5]: first addRange() must not throw exceptions or modify the range it's given
PASS Range 22 [paras[0], 0, paras[0], 0] followed by Range 51 [detachedComment, 5, detachedComment, 5]: first addRange() must result in rangeCount being 1
PASS Range 22 [paras[0], 0, paras[0], 0] followed by Range 51 [detachedComment, 5, detachedComment, 5]: first addRange() must result in the selection's last range having the specified endpoints
-FAIL Range 22 [paras[0], 0, paras[0], 0] followed by Range 51 [detachedComment, 5, detachedComment, 5]: first addRange() must result in the selection's last range being the same object we added assert_equals: getRangeAt(rangeCount - 1) must return the same object we added expected object "" but got object ""
-FAIL Range 22 [paras[0], 0, paras[0], 0] followed by Range 51 [detachedComment, 5, detachedComment, 5]: modifying the first added range must modify the Selection's last Range assert_equals: After mutating the first added Range, startContainer of the Selection's last Range must match the added Range expected Text node "Äb̈c̈d̈ëf̈g̈ḧ
-" but got Element node <p id="a">Äb̈c̈d̈ëf̈g̈ḧ
-</p>
-FAIL Range 22 [paras[0], 0, paras[0], 0] followed by Range 51 [detachedComment, 5, detachedComment, 5]: modifying the Selection's last Range must modify the first added Range assert_equals: After first addRange(), after mutating the Selection's last Range, startOffset of the Selection's last Range must match the added Range expected 0 but got 6
+PASS Range 22 [paras[0], 0, paras[0], 0] followed by Range 51 [detachedComment, 5, detachedComment, 5]: first addRange() must result in the selection's last range being the same object we added
+PASS Range 22 [paras[0], 0, paras[0], 0] followed by Range 51 [detachedComment, 5, detachedComment, 5]: modifying the first added range must modify the Selection's last Range
+PASS Range 22 [paras[0], 0, paras[0], 0] followed by Range 51 [detachedComment, 5, detachedComment, 5]: modifying the Selection's last Range must modify the first added Range
PASS Range 22 [paras[0], 0, paras[0], 0] followed by Range 51 [detachedComment, 5, detachedComment, 5]: second addRange() must not throw exceptions or modify the range it's given
PASS Range 22 [paras[0], 0, paras[0], 0] followed by Range 51 [detachedComment, 5, detachedComment, 5]: second addRange() must result in rangeCount being 1
-FAIL Range 22 [paras[0], 0, paras[0], 0] followed by Range 51 [detachedComment, 5, detachedComment, 5]: second addRange() must result in the selection's last range having the specified endpoints assert_equals: startContainer of the Selection's last Range must match the added Range expected Comment node <!--Stuvwxyz--> but got Element node <p id="a">Äb̈c̈d̈ëf̈g̈ḧ
-</p>
+FAIL Range 22 [paras[0], 0, paras[0], 0] followed by Range 51 [detachedComment, 5, detachedComment, 5]: second addRange() must result in the selection's last range having the specified endpoints assert_equals: startContainer of the Selection's last Range must match the added Range expected Comment node <!--Stuvwxyz--> but got Text node "Äb̈c̈d̈ëf̈g̈ḧ
+"
FAIL Range 22 [paras[0], 0, paras[0], 0] followed by Range 51 [detachedComment, 5, detachedComment, 5]: second addRange() must result in the selection's last range being the same object we added assert_equals: getRangeAt(rangeCount - 1) must return the same object we added expected object "" but got object ""
-FAIL Range 22 [paras[0], 0, paras[0], 0] followed by Range 51 [detachedComment, 5, detachedComment, 5]: modifying the second added range must modify the Selection's last Range assert_equals: After mutating the second added Range, startContainer of the Selection's last Range must match the added Range expected Text node "Äb̈c̈d̈ëf̈g̈ḧ
-" but got Element node <p id="a">Äb̈c̈d̈ëf̈g̈ḧ
-</p>
+FAIL Range 22 [paras[0], 0, paras[0], 0] followed by Range 51 [detachedComment, 5, detachedComment, 5]: modifying the second added range must modify the Selection's last Range assert_equals: After mutating the second added Range, startOffset of the Selection's last Range must match the added Range expected 0 but got 6
FAIL Range 22 [paras[0], 0, paras[0], 0] followed by Range 51 [detachedComment, 5, detachedComment, 5]: modifying the Selection's last Range must modify the second added Range assert_equals: After second addRange(), after mutating the Selection's last Range, startOffset of the Selection's last Range must match the added Range expected 0 but got 6
PASS Range 22 [paras[0], 0, paras[0], 0] followed by Range 52 [detachedForeignComment, 0, detachedForeignComment, 1]: first addRange() must not throw exceptions or modify the range it's given
PASS Range 22 [paras[0], 0, paras[0], 0] followed by Range 52 [detachedForeignComment, 0, detachedForeignComment, 1]: first addRange() must result in rangeCount being 1
PASS Range 22 [paras[0], 0, paras[0], 0] followed by Range 52 [detachedForeignComment, 0, detachedForeignComment, 1]: first addRange() must result in the selection's last range having the specified endpoints
-FAIL Range 22 [paras[0], 0, paras[0], 0] followed by Range 52 [detachedForeignComment, 0, detachedForeignComment, 1]: first addRange() must result in the selection's last range being the same object we added assert_equals: getRangeAt(rangeCount - 1) must return the same object we added expected object "" but got object ""
-FAIL Range 22 [paras[0], 0, paras[0], 0] followed by Range 52 [detachedForeignComment, 0, detachedForeignComment, 1]: modifying the first added range must modify the Selection's last Range assert_equals: After mutating the first added Range, startContainer of the Selection's last Range must match the added Range expected Text node "Äb̈c̈d̈ëf̈g̈ḧ
-" but got Element node <p id="a">Äb̈c̈d̈ëf̈g̈ḧ
-</p>
-FAIL Range 22 [paras[0], 0, paras[0], 0] followed by Range 52 [detachedForeignComment, 0, detachedForeignComment, 1]: modifying the Selection's last Range must modify the first added Range assert_equals: After first addRange(), after mutating the Selection's last Range, startOffset of the Selection's last Range must match the added Range expected 0 but got 6
+PASS Range 22 [paras[0], 0, paras[0], 0] followed by Range 52 [detachedForeignComment, 0, detachedForeignComment, 1]: first addRange() must result in the selection's last range being the same object we added
+PASS Range 22 [paras[0], 0, paras[0], 0] followed by Range 52 [detachedForeignComment, 0, detachedForeignComment, 1]: modifying the first added range must modify the Selection's last Range
+PASS Range 22 [paras[0], 0, paras[0], 0] followed by Range 52 [detachedForeignComment, 0, detachedForeignComment, 1]: modifying the Selection's last Range must modify the first added Range
PASS Range 22 [paras[0], 0, paras[0], 0] followed by Range 52 [detachedForeignComment, 0, detachedForeignComment, 1]: second addRange() must not throw exceptions or modify the range it's given
PASS Range 22 [paras[0], 0, paras[0], 0] followed by Range 52 [detachedForeignComment, 0, detachedForeignComment, 1]: second addRange() must result in rangeCount being 1
-FAIL Range 22 [paras[0], 0, paras[0], 0] followed by Range 52 [detachedForeignComment, 0, detachedForeignComment, 1]: second addRange() must result in the selection's last range having the specified endpoints assert_equals: startContainer of the Selection's last Range must match the added Range expected Comment node <!--אריה יהודה--> but got Element node <p id="a">Äb̈c̈d̈ëf̈g̈ḧ
-</p>
+FAIL Range 22 [paras[0], 0, paras[0], 0] followed by Range 52 [detachedForeignComment, 0, detachedForeignComment, 1]: second addRange() must result in the selection's last range having the specified endpoints assert_equals: startContainer of the Selection's last Range must match the added Range expected Comment node <!--אריה יהודה--> but got Text node "Äb̈c̈d̈ëf̈g̈ḧ
+"
FAIL Range 22 [paras[0], 0, paras[0], 0] followed by Range 52 [detachedForeignComment, 0, detachedForeignComment, 1]: second addRange() must result in the selection's last range being the same object we added assert_equals: getRangeAt(rangeCount - 1) must return the same object we added expected object "" but got object ""
-FAIL Range 22 [paras[0], 0, paras[0], 0] followed by Range 52 [detachedForeignComment, 0, detachedForeignComment, 1]: modifying the second added range must modify the Selection's last Range assert_equals: After mutating the second added Range, startContainer of the Selection's last Range must match the added Range expected Text node "Äb̈c̈d̈ëf̈g̈ḧ
-" but got Element node <p id="a">Äb̈c̈d̈ëf̈g̈ḧ
-</p>
+FAIL Range 22 [paras[0], 0, paras[0], 0] followed by Range 52 [detachedForeignComment, 0, detachedForeignComment, 1]: modifying the second added range must modify the Selection's last Range assert_equals: After mutating the second added Range, startOffset of the Selection's last Range must match the added Range expected 0 but got 6
FAIL Range 22 [paras[0], 0, paras[0], 0] followed by Range 52 [detachedForeignComment, 0, detachedForeignComment, 1]: modifying the Selection's last Range must modify the second added Range assert_equals: After second addRange(), after mutating the Selection's last Range, startOffset of the Selection's last Range must match the added Range expected 0 but got 6
PASS Range 22 [paras[0], 0, paras[0], 0] followed by Range 53 [detachedForeignComment, 4, detachedForeignComment, 4]: first addRange() must not throw exceptions or modify the range it's given
PASS Range 22 [paras[0], 0, paras[0], 0] followed by Range 53 [detachedForeignComment, 4, detachedForeignComment, 4]: first addRange() must result in rangeCount being 1
PASS Range 22 [paras[0], 0, paras[0], 0] followed by Range 53 [detachedForeignComment, 4, detachedForeignComment, 4]: first addRange() must result in the selection's last range having the specified endpoints
-FAIL Range 22 [paras[0], 0, paras[0], 0] followed by Range 53 [detachedForeignComment, 4, detachedForeignComment, 4]: first addRange() must result in the selection's last range being the same object we added assert_equals: getRangeAt(rangeCount - 1) must return the same object we added expected object "" but got object ""
-FAIL Range 22 [paras[0], 0, paras[0], 0] followed by Range 53 [detachedForeignComment, 4, detachedForeignComment, 4]: modifying the first added range must modify the Selection's last Range assert_equals: After mutating the first added Range, startContainer of the Selection's last Range must match the added Range expected Text node "Äb̈c̈d̈ëf̈g̈ḧ
-" but got Element node <p id="a">Äb̈c̈d̈ëf̈g̈ḧ
-</p>
-FAIL Range 22 [paras[0], 0, paras[0], 0] followed by Range 53 [detachedForeignComment, 4, detachedForeignComment, 4]: modifying the Selection's last Range must modify the first added Range assert_equals: After first addRange(), after mutating the Selection's last Range, startOffset of the Selection's last Range must match the added Range expected 0 but got 6
+PASS Range 22 [paras[0], 0, paras[0], 0] followed by Range 53 [detachedForeignComment, 4, detachedForeignComment, 4]: first addRange() must result in the selection's last range being the same object we added
+PASS Range 22 [paras[0], 0, paras[0], 0] followed by Range 53 [detachedForeignComment, 4, detachedForeignComment, 4]: modifying the first added range must modify the Selection's last Range
+PASS Range 22 [paras[0], 0, paras[0], 0] followed by Range 53 [detachedForeignComment, 4, detachedForeignComment, 4]: modifying the Selection's last Range must modify the first added Range
PASS Range 22 [paras[0], 0, paras[0], 0] followed by Range 53 [detachedForeignComment, 4, detachedForeignComment, 4]: second addRange() must not throw exceptions or modify the range it's given
PASS Range 22 [paras[0], 0, paras[0], 0] followed by Range 53 [detachedForeignComment, 4, detachedForeignComment, 4]: second addRange() must result in rangeCount being 1
-FAIL Range 22 [paras[0], 0, paras[0], 0] followed by Range 53 [detachedForeignComment, 4, detachedForeignComment, 4]: second addRange() must result in the selection's last range having the specified endpoints assert_equals: startContainer of the Selection's last Range must match the added Range expected Comment node <!--אריה יהודה--> but got Element node <p id="a">Äb̈c̈d̈ëf̈g̈ḧ
-</p>
+FAIL Range 22 [paras[0], 0, paras[0], 0] followed by Range 53 [detachedForeignComment, 4, detachedForeignComment, 4]: second addRange() must result in the selection's last range having the specified endpoints assert_equals: startContainer of the Selection's last Range must match the added Range expected Comment node <!--אריה יהודה--> but got Text node "Äb̈c̈d̈ëf̈g̈ḧ
+"
FAIL Range 22 [paras[0], 0, paras[0], 0] followed by Range 53 [detachedForeignComment, 4, detachedForeignComment, 4]: second addRange() must result in the selection's last range being the same object we added assert_equals: getRangeAt(rangeCount - 1) must return the same object we added expected object "" but got object ""
-FAIL Range 22 [paras[0], 0, paras[0], 0] followed by Range 53 [detachedForeignComment, 4, detachedForeignComment, 4]: modifying the second added range must modify the Selection's last Range assert_equals: After mutating the second added Range, startContainer of the Selection's last Range must match the added Range expected Text node "Äb̈c̈d̈ëf̈g̈ḧ
-" but got Element node <p id="a">Äb̈c̈d̈ëf̈g̈ḧ
-</p>
+FAIL Range 22 [paras[0], 0, paras[0], 0] followed by Range 53 [detachedForeignComment, 4, detachedForeignComment, 4]: modifying the second added range must modify the Selection's last Range assert_equals: After mutating the second added Range, startOffset of the Selection's last Range must match the added Range expected 0 but got 6
FAIL Range 22 [paras[0], 0, paras[0], 0] followed by Range 53 [detachedForeignComment, 4, detachedForeignComment, 4]: modifying the Selection's last Range must modify the second added Range assert_equals: After second addRange(), after mutating the Selection's last Range, startOffset of the Selection's last Range must match the added Range expected 0 but got 6
PASS Range 22 [paras[0], 0, paras[0], 0] followed by Range 54 [detachedXmlComment, 2, detachedXmlComment, 6]: first addRange() must not throw exceptions or modify the range it's given
PASS Range 22 [paras[0], 0, paras[0], 0] followed by Range 54 [detachedXmlComment, 2, detachedXmlComment, 6]: first addRange() must result in rangeCount being 1
PASS Range 22 [paras[0], 0, paras[0], 0] followed by Range 54 [detachedXmlComment, 2, detachedXmlComment, 6]: first addRange() must result in the selection's last range having the specified endpoints
-FAIL Range 22 [paras[0], 0, paras[0], 0] followed by Range 54 [detachedXmlComment, 2, detachedXmlComment, 6]: first addRange() must result in the selection's last range being the same object we added assert_equals: getRangeAt(rangeCount - 1) must return the same object we added expected object "" but got object ""
-FAIL Range 22 [paras[0], 0, paras[0], 0] followed by Range 54 [detachedXmlComment, 2, detachedXmlComment, 6]: modifying the first added range must modify the Selection's last Range assert_equals: After mutating the first added Range, startContainer of the Selection's last Range must match the added Range expected Text node "Äb̈c̈d̈ëf̈g̈ḧ
-" but got Element node <p id="a">Äb̈c̈d̈ëf̈g̈ḧ
-</p>
-FAIL Range 22 [paras[0], 0, paras[0], 0] followed by Range 54 [detachedXmlComment, 2, detachedXmlComment, 6]: modifying the Selection's last Range must modify the first added Range assert_equals: After first addRange(), after mutating the Selection's last Range, startOffset of the Selection's last Range must match the added Range expected 0 but got 6
+PASS Range 22 [paras[0], 0, paras[0], 0] followed by Range 54 [detachedXmlComment, 2, detachedXmlComment, 6]: first addRange() must result in the selection's last range being the same object we added
+PASS Range 22 [paras[0], 0, paras[0], 0] followed by Range 54 [detachedXmlComment, 2, detachedXmlComment, 6]: modifying the first added range must modify the Selection's last Range
+PASS Range 22 [paras[0], 0, paras[0], 0] followed by Range 54 [detachedXmlComment, 2, detachedXmlComment, 6]: modifying the Selection's last Range must modify the first added Range
PASS Range 22 [paras[0], 0, paras[0], 0] followed by Range 54 [detachedXmlComment, 2, detachedXmlComment, 6]: second addRange() must not throw exceptions or modify the range it's given
PASS Range 22 [paras[0], 0, paras[0], 0] followed by Range 54 [detachedXmlComment, 2, detachedXmlComment, 6]: second addRange() must result in rangeCount being 1
-FAIL Range 22 [paras[0], 0, paras[0], 0] followed by Range 54 [detachedXmlComment, 2, detachedXmlComment, 6]: second addRange() must result in the selection's last range having the specified endpoints assert_equals: startContainer of the Selection's last Range must match the added Range expected Comment node <!--בן חיים אליעזר--> but got Element node <p id="a">Äb̈c̈d̈ëf̈g̈ḧ
-</p>
+FAIL Range 22 [paras[0], 0, paras[0], 0] followed by Range 54 [detachedXmlComment, 2, detachedXmlComment, 6]: second addRange() must result in the selection's last range having the specified endpoints assert_equals: startContainer of the Selection's last Range must match the added Range expected Comment node <!--בן חיים אליעזר--> but got Text node "Äb̈c̈d̈ëf̈g̈ḧ
+"
FAIL Range 22 [paras[0], 0, paras[0], 0] followed by Range 54 [detachedXmlComment, 2, detachedXmlComment, 6]: second addRange() must result in the selection's last range being the same object we added assert_equals: getRangeAt(rangeCount - 1) must return the same object we added expected object "" but got object ""
-FAIL Range 22 [paras[0], 0, paras[0], 0] followed by Range 54 [detachedXmlComment, 2, detachedXmlComment, 6]: modifying the second added range must modify the Selection's last Range assert_equals: After mutating the second added Range, startContainer of the Selection's last Range must match the added Range expected Text node "Äb̈c̈d̈ëf̈g̈ḧ
-" but got Element node <p id="a">Äb̈c̈d̈ëf̈g̈ḧ
-</p>
+FAIL Range 22 [paras[0], 0, paras[0], 0] followed by Range 54 [detachedXmlComment, 2, detachedXmlComment, 6]: modifying the second added range must modify the Selection's last Range assert_equals: After mutating the second added Range, startOffset of the Selection's last Range must match the added Range expected 0 but got 6
FAIL Range 22 [paras[0], 0, paras[0], 0] followed by Range 54 [detachedXmlComment, 2, detachedXmlComment, 6]: modifying the Selection's last Range must modify the second added Range assert_equals: After second addRange(), after mutating the Selection's last Range, startOffset of the Selection's last Range must match the added Range expected 0 but got 6
PASS Range 22 [paras[0], 0, paras[0], 0] followed by Range 55 [docfrag, 0, docfrag, 0]: first addRange() must not throw exceptions or modify the range it's given
PASS Range 22 [paras[0], 0, paras[0], 0] followed by Range 55 [docfrag, 0, docfrag, 0]: first addRange() must result in rangeCount being 1
PASS Range 22 [paras[0], 0, paras[0], 0] followed by Range 55 [docfrag, 0, docfrag, 0]: first addRange() must result in the selection's last range having the specified endpoints
-FAIL Range 22 [paras[0], 0, paras[0], 0] followed by Range 55 [docfrag, 0, docfrag, 0]: first addRange() must result in the selection's last range being the same object we added assert_equals: getRangeAt(rangeCount - 1) must return the same object we added expected object "" but got object ""
-FAIL Range 22 [paras[0], 0, paras[0], 0] followed by Range 55 [docfrag, 0, docfrag, 0]: modifying the first added range must modify the Selection's last Range assert_equals: After mutating the first added Range, startContainer of the Selection's last Range must match the added Range expected Text node "Äb̈c̈d̈ëf̈g̈ḧ
-" but got Element node <p id="a">Äb̈c̈d̈ëf̈g̈ḧ
-</p>
-FAIL Range 22 [paras[0], 0, paras[0], 0] followed by Range 55 [docfrag, 0, docfrag, 0]: modifying the Selection's last Range must modify the first added Range assert_equals: After first addRange(), after mutating the Selection's last Range, startOffset of the Selection's last Range must match the added Range expected 0 but got 6
+PASS Range 22 [paras[0], 0, paras[0], 0] followed by Range 55 [docfrag, 0, docfrag, 0]: first addRange() must result in the selection's last range being the same object we added
+PASS Range 22 [paras[0], 0, paras[0], 0] followed by Range 55 [docfrag, 0, docfrag, 0]: modifying the first added range must modify the Selection's last Range
+PASS Range 22 [paras[0], 0, paras[0], 0] followed by Range 55 [docfrag, 0, docfrag, 0]: modifying the Selection's last Range must modify the first added Range
PASS Range 22 [paras[0], 0, paras[0], 0] followed by Range 55 [docfrag, 0, docfrag, 0]: second addRange() must not throw exceptions or modify the range it's given
PASS Range 22 [paras[0], 0, paras[0], 0] followed by Range 55 [docfrag, 0, docfrag, 0]: second addRange() must result in rangeCount being 1
-FAIL Range 22 [paras[0], 0, paras[0], 0] followed by Range 55 [docfrag, 0, docfrag, 0]: second addRange() must result in the selection's last range having the specified endpoints assert_equals: startContainer of the Selection's last Range must match the added Range expected DocumentFragment node with 0 children but got Element node <p id="a">Äb̈c̈d̈ëf̈g̈ḧ
-</p>
+FAIL Range 22 [paras[0], 0, paras[0], 0] followed by Range 55 [docfrag, 0, docfrag, 0]: second addRange() must result in the selection's last range having the specified endpoints assert_equals: startContainer of the Selection's last Range must match the added Range expected DocumentFragment node with 0 children but got Text node "Äb̈c̈d̈ëf̈g̈ḧ
+"
FAIL Range 22 [paras[0], 0, paras[0], 0] followed by Range 55 [docfrag, 0, docfrag, 0]: second addRange() must result in the selection's last range being the same object we added assert_equals: getRangeAt(rangeCount - 1) must return the same object we added expected object "" but got object ""
-FAIL Range 22 [paras[0], 0, paras[0], 0] followed by Range 55 [docfrag, 0, docfrag, 0]: modifying the second added range must modify the Selection's last Range assert_equals: After mutating the second added Range, startContainer of the Selection's last Range must match the added Range expected Text node "Äb̈c̈d̈ëf̈g̈ḧ
-" but got Element node <p id="a">Äb̈c̈d̈ëf̈g̈ḧ
-</p>
+FAIL Range 22 [paras[0], 0, paras[0], 0] followed by Range 55 [docfrag, 0, docfrag, 0]: modifying the second added range must modify the Selection's last Range assert_equals: After mutating the second added Range, startOffset of the Selection's last Range must match the added Range expected 0 but got 6
FAIL Range 22 [paras[0], 0, paras[0], 0] followed by Range 55 [docfrag, 0, docfrag, 0]: modifying the Selection's last Range must modify the second added Range assert_equals: After second addRange(), after mutating the Selection's last Range, startOffset of the Selection's last Range must match the added Range expected 0 but got 6
PASS Range 22 [paras[0], 0, paras[0], 0] followed by Range 56 [foreignDocfrag, 0, foreignDocfrag, 0]: first addRange() must not throw exceptions or modify the range it's given
PASS Range 22 [paras[0], 0, paras[0], 0] followed by Range 56 [foreignDocfrag, 0, foreignDocfrag, 0]: first addRange() must result in rangeCount being 1
PASS Range 22 [paras[0], 0, paras[0], 0] followed by Range 56 [foreignDocfrag, 0, foreignDocfrag, 0]: first addRange() must result in the selection's last range having the specified endpoints
-FAIL Range 22 [paras[0], 0, paras[0], 0] followed by Range 56 [foreignDocfrag, 0, foreignDocfrag, 0]: first addRange() must result in the selection's last range being the same object we added assert_equals: getRangeAt(rangeCount - 1) must return the same object we added expected object "" but got object ""
-FAIL Range 22 [paras[0], 0, paras[0], 0] followed by Range 56 [foreignDocfrag, 0, foreignDocfrag, 0]: modifying the first added range must modify the Selection's last Range assert_equals: After mutating the first added Range, startContainer of the Selection's last Range must match the added Range expected Text node "Äb̈c̈d̈ëf̈g̈ḧ
-" but got Element node <p id="a">Äb̈c̈d̈ëf̈g̈ḧ
-</p>
-FAIL Range 22 [paras[0], 0, paras[0], 0] followed by Range 56 [foreignDocfrag, 0, foreignDocfrag, 0]: modifying the Selection's last Range must modify the first added Range assert_equals: After first addRange(), after mutating the Selection's last Range, startOffset of the Selection's last Range must match the added Range expected 0 but got 6
+PASS Range 22 [paras[0], 0, paras[0], 0] followed by Range 56 [foreignDocfrag, 0, foreignDocfrag, 0]: first addRange() must result in the selection's last range being the same object we added
+PASS Range 22 [paras[0], 0, paras[0], 0] followed by Range 56 [foreignDocfrag, 0, foreignDocfrag, 0]: modifying the first added range must modify the Selection's last Range
+PASS Range 22 [paras[0], 0, paras[0], 0] followed by Range 56 [foreignDocfrag, 0, foreignDocfrag, 0]: modifying the Selection's last Range must modify the first added Range
PASS Range 22 [paras[0], 0, paras[0], 0] followed by Range 56 [foreignDocfrag, 0, foreignDocfrag, 0]: second addRange() must not throw exceptions or modify the range it's given
PASS Range 22 [paras[0], 0, paras[0], 0] followed by Range 56 [foreignDocfrag, 0, foreignDocfrag, 0]: second addRange() must result in rangeCount being 1
-FAIL Range 22 [paras[0], 0, paras[0], 0] followed by Range 56 [foreignDocfrag, 0, foreignDocfrag, 0]: second addRange() must result in the selection's last range having the specified endpoints assert_equals: startContainer of the Selection's last Range must match the added Range expected DocumentFragment node with 0 children but got Element node <p id="a">Äb̈c̈d̈ëf̈g̈ḧ
-</p>
+FAIL Range 22 [paras[0], 0, paras[0], 0] followed by Range 56 [foreignDocfrag, 0, foreignDocfrag, 0]: second addRange() must result in the selection's last range having the specified endpoints assert_equals: startContainer of the Selection's last Range must match the added Range expected DocumentFragment node with 0 children but got Text node "Äb̈c̈d̈ëf̈g̈ḧ
+"
FAIL Range 22 [paras[0], 0, paras[0], 0] followed by Range 56 [foreignDocfrag, 0, foreignDocfrag, 0]: second addRange() must result in the selection's last range being the same object we added assert_equals: getRangeAt(rangeCount - 1) must return the same object we added expected object "" but got object ""
-FAIL Range 22 [paras[0], 0, paras[0], 0] followed by Range 56 [foreignDocfrag, 0, foreignDocfrag, 0]: modifying the second added range must modify the Selection's last Range assert_equals: After mutating the second added Range, startContainer of the Selection's last Range must match the added Range expected Text node "Äb̈c̈d̈ëf̈g̈ḧ
-" but got Element node <p id="a">Äb̈c̈d̈ëf̈g̈ḧ
-</p>
+FAIL Range 22 [paras[0], 0, paras[0], 0] followed by Range 56 [foreignDocfrag, 0, foreignDocfrag, 0]: modifying the second added range must modify the Selection's last Range assert_equals: After mutating the second added Range, startOffset of the Selection's last Range must match the added Range expected 0 but got 6
FAIL Range 22 [paras[0], 0, paras[0], 0] followed by Range 56 [foreignDocfrag, 0, foreignDocfrag, 0]: modifying the Selection's last Range must modify the second added Range assert_equals: After second addRange(), after mutating the Selection's last Range, startOffset of the Selection's last Range must match the added Range expected 0 but got 6
PASS Range 22 [paras[0], 0, paras[0], 0] followed by Range 57 [xmlDocfrag, 0, xmlDocfrag, 0]: first addRange() must not throw exceptions or modify the range it's given
PASS Range 22 [paras[0], 0, paras[0], 0] followed by Range 57 [xmlDocfrag, 0, xmlDocfrag, 0]: first addRange() must result in rangeCount being 1
PASS Range 22 [paras[0], 0, paras[0], 0] followed by Range 57 [xmlDocfrag, 0, xmlDocfrag, 0]: first addRange() must result in the selection's last range having the specified endpoints
-FAIL Range 22 [paras[0], 0, paras[0], 0] followed by Range 57 [xmlDocfrag, 0, xmlDocfrag, 0]: first addRange() must result in the selection's last range being the same object we added assert_equals: getRangeAt(rangeCount - 1) must return the same object we added expected object "" but got object ""
-FAIL Range 22 [paras[0], 0, paras[0], 0] followed by Range 57 [xmlDocfrag, 0, xmlDocfrag, 0]: modifying the first added range must modify the Selection's last Range assert_equals: After mutating the first added Range, startContainer of the Selection's last Range must match the added Range expected Text node "Äb̈c̈d̈ëf̈g̈ḧ
-" but got Element node <p id="a">Äb̈c̈d̈ëf̈g̈ḧ
-</p>
-FAIL Range 22 [paras[0], 0, paras[0], 0] followed by Range 57 [xmlDocfrag, 0, xmlDocfrag, 0]: modifying the Selection's last Range must modify the first added Range assert_equals: After first addRange(), after mutating the Selection's last Range, startOffset of the Selection's last Range must match the added Range expected 0 but got 6
+PASS Range 22 [paras[0], 0, paras[0], 0] followed by Range 57 [xmlDocfrag, 0, xmlDocfrag, 0]: first addRange() must result in the selection's last range being the same object we added
+PASS Range 22 [paras[0], 0, paras[0], 0] followed by Range 57 [xmlDocfrag, 0, xmlDocfrag, 0]: modifying the first added range must modify the Selection's last Range
+PASS Range 22 [paras[0], 0, paras[0], 0] followed by Range 57 [xmlDocfrag, 0, xmlDocfrag, 0]: modifying the Selection's last Range must modify the first added Range
PASS Range 22 [paras[0], 0, paras[0], 0] followed by Range 57 [xmlDocfrag, 0, xmlDocfrag, 0]: second addRange() must not throw exceptions or modify the range it's given
PASS Range 22 [paras[0], 0, paras[0], 0] followed by Range 57 [xmlDocfrag, 0, xmlDocfrag, 0]: second addRange() must result in rangeCount being 1
-FAIL Range 22 [paras[0], 0, paras[0], 0] followed by Range 57 [xmlDocfrag, 0, xmlDocfrag, 0]: second addRange() must result in the selection's last range having the specified endpoints assert_equals: startContainer of the Selection's last Range must match the added Range expected DocumentFragment node with 0 children but got Element node <p id="a">Äb̈c̈d̈ëf̈g̈ḧ
-</p>
+FAIL Range 22 [paras[0], 0, paras[0], 0] followed by Range 57 [xmlDocfrag, 0, xmlDocfrag, 0]: second addRange() must result in the selection's last range having the specified endpoints assert_equals: startContainer of the Selection's last Range must match the added Range expected DocumentFragment node with 0 children but got Text node "Äb̈c̈d̈ëf̈g̈ḧ
+"
FAIL Range 22 [paras[0], 0, paras[0], 0] followed by Range 57 [xmlDocfrag, 0, xmlDocfrag, 0]: second addRange() must result in the selection's last range being the same object we added assert_equals: getRangeAt(rangeCount - 1) must return the same object we added expected object "" but got object ""
-FAIL Range 22 [paras[0], 0, paras[0], 0] followed by Range 57 [xmlDocfrag, 0, xmlDocfrag, 0]: modifying the second added range must modify the Selection's last Range assert_equals: After mutating the second added Range, startContainer of the Selection's last Range must match the added Range expected Text node "Äb̈c̈d̈ëf̈g̈ḧ
-" but got Element node <p id="a">Äb̈c̈d̈ëf̈g̈ḧ
-</p>
+FAIL Range 22 [paras[0], 0, paras[0], 0] followed by Range 57 [xmlDocfrag, 0, xmlDocfrag, 0]: modifying the second added range must modify the Selection's last Range assert_equals: After mutating the second added Range, startOffset of the Selection's last Range must match the added Range expected 0 but got 6
FAIL Range 22 [paras[0], 0, paras[0], 0] followed by Range 57 [xmlDocfrag, 0, xmlDocfrag, 0]: modifying the Selection's last Range must modify the second added Range assert_equals: After second addRange(), after mutating the Selection's last Range, startOffset of the Selection's last Range must match the added Range expected 0 but got 6
PASS Range 23 [paras[0], 0, paras[0], 1] followed by Range 0 [paras[0].firstChild, 0, paras[0].firstChild, 0]: first addRange() must not throw exceptions or modify the range it's given
PASS Range 23 [paras[0], 0, paras[0], 1] followed by Range 0 [paras[0].firstChild, 0, paras[0].firstChild, 0]: first addRange() must result in rangeCount being 1
PASS Range 23 [paras[0], 0, paras[0], 1] followed by Range 0 [paras[0].firstChild, 0, paras[0].firstChild, 0]: first addRange() must result in the selection's last range having the specified endpoints
-FAIL Range 23 [paras[0], 0, paras[0], 1] followed by Range 0 [paras[0].firstChild, 0, paras[0].firstChild, 0]: first addRange() must result in the selection's last range being the same object we added assert_equals: getRangeAt(rangeCount - 1) must return the same object we added expected object "Äb̈c̈d̈ëf̈g̈ḧ
-" but got object "Äb̈c̈d̈ëf̈g̈ḧ
-"
-FAIL Range 23 [paras[0], 0, paras[0], 1] followed by Range 0 [paras[0].firstChild, 0, paras[0].firstChild, 0]: modifying the first added range must modify the Selection's last Range assert_equals: After mutating the first added Range, startContainer of the Selection's last Range must match the added Range expected Text node "Äb̈c̈d̈ëf̈g̈ḧ
-" but got Element node <p id="a">Äb̈c̈d̈ëf̈g̈ḧ
-</p>
-FAIL Range 23 [paras[0], 0, paras[0], 1] followed by Range 0 [paras[0].firstChild, 0, paras[0].firstChild, 0]: modifying the Selection's last Range must modify the first added Range assert_equals: After first addRange(), after mutating the Selection's last Range, startOffset of the Selection's last Range must match the added Range expected 0 but got 6
+PASS Range 23 [paras[0], 0, paras[0], 1] followed by Range 0 [paras[0].firstChild, 0, paras[0].firstChild, 0]: first addRange() must result in the selection's last range being the same object we added
+PASS Range 23 [paras[0], 0, paras[0], 1] followed by Range 0 [paras[0].firstChild, 0, paras[0].firstChild, 0]: modifying the first added range must modify the Selection's last Range
+PASS Range 23 [paras[0], 0, paras[0], 1] followed by Range 0 [paras[0].firstChild, 0, paras[0].firstChild, 0]: modifying the Selection's last Range must modify the first added Range
PASS Range 23 [paras[0], 0, paras[0], 1] followed by Range 0 [paras[0].firstChild, 0, paras[0].firstChild, 0]: second addRange() must not throw exceptions or modify the range it's given
PASS Range 23 [paras[0], 0, paras[0], 1] followed by Range 0 [paras[0].firstChild, 0, paras[0].firstChild, 0]: second addRange() must result in rangeCount being 1
FAIL Range 23 [paras[0], 0, paras[0], 1] followed by Range 0 [paras[0].firstChild, 0, paras[0].firstChild, 0]: second addRange() must result in the selection's last range having the specified endpoints assert_equals: startContainer of the Selection's last Range must match the added Range expected Text node "Äb̈c̈d̈ëf̈g̈ḧ
@@ -2956,13 +2368,9 @@ FAIL Range 23 [paras[0], 0, paras[0], 1] followed by Range 0 [paras[0].firstChil
PASS Range 23 [paras[0], 0, paras[0], 1] followed by Range 1 [paras[0].firstChild, 0, paras[0].firstChild, 1]: first addRange() must not throw exceptions or modify the range it's given
PASS Range 23 [paras[0], 0, paras[0], 1] followed by Range 1 [paras[0].firstChild, 0, paras[0].firstChild, 1]: first addRange() must result in rangeCount being 1
PASS Range 23 [paras[0], 0, paras[0], 1] followed by Range 1 [paras[0].firstChild, 0, paras[0].firstChild, 1]: first addRange() must result in the selection's last range having the specified endpoints
-FAIL Range 23 [paras[0], 0, paras[0], 1] followed by Range 1 [paras[0].firstChild, 0, paras[0].firstChild, 1]: first addRange() must result in the selection's last range being the same object we added assert_equals: getRangeAt(rangeCount - 1) must return the same object we added expected object "Äb̈c̈d̈ëf̈g̈ḧ
-" but got object "Äb̈c̈d̈ëf̈g̈ḧ
-"
-FAIL Range 23 [paras[0], 0, paras[0], 1] followed by Range 1 [paras[0].firstChild, 0, paras[0].firstChild, 1]: modifying the first added range must modify the Selection's last Range assert_equals: After mutating the first added Range, startContainer of the Selection's last Range must match the added Range expected Text node "Äb̈c̈d̈ëf̈g̈ḧ
-" but got Element node <p id="a">Äb̈c̈d̈ëf̈g̈ḧ
-</p>
-FAIL Range 23 [paras[0], 0, paras[0], 1] followed by Range 1 [paras[0].firstChild, 0, paras[0].firstChild, 1]: modifying the Selection's last Range must modify the first added Range assert_equals: After first addRange(), after mutating the Selection's last Range, startOffset of the Selection's last Range must match the added Range expected 0 but got 6
+PASS Range 23 [paras[0], 0, paras[0], 1] followed by Range 1 [paras[0].firstChild, 0, paras[0].firstChild, 1]: first addRange() must result in the selection's last range being the same object we added
+PASS Range 23 [paras[0], 0, paras[0], 1] followed by Range 1 [paras[0].firstChild, 0, paras[0].firstChild, 1]: modifying the first added range must modify the Selection's last Range
+PASS Range 23 [paras[0], 0, paras[0], 1] followed by Range 1 [paras[0].firstChild, 0, paras[0].firstChild, 1]: modifying the Selection's last Range must modify the first added Range
PASS Range 23 [paras[0], 0, paras[0], 1] followed by Range 1 [paras[0].firstChild, 0, paras[0].firstChild, 1]: second addRange() must not throw exceptions or modify the range it's given
PASS Range 23 [paras[0], 0, paras[0], 1] followed by Range 1 [paras[0].firstChild, 0, paras[0].firstChild, 1]: second addRange() must result in rangeCount being 1
FAIL Range 23 [paras[0], 0, paras[0], 1] followed by Range 1 [paras[0].firstChild, 0, paras[0].firstChild, 1]: second addRange() must result in the selection's last range having the specified endpoints assert_equals: startContainer of the Selection's last Range must match the added Range expected Text node "Äb̈c̈d̈ëf̈g̈ḧ
@@ -2977,13 +2385,9 @@ FAIL Range 23 [paras[0], 0, paras[0], 1] followed by Range 1 [paras[0].firstChil
PASS Range 23 [paras[0], 0, paras[0], 1] followed by Range 2 [paras[0].firstChild, 2, paras[0].firstChild, 8]: first addRange() must not throw exceptions or modify the range it's given
PASS Range 23 [paras[0], 0, paras[0], 1] followed by Range 2 [paras[0].firstChild, 2, paras[0].firstChild, 8]: first addRange() must result in rangeCount being 1
PASS Range 23 [paras[0], 0, paras[0], 1] followed by Range 2 [paras[0].firstChild, 2, paras[0].firstChild, 8]: first addRange() must result in the selection's last range having the specified endpoints
-FAIL Range 23 [paras[0], 0, paras[0], 1] followed by Range 2 [paras[0].firstChild, 2, paras[0].firstChild, 8]: first addRange() must result in the selection's last range being the same object we added assert_equals: getRangeAt(rangeCount - 1) must return the same object we added expected object "Äb̈c̈d̈ëf̈g̈ḧ
-" but got object "Äb̈c̈d̈ëf̈g̈ḧ
-"
-FAIL Range 23 [paras[0], 0, paras[0], 1] followed by Range 2 [paras[0].firstChild, 2, paras[0].firstChild, 8]: modifying the first added range must modify the Selection's last Range assert_equals: After mutating the first added Range, startContainer of the Selection's last Range must match the added Range expected Text node "Äb̈c̈d̈ëf̈g̈ḧ
-" but got Element node <p id="a">Äb̈c̈d̈ëf̈g̈ḧ
-</p>
-FAIL Range 23 [paras[0], 0, paras[0], 1] followed by Range 2 [paras[0].firstChild, 2, paras[0].firstChild, 8]: modifying the Selection's last Range must modify the first added Range assert_equals: After first addRange(), after mutating the Selection's last Range, startOffset of the Selection's last Range must match the added Range expected 0 but got 6
+PASS Range 23 [paras[0], 0, paras[0], 1] followed by Range 2 [paras[0].firstChild, 2, paras[0].firstChild, 8]: first addRange() must result in the selection's last range being the same object we added
+PASS Range 23 [paras[0], 0, paras[0], 1] followed by Range 2 [paras[0].firstChild, 2, paras[0].firstChild, 8]: modifying the first added range must modify the Selection's last Range
+PASS Range 23 [paras[0], 0, paras[0], 1] followed by Range 2 [paras[0].firstChild, 2, paras[0].firstChild, 8]: modifying the Selection's last Range must modify the first added Range
PASS Range 23 [paras[0], 0, paras[0], 1] followed by Range 2 [paras[0].firstChild, 2, paras[0].firstChild, 8]: second addRange() must not throw exceptions or modify the range it's given
PASS Range 23 [paras[0], 0, paras[0], 1] followed by Range 2 [paras[0].firstChild, 2, paras[0].firstChild, 8]: second addRange() must result in rangeCount being 1
FAIL Range 23 [paras[0], 0, paras[0], 1] followed by Range 2 [paras[0].firstChild, 2, paras[0].firstChild, 8]: second addRange() must result in the selection's last range having the specified endpoints assert_equals: startContainer of the Selection's last Range must match the added Range expected Text node "Äb̈c̈d̈ëf̈g̈ḧ
@@ -2998,13 +2402,9 @@ FAIL Range 23 [paras[0], 0, paras[0], 1] followed by Range 2 [paras[0].firstChil
PASS Range 23 [paras[0], 0, paras[0], 1] followed by Range 3 [paras[0].firstChild, 2, paras[0].firstChild, 9]: first addRange() must not throw exceptions or modify the range it's given
PASS Range 23 [paras[0], 0, paras[0], 1] followed by Range 3 [paras[0].firstChild, 2, paras[0].firstChild, 9]: first addRange() must result in rangeCount being 1
PASS Range 23 [paras[0], 0, paras[0], 1] followed by Range 3 [paras[0].firstChild, 2, paras[0].firstChild, 9]: first addRange() must result in the selection's last range having the specified endpoints
-FAIL Range 23 [paras[0], 0, paras[0], 1] followed by Range 3 [paras[0].firstChild, 2, paras[0].firstChild, 9]: first addRange() must result in the selection's last range being the same object we added assert_equals: getRangeAt(rangeCount - 1) must return the same object we added expected object "Äb̈c̈d̈ëf̈g̈ḧ
-" but got object "Äb̈c̈d̈ëf̈g̈ḧ
-"
-FAIL Range 23 [paras[0], 0, paras[0], 1] followed by Range 3 [paras[0].firstChild, 2, paras[0].firstChild, 9]: modifying the first added range must modify the Selection's last Range assert_equals: After mutating the first added Range, startContainer of the Selection's last Range must match the added Range expected Text node "Äb̈c̈d̈ëf̈g̈ḧ
-" but got Element node <p id="a">Äb̈c̈d̈ëf̈g̈ḧ
-</p>
-FAIL Range 23 [paras[0], 0, paras[0], 1] followed by Range 3 [paras[0].firstChild, 2, paras[0].firstChild, 9]: modifying the Selection's last Range must modify the first added Range assert_equals: After first addRange(), after mutating the Selection's last Range, startOffset of the Selection's last Range must match the added Range expected 0 but got 6
+PASS Range 23 [paras[0], 0, paras[0], 1] followed by Range 3 [paras[0].firstChild, 2, paras[0].firstChild, 9]: first addRange() must result in the selection's last range being the same object we added
+PASS Range 23 [paras[0], 0, paras[0], 1] followed by Range 3 [paras[0].firstChild, 2, paras[0].firstChild, 9]: modifying the first added range must modify the Selection's last Range
+PASS Range 23 [paras[0], 0, paras[0], 1] followed by Range 3 [paras[0].firstChild, 2, paras[0].firstChild, 9]: modifying the Selection's last Range must modify the first added Range
PASS Range 23 [paras[0], 0, paras[0], 1] followed by Range 3 [paras[0].firstChild, 2, paras[0].firstChild, 9]: second addRange() must not throw exceptions or modify the range it's given
PASS Range 23 [paras[0], 0, paras[0], 1] followed by Range 3 [paras[0].firstChild, 2, paras[0].firstChild, 9]: second addRange() must result in rangeCount being 1
FAIL Range 23 [paras[0], 0, paras[0], 1] followed by Range 3 [paras[0].firstChild, 2, paras[0].firstChild, 9]: second addRange() must result in the selection's last range having the specified endpoints assert_equals: startContainer of the Selection's last Range must match the added Range expected Text node "Äb̈c̈d̈ëf̈g̈ḧ
@@ -3019,241 +2419,160 @@ FAIL Range 23 [paras[0], 0, paras[0], 1] followed by Range 3 [paras[0].firstChil
PASS Range 23 [paras[0], 0, paras[0], 1] followed by Range 4 [paras[1].firstChild, 0, paras[1].firstChild, 0]: first addRange() must not throw exceptions or modify the range it's given
PASS Range 23 [paras[0], 0, paras[0], 1] followed by Range 4 [paras[1].firstChild, 0, paras[1].firstChild, 0]: first addRange() must result in rangeCount being 1
PASS Range 23 [paras[0], 0, paras[0], 1] followed by Range 4 [paras[1].firstChild, 0, paras[1].firstChild, 0]: first addRange() must result in the selection's last range having the specified endpoints
-FAIL Range 23 [paras[0], 0, paras[0], 1] followed by Range 4 [paras[1].firstChild, 0, paras[1].firstChild, 0]: first addRange() must result in the selection's last range being the same object we added assert_equals: getRangeAt(rangeCount - 1) must return the same object we added expected object "Äb̈c̈d̈ëf̈g̈ḧ
-" but got object "Äb̈c̈d̈ëf̈g̈ḧ
-"
-FAIL Range 23 [paras[0], 0, paras[0], 1] followed by Range 4 [paras[1].firstChild, 0, paras[1].firstChild, 0]: modifying the first added range must modify the Selection's last Range assert_equals: After mutating the first added Range, startContainer of the Selection's last Range must match the added Range expected Text node "Äb̈c̈d̈ëf̈g̈ḧ
-" but got Element node <p id="a">Äb̈c̈d̈ëf̈g̈ḧ
-</p>
-FAIL Range 23 [paras[0], 0, paras[0], 1] followed by Range 4 [paras[1].firstChild, 0, paras[1].firstChild, 0]: modifying the Selection's last Range must modify the first added Range assert_equals: After first addRange(), after mutating the Selection's last Range, startOffset of the Selection's last Range must match the added Range expected 0 but got 6
+PASS Range 23 [paras[0], 0, paras[0], 1] followed by Range 4 [paras[1].firstChild, 0, paras[1].firstChild, 0]: first addRange() must result in the selection's last range being the same object we added
+PASS Range 23 [paras[0], 0, paras[0], 1] followed by Range 4 [paras[1].firstChild, 0, paras[1].firstChild, 0]: modifying the first added range must modify the Selection's last Range
+PASS Range 23 [paras[0], 0, paras[0], 1] followed by Range 4 [paras[1].firstChild, 0, paras[1].firstChild, 0]: modifying the Selection's last Range must modify the first added Range
PASS Range 23 [paras[0], 0, paras[0], 1] followed by Range 4 [paras[1].firstChild, 0, paras[1].firstChild, 0]: second addRange() must not throw exceptions or modify the range it's given
PASS Range 23 [paras[0], 0, paras[0], 1] followed by Range 4 [paras[1].firstChild, 0, paras[1].firstChild, 0]: second addRange() must result in rangeCount being 1
FAIL Range 23 [paras[0], 0, paras[0], 1] followed by Range 4 [paras[1].firstChild, 0, paras[1].firstChild, 0]: second addRange() must result in the selection's last range having the specified endpoints assert_equals: startContainer of the Selection's last Range must match the added Range expected Text node "Ijklmnop
-" but got Element node <p id="a">Äb̈c̈d̈ëf̈g̈ḧ
-</p>
-FAIL Range 23 [paras[0], 0, paras[0], 1] followed by Range 4 [paras[1].firstChild, 0, paras[1].firstChild, 0]: second addRange() must result in the selection's last range being the same object we added assert_equals: getRangeAt(rangeCount - 1) must return the same object we added expected object "" but got object "Äb̈c̈d̈ëf̈g̈ḧ
+" but got Text node "Äb̈c̈d̈ëf̈g̈ḧ
"
-FAIL Range 23 [paras[0], 0, paras[0], 1] followed by Range 4 [paras[1].firstChild, 0, paras[1].firstChild, 0]: modifying the second added range must modify the Selection's last Range assert_equals: After mutating the second added Range, startContainer of the Selection's last Range must match the added Range expected Text node "Äb̈c̈d̈ëf̈g̈ḧ
-" but got Element node <p id="a">Äb̈c̈d̈ëf̈g̈ḧ
-</p>
+FAIL Range 23 [paras[0], 0, paras[0], 1] followed by Range 4 [paras[1].firstChild, 0, paras[1].firstChild, 0]: second addRange() must result in the selection's last range being the same object we added assert_equals: getRangeAt(rangeCount - 1) must return the same object we added expected object "" but got object ""
+FAIL Range 23 [paras[0], 0, paras[0], 1] followed by Range 4 [paras[1].firstChild, 0, paras[1].firstChild, 0]: modifying the second added range must modify the Selection's last Range assert_equals: After mutating the second added Range, startOffset of the Selection's last Range must match the added Range expected 0 but got 6
FAIL Range 23 [paras[0], 0, paras[0], 1] followed by Range 4 [paras[1].firstChild, 0, paras[1].firstChild, 0]: modifying the Selection's last Range must modify the second added Range assert_equals: After second addRange(), after mutating the Selection's last Range, startOffset of the Selection's last Range must match the added Range expected 0 but got 6
PASS Range 23 [paras[0], 0, paras[0], 1] followed by Range 5 [paras[1].firstChild, 0, paras[1].firstChild, 1]: first addRange() must not throw exceptions or modify the range it's given
PASS Range 23 [paras[0], 0, paras[0], 1] followed by Range 5 [paras[1].firstChild, 0, paras[1].firstChild, 1]: first addRange() must result in rangeCount being 1
PASS Range 23 [paras[0], 0, paras[0], 1] followed by Range 5 [paras[1].firstChild, 0, paras[1].firstChild, 1]: first addRange() must result in the selection's last range having the specified endpoints
-FAIL Range 23 [paras[0], 0, paras[0], 1] followed by Range 5 [paras[1].firstChild, 0, paras[1].firstChild, 1]: first addRange() must result in the selection's last range being the same object we added assert_equals: getRangeAt(rangeCount - 1) must return the same object we added expected object "Äb̈c̈d̈ëf̈g̈ḧ
-" but got object "Äb̈c̈d̈ëf̈g̈ḧ
-"
-FAIL Range 23 [paras[0], 0, paras[0], 1] followed by Range 5 [paras[1].firstChild, 0, paras[1].firstChild, 1]: modifying the first added range must modify the Selection's last Range assert_equals: After mutating the first added Range, startContainer of the Selection's last Range must match the added Range expected Text node "Äb̈c̈d̈ëf̈g̈ḧ
-" but got Element node <p id="a">Äb̈c̈d̈ëf̈g̈ḧ
-</p>
-FAIL Range 23 [paras[0], 0, paras[0], 1] followed by Range 5 [paras[1].firstChild, 0, paras[1].firstChild, 1]: modifying the Selection's last Range must modify the first added Range assert_equals: After first addRange(), after mutating the Selection's last Range, startOffset of the Selection's last Range must match the added Range expected 0 but got 6
+PASS Range 23 [paras[0], 0, paras[0], 1] followed by Range 5 [paras[1].firstChild, 0, paras[1].firstChild, 1]: first addRange() must result in the selection's last range being the same object we added
+PASS Range 23 [paras[0], 0, paras[0], 1] followed by Range 5 [paras[1].firstChild, 0, paras[1].firstChild, 1]: modifying the first added range must modify the Selection's last Range
+PASS Range 23 [paras[0], 0, paras[0], 1] followed by Range 5 [paras[1].firstChild, 0, paras[1].firstChild, 1]: modifying the Selection's last Range must modify the first added Range
PASS Range 23 [paras[0], 0, paras[0], 1] followed by Range 5 [paras[1].firstChild, 0, paras[1].firstChild, 1]: second addRange() must not throw exceptions or modify the range it's given
PASS Range 23 [paras[0], 0, paras[0], 1] followed by Range 5 [paras[1].firstChild, 0, paras[1].firstChild, 1]: second addRange() must result in rangeCount being 1
FAIL Range 23 [paras[0], 0, paras[0], 1] followed by Range 5 [paras[1].firstChild, 0, paras[1].firstChild, 1]: second addRange() must result in the selection's last range having the specified endpoints assert_equals: startContainer of the Selection's last Range must match the added Range expected Text node "Ijklmnop
-" but got Element node <p id="a">Äb̈c̈d̈ëf̈g̈ḧ
-</p>
-FAIL Range 23 [paras[0], 0, paras[0], 1] followed by Range 5 [paras[1].firstChild, 0, paras[1].firstChild, 1]: second addRange() must result in the selection's last range being the same object we added assert_equals: getRangeAt(rangeCount - 1) must return the same object we added expected object "I" but got object "Äb̈c̈d̈ëf̈g̈ḧ
+" but got Text node "Äb̈c̈d̈ëf̈g̈ḧ
"
-FAIL Range 23 [paras[0], 0, paras[0], 1] followed by Range 5 [paras[1].firstChild, 0, paras[1].firstChild, 1]: modifying the second added range must modify the Selection's last Range assert_equals: After mutating the second added Range, startContainer of the Selection's last Range must match the added Range expected Text node "Äb̈c̈d̈ëf̈g̈ḧ
-" but got Element node <p id="a">Äb̈c̈d̈ëf̈g̈ḧ
-</p>
+FAIL Range 23 [paras[0], 0, paras[0], 1] followed by Range 5 [paras[1].firstChild, 0, paras[1].firstChild, 1]: second addRange() must result in the selection's last range being the same object we added assert_equals: getRangeAt(rangeCount - 1) must return the same object we added expected object "I" but got object ""
+FAIL Range 23 [paras[0], 0, paras[0], 1] followed by Range 5 [paras[1].firstChild, 0, paras[1].firstChild, 1]: modifying the second added range must modify the Selection's last Range assert_equals: After mutating the second added Range, startOffset of the Selection's last Range must match the added Range expected 0 but got 6
FAIL Range 23 [paras[0], 0, paras[0], 1] followed by Range 5 [paras[1].firstChild, 0, paras[1].firstChild, 1]: modifying the Selection's last Range must modify the second added Range assert_equals: After second addRange(), after mutating the Selection's last Range, startOffset of the Selection's last Range must match the added Range expected 0 but got 6
PASS Range 23 [paras[0], 0, paras[0], 1] followed by Range 6 [paras[1].firstChild, 2, paras[1].firstChild, 8]: first addRange() must not throw exceptions or modify the range it's given
PASS Range 23 [paras[0], 0, paras[0], 1] followed by Range 6 [paras[1].firstChild, 2, paras[1].firstChild, 8]: first addRange() must result in rangeCount being 1
PASS Range 23 [paras[0], 0, paras[0], 1] followed by Range 6 [paras[1].firstChild, 2, paras[1].firstChild, 8]: first addRange() must result in the selection's last range having the specified endpoints
-FAIL Range 23 [paras[0], 0, paras[0], 1] followed by Range 6 [paras[1].firstChild, 2, paras[1].firstChild, 8]: first addRange() must result in the selection's last range being the same object we added assert_equals: getRangeAt(rangeCount - 1) must return the same object we added expected object "Äb̈c̈d̈ëf̈g̈ḧ
-" but got object "Äb̈c̈d̈ëf̈g̈ḧ
-"
-FAIL Range 23 [paras[0], 0, paras[0], 1] followed by Range 6 [paras[1].firstChild, 2, paras[1].firstChild, 8]: modifying the first added range must modify the Selection's last Range assert_equals: After mutating the first added Range, startContainer of the Selection's last Range must match the added Range expected Text node "Äb̈c̈d̈ëf̈g̈ḧ
-" but got Element node <p id="a">Äb̈c̈d̈ëf̈g̈ḧ
-</p>
-FAIL Range 23 [paras[0], 0, paras[0], 1] followed by Range 6 [paras[1].firstChild, 2, paras[1].firstChild, 8]: modifying the Selection's last Range must modify the first added Range assert_equals: After first addRange(), after mutating the Selection's last Range, startOffset of the Selection's last Range must match the added Range expected 0 but got 6
+PASS Range 23 [paras[0], 0, paras[0], 1] followed by Range 6 [paras[1].firstChild, 2, paras[1].firstChild, 8]: first addRange() must result in the selection's last range being the same object we added
+PASS Range 23 [paras[0], 0, paras[0], 1] followed by Range 6 [paras[1].firstChild, 2, paras[1].firstChild, 8]: modifying the first added range must modify the Selection's last Range
+PASS Range 23 [paras[0], 0, paras[0], 1] followed by Range 6 [paras[1].firstChild, 2, paras[1].firstChild, 8]: modifying the Selection's last Range must modify the first added Range
PASS Range 23 [paras[0], 0, paras[0], 1] followed by Range 6 [paras[1].firstChild, 2, paras[1].firstChild, 8]: second addRange() must not throw exceptions or modify the range it's given
PASS Range 23 [paras[0], 0, paras[0], 1] followed by Range 6 [paras[1].firstChild, 2, paras[1].firstChild, 8]: second addRange() must result in rangeCount being 1
FAIL Range 23 [paras[0], 0, paras[0], 1] followed by Range 6 [paras[1].firstChild, 2, paras[1].firstChild, 8]: second addRange() must result in the selection's last range having the specified endpoints assert_equals: startContainer of the Selection's last Range must match the added Range expected Text node "Ijklmnop
-" but got Element node <p id="a">Äb̈c̈d̈ëf̈g̈ḧ
-</p>
-FAIL Range 23 [paras[0], 0, paras[0], 1] followed by Range 6 [paras[1].firstChild, 2, paras[1].firstChild, 8]: second addRange() must result in the selection's last range being the same object we added assert_equals: getRangeAt(rangeCount - 1) must return the same object we added expected object "klmnop" but got object "Äb̈c̈d̈ëf̈g̈ḧ
+" but got Text node "Äb̈c̈d̈ëf̈g̈ḧ
"
-FAIL Range 23 [paras[0], 0, paras[0], 1] followed by Range 6 [paras[1].firstChild, 2, paras[1].firstChild, 8]: modifying the second added range must modify the Selection's last Range assert_equals: After mutating the second added Range, startContainer of the Selection's last Range must match the added Range expected Text node "Äb̈c̈d̈ëf̈g̈ḧ
-" but got Element node <p id="a">Äb̈c̈d̈ëf̈g̈ḧ
-</p>
+FAIL Range 23 [paras[0], 0, paras[0], 1] followed by Range 6 [paras[1].firstChild, 2, paras[1].firstChild, 8]: second addRange() must result in the selection's last range being the same object we added assert_equals: getRangeAt(rangeCount - 1) must return the same object we added expected object "klmnop" but got object ""
+FAIL Range 23 [paras[0], 0, paras[0], 1] followed by Range 6 [paras[1].firstChild, 2, paras[1].firstChild, 8]: modifying the second added range must modify the Selection's last Range assert_equals: After mutating the second added Range, startOffset of the Selection's last Range must match the added Range expected 0 but got 6
FAIL Range 23 [paras[0], 0, paras[0], 1] followed by Range 6 [paras[1].firstChild, 2, paras[1].firstChild, 8]: modifying the Selection's last Range must modify the second added Range assert_equals: After second addRange(), after mutating the Selection's last Range, startOffset of the Selection's last Range must match the added Range expected 0 but got 6
PASS Range 23 [paras[0], 0, paras[0], 1] followed by Range 7 [paras[1].firstChild, 2, paras[1].firstChild, 9]: first addRange() must not throw exceptions or modify the range it's given
PASS Range 23 [paras[0], 0, paras[0], 1] followed by Range 7 [paras[1].firstChild, 2, paras[1].firstChild, 9]: first addRange() must result in rangeCount being 1
PASS Range 23 [paras[0], 0, paras[0], 1] followed by Range 7 [paras[1].firstChild, 2, paras[1].firstChild, 9]: first addRange() must result in the selection's last range having the specified endpoints
-FAIL Range 23 [paras[0], 0, paras[0], 1] followed by Range 7 [paras[1].firstChild, 2, paras[1].firstChild, 9]: first addRange() must result in the selection's last range being the same object we added assert_equals: getRangeAt(rangeCount - 1) must return the same object we added expected object "Äb̈c̈d̈ëf̈g̈ḧ
-" but got object "Äb̈c̈d̈ëf̈g̈ḧ
-"
-FAIL Range 23 [paras[0], 0, paras[0], 1] followed by Range 7 [paras[1].firstChild, 2, paras[1].firstChild, 9]: modifying the first added range must modify the Selection's last Range assert_equals: After mutating the first added Range, startContainer of the Selection's last Range must match the added Range expected Text node "Äb̈c̈d̈ëf̈g̈ḧ
-" but got Element node <p id="a">Äb̈c̈d̈ëf̈g̈ḧ
-</p>
-FAIL Range 23 [paras[0], 0, paras[0], 1] followed by Range 7 [paras[1].firstChild, 2, paras[1].firstChild, 9]: modifying the Selection's last Range must modify the first added Range assert_equals: After first addRange(), after mutating the Selection's last Range, startOffset of the Selection's last Range must match the added Range expected 0 but got 6
+PASS Range 23 [paras[0], 0, paras[0], 1] followed by Range 7 [paras[1].firstChild, 2, paras[1].firstChild, 9]: first addRange() must result in the selection's last range being the same object we added
+PASS Range 23 [paras[0], 0, paras[0], 1] followed by Range 7 [paras[1].firstChild, 2, paras[1].firstChild, 9]: modifying the first added range must modify the Selection's last Range
+PASS Range 23 [paras[0], 0, paras[0], 1] followed by Range 7 [paras[1].firstChild, 2, paras[1].firstChild, 9]: modifying the Selection's last Range must modify the first added Range
PASS Range 23 [paras[0], 0, paras[0], 1] followed by Range 7 [paras[1].firstChild, 2, paras[1].firstChild, 9]: second addRange() must not throw exceptions or modify the range it's given
PASS Range 23 [paras[0], 0, paras[0], 1] followed by Range 7 [paras[1].firstChild, 2, paras[1].firstChild, 9]: second addRange() must result in rangeCount being 1
FAIL Range 23 [paras[0], 0, paras[0], 1] followed by Range 7 [paras[1].firstChild, 2, paras[1].firstChild, 9]: second addRange() must result in the selection's last range having the specified endpoints assert_equals: startContainer of the Selection's last Range must match the added Range expected Text node "Ijklmnop
-" but got Element node <p id="a">Äb̈c̈d̈ëf̈g̈ḧ
-</p>
-FAIL Range 23 [paras[0], 0, paras[0], 1] followed by Range 7 [paras[1].firstChild, 2, paras[1].firstChild, 9]: second addRange() must result in the selection's last range being the same object we added assert_equals: getRangeAt(rangeCount - 1) must return the same object we added expected object "klmnop
-" but got object "Äb̈c̈d̈ëf̈g̈ḧ
+" but got Text node "Äb̈c̈d̈ëf̈g̈ḧ
"
-FAIL Range 23 [paras[0], 0, paras[0], 1] followed by Range 7 [paras[1].firstChild, 2, paras[1].firstChild, 9]: modifying the second added range must modify the Selection's last Range assert_equals: After mutating the second added Range, startContainer of the Selection's last Range must match the added Range expected Text node "Äb̈c̈d̈ëf̈g̈ḧ
-" but got Element node <p id="a">Äb̈c̈d̈ëf̈g̈ḧ
-</p>
+FAIL Range 23 [paras[0], 0, paras[0], 1] followed by Range 7 [paras[1].firstChild, 2, paras[1].firstChild, 9]: second addRange() must result in the selection's last range being the same object we added assert_equals: getRangeAt(rangeCount - 1) must return the same object we added expected object "klmnop
+" but got object ""
+FAIL Range 23 [paras[0], 0, paras[0], 1] followed by Range 7 [paras[1].firstChild, 2, paras[1].firstChild, 9]: modifying the second added range must modify the Selection's last Range assert_equals: After mutating the second added Range, startOffset of the Selection's last Range must match the added Range expected 0 but got 6
FAIL Range 23 [paras[0], 0, paras[0], 1] followed by Range 7 [paras[1].firstChild, 2, paras[1].firstChild, 9]: modifying the Selection's last Range must modify the second added Range assert_equals: After second addRange(), after mutating the Selection's last Range, startOffset of the Selection's last Range must match the added Range expected 0 but got 6
PASS Range 23 [paras[0], 0, paras[0], 1] followed by Range 8 [detachedPara1.firstChild, 0, detachedPara1.firstChild, 0]: first addRange() must not throw exceptions or modify the range it's given
PASS Range 23 [paras[0], 0, paras[0], 1] followed by Range 8 [detachedPara1.firstChild, 0, detachedPara1.firstChild, 0]: first addRange() must result in rangeCount being 1
PASS Range 23 [paras[0], 0, paras[0], 1] followed by Range 8 [detachedPara1.firstChild, 0, detachedPara1.firstChild, 0]: first addRange() must result in the selection's last range having the specified endpoints
-FAIL Range 23 [paras[0], 0, paras[0], 1] followed by Range 8 [detachedPara1.firstChild, 0, detachedPara1.firstChild, 0]: first addRange() must result in the selection's last range being the same object we added assert_equals: getRangeAt(rangeCount - 1) must return the same object we added expected object "Äb̈c̈d̈ëf̈g̈ḧ
-" but got object "Äb̈c̈d̈ëf̈g̈ḧ
-"
-FAIL Range 23 [paras[0], 0, paras[0], 1] followed by Range 8 [detachedPara1.firstChild, 0, detachedPara1.firstChild, 0]: modifying the first added range must modify the Selection's last Range assert_equals: After mutating the first added Range, startContainer of the Selection's last Range must match the added Range expected Text node "Äb̈c̈d̈ëf̈g̈ḧ
-" but got Element node <p id="a">Äb̈c̈d̈ëf̈g̈ḧ
-</p>
-FAIL Range 23 [paras[0], 0, paras[0], 1] followed by Range 8 [detachedPara1.firstChild, 0, detachedPara1.firstChild, 0]: modifying the Selection's last Range must modify the first added Range assert_equals: After first addRange(), after mutating the Selection's last Range, startOffset of the Selection's last Range must match the added Range expected 0 but got 6
+PASS Range 23 [paras[0], 0, paras[0], 1] followed by Range 8 [detachedPara1.firstChild, 0, detachedPara1.firstChild, 0]: first addRange() must result in the selection's last range being the same object we added
+PASS Range 23 [paras[0], 0, paras[0], 1] followed by Range 8 [detachedPara1.firstChild, 0, detachedPara1.firstChild, 0]: modifying the first added range must modify the Selection's last Range
+PASS Range 23 [paras[0], 0, paras[0], 1] followed by Range 8 [detachedPara1.firstChild, 0, detachedPara1.firstChild, 0]: modifying the Selection's last Range must modify the first added Range
PASS Range 23 [paras[0], 0, paras[0], 1] followed by Range 8 [detachedPara1.firstChild, 0, detachedPara1.firstChild, 0]: second addRange() must not throw exceptions or modify the range it's given
PASS Range 23 [paras[0], 0, paras[0], 1] followed by Range 8 [detachedPara1.firstChild, 0, detachedPara1.firstChild, 0]: second addRange() must result in rangeCount being 1
-FAIL Range 23 [paras[0], 0, paras[0], 1] followed by Range 8 [detachedPara1.firstChild, 0, detachedPara1.firstChild, 0]: second addRange() must result in the selection's last range having the specified endpoints assert_equals: startContainer of the Selection's last Range must match the added Range expected Text node "Opqrstuv" but got Element node <p id="a">Äb̈c̈d̈ëf̈g̈ḧ
-</p>
-FAIL Range 23 [paras[0], 0, paras[0], 1] followed by Range 8 [detachedPara1.firstChild, 0, detachedPara1.firstChild, 0]: second addRange() must result in the selection's last range being the same object we added assert_equals: getRangeAt(rangeCount - 1) must return the same object we added expected object "" but got object "Äb̈c̈d̈ëf̈g̈ḧ
+FAIL Range 23 [paras[0], 0, paras[0], 1] followed by Range 8 [detachedPara1.firstChild, 0, detachedPara1.firstChild, 0]: second addRange() must result in the selection's last range having the specified endpoints assert_equals: startContainer of the Selection's last Range must match the added Range expected Text node "Opqrstuv" but got Text node "Äb̈c̈d̈ëf̈g̈ḧ
"
-FAIL Range 23 [paras[0], 0, paras[0], 1] followed by Range 8 [detachedPara1.firstChild, 0, detachedPara1.firstChild, 0]: modifying the second added range must modify the Selection's last Range assert_equals: After mutating the second added Range, startContainer of the Selection's last Range must match the added Range expected Text node "Äb̈c̈d̈ëf̈g̈ḧ
-" but got Element node <p id="a">Äb̈c̈d̈ëf̈g̈ḧ
-</p>
+FAIL Range 23 [paras[0], 0, paras[0], 1] followed by Range 8 [detachedPara1.firstChild, 0, detachedPara1.firstChild, 0]: second addRange() must result in the selection's last range being the same object we added assert_equals: getRangeAt(rangeCount - 1) must return the same object we added expected object "" but got object ""
+FAIL Range 23 [paras[0], 0, paras[0], 1] followed by Range 8 [detachedPara1.firstChild, 0, detachedPara1.firstChild, 0]: modifying the second added range must modify the Selection's last Range assert_equals: After mutating the second added Range, startOffset of the Selection's last Range must match the added Range expected 0 but got 6
FAIL Range 23 [paras[0], 0, paras[0], 1] followed by Range 8 [detachedPara1.firstChild, 0, detachedPara1.firstChild, 0]: modifying the Selection's last Range must modify the second added Range assert_equals: After second addRange(), after mutating the Selection's last Range, startOffset of the Selection's last Range must match the added Range expected 0 but got 6
PASS Range 23 [paras[0], 0, paras[0], 1] followed by Range 9 [detachedPara1.firstChild, 0, detachedPara1.firstChild, 1]: first addRange() must not throw exceptions or modify the range it's given
PASS Range 23 [paras[0], 0, paras[0], 1] followed by Range 9 [detachedPara1.firstChild, 0, detachedPara1.firstChild, 1]: first addRange() must result in rangeCount being 1
PASS Range 23 [paras[0], 0, paras[0], 1] followed by Range 9 [detachedPara1.firstChild, 0, detachedPara1.firstChild, 1]: first addRange() must result in the selection's last range having the specified endpoints
-FAIL Range 23 [paras[0], 0, paras[0], 1] followed by Range 9 [detachedPara1.firstChild, 0, detachedPara1.firstChild, 1]: first addRange() must result in the selection's last range being the same object we added assert_equals: getRangeAt(rangeCount - 1) must return the same object we added expected object "Äb̈c̈d̈ëf̈g̈ḧ
-" but got object "Äb̈c̈d̈ëf̈g̈ḧ
-"
-FAIL Range 23 [paras[0], 0, paras[0], 1] followed by Range 9 [detachedPara1.firstChild, 0, detachedPara1.firstChild, 1]: modifying the first added range must modify the Selection's last Range assert_equals: After mutating the first added Range, startContainer of the Selection's last Range must match the added Range expected Text node "Äb̈c̈d̈ëf̈g̈ḧ
-" but got Element node <p id="a">Äb̈c̈d̈ëf̈g̈ḧ
-</p>
-FAIL Range 23 [paras[0], 0, paras[0], 1] followed by Range 9 [detachedPara1.firstChild, 0, detachedPara1.firstChild, 1]: modifying the Selection's last Range must modify the first added Range assert_equals: After first addRange(), after mutating the Selection's last Range, startOffset of the Selection's last Range must match the added Range expected 0 but got 6
+PASS Range 23 [paras[0], 0, paras[0], 1] followed by Range 9 [detachedPara1.firstChild, 0, detachedPara1.firstChild, 1]: first addRange() must result in the selection's last range being the same object we added
+PASS Range 23 [paras[0], 0, paras[0], 1] followed by Range 9 [detachedPara1.firstChild, 0, detachedPara1.firstChild, 1]: modifying the first added range must modify the Selection's last Range
+PASS Range 23 [paras[0], 0, paras[0], 1] followed by Range 9 [detachedPara1.firstChild, 0, detachedPara1.firstChild, 1]: modifying the Selection's last Range must modify the first added Range
PASS Range 23 [paras[0], 0, paras[0], 1] followed by Range 9 [detachedPara1.firstChild, 0, detachedPara1.firstChild, 1]: second addRange() must not throw exceptions or modify the range it's given
PASS Range 23 [paras[0], 0, paras[0], 1] followed by Range 9 [detachedPara1.firstChild, 0, detachedPara1.firstChild, 1]: second addRange() must result in rangeCount being 1
-FAIL Range 23 [paras[0], 0, paras[0], 1] followed by Range 9 [detachedPara1.firstChild, 0, detachedPara1.firstChild, 1]: second addRange() must result in the selection's last range having the specified endpoints assert_equals: startContainer of the Selection's last Range must match the added Range expected Text node "Opqrstuv" but got Element node <p id="a">Äb̈c̈d̈ëf̈g̈ḧ
-</p>
-FAIL Range 23 [paras[0], 0, paras[0], 1] followed by Range 9 [detachedPara1.firstChild, 0, detachedPara1.firstChild, 1]: second addRange() must result in the selection's last range being the same object we added assert_equals: getRangeAt(rangeCount - 1) must return the same object we added expected object "O" but got object "Äb̈c̈d̈ëf̈g̈ḧ
+FAIL Range 23 [paras[0], 0, paras[0], 1] followed by Range 9 [detachedPara1.firstChild, 0, detachedPara1.firstChild, 1]: second addRange() must result in the selection's last range having the specified endpoints assert_equals: startContainer of the Selection's last Range must match the added Range expected Text node "Opqrstuv" but got Text node "Äb̈c̈d̈ëf̈g̈ḧ
"
-FAIL Range 23 [paras[0], 0, paras[0], 1] followed by Range 9 [detachedPara1.firstChild, 0, detachedPara1.firstChild, 1]: modifying the second added range must modify the Selection's last Range assert_equals: After mutating the second added Range, startContainer of the Selection's last Range must match the added Range expected Text node "Äb̈c̈d̈ëf̈g̈ḧ
-" but got Element node <p id="a">Äb̈c̈d̈ëf̈g̈ḧ
-</p>
+FAIL Range 23 [paras[0], 0, paras[0], 1] followed by Range 9 [detachedPara1.firstChild, 0, detachedPara1.firstChild, 1]: second addRange() must result in the selection's last range being the same object we added assert_equals: getRangeAt(rangeCount - 1) must return the same object we added expected object "O" but got object ""
+FAIL Range 23 [paras[0], 0, paras[0], 1] followed by Range 9 [detachedPara1.firstChild, 0, detachedPara1.firstChild, 1]: modifying the second added range must modify the Selection's last Range assert_equals: After mutating the second added Range, startOffset of the Selection's last Range must match the added Range expected 0 but got 6
FAIL Range 23 [paras[0], 0, paras[0], 1] followed by Range 9 [detachedPara1.firstChild, 0, detachedPara1.firstChild, 1]: modifying the Selection's last Range must modify the second added Range assert_equals: After second addRange(), after mutating the Selection's last Range, startOffset of the Selection's last Range must match the added Range expected 0 but got 6
PASS Range 23 [paras[0], 0, paras[0], 1] followed by Range 10 [detachedPara1.firstChild, 2, detachedPara1.firstChild, 8]: first addRange() must not throw exceptions or modify the range it's given
PASS Range 23 [paras[0], 0, paras[0], 1] followed by Range 10 [detachedPara1.firstChild, 2, detachedPara1.firstChild, 8]: first addRange() must result in rangeCount being 1
PASS Range 23 [paras[0], 0, paras[0], 1] followed by Range 10 [detachedPara1.firstChild, 2, detachedPara1.firstChild, 8]: first addRange() must result in the selection's last range having the specified endpoints
-FAIL Range 23 [paras[0], 0, paras[0], 1] followed by Range 10 [detachedPara1.firstChild, 2, detachedPara1.firstChild, 8]: first addRange() must result in the selection's last range being the same object we added assert_equals: getRangeAt(rangeCount - 1) must return the same object we added expected object "Äb̈c̈d̈ëf̈g̈ḧ
-" but got object "Äb̈c̈d̈ëf̈g̈ḧ
-"
-FAIL Range 23 [paras[0], 0, paras[0], 1] followed by Range 10 [detachedPara1.firstChild, 2, detachedPara1.firstChild, 8]: modifying the first added range must modify the Selection's last Range assert_equals: After mutating the first added Range, startContainer of the Selection's last Range must match the added Range expected Text node "Äb̈c̈d̈ëf̈g̈ḧ
-" but got Element node <p id="a">Äb̈c̈d̈ëf̈g̈ḧ
-</p>
-FAIL Range 23 [paras[0], 0, paras[0], 1] followed by Range 10 [detachedPara1.firstChild, 2, detachedPara1.firstChild, 8]: modifying the Selection's last Range must modify the first added Range assert_equals: After first addRange(), after mutating the Selection's last Range, startOffset of the Selection's last Range must match the added Range expected 0 but got 6
+PASS Range 23 [paras[0], 0, paras[0], 1] followed by Range 10 [detachedPara1.firstChild, 2, detachedPara1.firstChild, 8]: first addRange() must result in the selection's last range being the same object we added
+PASS Range 23 [paras[0], 0, paras[0], 1] followed by Range 10 [detachedPara1.firstChild, 2, detachedPara1.firstChild, 8]: modifying the first added range must modify the Selection's last Range
+PASS Range 23 [paras[0], 0, paras[0], 1] followed by Range 10 [detachedPara1.firstChild, 2, detachedPara1.firstChild, 8]: modifying the Selection's last Range must modify the first added Range
PASS Range 23 [paras[0], 0, paras[0], 1] followed by Range 10 [detachedPara1.firstChild, 2, detachedPara1.firstChild, 8]: second addRange() must not throw exceptions or modify the range it's given
PASS Range 23 [paras[0], 0, paras[0], 1] followed by Range 10 [detachedPara1.firstChild, 2, detachedPara1.firstChild, 8]: second addRange() must result in rangeCount being 1
-FAIL Range 23 [paras[0], 0, paras[0], 1] followed by Range 10 [detachedPara1.firstChild, 2, detachedPara1.firstChild, 8]: second addRange() must result in the selection's last range having the specified endpoints assert_equals: startContainer of the Selection's last Range must match the added Range expected Text node "Opqrstuv" but got Element node <p id="a">Äb̈c̈d̈ëf̈g̈ḧ
-</p>
-FAIL Range 23 [paras[0], 0, paras[0], 1] followed by Range 10 [detachedPara1.firstChild, 2, detachedPara1.firstChild, 8]: second addRange() must result in the selection's last range being the same object we added assert_equals: getRangeAt(rangeCount - 1) must return the same object we added expected object "qrstuv" but got object "Äb̈c̈d̈ëf̈g̈ḧ
+FAIL Range 23 [paras[0], 0, paras[0], 1] followed by Range 10 [detachedPara1.firstChild, 2, detachedPara1.firstChild, 8]: second addRange() must result in the selection's last range having the specified endpoints assert_equals: startContainer of the Selection's last Range must match the added Range expected Text node "Opqrstuv" but got Text node "Äb̈c̈d̈ëf̈g̈ḧ
"
-FAIL Range 23 [paras[0], 0, paras[0], 1] followed by Range 10 [detachedPara1.firstChild, 2, detachedPara1.firstChild, 8]: modifying the second added range must modify the Selection's last Range assert_equals: After mutating the second added Range, startContainer of the Selection's last Range must match the added Range expected Text node "Äb̈c̈d̈ëf̈g̈ḧ
-" but got Element node <p id="a">Äb̈c̈d̈ëf̈g̈ḧ
-</p>
+FAIL Range 23 [paras[0], 0, paras[0], 1] followed by Range 10 [detachedPara1.firstChild, 2, detachedPara1.firstChild, 8]: second addRange() must result in the selection's last range being the same object we added assert_equals: getRangeAt(rangeCount - 1) must return the same object we added expected object "qrstuv" but got object ""
+FAIL Range 23 [paras[0], 0, paras[0], 1] followed by Range 10 [detachedPara1.firstChild, 2, detachedPara1.firstChild, 8]: modifying the second added range must modify the Selection's last Range assert_equals: After mutating the second added Range, startOffset of the Selection's last Range must match the added Range expected 0 but got 6
FAIL Range 23 [paras[0], 0, paras[0], 1] followed by Range 10 [detachedPara1.firstChild, 2, detachedPara1.firstChild, 8]: modifying the Selection's last Range must modify the second added Range assert_equals: After second addRange(), after mutating the Selection's last Range, startOffset of the Selection's last Range must match the added Range expected 0 but got 6
PASS Range 23 [paras[0], 0, paras[0], 1] followed by Range 11 [foreignPara1.firstChild, 0, foreignPara1.firstChild, 0]: first addRange() must not throw exceptions or modify the range it's given
PASS Range 23 [paras[0], 0, paras[0], 1] followed by Range 11 [foreignPara1.firstChild, 0, foreignPara1.firstChild, 0]: first addRange() must result in rangeCount being 1
PASS Range 23 [paras[0], 0, paras[0], 1] followed by Range 11 [foreignPara1.firstChild, 0, foreignPara1.firstChild, 0]: first addRange() must result in the selection's last range having the specified endpoints
-FAIL Range 23 [paras[0], 0, paras[0], 1] followed by Range 11 [foreignPara1.firstChild, 0, foreignPara1.firstChild, 0]: first addRange() must result in the selection's last range being the same object we added assert_equals: getRangeAt(rangeCount - 1) must return the same object we added expected object "Äb̈c̈d̈ëf̈g̈ḧ
-" but got object "Äb̈c̈d̈ëf̈g̈ḧ
-"
-FAIL Range 23 [paras[0], 0, paras[0], 1] followed by Range 11 [foreignPara1.firstChild, 0, foreignPara1.firstChild, 0]: modifying the first added range must modify the Selection's last Range assert_equals: After mutating the first added Range, startContainer of the Selection's last Range must match the added Range expected Text node "Äb̈c̈d̈ëf̈g̈ḧ
-" but got Element node <p id="a">Äb̈c̈d̈ëf̈g̈ḧ
-</p>
-FAIL Range 23 [paras[0], 0, paras[0], 1] followed by Range 11 [foreignPara1.firstChild, 0, foreignPara1.firstChild, 0]: modifying the Selection's last Range must modify the first added Range assert_equals: After first addRange(), after mutating the Selection's last Range, startOffset of the Selection's last Range must match the added Range expected 0 but got 6
+PASS Range 23 [paras[0], 0, paras[0], 1] followed by Range 11 [foreignPara1.firstChild, 0, foreignPara1.firstChild, 0]: first addRange() must result in the selection's last range being the same object we added
+PASS Range 23 [paras[0], 0, paras[0], 1] followed by Range 11 [foreignPara1.firstChild, 0, foreignPara1.firstChild, 0]: modifying the first added range must modify the Selection's last Range
+PASS Range 23 [paras[0], 0, paras[0], 1] followed by Range 11 [foreignPara1.firstChild, 0, foreignPara1.firstChild, 0]: modifying the Selection's last Range must modify the first added Range
PASS Range 23 [paras[0], 0, paras[0], 1] followed by Range 11 [foreignPara1.firstChild, 0, foreignPara1.firstChild, 0]: second addRange() must not throw exceptions or modify the range it's given
PASS Range 23 [paras[0], 0, paras[0], 1] followed by Range 11 [foreignPara1.firstChild, 0, foreignPara1.firstChild, 0]: second addRange() must result in rangeCount being 1
-FAIL Range 23 [paras[0], 0, paras[0], 1] followed by Range 11 [foreignPara1.firstChild, 0, foreignPara1.firstChild, 0]: second addRange() must result in the selection's last range having the specified endpoints assert_equals: startContainer of the Selection's last Range must match the added Range expected Text node "Efghijkl" but got Element node <p id="a">Äb̈c̈d̈ëf̈g̈ḧ
-</p>
-FAIL Range 23 [paras[0], 0, paras[0], 1] followed by Range 11 [foreignPara1.firstChild, 0, foreignPara1.firstChild, 0]: second addRange() must result in the selection's last range being the same object we added assert_equals: getRangeAt(rangeCount - 1) must return the same object we added expected object "" but got object "Äb̈c̈d̈ëf̈g̈ḧ
+FAIL Range 23 [paras[0], 0, paras[0], 1] followed by Range 11 [foreignPara1.firstChild, 0, foreignPara1.firstChild, 0]: second addRange() must result in the selection's last range having the specified endpoints assert_equals: startContainer of the Selection's last Range must match the added Range expected Text node "Efghijkl" but got Text node "Äb̈c̈d̈ëf̈g̈ḧ
"
-FAIL Range 23 [paras[0], 0, paras[0], 1] followed by Range 11 [foreignPara1.firstChild, 0, foreignPara1.firstChild, 0]: modifying the second added range must modify the Selection's last Range assert_equals: After mutating the second added Range, startContainer of the Selection's last Range must match the added Range expected Text node "Äb̈c̈d̈ëf̈g̈ḧ
-" but got Element node <p id="a">Äb̈c̈d̈ëf̈g̈ḧ
-</p>
+FAIL Range 23 [paras[0], 0, paras[0], 1] followed by Range 11 [foreignPara1.firstChild, 0, foreignPara1.firstChild, 0]: second addRange() must result in the selection's last range being the same object we added assert_equals: getRangeAt(rangeCount - 1) must return the same object we added expected object "" but got object ""
+FAIL Range 23 [paras[0], 0, paras[0], 1] followed by Range 11 [foreignPara1.firstChild, 0, foreignPara1.firstChild, 0]: modifying the second added range must modify the Selection's last Range assert_equals: After mutating the second added Range, startOffset of the Selection's last Range must match the added Range expected 0 but got 6
FAIL Range 23 [paras[0], 0, paras[0], 1] followed by Range 11 [foreignPara1.firstChild, 0, foreignPara1.firstChild, 0]: modifying the Selection's last Range must modify the second added Range assert_equals: After second addRange(), after mutating the Selection's last Range, startOffset of the Selection's last Range must match the added Range expected 0 but got 6
PASS Range 23 [paras[0], 0, paras[0], 1] followed by Range 12 [foreignPara1.firstChild, 0, foreignPara1.firstChild, 1]: first addRange() must not throw exceptions or modify the range it's given
PASS Range 23 [paras[0], 0, paras[0], 1] followed by Range 12 [foreignPara1.firstChild, 0, foreignPara1.firstChild, 1]: first addRange() must result in rangeCount being 1
PASS Range 23 [paras[0], 0, paras[0], 1] followed by Range 12 [foreignPara1.firstChild, 0, foreignPara1.firstChild, 1]: first addRange() must result in the selection's last range having the specified endpoints
-FAIL Range 23 [paras[0], 0, paras[0], 1] followed by Range 12 [foreignPara1.firstChild, 0, foreignPara1.firstChild, 1]: first addRange() must result in the selection's last range being the same object we added assert_equals: getRangeAt(rangeCount - 1) must return the same object we added expected object "Äb̈c̈d̈ëf̈g̈ḧ
-" but got object "Äb̈c̈d̈ëf̈g̈ḧ
-"
-FAIL Range 23 [paras[0], 0, paras[0], 1] followed by Range 12 [foreignPara1.firstChild, 0, foreignPara1.firstChild, 1]: modifying the first added range must modify the Selection's last Range assert_equals: After mutating the first added Range, startContainer of the Selection's last Range must match the added Range expected Text node "Äb̈c̈d̈ëf̈g̈ḧ
-" but got Element node <p id="a">Äb̈c̈d̈ëf̈g̈ḧ
-</p>
-FAIL Range 23 [paras[0], 0, paras[0], 1] followed by Range 12 [foreignPara1.firstChild, 0, foreignPara1.firstChild, 1]: modifying the Selection's last Range must modify the first added Range assert_equals: After first addRange(), after mutating the Selection's last Range, startOffset of the Selection's last Range must match the added Range expected 0 but got 6
+PASS Range 23 [paras[0], 0, paras[0], 1] followed by Range 12 [foreignPara1.firstChild, 0, foreignPara1.firstChild, 1]: first addRange() must result in the selection's last range being the same object we added
+PASS Range 23 [paras[0], 0, paras[0], 1] followed by Range 12 [foreignPara1.firstChild, 0, foreignPara1.firstChild, 1]: modifying the first added range must modify the Selection's last Range
+PASS Range 23 [paras[0], 0, paras[0], 1] followed by Range 12 [foreignPara1.firstChild, 0, foreignPara1.firstChild, 1]: modifying the Selection's last Range must modify the first added Range
PASS Range 23 [paras[0], 0, paras[0], 1] followed by Range 12 [foreignPara1.firstChild, 0, foreignPara1.firstChild, 1]: second addRange() must not throw exceptions or modify the range it's given
PASS Range 23 [paras[0], 0, paras[0], 1] followed by Range 12 [foreignPara1.firstChild, 0, foreignPara1.firstChild, 1]: second addRange() must result in rangeCount being 1
-FAIL Range 23 [paras[0], 0, paras[0], 1] followed by Range 12 [foreignPara1.firstChild, 0, foreignPara1.firstChild, 1]: second addRange() must result in the selection's last range having the specified endpoints assert_equals: startContainer of the Selection's last Range must match the added Range expected Text node "Efghijkl" but got Element node <p id="a">Äb̈c̈d̈ëf̈g̈ḧ
-</p>
-FAIL Range 23 [paras[0], 0, paras[0], 1] followed by Range 12 [foreignPara1.firstChild, 0, foreignPara1.firstChild, 1]: second addRange() must result in the selection's last range being the same object we added assert_equals: getRangeAt(rangeCount - 1) must return the same object we added expected object "E" but got object "Äb̈c̈d̈ëf̈g̈ḧ
+FAIL Range 23 [paras[0], 0, paras[0], 1] followed by Range 12 [foreignPara1.firstChild, 0, foreignPara1.firstChild, 1]: second addRange() must result in the selection's last range having the specified endpoints assert_equals: startContainer of the Selection's last Range must match the added Range expected Text node "Efghijkl" but got Text node "Äb̈c̈d̈ëf̈g̈ḧ
"
-FAIL Range 23 [paras[0], 0, paras[0], 1] followed by Range 12 [foreignPara1.firstChild, 0, foreignPara1.firstChild, 1]: modifying the second added range must modify the Selection's last Range assert_equals: After mutating the second added Range, startContainer of the Selection's last Range must match the added Range expected Text node "Äb̈c̈d̈ëf̈g̈ḧ
-" but got Element node <p id="a">Äb̈c̈d̈ëf̈g̈ḧ
-</p>
+FAIL Range 23 [paras[0], 0, paras[0], 1] followed by Range 12 [foreignPara1.firstChild, 0, foreignPara1.firstChild, 1]: second addRange() must result in the selection's last range being the same object we added assert_equals: getRangeAt(rangeCount - 1) must return the same object we added expected object "E" but got object ""
+FAIL Range 23 [paras[0], 0, paras[0], 1] followed by Range 12 [foreignPara1.firstChild, 0, foreignPara1.firstChild, 1]: modifying the second added range must modify the Selection's last Range assert_equals: After mutating the second added Range, startOffset of the Selection's last Range must match the added Range expected 0 but got 6
FAIL Range 23 [paras[0], 0, paras[0], 1] followed by Range 12 [foreignPara1.firstChild, 0, foreignPara1.firstChild, 1]: modifying the Selection's last Range must modify the second added Range assert_equals: After second addRange(), after mutating the Selection's last Range, startOffset of the Selection's last Range must match the added Range expected 0 but got 6
PASS Range 23 [paras[0], 0, paras[0], 1] followed by Range 13 [foreignPara1.firstChild, 2, foreignPara1.firstChild, 8]: first addRange() must not throw exceptions or modify the range it's given
PASS Range 23 [paras[0], 0, paras[0], 1] followed by Range 13 [foreignPara1.firstChild, 2, foreignPara1.firstChild, 8]: first addRange() must result in rangeCount being 1
PASS Range 23 [paras[0], 0, paras[0], 1] followed by Range 13 [foreignPara1.firstChild, 2, foreignPara1.firstChild, 8]: first addRange() must result in the selection's last range having the specified endpoints
-FAIL Range 23 [paras[0], 0, paras[0], 1] followed by Range 13 [foreignPara1.firstChild, 2, foreignPara1.firstChild, 8]: first addRange() must result in the selection's last range being the same object we added assert_equals: getRangeAt(rangeCount - 1) must return the same object we added expected object "Äb̈c̈d̈ëf̈g̈ḧ
-" but got object "Äb̈c̈d̈ëf̈g̈ḧ
-"
-FAIL Range 23 [paras[0], 0, paras[0], 1] followed by Range 13 [foreignPara1.firstChild, 2, foreignPara1.firstChild, 8]: modifying the first added range must modify the Selection's last Range assert_equals: After mutating the first added Range, startContainer of the Selection's last Range must match the added Range expected Text node "Äb̈c̈d̈ëf̈g̈ḧ
-" but got Element node <p id="a">Äb̈c̈d̈ëf̈g̈ḧ
-</p>
-FAIL Range 23 [paras[0], 0, paras[0], 1] followed by Range 13 [foreignPara1.firstChild, 2, foreignPara1.firstChild, 8]: modifying the Selection's last Range must modify the first added Range assert_equals: After first addRange(), after mutating the Selection's last Range, startOffset of the Selection's last Range must match the added Range expected 0 but got 6
+PASS Range 23 [paras[0], 0, paras[0], 1] followed by Range 13 [foreignPara1.firstChild, 2, foreignPara1.firstChild, 8]: first addRange() must result in the selection's last range being the same object we added
+PASS Range 23 [paras[0], 0, paras[0], 1] followed by Range 13 [foreignPara1.firstChild, 2, foreignPara1.firstChild, 8]: modifying the first added range must modify the Selection's last Range
+PASS Range 23 [paras[0], 0, paras[0], 1] followed by Range 13 [foreignPara1.firstChild, 2, foreignPara1.firstChild, 8]: modifying the Selection's last Range must modify the first added Range
PASS Range 23 [paras[0], 0, paras[0], 1] followed by Range 13 [foreignPara1.firstChild, 2, foreignPara1.firstChild, 8]: second addRange() must not throw exceptions or modify the range it's given
PASS Range 23 [paras[0], 0, paras[0], 1] followed by Range 13 [foreignPara1.firstChild, 2, foreignPara1.firstChild, 8]: second addRange() must result in rangeCount being 1
-FAIL Range 23 [paras[0], 0, paras[0], 1] followed by Range 13 [foreignPara1.firstChild, 2, foreignPara1.firstChild, 8]: second addRange() must result in the selection's last range having the specified endpoints assert_equals: startContainer of the Selection's last Range must match the added Range expected Text node "Efghijkl" but got Element node <p id="a">Äb̈c̈d̈ëf̈g̈ḧ
-</p>
-FAIL Range 23 [paras[0], 0, paras[0], 1] followed by Range 13 [foreignPara1.firstChild, 2, foreignPara1.firstChild, 8]: second addRange() must result in the selection's last range being the same object we added assert_equals: getRangeAt(rangeCount - 1) must return the same object we added expected object "ghijkl" but got object "Äb̈c̈d̈ëf̈g̈ḧ
+FAIL Range 23 [paras[0], 0, paras[0], 1] followed by Range 13 [foreignPara1.firstChild, 2, foreignPara1.firstChild, 8]: second addRange() must result in the selection's last range having the specified endpoints assert_equals: startContainer of the Selection's last Range must match the added Range expected Text node "Efghijkl" but got Text node "Äb̈c̈d̈ëf̈g̈ḧ
"
-FAIL Range 23 [paras[0], 0, paras[0], 1] followed by Range 13 [foreignPara1.firstChild, 2, foreignPara1.firstChild, 8]: modifying the second added range must modify the Selection's last Range assert_equals: After mutating the second added Range, startContainer of the Selection's last Range must match the added Range expected Text node "Äb̈c̈d̈ëf̈g̈ḧ
-" but got Element node <p id="a">Äb̈c̈d̈ëf̈g̈ḧ
-</p>
+FAIL Range 23 [paras[0], 0, paras[0], 1] followed by Range 13 [foreignPara1.firstChild, 2, foreignPara1.firstChild, 8]: second addRange() must result in the selection's last range being the same object we added assert_equals: getRangeAt(rangeCount - 1) must return the same object we added expected object "ghijkl" but got object ""
+FAIL Range 23 [paras[0], 0, paras[0], 1] followed by Range 13 [foreignPara1.firstChild, 2, foreignPara1.firstChild, 8]: modifying the second added range must modify the Selection's last Range assert_equals: After mutating the second added Range, startOffset of the Selection's last Range must match the added Range expected 0 but got 6
FAIL Range 23 [paras[0], 0, paras[0], 1] followed by Range 13 [foreignPara1.firstChild, 2, foreignPara1.firstChild, 8]: modifying the Selection's last Range must modify the second added Range assert_equals: After second addRange(), after mutating the Selection's last Range, startOffset of the Selection's last Range must match the added Range expected 0 but got 6
PASS Range 23 [paras[0], 0, paras[0], 1] followed by Range 14 [document.documentElement, 0, document.documentElement, 1]: first addRange() must not throw exceptions or modify the range it's given
PASS Range 23 [paras[0], 0, paras[0], 1] followed by Range 14 [document.documentElement, 0, document.documentElement, 1]: first addRange() must result in rangeCount being 1
PASS Range 23 [paras[0], 0, paras[0], 1] followed by Range 14 [document.documentElement, 0, document.documentElement, 1]: first addRange() must result in the selection's last range having the specified endpoints
-FAIL Range 23 [paras[0], 0, paras[0], 1] followed by Range 14 [document.documentElement, 0, document.documentElement, 1]: first addRange() must result in the selection's last range being the same object we added assert_equals: getRangeAt(rangeCount - 1) must return the same object we added expected object "Äb̈c̈d̈ëf̈g̈ḧ
-" but got object "Äb̈c̈d̈ëf̈g̈ḧ
-"
-FAIL Range 23 [paras[0], 0, paras[0], 1] followed by Range 14 [document.documentElement, 0, document.documentElement, 1]: modifying the first added range must modify the Selection's last Range assert_equals: After mutating the first added Range, startContainer of the Selection's last Range must match the added Range expected Text node "Äb̈c̈d̈ëf̈g̈ḧ
-" but got Element node <p id="a">Äb̈c̈d̈ëf̈g̈ḧ
-</p>
-FAIL Range 23 [paras[0], 0, paras[0], 1] followed by Range 14 [document.documentElement, 0, document.documentElement, 1]: modifying the Selection's last Range must modify the first added Range assert_equals: After first addRange(), after mutating the Selection's last Range, startOffset of the Selection's last Range must match the added Range expected 0 but got 6
+PASS Range 23 [paras[0], 0, paras[0], 1] followed by Range 14 [document.documentElement, 0, document.documentElement, 1]: first addRange() must result in the selection's last range being the same object we added
+PASS Range 23 [paras[0], 0, paras[0], 1] followed by Range 14 [document.documentElement, 0, document.documentElement, 1]: modifying the first added range must modify the Selection's last Range
+PASS Range 23 [paras[0], 0, paras[0], 1] followed by Range 14 [document.documentElement, 0, document.documentElement, 1]: modifying the Selection's last Range must modify the first added Range
PASS Range 23 [paras[0], 0, paras[0], 1] followed by Range 14 [document.documentElement, 0, document.documentElement, 1]: second addRange() must not throw exceptions or modify the range it's given
PASS Range 23 [paras[0], 0, paras[0], 1] followed by Range 14 [document.documentElement, 0, document.documentElement, 1]: second addRange() must result in rangeCount being 1
FAIL Range 23 [paras[0], 0, paras[0], 1] followed by Range 14 [document.documentElement, 0, document.documentElement, 1]: second addRange() must result in the selection's last range having the specified endpoints assert_equals: startContainer of the Selection's last Range must match the added Range expected Element node <html><head><title>Selection.addRange() tests</title>
-<me... but got Element node <p id="a">Äb̈c̈d̈ëf̈g̈ḧ
-</p>
+<me... but got Text node "Äb̈c̈d̈ëf̈g̈ḧ
+"
FAIL Range 23 [paras[0], 0, paras[0], 1] followed by Range 14 [document.documentElement, 0, document.documentElement, 1]: second addRange() must result in the selection's last range being the same object we added assert_equals: getRangeAt(rangeCount - 1) must return the same object we added expected object "Selection.addRange() tests
-" but got object "Äb̈c̈d̈ëf̈g̈ḧ
-"
-FAIL Range 23 [paras[0], 0, paras[0], 1] followed by Range 14 [document.documentElement, 0, document.documentElement, 1]: modifying the second added range must modify the Selection's last Range assert_equals: After mutating the second added Range, startContainer of the Selection's last Range must match the added Range expected Text node "Äb̈c̈d̈ëf̈g̈ḧ
-" but got Element node <p id="a">Äb̈c̈d̈ëf̈g̈ḧ
-</p>
+" but got object ""
+FAIL Range 23 [paras[0], 0, paras[0], 1] followed by Range 14 [document.documentElement, 0, document.documentElement, 1]: modifying the second added range must modify the Selection's last Range assert_equals: After mutating the second added Range, startOffset of the Selection's last Range must match the added Range expected 0 but got 6
FAIL Range 23 [paras[0], 0, paras[0], 1] followed by Range 14 [document.documentElement, 0, document.documentElement, 1]: modifying the Selection's last Range must modify the second added Range assert_equals: After second addRange(), after mutating the Selection's last Range, startOffset of the Selection's last Range must match the added Range expected 0 but got 6
PASS Range 23 [paras[0], 0, paras[0], 1] followed by Range 15 [document.documentElement, 0, document.documentElement, 2]: first addRange() must not throw exceptions or modify the range it's given
PASS Range 23 [paras[0], 0, paras[0], 1] followed by Range 15 [document.documentElement, 0, document.documentElement, 2]: first addRange() must result in rangeCount being 1
PASS Range 23 [paras[0], 0, paras[0], 1] followed by Range 15 [document.documentElement, 0, document.documentElement, 2]: first addRange() must result in the selection's last range having the specified endpoints
-FAIL Range 23 [paras[0], 0, paras[0], 1] followed by Range 15 [document.documentElement, 0, document.documentElement, 2]: first addRange() must result in the selection's last range being the same object we added assert_equals: getRangeAt(rangeCount - 1) must return the same object we added expected object "Äb̈c̈d̈ëf̈g̈ḧ
-" but got object "Äb̈c̈d̈ëf̈g̈ḧ
-"
-FAIL Range 23 [paras[0], 0, paras[0], 1] followed by Range 15 [document.documentElement, 0, document.documentElement, 2]: modifying the first added range must modify the Selection's last Range assert_equals: After mutating the first added Range, startContainer of the Selection's last Range must match the added Range expected Text node "Äb̈c̈d̈ëf̈g̈ḧ
-" but got Element node <p id="a">Äb̈c̈d̈ëf̈g̈ḧ
-</p>
-FAIL Range 23 [paras[0], 0, paras[0], 1] followed by Range 15 [document.documentElement, 0, document.documentElement, 2]: modifying the Selection's last Range must modify the first added Range assert_equals: After first addRange(), after mutating the Selection's last Range, startOffset of the Selection's last Range must match the added Range expected 0 but got 6
+PASS Range 23 [paras[0], 0, paras[0], 1] followed by Range 15 [document.documentElement, 0, document.documentElement, 2]: first addRange() must result in the selection's last range being the same object we added
+PASS Range 23 [paras[0], 0, paras[0], 1] followed by Range 15 [document.documentElement, 0, document.documentElement, 2]: modifying the first added range must modify the Selection's last Range
+PASS Range 23 [paras[0], 0, paras[0], 1] followed by Range 15 [document.documentElement, 0, document.documentElement, 2]: modifying the Selection's last Range must modify the first added Range
PASS Range 23 [paras[0], 0, paras[0], 1] followed by Range 15 [document.documentElement, 0, document.documentElement, 2]: second addRange() must not throw exceptions or modify the range it's given
PASS Range 23 [paras[0], 0, paras[0], 1] followed by Range 15 [document.documentElement, 0, document.documentElement, 2]: second addRange() must result in rangeCount being 1
PASS Range 23 [paras[0], 0, paras[0], 1] followed by Range 15 [document.documentElement, 0, document.documentElement, 2]: second addRange() must result in the selection's last range having the specified endpoints
@@ -3293,13 +2612,9 @@ FAIL Range 23 [paras[0], 0, paras[0], 1] followed by Range 15 [document.document
PASS Range 23 [paras[0], 0, paras[0], 1] followed by Range 16 [document.documentElement, 1, document.documentElement, 2]: first addRange() must not throw exceptions or modify the range it's given
PASS Range 23 [paras[0], 0, paras[0], 1] followed by Range 16 [document.documentElement, 1, document.documentElement, 2]: first addRange() must result in rangeCount being 1
PASS Range 23 [paras[0], 0, paras[0], 1] followed by Range 16 [document.documentElement, 1, document.documentElement, 2]: first addRange() must result in the selection's last range having the specified endpoints
-FAIL Range 23 [paras[0], 0, paras[0], 1] followed by Range 16 [document.documentElement, 1, document.documentElement, 2]: first addRange() must result in the selection's last range being the same object we added assert_equals: getRangeAt(rangeCount - 1) must return the same object we added expected object "Äb̈c̈d̈ëf̈g̈ḧ
-" but got object "Äb̈c̈d̈ëf̈g̈ḧ
-"
-FAIL Range 23 [paras[0], 0, paras[0], 1] followed by Range 16 [document.documentElement, 1, document.documentElement, 2]: modifying the first added range must modify the Selection's last Range assert_equals: After mutating the first added Range, startContainer of the Selection's last Range must match the added Range expected Text node "Äb̈c̈d̈ëf̈g̈ḧ
-" but got Element node <p id="a">Äb̈c̈d̈ëf̈g̈ḧ
-</p>
-FAIL Range 23 [paras[0], 0, paras[0], 1] followed by Range 16 [document.documentElement, 1, document.documentElement, 2]: modifying the Selection's last Range must modify the first added Range assert_equals: After first addRange(), after mutating the Selection's last Range, startOffset of the Selection's last Range must match the added Range expected 0 but got 6
+PASS Range 23 [paras[0], 0, paras[0], 1] followed by Range 16 [document.documentElement, 1, document.documentElement, 2]: first addRange() must result in the selection's last range being the same object we added
+PASS Range 23 [paras[0], 0, paras[0], 1] followed by Range 16 [document.documentElement, 1, document.documentElement, 2]: modifying the first added range must modify the Selection's last Range
+PASS Range 23 [paras[0], 0, paras[0], 1] followed by Range 16 [document.documentElement, 1, document.documentElement, 2]: modifying the Selection's last Range must modify the first added Range
PASS Range 23 [paras[0], 0, paras[0], 1] followed by Range 16 [document.documentElement, 1, document.documentElement, 2]: second addRange() must not throw exceptions or modify the range it's given
PASS Range 23 [paras[0], 0, paras[0], 1] followed by Range 16 [document.documentElement, 1, document.documentElement, 2]: second addRange() must result in rangeCount being 1
PASS Range 23 [paras[0], 0, paras[0], 1] followed by Range 16 [document.documentElement, 1, document.documentElement, 2]: second addRange() must result in the selection's last range having the specified endpoints
@@ -3335,34 +2650,23 @@ FAIL Range 23 [paras[0], 0, paras[0], 1] followed by Range 16 [document.document
PASS Range 23 [paras[0], 0, paras[0], 1] followed by Range 17 [document.head, 1, document.head, 1]: first addRange() must not throw exceptions or modify the range it's given
PASS Range 23 [paras[0], 0, paras[0], 1] followed by Range 17 [document.head, 1, document.head, 1]: first addRange() must result in rangeCount being 1
PASS Range 23 [paras[0], 0, paras[0], 1] followed by Range 17 [document.head, 1, document.head, 1]: first addRange() must result in the selection's last range having the specified endpoints
-FAIL Range 23 [paras[0], 0, paras[0], 1] followed by Range 17 [document.head, 1, document.head, 1]: first addRange() must result in the selection's last range being the same object we added assert_equals: getRangeAt(rangeCount - 1) must return the same object we added expected object "Äb̈c̈d̈ëf̈g̈ḧ
-" but got object "Äb̈c̈d̈ëf̈g̈ḧ
-"
-FAIL Range 23 [paras[0], 0, paras[0], 1] followed by Range 17 [document.head, 1, document.head, 1]: modifying the first added range must modify the Selection's last Range assert_equals: After mutating the first added Range, startContainer of the Selection's last Range must match the added Range expected Text node "Äb̈c̈d̈ëf̈g̈ḧ
-" but got Element node <p id="a">Äb̈c̈d̈ëf̈g̈ḧ
-</p>
-FAIL Range 23 [paras[0], 0, paras[0], 1] followed by Range 17 [document.head, 1, document.head, 1]: modifying the Selection's last Range must modify the first added Range assert_equals: After first addRange(), after mutating the Selection's last Range, startOffset of the Selection's last Range must match the added Range expected 0 but got 6
+PASS Range 23 [paras[0], 0, paras[0], 1] followed by Range 17 [document.head, 1, document.head, 1]: first addRange() must result in the selection's last range being the same object we added
+PASS Range 23 [paras[0], 0, paras[0], 1] followed by Range 17 [document.head, 1, document.head, 1]: modifying the first added range must modify the Selection's last Range
+PASS Range 23 [paras[0], 0, paras[0], 1] followed by Range 17 [document.head, 1, document.head, 1]: modifying the Selection's last Range must modify the first added Range
PASS Range 23 [paras[0], 0, paras[0], 1] followed by Range 17 [document.head, 1, document.head, 1]: second addRange() must not throw exceptions or modify the range it's given
PASS Range 23 [paras[0], 0, paras[0], 1] followed by Range 17 [document.head, 1, document.head, 1]: second addRange() must result in rangeCount being 1
FAIL Range 23 [paras[0], 0, paras[0], 1] followed by Range 17 [document.head, 1, document.head, 1]: second addRange() must result in the selection's last range having the specified endpoints assert_equals: startContainer of the Selection's last Range must match the added Range expected Element node <head><title>Selection.addRange() tests</title>
-<meta nam... but got Element node <p id="a">Äb̈c̈d̈ëf̈g̈ḧ
-</p>
-FAIL Range 23 [paras[0], 0, paras[0], 1] followed by Range 17 [document.head, 1, document.head, 1]: second addRange() must result in the selection's last range being the same object we added assert_equals: getRangeAt(rangeCount - 1) must return the same object we added expected object "" but got object "Äb̈c̈d̈ëf̈g̈ḧ
+<meta nam... but got Text node "Äb̈c̈d̈ëf̈g̈ḧ
"
-FAIL Range 23 [paras[0], 0, paras[0], 1] followed by Range 17 [document.head, 1, document.head, 1]: modifying the second added range must modify the Selection's last Range assert_equals: After mutating the second added Range, startContainer of the Selection's last Range must match the added Range expected Text node "Äb̈c̈d̈ëf̈g̈ḧ
-" but got Element node <p id="a">Äb̈c̈d̈ëf̈g̈ḧ
-</p>
+FAIL Range 23 [paras[0], 0, paras[0], 1] followed by Range 17 [document.head, 1, document.head, 1]: second addRange() must result in the selection's last range being the same object we added assert_equals: getRangeAt(rangeCount - 1) must return the same object we added expected object "" but got object ""
+FAIL Range 23 [paras[0], 0, paras[0], 1] followed by Range 17 [document.head, 1, document.head, 1]: modifying the second added range must modify the Selection's last Range assert_equals: After mutating the second added Range, startOffset of the Selection's last Range must match the added Range expected 0 but got 6
FAIL Range 23 [paras[0], 0, paras[0], 1] followed by Range 17 [document.head, 1, document.head, 1]: modifying the Selection's last Range must modify the second added Range assert_equals: After second addRange(), after mutating the Selection's last Range, startOffset of the Selection's last Range must match the added Range expected 0 but got 6
PASS Range 23 [paras[0], 0, paras[0], 1] followed by Range 18 [document.body, 0, document.body, 1]: first addRange() must not throw exceptions or modify the range it's given
PASS Range 23 [paras[0], 0, paras[0], 1] followed by Range 18 [document.body, 0, document.body, 1]: first addRange() must result in rangeCount being 1
PASS Range 23 [paras[0], 0, paras[0], 1] followed by Range 18 [document.body, 0, document.body, 1]: first addRange() must result in the selection's last range having the specified endpoints
-FAIL Range 23 [paras[0], 0, paras[0], 1] followed by Range 18 [document.body, 0, document.body, 1]: first addRange() must result in the selection's last range being the same object we added assert_equals: getRangeAt(rangeCount - 1) must return the same object we added expected object "Äb̈c̈d̈ëf̈g̈ḧ
-" but got object "Äb̈c̈d̈ëf̈g̈ḧ
-"
-FAIL Range 23 [paras[0], 0, paras[0], 1] followed by Range 18 [document.body, 0, document.body, 1]: modifying the first added range must modify the Selection's last Range assert_equals: After mutating the first added Range, startContainer of the Selection's last Range must match the added Range expected Text node "Äb̈c̈d̈ëf̈g̈ḧ
-" but got Element node <p id="a">Äb̈c̈d̈ëf̈g̈ḧ
-</p>
-FAIL Range 23 [paras[0], 0, paras[0], 1] followed by Range 18 [document.body, 0, document.body, 1]: modifying the Selection's last Range must modify the first added Range assert_equals: After first addRange(), after mutating the Selection's last Range, startOffset of the Selection's last Range must match the added Range expected 0 but got 6
+PASS Range 23 [paras[0], 0, paras[0], 1] followed by Range 18 [document.body, 0, document.body, 1]: first addRange() must result in the selection's last range being the same object we added
+PASS Range 23 [paras[0], 0, paras[0], 1] followed by Range 18 [document.body, 0, document.body, 1]: modifying the first added range must modify the Selection's last Range
+PASS Range 23 [paras[0], 0, paras[0], 1] followed by Range 18 [document.body, 0, document.body, 1]: modifying the Selection's last Range must modify the first added Range
PASS Range 23 [paras[0], 0, paras[0], 1] followed by Range 18 [document.body, 0, document.body, 1]: second addRange() must not throw exceptions or modify the range it's given
PASS Range 23 [paras[0], 0, paras[0], 1] followed by Range 18 [document.body, 0, document.body, 1]: second addRange() must result in rangeCount being 1
PASS Range 23 [paras[0], 0, paras[0], 1] followed by Range 18 [document.body, 0, document.body, 1]: second addRange() must result in the selection's last range having the specified endpoints
@@ -3378,73 +2682,48 @@ FAIL Range 23 [paras[0], 0, paras[0], 1] followed by Range 18 [document.body, 0,
PASS Range 23 [paras[0], 0, paras[0], 1] followed by Range 19 [foreignDoc.documentElement, 0, foreignDoc.documentElement, 1]: first addRange() must not throw exceptions or modify the range it's given
PASS Range 23 [paras[0], 0, paras[0], 1] followed by Range 19 [foreignDoc.documentElement, 0, foreignDoc.documentElement, 1]: first addRange() must result in rangeCount being 1
PASS Range 23 [paras[0], 0, paras[0], 1] followed by Range 19 [foreignDoc.documentElement, 0, foreignDoc.documentElement, 1]: first addRange() must result in the selection's last range having the specified endpoints
-FAIL Range 23 [paras[0], 0, paras[0], 1] followed by Range 19 [foreignDoc.documentElement, 0, foreignDoc.documentElement, 1]: first addRange() must result in the selection's last range being the same object we added assert_equals: getRangeAt(rangeCount - 1) must return the same object we added expected object "Äb̈c̈d̈ëf̈g̈ḧ
-" but got object "Äb̈c̈d̈ëf̈g̈ḧ
-"
-FAIL Range 23 [paras[0], 0, paras[0], 1] followed by Range 19 [foreignDoc.documentElement, 0, foreignDoc.documentElement, 1]: modifying the first added range must modify the Selection's last Range assert_equals: After mutating the first added Range, startContainer of the Selection's last Range must match the added Range expected Text node "Äb̈c̈d̈ëf̈g̈ḧ
-" but got Element node <p id="a">Äb̈c̈d̈ëf̈g̈ḧ
-</p>
-FAIL Range 23 [paras[0], 0, paras[0], 1] followed by Range 19 [foreignDoc.documentElement, 0, foreignDoc.documentElement, 1]: modifying the Selection's last Range must modify the first added Range assert_equals: After first addRange(), after mutating the Selection's last Range, startOffset of the Selection's last Range must match the added Range expected 0 but got 6
+PASS Range 23 [paras[0], 0, paras[0], 1] followed by Range 19 [foreignDoc.documentElement, 0, foreignDoc.documentElement, 1]: first addRange() must result in the selection's last range being the same object we added
+PASS Range 23 [paras[0], 0, paras[0], 1] followed by Range 19 [foreignDoc.documentElement, 0, foreignDoc.documentElement, 1]: modifying the first added range must modify the Selection's last Range
+PASS Range 23 [paras[0], 0, paras[0], 1] followed by Range 19 [foreignDoc.documentElement, 0, foreignDoc.documentElement, 1]: modifying the Selection's last Range must modify the first added Range
PASS Range 23 [paras[0], 0, paras[0], 1] followed by Range 19 [foreignDoc.documentElement, 0, foreignDoc.documentElement, 1]: second addRange() must not throw exceptions or modify the range it's given
PASS Range 23 [paras[0], 0, paras[0], 1] followed by Range 19 [foreignDoc.documentElement, 0, foreignDoc.documentElement, 1]: second addRange() must result in rangeCount being 1
-FAIL Range 23 [paras[0], 0, paras[0], 1] followed by Range 19 [foreignDoc.documentElement, 0, foreignDoc.documentElement, 1]: second addRange() must result in the selection's last range having the specified endpoints assert_equals: startContainer of the Selection's last Range must match the added Range expected Element node <html><head><title></title></head><body><p>Efghijkl</p><p... but got Element node <p id="a">Äb̈c̈d̈ëf̈g̈ḧ
-</p>
-FAIL Range 23 [paras[0], 0, paras[0], 1] followed by Range 19 [foreignDoc.documentElement, 0, foreignDoc.documentElement, 1]: second addRange() must result in the selection's last range being the same object we added assert_equals: getRangeAt(rangeCount - 1) must return the same object we added expected object "" but got object "Äb̈c̈d̈ëf̈g̈ḧ
+FAIL Range 23 [paras[0], 0, paras[0], 1] followed by Range 19 [foreignDoc.documentElement, 0, foreignDoc.documentElement, 1]: second addRange() must result in the selection's last range having the specified endpoints assert_equals: startContainer of the Selection's last Range must match the added Range expected Element node <html><head><title></title></head><body><p>Efghijkl</p><p... but got Text node "Äb̈c̈d̈ëf̈g̈ḧ
"
-FAIL Range 23 [paras[0], 0, paras[0], 1] followed by Range 19 [foreignDoc.documentElement, 0, foreignDoc.documentElement, 1]: modifying the second added range must modify the Selection's last Range assert_equals: After mutating the second added Range, startContainer of the Selection's last Range must match the added Range expected Text node "Äb̈c̈d̈ëf̈g̈ḧ
-" but got Element node <p id="a">Äb̈c̈d̈ëf̈g̈ḧ
-</p>
+FAIL Range 23 [paras[0], 0, paras[0], 1] followed by Range 19 [foreignDoc.documentElement, 0, foreignDoc.documentElement, 1]: second addRange() must result in the selection's last range being the same object we added assert_equals: getRangeAt(rangeCount - 1) must return the same object we added expected object "" but got object ""
+FAIL Range 23 [paras[0], 0, paras[0], 1] followed by Range 19 [foreignDoc.documentElement, 0, foreignDoc.documentElement, 1]: modifying the second added range must modify the Selection's last Range assert_equals: After mutating the second added Range, startOffset of the Selection's last Range must match the added Range expected 0 but got 6
FAIL Range 23 [paras[0], 0, paras[0], 1] followed by Range 19 [foreignDoc.documentElement, 0, foreignDoc.documentElement, 1]: modifying the Selection's last Range must modify the second added Range assert_equals: After second addRange(), after mutating the Selection's last Range, startOffset of the Selection's last Range must match the added Range expected 0 but got 6
PASS Range 23 [paras[0], 0, paras[0], 1] followed by Range 20 [foreignDoc.head, 1, foreignDoc.head, 1]: first addRange() must not throw exceptions or modify the range it's given
PASS Range 23 [paras[0], 0, paras[0], 1] followed by Range 20 [foreignDoc.head, 1, foreignDoc.head, 1]: first addRange() must result in rangeCount being 1
PASS Range 23 [paras[0], 0, paras[0], 1] followed by Range 20 [foreignDoc.head, 1, foreignDoc.head, 1]: first addRange() must result in the selection's last range having the specified endpoints
-FAIL Range 23 [paras[0], 0, paras[0], 1] followed by Range 20 [foreignDoc.head, 1, foreignDoc.head, 1]: first addRange() must result in the selection's last range being the same object we added assert_equals: getRangeAt(rangeCount - 1) must return the same object we added expected object "Äb̈c̈d̈ëf̈g̈ḧ
-" but got object "Äb̈c̈d̈ëf̈g̈ḧ
-"
-FAIL Range 23 [paras[0], 0, paras[0], 1] followed by Range 20 [foreignDoc.head, 1, foreignDoc.head, 1]: modifying the first added range must modify the Selection's last Range assert_equals: After mutating the first added Range, startContainer of the Selection's last Range must match the added Range expected Text node "Äb̈c̈d̈ëf̈g̈ḧ
-" but got Element node <p id="a">Äb̈c̈d̈ëf̈g̈ḧ
-</p>
-FAIL Range 23 [paras[0], 0, paras[0], 1] followed by Range 20 [foreignDoc.head, 1, foreignDoc.head, 1]: modifying the Selection's last Range must modify the first added Range assert_equals: After first addRange(), after mutating the Selection's last Range, startOffset of the Selection's last Range must match the added Range expected 0 but got 6
+PASS Range 23 [paras[0], 0, paras[0], 1] followed by Range 20 [foreignDoc.head, 1, foreignDoc.head, 1]: first addRange() must result in the selection's last range being the same object we added
+PASS Range 23 [paras[0], 0, paras[0], 1] followed by Range 20 [foreignDoc.head, 1, foreignDoc.head, 1]: modifying the first added range must modify the Selection's last Range
+PASS Range 23 [paras[0], 0, paras[0], 1] followed by Range 20 [foreignDoc.head, 1, foreignDoc.head, 1]: modifying the Selection's last Range must modify the first added Range
PASS Range 23 [paras[0], 0, paras[0], 1] followed by Range 20 [foreignDoc.head, 1, foreignDoc.head, 1]: second addRange() must not throw exceptions or modify the range it's given
PASS Range 23 [paras[0], 0, paras[0], 1] followed by Range 20 [foreignDoc.head, 1, foreignDoc.head, 1]: second addRange() must result in rangeCount being 1
-FAIL Range 23 [paras[0], 0, paras[0], 1] followed by Range 20 [foreignDoc.head, 1, foreignDoc.head, 1]: second addRange() must result in the selection's last range having the specified endpoints assert_equals: startContainer of the Selection's last Range must match the added Range expected Element node <head><title></title></head> but got Element node <p id="a">Äb̈c̈d̈ëf̈g̈ḧ
-</p>
-FAIL Range 23 [paras[0], 0, paras[0], 1] followed by Range 20 [foreignDoc.head, 1, foreignDoc.head, 1]: second addRange() must result in the selection's last range being the same object we added assert_equals: getRangeAt(rangeCount - 1) must return the same object we added expected object "" but got object "Äb̈c̈d̈ëf̈g̈ḧ
+FAIL Range 23 [paras[0], 0, paras[0], 1] followed by Range 20 [foreignDoc.head, 1, foreignDoc.head, 1]: second addRange() must result in the selection's last range having the specified endpoints assert_equals: startContainer of the Selection's last Range must match the added Range expected Element node <head><title></title></head> but got Text node "Äb̈c̈d̈ëf̈g̈ḧ
"
-FAIL Range 23 [paras[0], 0, paras[0], 1] followed by Range 20 [foreignDoc.head, 1, foreignDoc.head, 1]: modifying the second added range must modify the Selection's last Range assert_equals: After mutating the second added Range, startContainer of the Selection's last Range must match the added Range expected Text node "Äb̈c̈d̈ëf̈g̈ḧ
-" but got Element node <p id="a">Äb̈c̈d̈ëf̈g̈ḧ
-</p>
+FAIL Range 23 [paras[0], 0, paras[0], 1] followed by Range 20 [foreignDoc.head, 1, foreignDoc.head, 1]: second addRange() must result in the selection's last range being the same object we added assert_equals: getRangeAt(rangeCount - 1) must return the same object we added expected object "" but got object ""
+FAIL Range 23 [paras[0], 0, paras[0], 1] followed by Range 20 [foreignDoc.head, 1, foreignDoc.head, 1]: modifying the second added range must modify the Selection's last Range assert_equals: After mutating the second added Range, startOffset of the Selection's last Range must match the added Range expected 0 but got 6
FAIL Range 23 [paras[0], 0, paras[0], 1] followed by Range 20 [foreignDoc.head, 1, foreignDoc.head, 1]: modifying the Selection's last Range must modify the second added Range assert_equals: After second addRange(), after mutating the Selection's last Range, startOffset of the Selection's last Range must match the added Range expected 0 but got 6
PASS Range 23 [paras[0], 0, paras[0], 1] followed by Range 21 [foreignDoc.body, 0, foreignDoc.body, 0]: first addRange() must not throw exceptions or modify the range it's given
PASS Range 23 [paras[0], 0, paras[0], 1] followed by Range 21 [foreignDoc.body, 0, foreignDoc.body, 0]: first addRange() must result in rangeCount being 1
PASS Range 23 [paras[0], 0, paras[0], 1] followed by Range 21 [foreignDoc.body, 0, foreignDoc.body, 0]: first addRange() must result in the selection's last range having the specified endpoints
-FAIL Range 23 [paras[0], 0, paras[0], 1] followed by Range 21 [foreignDoc.body, 0, foreignDoc.body, 0]: first addRange() must result in the selection's last range being the same object we added assert_equals: getRangeAt(rangeCount - 1) must return the same object we added expected object "Äb̈c̈d̈ëf̈g̈ḧ
-" but got object "Äb̈c̈d̈ëf̈g̈ḧ
-"
-FAIL Range 23 [paras[0], 0, paras[0], 1] followed by Range 21 [foreignDoc.body, 0, foreignDoc.body, 0]: modifying the first added range must modify the Selection's last Range assert_equals: After mutating the first added Range, startContainer of the Selection's last Range must match the added Range expected Text node "Äb̈c̈d̈ëf̈g̈ḧ
-" but got Element node <p id="a">Äb̈c̈d̈ëf̈g̈ḧ
-</p>
-FAIL Range 23 [paras[0], 0, paras[0], 1] followed by Range 21 [foreignDoc.body, 0, foreignDoc.body, 0]: modifying the Selection's last Range must modify the first added Range assert_equals: After first addRange(), after mutating the Selection's last Range, startOffset of the Selection's last Range must match the added Range expected 0 but got 6
+PASS Range 23 [paras[0], 0, paras[0], 1] followed by Range 21 [foreignDoc.body, 0, foreignDoc.body, 0]: first addRange() must result in the selection's last range being the same object we added
+PASS Range 23 [paras[0], 0, paras[0], 1] followed by Range 21 [foreignDoc.body, 0, foreignDoc.body, 0]: modifying the first added range must modify the Selection's last Range
+PASS Range 23 [paras[0], 0, paras[0], 1] followed by Range 21 [foreignDoc.body, 0, foreignDoc.body, 0]: modifying the Selection's last Range must modify the first added Range
PASS Range 23 [paras[0], 0, paras[0], 1] followed by Range 21 [foreignDoc.body, 0, foreignDoc.body, 0]: second addRange() must not throw exceptions or modify the range it's given
PASS Range 23 [paras[0], 0, paras[0], 1] followed by Range 21 [foreignDoc.body, 0, foreignDoc.body, 0]: second addRange() must result in rangeCount being 1
-FAIL Range 23 [paras[0], 0, paras[0], 1] followed by Range 21 [foreignDoc.body, 0, foreignDoc.body, 0]: second addRange() must result in the selection's last range having the specified endpoints assert_equals: startContainer of the Selection's last Range must match the added Range expected Element node <body><p>Efghijkl</p><p>Mnopqrst</p>I admit that I harbor... but got Element node <p id="a">Äb̈c̈d̈ëf̈g̈ḧ
-</p>
-FAIL Range 23 [paras[0], 0, paras[0], 1] followed by Range 21 [foreignDoc.body, 0, foreignDoc.body, 0]: second addRange() must result in the selection's last range being the same object we added assert_equals: getRangeAt(rangeCount - 1) must return the same object we added expected object "" but got object "Äb̈c̈d̈ëf̈g̈ḧ
+FAIL Range 23 [paras[0], 0, paras[0], 1] followed by Range 21 [foreignDoc.body, 0, foreignDoc.body, 0]: second addRange() must result in the selection's last range having the specified endpoints assert_equals: startContainer of the Selection's last Range must match the added Range expected Element node <body><p>Efghijkl</p><p>Mnopqrst</p>I admit that I harbor... but got Text node "Äb̈c̈d̈ëf̈g̈ḧ
"
-FAIL Range 23 [paras[0], 0, paras[0], 1] followed by Range 21 [foreignDoc.body, 0, foreignDoc.body, 0]: modifying the second added range must modify the Selection's last Range assert_equals: After mutating the second added Range, startContainer of the Selection's last Range must match the added Range expected Text node "Äb̈c̈d̈ëf̈g̈ḧ
-" but got Element node <p id="a">Äb̈c̈d̈ëf̈g̈ḧ
-</p>
+FAIL Range 23 [paras[0], 0, paras[0], 1] followed by Range 21 [foreignDoc.body, 0, foreignDoc.body, 0]: second addRange() must result in the selection's last range being the same object we added assert_equals: getRangeAt(rangeCount - 1) must return the same object we added expected object "" but got object ""
+FAIL Range 23 [paras[0], 0, paras[0], 1] followed by Range 21 [foreignDoc.body, 0, foreignDoc.body, 0]: modifying the second added range must modify the Selection's last Range assert_equals: After mutating the second added Range, startOffset of the Selection's last Range must match the added Range expected 0 but got 6
FAIL Range 23 [paras[0], 0, paras[0], 1] followed by Range 21 [foreignDoc.body, 0, foreignDoc.body, 0]: modifying the Selection's last Range must modify the second added Range assert_equals: After second addRange(), after mutating the Selection's last Range, startOffset of the Selection's last Range must match the added Range expected 0 but got 6
PASS Range 23 [paras[0], 0, paras[0], 1] followed by Range 22 [paras[0], 0, paras[0], 0]: first addRange() must not throw exceptions or modify the range it's given
PASS Range 23 [paras[0], 0, paras[0], 1] followed by Range 22 [paras[0], 0, paras[0], 0]: first addRange() must result in rangeCount being 1
PASS Range 23 [paras[0], 0, paras[0], 1] followed by Range 22 [paras[0], 0, paras[0], 0]: first addRange() must result in the selection's last range having the specified endpoints
-FAIL Range 23 [paras[0], 0, paras[0], 1] followed by Range 22 [paras[0], 0, paras[0], 0]: first addRange() must result in the selection's last range being the same object we added assert_equals: getRangeAt(rangeCount - 1) must return the same object we added expected object "Äb̈c̈d̈ëf̈g̈ḧ
-" but got object "Äb̈c̈d̈ëf̈g̈ḧ
-"
-FAIL Range 23 [paras[0], 0, paras[0], 1] followed by Range 22 [paras[0], 0, paras[0], 0]: modifying the first added range must modify the Selection's last Range assert_equals: After mutating the first added Range, startContainer of the Selection's last Range must match the added Range expected Text node "Äb̈c̈d̈ëf̈g̈ḧ
-" but got Element node <p id="a">Äb̈c̈d̈ëf̈g̈ḧ
-</p>
-FAIL Range 23 [paras[0], 0, paras[0], 1] followed by Range 22 [paras[0], 0, paras[0], 0]: modifying the Selection's last Range must modify the first added Range assert_equals: After first addRange(), after mutating the Selection's last Range, startOffset of the Selection's last Range must match the added Range expected 0 but got 6
+PASS Range 23 [paras[0], 0, paras[0], 1] followed by Range 22 [paras[0], 0, paras[0], 0]: first addRange() must result in the selection's last range being the same object we added
+PASS Range 23 [paras[0], 0, paras[0], 1] followed by Range 22 [paras[0], 0, paras[0], 0]: modifying the first added range must modify the Selection's last Range
+PASS Range 23 [paras[0], 0, paras[0], 1] followed by Range 22 [paras[0], 0, paras[0], 0]: modifying the Selection's last Range must modify the first added Range
PASS Range 23 [paras[0], 0, paras[0], 1] followed by Range 22 [paras[0], 0, paras[0], 0]: second addRange() must not throw exceptions or modify the range it's given
PASS Range 23 [paras[0], 0, paras[0], 1] followed by Range 22 [paras[0], 0, paras[0], 0]: second addRange() must result in rangeCount being 1
FAIL Range 23 [paras[0], 0, paras[0], 1] followed by Range 22 [paras[0], 0, paras[0], 0]: second addRange() must result in the selection's last range having the specified endpoints assert_equals: endOffset of the Selection's last Range must match the added Range expected 0 but got 1
@@ -3457,13 +2736,9 @@ FAIL Range 23 [paras[0], 0, paras[0], 1] followed by Range 22 [paras[0], 0, para
PASS Range 23 [paras[0], 0, paras[0], 1] followed by Range 23 [paras[0], 0, paras[0], 1]: first addRange() must not throw exceptions or modify the range it's given
PASS Range 23 [paras[0], 0, paras[0], 1] followed by Range 23 [paras[0], 0, paras[0], 1]: first addRange() must result in rangeCount being 1
PASS Range 23 [paras[0], 0, paras[0], 1] followed by Range 23 [paras[0], 0, paras[0], 1]: first addRange() must result in the selection's last range having the specified endpoints
-FAIL Range 23 [paras[0], 0, paras[0], 1] followed by Range 23 [paras[0], 0, paras[0], 1]: first addRange() must result in the selection's last range being the same object we added assert_equals: getRangeAt(rangeCount - 1) must return the same object we added expected object "Äb̈c̈d̈ëf̈g̈ḧ
-" but got object "Äb̈c̈d̈ëf̈g̈ḧ
-"
-FAIL Range 23 [paras[0], 0, paras[0], 1] followed by Range 23 [paras[0], 0, paras[0], 1]: modifying the first added range must modify the Selection's last Range assert_equals: After mutating the first added Range, startContainer of the Selection's last Range must match the added Range expected Text node "Äb̈c̈d̈ëf̈g̈ḧ
-" but got Element node <p id="a">Äb̈c̈d̈ëf̈g̈ḧ
-</p>
-FAIL Range 23 [paras[0], 0, paras[0], 1] followed by Range 23 [paras[0], 0, paras[0], 1]: modifying the Selection's last Range must modify the first added Range assert_equals: After first addRange(), after mutating the Selection's last Range, startOffset of the Selection's last Range must match the added Range expected 0 but got 6
+PASS Range 23 [paras[0], 0, paras[0], 1] followed by Range 23 [paras[0], 0, paras[0], 1]: first addRange() must result in the selection's last range being the same object we added
+PASS Range 23 [paras[0], 0, paras[0], 1] followed by Range 23 [paras[0], 0, paras[0], 1]: modifying the first added range must modify the Selection's last Range
+PASS Range 23 [paras[0], 0, paras[0], 1] followed by Range 23 [paras[0], 0, paras[0], 1]: modifying the Selection's last Range must modify the first added Range
PASS Range 23 [paras[0], 0, paras[0], 1] followed by Range 23 [paras[0], 0, paras[0], 1]: second addRange() must not throw exceptions or modify the range it's given
PASS Range 23 [paras[0], 0, paras[0], 1] followed by Range 23 [paras[0], 0, paras[0], 1]: second addRange() must result in rangeCount being 1
PASS Range 23 [paras[0], 0, paras[0], 1] followed by Range 23 [paras[0], 0, paras[0], 1]: second addRange() must result in the selection's last range having the specified endpoints
@@ -3477,53 +2752,35 @@ FAIL Range 23 [paras[0], 0, paras[0], 1] followed by Range 23 [paras[0], 0, para
PASS Range 23 [paras[0], 0, paras[0], 1] followed by Range 24 [detachedPara1, 0, detachedPara1, 0]: first addRange() must not throw exceptions or modify the range it's given
PASS Range 23 [paras[0], 0, paras[0], 1] followed by Range 24 [detachedPara1, 0, detachedPara1, 0]: first addRange() must result in rangeCount being 1
PASS Range 23 [paras[0], 0, paras[0], 1] followed by Range 24 [detachedPara1, 0, detachedPara1, 0]: first addRange() must result in the selection's last range having the specified endpoints
-FAIL Range 23 [paras[0], 0, paras[0], 1] followed by Range 24 [detachedPara1, 0, detachedPara1, 0]: first addRange() must result in the selection's last range being the same object we added assert_equals: getRangeAt(rangeCount - 1) must return the same object we added expected object "Äb̈c̈d̈ëf̈g̈ḧ
-" but got object "Äb̈c̈d̈ëf̈g̈ḧ
-"
-FAIL Range 23 [paras[0], 0, paras[0], 1] followed by Range 24 [detachedPara1, 0, detachedPara1, 0]: modifying the first added range must modify the Selection's last Range assert_equals: After mutating the first added Range, startContainer of the Selection's last Range must match the added Range expected Text node "Äb̈c̈d̈ëf̈g̈ḧ
-" but got Element node <p id="a">Äb̈c̈d̈ëf̈g̈ḧ
-</p>
-FAIL Range 23 [paras[0], 0, paras[0], 1] followed by Range 24 [detachedPara1, 0, detachedPara1, 0]: modifying the Selection's last Range must modify the first added Range assert_equals: After first addRange(), after mutating the Selection's last Range, startOffset of the Selection's last Range must match the added Range expected 0 but got 6
+PASS Range 23 [paras[0], 0, paras[0], 1] followed by Range 24 [detachedPara1, 0, detachedPara1, 0]: first addRange() must result in the selection's last range being the same object we added
+PASS Range 23 [paras[0], 0, paras[0], 1] followed by Range 24 [detachedPara1, 0, detachedPara1, 0]: modifying the first added range must modify the Selection's last Range
+PASS Range 23 [paras[0], 0, paras[0], 1] followed by Range 24 [detachedPara1, 0, detachedPara1, 0]: modifying the Selection's last Range must modify the first added Range
PASS Range 23 [paras[0], 0, paras[0], 1] followed by Range 24 [detachedPara1, 0, detachedPara1, 0]: second addRange() must not throw exceptions or modify the range it's given
PASS Range 23 [paras[0], 0, paras[0], 1] followed by Range 24 [detachedPara1, 0, detachedPara1, 0]: second addRange() must result in rangeCount being 1
-FAIL Range 23 [paras[0], 0, paras[0], 1] followed by Range 24 [detachedPara1, 0, detachedPara1, 0]: second addRange() must result in the selection's last range having the specified endpoints assert_equals: startContainer of the Selection's last Range must match the added Range expected Element node <p>Opqrstuv</p> but got Element node <p id="a">Äb̈c̈d̈ëf̈g̈ḧ
-</p>
-FAIL Range 23 [paras[0], 0, paras[0], 1] followed by Range 24 [detachedPara1, 0, detachedPara1, 0]: second addRange() must result in the selection's last range being the same object we added assert_equals: getRangeAt(rangeCount - 1) must return the same object we added expected object "" but got object "Äb̈c̈d̈ëf̈g̈ḧ
+FAIL Range 23 [paras[0], 0, paras[0], 1] followed by Range 24 [detachedPara1, 0, detachedPara1, 0]: second addRange() must result in the selection's last range having the specified endpoints assert_equals: startContainer of the Selection's last Range must match the added Range expected Element node <p>Opqrstuv</p> but got Text node "Äb̈c̈d̈ëf̈g̈ḧ
"
-FAIL Range 23 [paras[0], 0, paras[0], 1] followed by Range 24 [detachedPara1, 0, detachedPara1, 0]: modifying the second added range must modify the Selection's last Range assert_equals: After mutating the second added Range, startContainer of the Selection's last Range must match the added Range expected Text node "Äb̈c̈d̈ëf̈g̈ḧ
-" but got Element node <p id="a">Äb̈c̈d̈ëf̈g̈ḧ
-</p>
+FAIL Range 23 [paras[0], 0, paras[0], 1] followed by Range 24 [detachedPara1, 0, detachedPara1, 0]: second addRange() must result in the selection's last range being the same object we added assert_equals: getRangeAt(rangeCount - 1) must return the same object we added expected object "" but got object ""
+FAIL Range 23 [paras[0], 0, paras[0], 1] followed by Range 24 [detachedPara1, 0, detachedPara1, 0]: modifying the second added range must modify the Selection's last Range assert_equals: After mutating the second added Range, startOffset of the Selection's last Range must match the added Range expected 0 but got 6
FAIL Range 23 [paras[0], 0, paras[0], 1] followed by Range 24 [detachedPara1, 0, detachedPara1, 0]: modifying the Selection's last Range must modify the second added Range assert_equals: After second addRange(), after mutating the Selection's last Range, startOffset of the Selection's last Range must match the added Range expected 0 but got 6
PASS Range 23 [paras[0], 0, paras[0], 1] followed by Range 25 [detachedPara1, 0, detachedPara1, 1]: first addRange() must not throw exceptions or modify the range it's given
PASS Range 23 [paras[0], 0, paras[0], 1] followed by Range 25 [detachedPara1, 0, detachedPara1, 1]: first addRange() must result in rangeCount being 1
PASS Range 23 [paras[0], 0, paras[0], 1] followed by Range 25 [detachedPara1, 0, detachedPara1, 1]: first addRange() must result in the selection's last range having the specified endpoints
-FAIL Range 23 [paras[0], 0, paras[0], 1] followed by Range 25 [detachedPara1, 0, detachedPara1, 1]: first addRange() must result in the selection's last range being the same object we added assert_equals: getRangeAt(rangeCount - 1) must return the same object we added expected object "Äb̈c̈d̈ëf̈g̈ḧ
-" but got object "Äb̈c̈d̈ëf̈g̈ḧ
-"
-FAIL Range 23 [paras[0], 0, paras[0], 1] followed by Range 25 [detachedPara1, 0, detachedPara1, 1]: modifying the first added range must modify the Selection's last Range assert_equals: After mutating the first added Range, startContainer of the Selection's last Range must match the added Range expected Text node "Äb̈c̈d̈ëf̈g̈ḧ
-" but got Element node <p id="a">Äb̈c̈d̈ëf̈g̈ḧ
-</p>
-FAIL Range 23 [paras[0], 0, paras[0], 1] followed by Range 25 [detachedPara1, 0, detachedPara1, 1]: modifying the Selection's last Range must modify the first added Range assert_equals: After first addRange(), after mutating the Selection's last Range, startOffset of the Selection's last Range must match the added Range expected 0 but got 6
+PASS Range 23 [paras[0], 0, paras[0], 1] followed by Range 25 [detachedPara1, 0, detachedPara1, 1]: first addRange() must result in the selection's last range being the same object we added
+PASS Range 23 [paras[0], 0, paras[0], 1] followed by Range 25 [detachedPara1, 0, detachedPara1, 1]: modifying the first added range must modify the Selection's last Range
+PASS Range 23 [paras[0], 0, paras[0], 1] followed by Range 25 [detachedPara1, 0, detachedPara1, 1]: modifying the Selection's last Range must modify the first added Range
PASS Range 23 [paras[0], 0, paras[0], 1] followed by Range 25 [detachedPara1, 0, detachedPara1, 1]: second addRange() must not throw exceptions or modify the range it's given
PASS Range 23 [paras[0], 0, paras[0], 1] followed by Range 25 [detachedPara1, 0, detachedPara1, 1]: second addRange() must result in rangeCount being 1
-FAIL Range 23 [paras[0], 0, paras[0], 1] followed by Range 25 [detachedPara1, 0, detachedPara1, 1]: second addRange() must result in the selection's last range having the specified endpoints assert_equals: startContainer of the Selection's last Range must match the added Range expected Element node <p>Opqrstuv</p> but got Element node <p id="a">Äb̈c̈d̈ëf̈g̈ḧ
-</p>
-FAIL Range 23 [paras[0], 0, paras[0], 1] followed by Range 25 [detachedPara1, 0, detachedPara1, 1]: second addRange() must result in the selection's last range being the same object we added assert_equals: getRangeAt(rangeCount - 1) must return the same object we added expected object "Opqrstuv" but got object "Äb̈c̈d̈ëf̈g̈ḧ
+FAIL Range 23 [paras[0], 0, paras[0], 1] followed by Range 25 [detachedPara1, 0, detachedPara1, 1]: second addRange() must result in the selection's last range having the specified endpoints assert_equals: startContainer of the Selection's last Range must match the added Range expected Element node <p>Opqrstuv</p> but got Text node "Äb̈c̈d̈ëf̈g̈ḧ
"
-FAIL Range 23 [paras[0], 0, paras[0], 1] followed by Range 25 [detachedPara1, 0, detachedPara1, 1]: modifying the second added range must modify the Selection's last Range assert_equals: After mutating the second added Range, startContainer of the Selection's last Range must match the added Range expected Text node "Äb̈c̈d̈ëf̈g̈ḧ
-" but got Element node <p id="a">Äb̈c̈d̈ëf̈g̈ḧ
-</p>
+FAIL Range 23 [paras[0], 0, paras[0], 1] followed by Range 25 [detachedPara1, 0, detachedPara1, 1]: second addRange() must result in the selection's last range being the same object we added assert_equals: getRangeAt(rangeCount - 1) must return the same object we added expected object "Opqrstuv" but got object ""
+FAIL Range 23 [paras[0], 0, paras[0], 1] followed by Range 25 [detachedPara1, 0, detachedPara1, 1]: modifying the second added range must modify the Selection's last Range assert_equals: After mutating the second added Range, startOffset of the Selection's last Range must match the added Range expected 0 but got 6
FAIL Range 23 [paras[0], 0, paras[0], 1] followed by Range 25 [detachedPara1, 0, detachedPara1, 1]: modifying the Selection's last Range must modify the second added Range assert_equals: After second addRange(), after mutating the Selection's last Range, startOffset of the Selection's last Range must match the added Range expected 0 but got 6
PASS Range 23 [paras[0], 0, paras[0], 1] followed by Range 26 [paras[0].firstChild, 0, paras[1].firstChild, 0]: first addRange() must not throw exceptions or modify the range it's given
PASS Range 23 [paras[0], 0, paras[0], 1] followed by Range 26 [paras[0].firstChild, 0, paras[1].firstChild, 0]: first addRange() must result in rangeCount being 1
PASS Range 23 [paras[0], 0, paras[0], 1] followed by Range 26 [paras[0].firstChild, 0, paras[1].firstChild, 0]: first addRange() must result in the selection's last range having the specified endpoints
-FAIL Range 23 [paras[0], 0, paras[0], 1] followed by Range 26 [paras[0].firstChild, 0, paras[1].firstChild, 0]: first addRange() must result in the selection's last range being the same object we added assert_equals: getRangeAt(rangeCount - 1) must return the same object we added expected object "Äb̈c̈d̈ëf̈g̈ḧ
-" but got object "Äb̈c̈d̈ëf̈g̈ḧ
-"
-FAIL Range 23 [paras[0], 0, paras[0], 1] followed by Range 26 [paras[0].firstChild, 0, paras[1].firstChild, 0]: modifying the first added range must modify the Selection's last Range assert_equals: After mutating the first added Range, startContainer of the Selection's last Range must match the added Range expected Text node "Äb̈c̈d̈ëf̈g̈ḧ
-" but got Element node <p id="a">Äb̈c̈d̈ëf̈g̈ḧ
-</p>
-FAIL Range 23 [paras[0], 0, paras[0], 1] followed by Range 26 [paras[0].firstChild, 0, paras[1].firstChild, 0]: modifying the Selection's last Range must modify the first added Range assert_equals: After first addRange(), after mutating the Selection's last Range, startOffset of the Selection's last Range must match the added Range expected 0 but got 6
+PASS Range 23 [paras[0], 0, paras[0], 1] followed by Range 26 [paras[0].firstChild, 0, paras[1].firstChild, 0]: first addRange() must result in the selection's last range being the same object we added
+PASS Range 23 [paras[0], 0, paras[0], 1] followed by Range 26 [paras[0].firstChild, 0, paras[1].firstChild, 0]: modifying the first added range must modify the Selection's last Range
+PASS Range 23 [paras[0], 0, paras[0], 1] followed by Range 26 [paras[0].firstChild, 0, paras[1].firstChild, 0]: modifying the Selection's last Range must modify the first added Range
PASS Range 23 [paras[0], 0, paras[0], 1] followed by Range 26 [paras[0].firstChild, 0, paras[1].firstChild, 0]: second addRange() must not throw exceptions or modify the range it's given
PASS Range 23 [paras[0], 0, paras[0], 1] followed by Range 26 [paras[0].firstChild, 0, paras[1].firstChild, 0]: second addRange() must result in rangeCount being 1
FAIL Range 23 [paras[0], 0, paras[0], 1] followed by Range 26 [paras[0].firstChild, 0, paras[1].firstChild, 0]: second addRange() must result in the selection's last range having the specified endpoints assert_equals: startContainer of the Selection's last Range must match the added Range expected Text node "Äb̈c̈d̈ëf̈g̈ḧ
@@ -3539,13 +2796,9 @@ FAIL Range 23 [paras[0], 0, paras[0], 1] followed by Range 26 [paras[0].firstChi
PASS Range 23 [paras[0], 0, paras[0], 1] followed by Range 27 [paras[0].firstChild, 0, paras[1].firstChild, 8]: first addRange() must not throw exceptions or modify the range it's given
PASS Range 23 [paras[0], 0, paras[0], 1] followed by Range 27 [paras[0].firstChild, 0, paras[1].firstChild, 8]: first addRange() must result in rangeCount being 1
PASS Range 23 [paras[0], 0, paras[0], 1] followed by Range 27 [paras[0].firstChild, 0, paras[1].firstChild, 8]: first addRange() must result in the selection's last range having the specified endpoints
-FAIL Range 23 [paras[0], 0, paras[0], 1] followed by Range 27 [paras[0].firstChild, 0, paras[1].firstChild, 8]: first addRange() must result in the selection's last range being the same object we added assert_equals: getRangeAt(rangeCount - 1) must return the same object we added expected object "Äb̈c̈d̈ëf̈g̈ḧ
-" but got object "Äb̈c̈d̈ëf̈g̈ḧ
-"
-FAIL Range 23 [paras[0], 0, paras[0], 1] followed by Range 27 [paras[0].firstChild, 0, paras[1].firstChild, 8]: modifying the first added range must modify the Selection's last Range assert_equals: After mutating the first added Range, startContainer of the Selection's last Range must match the added Range expected Text node "Äb̈c̈d̈ëf̈g̈ḧ
-" but got Element node <p id="a">Äb̈c̈d̈ëf̈g̈ḧ
-</p>
-FAIL Range 23 [paras[0], 0, paras[0], 1] followed by Range 27 [paras[0].firstChild, 0, paras[1].firstChild, 8]: modifying the Selection's last Range must modify the first added Range assert_equals: After first addRange(), after mutating the Selection's last Range, startOffset of the Selection's last Range must match the added Range expected 0 but got 6
+PASS Range 23 [paras[0], 0, paras[0], 1] followed by Range 27 [paras[0].firstChild, 0, paras[1].firstChild, 8]: first addRange() must result in the selection's last range being the same object we added
+PASS Range 23 [paras[0], 0, paras[0], 1] followed by Range 27 [paras[0].firstChild, 0, paras[1].firstChild, 8]: modifying the first added range must modify the Selection's last Range
+PASS Range 23 [paras[0], 0, paras[0], 1] followed by Range 27 [paras[0].firstChild, 0, paras[1].firstChild, 8]: modifying the Selection's last Range must modify the first added Range
PASS Range 23 [paras[0], 0, paras[0], 1] followed by Range 27 [paras[0].firstChild, 0, paras[1].firstChild, 8]: second addRange() must not throw exceptions or modify the range it's given
PASS Range 23 [paras[0], 0, paras[0], 1] followed by Range 27 [paras[0].firstChild, 0, paras[1].firstChild, 8]: second addRange() must result in rangeCount being 1
FAIL Range 23 [paras[0], 0, paras[0], 1] followed by Range 27 [paras[0].firstChild, 0, paras[1].firstChild, 8]: second addRange() must result in the selection's last range having the specified endpoints assert_equals: startContainer of the Selection's last Range must match the added Range expected Text node "Äb̈c̈d̈ëf̈g̈ḧ
@@ -3561,13 +2814,9 @@ FAIL Range 23 [paras[0], 0, paras[0], 1] followed by Range 27 [paras[0].firstChi
PASS Range 23 [paras[0], 0, paras[0], 1] followed by Range 28 [paras[0].firstChild, 3, paras[3], 1]: first addRange() must not throw exceptions or modify the range it's given
PASS Range 23 [paras[0], 0, paras[0], 1] followed by Range 28 [paras[0].firstChild, 3, paras[3], 1]: first addRange() must result in rangeCount being 1
PASS Range 23 [paras[0], 0, paras[0], 1] followed by Range 28 [paras[0].firstChild, 3, paras[3], 1]: first addRange() must result in the selection's last range having the specified endpoints
-FAIL Range 23 [paras[0], 0, paras[0], 1] followed by Range 28 [paras[0].firstChild, 3, paras[3], 1]: first addRange() must result in the selection's last range being the same object we added assert_equals: getRangeAt(rangeCount - 1) must return the same object we added expected object "Äb̈c̈d̈ëf̈g̈ḧ
-" but got object "Äb̈c̈d̈ëf̈g̈ḧ
-"
-FAIL Range 23 [paras[0], 0, paras[0], 1] followed by Range 28 [paras[0].firstChild, 3, paras[3], 1]: modifying the first added range must modify the Selection's last Range assert_equals: After mutating the first added Range, startContainer of the Selection's last Range must match the added Range expected Text node "Äb̈c̈d̈ëf̈g̈ḧ
-" but got Element node <p id="a">Äb̈c̈d̈ëf̈g̈ḧ
-</p>
-FAIL Range 23 [paras[0], 0, paras[0], 1] followed by Range 28 [paras[0].firstChild, 3, paras[3], 1]: modifying the Selection's last Range must modify the first added Range assert_equals: After first addRange(), after mutating the Selection's last Range, startOffset of the Selection's last Range must match the added Range expected 0 but got 6
+PASS Range 23 [paras[0], 0, paras[0], 1] followed by Range 28 [paras[0].firstChild, 3, paras[3], 1]: first addRange() must result in the selection's last range being the same object we added
+PASS Range 23 [paras[0], 0, paras[0], 1] followed by Range 28 [paras[0].firstChild, 3, paras[3], 1]: modifying the first added range must modify the Selection's last Range
+PASS Range 23 [paras[0], 0, paras[0], 1] followed by Range 28 [paras[0].firstChild, 3, paras[3], 1]: modifying the Selection's last Range must modify the first added Range
PASS Range 23 [paras[0], 0, paras[0], 1] followed by Range 28 [paras[0].firstChild, 3, paras[3], 1]: second addRange() must not throw exceptions or modify the range it's given
PASS Range 23 [paras[0], 0, paras[0], 1] followed by Range 28 [paras[0].firstChild, 3, paras[3], 1]: second addRange() must result in rangeCount being 1
FAIL Range 23 [paras[0], 0, paras[0], 1] followed by Range 28 [paras[0].firstChild, 3, paras[3], 1]: second addRange() must result in the selection's last range having the specified endpoints assert_equals: startContainer of the Selection's last Range must match the added Range expected Text node "Äb̈c̈d̈ëf̈g̈ḧ
@@ -3585,13 +2834,9 @@ FAIL Range 23 [paras[0], 0, paras[0], 1] followed by Range 28 [paras[0].firstChi
PASS Range 23 [paras[0], 0, paras[0], 1] followed by Range 29 [paras[0], 0, paras[0].firstChild, 7]: first addRange() must not throw exceptions or modify the range it's given
PASS Range 23 [paras[0], 0, paras[0], 1] followed by Range 29 [paras[0], 0, paras[0].firstChild, 7]: first addRange() must result in rangeCount being 1
PASS Range 23 [paras[0], 0, paras[0], 1] followed by Range 29 [paras[0], 0, paras[0].firstChild, 7]: first addRange() must result in the selection's last range having the specified endpoints
-FAIL Range 23 [paras[0], 0, paras[0], 1] followed by Range 29 [paras[0], 0, paras[0].firstChild, 7]: first addRange() must result in the selection's last range being the same object we added assert_equals: getRangeAt(rangeCount - 1) must return the same object we added expected object "Äb̈c̈d̈ëf̈g̈ḧ
-" but got object "Äb̈c̈d̈ëf̈g̈ḧ
-"
-FAIL Range 23 [paras[0], 0, paras[0], 1] followed by Range 29 [paras[0], 0, paras[0].firstChild, 7]: modifying the first added range must modify the Selection's last Range assert_equals: After mutating the first added Range, startContainer of the Selection's last Range must match the added Range expected Text node "Äb̈c̈d̈ëf̈g̈ḧ
-" but got Element node <p id="a">Äb̈c̈d̈ëf̈g̈ḧ
-</p>
-FAIL Range 23 [paras[0], 0, paras[0], 1] followed by Range 29 [paras[0], 0, paras[0].firstChild, 7]: modifying the Selection's last Range must modify the first added Range assert_equals: After first addRange(), after mutating the Selection's last Range, startOffset of the Selection's last Range must match the added Range expected 0 but got 6
+PASS Range 23 [paras[0], 0, paras[0], 1] followed by Range 29 [paras[0], 0, paras[0].firstChild, 7]: first addRange() must result in the selection's last range being the same object we added
+PASS Range 23 [paras[0], 0, paras[0], 1] followed by Range 29 [paras[0], 0, paras[0].firstChild, 7]: modifying the first added range must modify the Selection's last Range
+PASS Range 23 [paras[0], 0, paras[0], 1] followed by Range 29 [paras[0], 0, paras[0].firstChild, 7]: modifying the Selection's last Range must modify the first added Range
PASS Range 23 [paras[0], 0, paras[0], 1] followed by Range 29 [paras[0], 0, paras[0].firstChild, 7]: second addRange() must not throw exceptions or modify the range it's given
PASS Range 23 [paras[0], 0, paras[0], 1] followed by Range 29 [paras[0], 0, paras[0].firstChild, 7]: second addRange() must result in rangeCount being 1
FAIL Range 23 [paras[0], 0, paras[0], 1] followed by Range 29 [paras[0], 0, paras[0].firstChild, 7]: second addRange() must result in the selection's last range having the specified endpoints assert_equals: endContainer of the Selection's last Range must match the added Range expected Text node "Äb̈c̈d̈ëf̈g̈ḧ
@@ -3606,117 +2851,78 @@ FAIL Range 23 [paras[0], 0, paras[0], 1] followed by Range 29 [paras[0], 0, para
PASS Range 23 [paras[0], 0, paras[0], 1] followed by Range 30 [testDiv, 2, paras[4], 1]: first addRange() must not throw exceptions or modify the range it's given
PASS Range 23 [paras[0], 0, paras[0], 1] followed by Range 30 [testDiv, 2, paras[4], 1]: first addRange() must result in rangeCount being 1
PASS Range 23 [paras[0], 0, paras[0], 1] followed by Range 30 [testDiv, 2, paras[4], 1]: first addRange() must result in the selection's last range having the specified endpoints
-FAIL Range 23 [paras[0], 0, paras[0], 1] followed by Range 30 [testDiv, 2, paras[4], 1]: first addRange() must result in the selection's last range being the same object we added assert_equals: getRangeAt(rangeCount - 1) must return the same object we added expected object "Äb̈c̈d̈ëf̈g̈ḧ
-" but got object "Äb̈c̈d̈ëf̈g̈ḧ
-"
-FAIL Range 23 [paras[0], 0, paras[0], 1] followed by Range 30 [testDiv, 2, paras[4], 1]: modifying the first added range must modify the Selection's last Range assert_equals: After mutating the first added Range, startContainer of the Selection's last Range must match the added Range expected Text node "Äb̈c̈d̈ëf̈g̈ḧ
-" but got Element node <p id="a">Äb̈c̈d̈ëf̈g̈ḧ
-</p>
-FAIL Range 23 [paras[0], 0, paras[0], 1] followed by Range 30 [testDiv, 2, paras[4], 1]: modifying the Selection's last Range must modify the first added Range assert_equals: After first addRange(), after mutating the Selection's last Range, startOffset of the Selection's last Range must match the added Range expected 0 but got 6
+PASS Range 23 [paras[0], 0, paras[0], 1] followed by Range 30 [testDiv, 2, paras[4], 1]: first addRange() must result in the selection's last range being the same object we added
+PASS Range 23 [paras[0], 0, paras[0], 1] followed by Range 30 [testDiv, 2, paras[4], 1]: modifying the first added range must modify the Selection's last Range
+PASS Range 23 [paras[0], 0, paras[0], 1] followed by Range 30 [testDiv, 2, paras[4], 1]: modifying the Selection's last Range must modify the first added Range
PASS Range 23 [paras[0], 0, paras[0], 1] followed by Range 30 [testDiv, 2, paras[4], 1]: second addRange() must not throw exceptions or modify the range it's given
PASS Range 23 [paras[0], 0, paras[0], 1] followed by Range 30 [testDiv, 2, paras[4], 1]: second addRange() must result in rangeCount being 1
FAIL Range 23 [paras[0], 0, paras[0], 1] followed by Range 30 [testDiv, 2, paras[4], 1]: second addRange() must result in the selection's last range having the specified endpoints assert_equals: startContainer of the Selection's last Range must match the added Range expected Element node <div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ
-</p><p id="b" s... but got Element node <p id="a">Äb̈c̈d̈ëf̈g̈ḧ
-</p>
-FAIL Range 23 [paras[0], 0, paras[0], 1] followed by Range 30 [testDiv, 2, paras[4], 1]: second addRange() must result in the selection's last range being the same object we added assert_equals: getRangeAt(rangeCount - 1) must return the same object we added expected object "QrstuvwxYzabcdefGhijklmn" but got object "Äb̈c̈d̈ëf̈g̈ḧ
+</p><p id="b" s... but got Text node "Äb̈c̈d̈ëf̈g̈ḧ
"
-FAIL Range 23 [paras[0], 0, paras[0], 1] followed by Range 30 [testDiv, 2, paras[4], 1]: modifying the second added range must modify the Selection's last Range assert_equals: After mutating the second added Range, startContainer of the Selection's last Range must match the added Range expected Text node "Äb̈c̈d̈ëf̈g̈ḧ
-" but got Element node <p id="a">Äb̈c̈d̈ëf̈g̈ḧ
-</p>
+FAIL Range 23 [paras[0], 0, paras[0], 1] followed by Range 30 [testDiv, 2, paras[4], 1]: second addRange() must result in the selection's last range being the same object we added assert_equals: getRangeAt(rangeCount - 1) must return the same object we added expected object "QrstuvwxYzabcdefGhijklmn" but got object ""
+FAIL Range 23 [paras[0], 0, paras[0], 1] followed by Range 30 [testDiv, 2, paras[4], 1]: modifying the second added range must modify the Selection's last Range assert_equals: After mutating the second added Range, startOffset of the Selection's last Range must match the added Range expected 0 but got 6
FAIL Range 23 [paras[0], 0, paras[0], 1] followed by Range 30 [testDiv, 2, paras[4], 1]: modifying the Selection's last Range must modify the second added Range assert_equals: After second addRange(), after mutating the Selection's last Range, startOffset of the Selection's last Range must match the added Range expected 0 but got 6
PASS Range 23 [paras[0], 0, paras[0], 1] followed by Range 31 [testDiv, 1, paras[2].firstChild, 5]: first addRange() must not throw exceptions or modify the range it's given
PASS Range 23 [paras[0], 0, paras[0], 1] followed by Range 31 [testDiv, 1, paras[2].firstChild, 5]: first addRange() must result in rangeCount being 1
PASS Range 23 [paras[0], 0, paras[0], 1] followed by Range 31 [testDiv, 1, paras[2].firstChild, 5]: first addRange() must result in the selection's last range having the specified endpoints
-FAIL Range 23 [paras[0], 0, paras[0], 1] followed by Range 31 [testDiv, 1, paras[2].firstChild, 5]: first addRange() must result in the selection's last range being the same object we added assert_equals: getRangeAt(rangeCount - 1) must return the same object we added expected object "Äb̈c̈d̈ëf̈g̈ḧ
-" but got object "Äb̈c̈d̈ëf̈g̈ḧ
-"
-FAIL Range 23 [paras[0], 0, paras[0], 1] followed by Range 31 [testDiv, 1, paras[2].firstChild, 5]: modifying the first added range must modify the Selection's last Range assert_equals: After mutating the first added Range, startContainer of the Selection's last Range must match the added Range expected Text node "Äb̈c̈d̈ëf̈g̈ḧ
-" but got Element node <p id="a">Äb̈c̈d̈ëf̈g̈ḧ
-</p>
-FAIL Range 23 [paras[0], 0, paras[0], 1] followed by Range 31 [testDiv, 1, paras[2].firstChild, 5]: modifying the Selection's last Range must modify the first added Range assert_equals: After first addRange(), after mutating the Selection's last Range, startOffset of the Selection's last Range must match the added Range expected 0 but got 6
+PASS Range 23 [paras[0], 0, paras[0], 1] followed by Range 31 [testDiv, 1, paras[2].firstChild, 5]: first addRange() must result in the selection's last range being the same object we added
+PASS Range 23 [paras[0], 0, paras[0], 1] followed by Range 31 [testDiv, 1, paras[2].firstChild, 5]: modifying the first added range must modify the Selection's last Range
+PASS Range 23 [paras[0], 0, paras[0], 1] followed by Range 31 [testDiv, 1, paras[2].firstChild, 5]: modifying the Selection's last Range must modify the first added Range
PASS Range 23 [paras[0], 0, paras[0], 1] followed by Range 31 [testDiv, 1, paras[2].firstChild, 5]: second addRange() must not throw exceptions or modify the range it's given
PASS Range 23 [paras[0], 0, paras[0], 1] followed by Range 31 [testDiv, 1, paras[2].firstChild, 5]: second addRange() must result in rangeCount being 1
FAIL Range 23 [paras[0], 0, paras[0], 1] followed by Range 31 [testDiv, 1, paras[2].firstChild, 5]: second addRange() must result in the selection's last range having the specified endpoints assert_equals: startContainer of the Selection's last Range must match the added Range expected Element node <div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ
-</p><p id="b" s... but got Element node <p id="a">Äb̈c̈d̈ëf̈g̈ḧ
-</p>
-FAIL Range 23 [paras[0], 0, paras[0], 1] followed by Range 31 [testDiv, 1, paras[2].firstChild, 5]: second addRange() must result in the selection's last range being the same object we added assert_equals: getRangeAt(rangeCount - 1) must return the same object we added expected object "Ijklmnop
-Qrstu" but got object "Äb̈c̈d̈ëf̈g̈ḧ
+</p><p id="b" s... but got Text node "Äb̈c̈d̈ëf̈g̈ḧ
"
-FAIL Range 23 [paras[0], 0, paras[0], 1] followed by Range 31 [testDiv, 1, paras[2].firstChild, 5]: modifying the second added range must modify the Selection's last Range assert_equals: After mutating the second added Range, startContainer of the Selection's last Range must match the added Range expected Text node "Äb̈c̈d̈ëf̈g̈ḧ
-" but got Element node <p id="a">Äb̈c̈d̈ëf̈g̈ḧ
-</p>
+FAIL Range 23 [paras[0], 0, paras[0], 1] followed by Range 31 [testDiv, 1, paras[2].firstChild, 5]: second addRange() must result in the selection's last range being the same object we added assert_equals: getRangeAt(rangeCount - 1) must return the same object we added expected object "Ijklmnop
+Qrstu" but got object ""
+FAIL Range 23 [paras[0], 0, paras[0], 1] followed by Range 31 [testDiv, 1, paras[2].firstChild, 5]: modifying the second added range must modify the Selection's last Range assert_equals: After mutating the second added Range, startOffset of the Selection's last Range must match the added Range expected 0 but got 6
FAIL Range 23 [paras[0], 0, paras[0], 1] followed by Range 31 [testDiv, 1, paras[2].firstChild, 5]: modifying the Selection's last Range must modify the second added Range assert_equals: After second addRange(), after mutating the Selection's last Range, startOffset of the Selection's last Range must match the added Range expected 0 but got 6
PASS Range 23 [paras[0], 0, paras[0], 1] followed by Range 32 [document.documentElement, 1, document.body, 0]: first addRange() must not throw exceptions or modify the range it's given
PASS Range 23 [paras[0], 0, paras[0], 1] followed by Range 32 [document.documentElement, 1, document.body, 0]: first addRange() must result in rangeCount being 1
PASS Range 23 [paras[0], 0, paras[0], 1] followed by Range 32 [document.documentElement, 1, document.body, 0]: first addRange() must result in the selection's last range having the specified endpoints
-FAIL Range 23 [paras[0], 0, paras[0], 1] followed by Range 32 [document.documentElement, 1, document.body, 0]: first addRange() must result in the selection's last range being the same object we added assert_equals: getRangeAt(rangeCount - 1) must return the same object we added expected object "Äb̈c̈d̈ëf̈g̈ḧ
-" but got object "Äb̈c̈d̈ëf̈g̈ḧ
-"
-FAIL Range 23 [paras[0], 0, paras[0], 1] followed by Range 32 [document.documentElement, 1, document.body, 0]: modifying the first added range must modify the Selection's last Range assert_equals: After mutating the first added Range, startContainer of the Selection's last Range must match the added Range expected Text node "Äb̈c̈d̈ëf̈g̈ḧ
-" but got Element node <p id="a">Äb̈c̈d̈ëf̈g̈ḧ
-</p>
-FAIL Range 23 [paras[0], 0, paras[0], 1] followed by Range 32 [document.documentElement, 1, document.body, 0]: modifying the Selection's last Range must modify the first added Range assert_equals: After first addRange(), after mutating the Selection's last Range, startOffset of the Selection's last Range must match the added Range expected 0 but got 6
+PASS Range 23 [paras[0], 0, paras[0], 1] followed by Range 32 [document.documentElement, 1, document.body, 0]: first addRange() must result in the selection's last range being the same object we added
+PASS Range 23 [paras[0], 0, paras[0], 1] followed by Range 32 [document.documentElement, 1, document.body, 0]: modifying the first added range must modify the Selection's last Range
+PASS Range 23 [paras[0], 0, paras[0], 1] followed by Range 32 [document.documentElement, 1, document.body, 0]: modifying the Selection's last Range must modify the first added Range
PASS Range 23 [paras[0], 0, paras[0], 1] followed by Range 32 [document.documentElement, 1, document.body, 0]: second addRange() must not throw exceptions or modify the range it's given
PASS Range 23 [paras[0], 0, paras[0], 1] followed by Range 32 [document.documentElement, 1, document.body, 0]: second addRange() must result in rangeCount being 1
FAIL Range 23 [paras[0], 0, paras[0], 1] followed by Range 32 [document.documentElement, 1, document.body, 0]: second addRange() must result in the selection's last range having the specified endpoints assert_equals: startContainer of the Selection's last Range must match the added Range expected Element node <html><head><title>Selection.addRange() tests</title>
-<me... but got Element node <p id="a">Äb̈c̈d̈ëf̈g̈ḧ
-</p>
-FAIL Range 23 [paras[0], 0, paras[0], 1] followed by Range 32 [document.documentElement, 1, document.body, 0]: second addRange() must result in the selection's last range being the same object we added assert_equals: getRangeAt(rangeCount - 1) must return the same object we added expected object "" but got object "Äb̈c̈d̈ëf̈g̈ḧ
+<me... but got Text node "Äb̈c̈d̈ëf̈g̈ḧ
"
-FAIL Range 23 [paras[0], 0, paras[0], 1] followed by Range 32 [document.documentElement, 1, document.body, 0]: modifying the second added range must modify the Selection's last Range assert_equals: After mutating the second added Range, startContainer of the Selection's last Range must match the added Range expected Text node "Äb̈c̈d̈ëf̈g̈ḧ
-" but got Element node <p id="a">Äb̈c̈d̈ëf̈g̈ḧ
-</p>
+FAIL Range 23 [paras[0], 0, paras[0], 1] followed by Range 32 [document.documentElement, 1, document.body, 0]: second addRange() must result in the selection's last range being the same object we added assert_equals: getRangeAt(rangeCount - 1) must return the same object we added expected object "" but got object ""
+FAIL Range 23 [paras[0], 0, paras[0], 1] followed by Range 32 [document.documentElement, 1, document.body, 0]: modifying the second added range must modify the Selection's last Range assert_equals: After mutating the second added Range, startOffset of the Selection's last Range must match the added Range expected 0 but got 6
FAIL Range 23 [paras[0], 0, paras[0], 1] followed by Range 32 [document.documentElement, 1, document.body, 0]: modifying the Selection's last Range must modify the second added Range assert_equals: After second addRange(), after mutating the Selection's last Range, startOffset of the Selection's last Range must match the added Range expected 0 but got 6
PASS Range 23 [paras[0], 0, paras[0], 1] followed by Range 33 [foreignDoc.documentElement, 1, foreignDoc.body, 0]: first addRange() must not throw exceptions or modify the range it's given
PASS Range 23 [paras[0], 0, paras[0], 1] followed by Range 33 [foreignDoc.documentElement, 1, foreignDoc.body, 0]: first addRange() must result in rangeCount being 1
PASS Range 23 [paras[0], 0, paras[0], 1] followed by Range 33 [foreignDoc.documentElement, 1, foreignDoc.body, 0]: first addRange() must result in the selection's last range having the specified endpoints
-FAIL Range 23 [paras[0], 0, paras[0], 1] followed by Range 33 [foreignDoc.documentElement, 1, foreignDoc.body, 0]: first addRange() must result in the selection's last range being the same object we added assert_equals: getRangeAt(rangeCount - 1) must return the same object we added expected object "Äb̈c̈d̈ëf̈g̈ḧ
-" but got object "Äb̈c̈d̈ëf̈g̈ḧ
-"
-FAIL Range 23 [paras[0], 0, paras[0], 1] followed by Range 33 [foreignDoc.documentElement, 1, foreignDoc.body, 0]: modifying the first added range must modify the Selection's last Range assert_equals: After mutating the first added Range, startContainer of the Selection's last Range must match the added Range expected Text node "Äb̈c̈d̈ëf̈g̈ḧ
-" but got Element node <p id="a">Äb̈c̈d̈ëf̈g̈ḧ
-</p>
-FAIL Range 23 [paras[0], 0, paras[0], 1] followed by Range 33 [foreignDoc.documentElement, 1, foreignDoc.body, 0]: modifying the Selection's last Range must modify the first added Range assert_equals: After first addRange(), after mutating the Selection's last Range, startOffset of the Selection's last Range must match the added Range expected 0 but got 6
+PASS Range 23 [paras[0], 0, paras[0], 1] followed by Range 33 [foreignDoc.documentElement, 1, foreignDoc.body, 0]: first addRange() must result in the selection's last range being the same object we added
+PASS Range 23 [paras[0], 0, paras[0], 1] followed by Range 33 [foreignDoc.documentElement, 1, foreignDoc.body, 0]: modifying the first added range must modify the Selection's last Range
+PASS Range 23 [paras[0], 0, paras[0], 1] followed by Range 33 [foreignDoc.documentElement, 1, foreignDoc.body, 0]: modifying the Selection's last Range must modify the first added Range
PASS Range 23 [paras[0], 0, paras[0], 1] followed by Range 33 [foreignDoc.documentElement, 1, foreignDoc.body, 0]: second addRange() must not throw exceptions or modify the range it's given
PASS Range 23 [paras[0], 0, paras[0], 1] followed by Range 33 [foreignDoc.documentElement, 1, foreignDoc.body, 0]: second addRange() must result in rangeCount being 1
-FAIL Range 23 [paras[0], 0, paras[0], 1] followed by Range 33 [foreignDoc.documentElement, 1, foreignDoc.body, 0]: second addRange() must result in the selection's last range having the specified endpoints assert_equals: startContainer of the Selection's last Range must match the added Range expected Element node <html><head><title></title></head><body><p>Efghijkl</p><p... but got Element node <p id="a">Äb̈c̈d̈ëf̈g̈ḧ
-</p>
-FAIL Range 23 [paras[0], 0, paras[0], 1] followed by Range 33 [foreignDoc.documentElement, 1, foreignDoc.body, 0]: second addRange() must result in the selection's last range being the same object we added assert_equals: getRangeAt(rangeCount - 1) must return the same object we added expected object "" but got object "Äb̈c̈d̈ëf̈g̈ḧ
+FAIL Range 23 [paras[0], 0, paras[0], 1] followed by Range 33 [foreignDoc.documentElement, 1, foreignDoc.body, 0]: second addRange() must result in the selection's last range having the specified endpoints assert_equals: startContainer of the Selection's last Range must match the added Range expected Element node <html><head><title></title></head><body><p>Efghijkl</p><p... but got Text node "Äb̈c̈d̈ëf̈g̈ḧ
"
-FAIL Range 23 [paras[0], 0, paras[0], 1] followed by Range 33 [foreignDoc.documentElement, 1, foreignDoc.body, 0]: modifying the second added range must modify the Selection's last Range assert_equals: After mutating the second added Range, startContainer of the Selection's last Range must match the added Range expected Text node "Äb̈c̈d̈ëf̈g̈ḧ
-" but got Element node <p id="a">Äb̈c̈d̈ëf̈g̈ḧ
-</p>
+FAIL Range 23 [paras[0], 0, paras[0], 1] followed by Range 33 [foreignDoc.documentElement, 1, foreignDoc.body, 0]: second addRange() must result in the selection's last range being the same object we added assert_equals: getRangeAt(rangeCount - 1) must return the same object we added expected object "" but got object ""
+FAIL Range 23 [paras[0], 0, paras[0], 1] followed by Range 33 [foreignDoc.documentElement, 1, foreignDoc.body, 0]: modifying the second added range must modify the Selection's last Range assert_equals: After mutating the second added Range, startOffset of the Selection's last Range must match the added Range expected 0 but got 6
FAIL Range 23 [paras[0], 0, paras[0], 1] followed by Range 33 [foreignDoc.documentElement, 1, foreignDoc.body, 0]: modifying the Selection's last Range must modify the second added Range assert_equals: After second addRange(), after mutating the Selection's last Range, startOffset of the Selection's last Range must match the added Range expected 0 but got 6
PASS Range 23 [paras[0], 0, paras[0], 1] followed by Range 34 [document, 0, document, 1]: first addRange() must not throw exceptions or modify the range it's given
PASS Range 23 [paras[0], 0, paras[0], 1] followed by Range 34 [document, 0, document, 1]: first addRange() must result in rangeCount being 1
PASS Range 23 [paras[0], 0, paras[0], 1] followed by Range 34 [document, 0, document, 1]: first addRange() must result in the selection's last range having the specified endpoints
-FAIL Range 23 [paras[0], 0, paras[0], 1] followed by Range 34 [document, 0, document, 1]: first addRange() must result in the selection's last range being the same object we added assert_equals: getRangeAt(rangeCount - 1) must return the same object we added expected object "Äb̈c̈d̈ëf̈g̈ḧ
-" but got object "Äb̈c̈d̈ëf̈g̈ḧ
-"
-FAIL Range 23 [paras[0], 0, paras[0], 1] followed by Range 34 [document, 0, document, 1]: modifying the first added range must modify the Selection's last Range assert_equals: After mutating the first added Range, startContainer of the Selection's last Range must match the added Range expected Text node "Äb̈c̈d̈ëf̈g̈ḧ
-" but got Element node <p id="a">Äb̈c̈d̈ëf̈g̈ḧ
-</p>
-FAIL Range 23 [paras[0], 0, paras[0], 1] followed by Range 34 [document, 0, document, 1]: modifying the Selection's last Range must modify the first added Range assert_equals: After first addRange(), after mutating the Selection's last Range, startOffset of the Selection's last Range must match the added Range expected 0 but got 6
+PASS Range 23 [paras[0], 0, paras[0], 1] followed by Range 34 [document, 0, document, 1]: first addRange() must result in the selection's last range being the same object we added
+PASS Range 23 [paras[0], 0, paras[0], 1] followed by Range 34 [document, 0, document, 1]: modifying the first added range must modify the Selection's last Range
+PASS Range 23 [paras[0], 0, paras[0], 1] followed by Range 34 [document, 0, document, 1]: modifying the Selection's last Range must modify the first added Range
PASS Range 23 [paras[0], 0, paras[0], 1] followed by Range 34 [document, 0, document, 1]: second addRange() must not throw exceptions or modify the range it's given
PASS Range 23 [paras[0], 0, paras[0], 1] followed by Range 34 [document, 0, document, 1]: second addRange() must result in rangeCount being 1
-FAIL Range 23 [paras[0], 0, paras[0], 1] followed by Range 34 [document, 0, document, 1]: second addRange() must result in the selection's last range having the specified endpoints assert_equals: startContainer of the Selection's last Range must match the added Range expected Document node with 2 children but got Element node <p id="a">Äb̈c̈d̈ëf̈g̈ḧ
-</p>
-FAIL Range 23 [paras[0], 0, paras[0], 1] followed by Range 34 [document, 0, document, 1]: second addRange() must result in the selection's last range being the same object we added assert_equals: getRangeAt(rangeCount - 1) must return the same object we added expected object "" but got object "Äb̈c̈d̈ëf̈g̈ḧ
+FAIL Range 23 [paras[0], 0, paras[0], 1] followed by Range 34 [document, 0, document, 1]: second addRange() must result in the selection's last range having the specified endpoints assert_equals: startContainer of the Selection's last Range must match the added Range expected Document node with 2 children but got Text node "Äb̈c̈d̈ëf̈g̈ḧ
"
-FAIL Range 23 [paras[0], 0, paras[0], 1] followed by Range 34 [document, 0, document, 1]: modifying the second added range must modify the Selection's last Range assert_equals: After mutating the second added Range, startContainer of the Selection's last Range must match the added Range expected Text node "Äb̈c̈d̈ëf̈g̈ḧ
-" but got Element node <p id="a">Äb̈c̈d̈ëf̈g̈ḧ
-</p>
+FAIL Range 23 [paras[0], 0, paras[0], 1] followed by Range 34 [document, 0, document, 1]: second addRange() must result in the selection's last range being the same object we added assert_equals: getRangeAt(rangeCount - 1) must return the same object we added expected object "" but got object ""
+FAIL Range 23 [paras[0], 0, paras[0], 1] followed by Range 34 [document, 0, document, 1]: modifying the second added range must modify the Selection's last Range assert_equals: After mutating the second added Range, startOffset of the Selection's last Range must match the added Range expected 0 but got 6
FAIL Range 23 [paras[0], 0, paras[0], 1] followed by Range 34 [document, 0, document, 1]: modifying the Selection's last Range must modify the second added Range assert_equals: After second addRange(), after mutating the Selection's last Range, startOffset of the Selection's last Range must match the added Range expected 0 but got 6
PASS Range 23 [paras[0], 0, paras[0], 1] followed by Range 35 [document, 0, document, 2]: first addRange() must not throw exceptions or modify the range it's given
PASS Range 23 [paras[0], 0, paras[0], 1] followed by Range 35 [document, 0, document, 2]: first addRange() must result in rangeCount being 1
PASS Range 23 [paras[0], 0, paras[0], 1] followed by Range 35 [document, 0, document, 2]: first addRange() must result in the selection's last range having the specified endpoints
-FAIL Range 23 [paras[0], 0, paras[0], 1] followed by Range 35 [document, 0, document, 2]: first addRange() must result in the selection's last range being the same object we added assert_equals: getRangeAt(rangeCount - 1) must return the same object we added expected object "Äb̈c̈d̈ëf̈g̈ḧ
-" but got object "Äb̈c̈d̈ëf̈g̈ḧ
-"
-FAIL Range 23 [paras[0], 0, paras[0], 1] followed by Range 35 [document, 0, document, 2]: modifying the first added range must modify the Selection's last Range assert_equals: After mutating the first added Range, startContainer of the Selection's last Range must match the added Range expected Text node "Äb̈c̈d̈ëf̈g̈ḧ
-" but got Element node <p id="a">Äb̈c̈d̈ëf̈g̈ḧ
-</p>
-FAIL Range 23 [paras[0], 0, paras[0], 1] followed by Range 35 [document, 0, document, 2]: modifying the Selection's last Range must modify the first added Range assert_equals: After first addRange(), after mutating the Selection's last Range, startOffset of the Selection's last Range must match the added Range expected 0 but got 6
+PASS Range 23 [paras[0], 0, paras[0], 1] followed by Range 35 [document, 0, document, 2]: first addRange() must result in the selection's last range being the same object we added
+PASS Range 23 [paras[0], 0, paras[0], 1] followed by Range 35 [document, 0, document, 2]: modifying the first added range must modify the Selection's last Range
+PASS Range 23 [paras[0], 0, paras[0], 1] followed by Range 35 [document, 0, document, 2]: modifying the Selection's last Range must modify the first added Range
PASS Range 23 [paras[0], 0, paras[0], 1] followed by Range 35 [document, 0, document, 2]: second addRange() must not throw exceptions or modify the range it's given
PASS Range 23 [paras[0], 0, paras[0], 1] followed by Range 35 [document, 0, document, 2]: second addRange() must result in rangeCount being 1
PASS Range 23 [paras[0], 0, paras[0], 1] followed by Range 35 [document, 0, document, 2]: second addRange() must result in the selection's last range having the specified endpoints
@@ -3755,13 +2961,9 @@ FAIL Range 23 [paras[0], 0, paras[0], 1] followed by Range 35 [document, 0, docu
PASS Range 23 [paras[0], 0, paras[0], 1] followed by Range 36 [document, 1, document, 2]: first addRange() must not throw exceptions or modify the range it's given
PASS Range 23 [paras[0], 0, paras[0], 1] followed by Range 36 [document, 1, document, 2]: first addRange() must result in rangeCount being 1
PASS Range 23 [paras[0], 0, paras[0], 1] followed by Range 36 [document, 1, document, 2]: first addRange() must result in the selection's last range having the specified endpoints
-FAIL Range 23 [paras[0], 0, paras[0], 1] followed by Range 36 [document, 1, document, 2]: first addRange() must result in the selection's last range being the same object we added assert_equals: getRangeAt(rangeCount - 1) must return the same object we added expected object "Äb̈c̈d̈ëf̈g̈ḧ
-" but got object "Äb̈c̈d̈ëf̈g̈ḧ
-"
-FAIL Range 23 [paras[0], 0, paras[0], 1] followed by Range 36 [document, 1, document, 2]: modifying the first added range must modify the Selection's last Range assert_equals: After mutating the first added Range, startContainer of the Selection's last Range must match the added Range expected Text node "Äb̈c̈d̈ëf̈g̈ḧ
-" but got Element node <p id="a">Äb̈c̈d̈ëf̈g̈ḧ
-</p>
-FAIL Range 23 [paras[0], 0, paras[0], 1] followed by Range 36 [document, 1, document, 2]: modifying the Selection's last Range must modify the first added Range assert_equals: After first addRange(), after mutating the Selection's last Range, startOffset of the Selection's last Range must match the added Range expected 0 but got 6
+PASS Range 23 [paras[0], 0, paras[0], 1] followed by Range 36 [document, 1, document, 2]: first addRange() must result in the selection's last range being the same object we added
+PASS Range 23 [paras[0], 0, paras[0], 1] followed by Range 36 [document, 1, document, 2]: modifying the first added range must modify the Selection's last Range
+PASS Range 23 [paras[0], 0, paras[0], 1] followed by Range 36 [document, 1, document, 2]: modifying the Selection's last Range must modify the first added Range
PASS Range 23 [paras[0], 0, paras[0], 1] followed by Range 36 [document, 1, document, 2]: second addRange() must not throw exceptions or modify the range it's given
PASS Range 23 [paras[0], 0, paras[0], 1] followed by Range 36 [document, 1, document, 2]: second addRange() must result in rangeCount being 1
PASS Range 23 [paras[0], 0, paras[0], 1] followed by Range 36 [document, 1, document, 2]: second addRange() must result in the selection's last range having the specified endpoints
@@ -3800,13 +3002,9 @@ FAIL Range 23 [paras[0], 0, paras[0], 1] followed by Range 36 [document, 1, docu
PASS Range 23 [paras[0], 0, paras[0], 1] followed by Range 37 [testDiv, 0, comment, 5]: first addRange() must not throw exceptions or modify the range it's given
PASS Range 23 [paras[0], 0, paras[0], 1] followed by Range 37 [testDiv, 0, comment, 5]: first addRange() must result in rangeCount being 1
PASS Range 23 [paras[0], 0, paras[0], 1] followed by Range 37 [testDiv, 0, comment, 5]: first addRange() must result in the selection's last range having the specified endpoints
-FAIL Range 23 [paras[0], 0, paras[0], 1] followed by Range 37 [testDiv, 0, comment, 5]: first addRange() must result in the selection's last range being the same object we added assert_equals: getRangeAt(rangeCount - 1) must return the same object we added expected object "Äb̈c̈d̈ëf̈g̈ḧ
-" but got object "Äb̈c̈d̈ëf̈g̈ḧ
-"
-FAIL Range 23 [paras[0], 0, paras[0], 1] followed by Range 37 [testDiv, 0, comment, 5]: modifying the first added range must modify the Selection's last Range assert_equals: After mutating the first added Range, startContainer of the Selection's last Range must match the added Range expected Text node "Äb̈c̈d̈ëf̈g̈ḧ
-" but got Element node <p id="a">Äb̈c̈d̈ëf̈g̈ḧ
-</p>
-FAIL Range 23 [paras[0], 0, paras[0], 1] followed by Range 37 [testDiv, 0, comment, 5]: modifying the Selection's last Range must modify the first added Range assert_equals: After first addRange(), after mutating the Selection's last Range, startOffset of the Selection's last Range must match the added Range expected 0 but got 6
+PASS Range 23 [paras[0], 0, paras[0], 1] followed by Range 37 [testDiv, 0, comment, 5]: first addRange() must result in the selection's last range being the same object we added
+PASS Range 23 [paras[0], 0, paras[0], 1] followed by Range 37 [testDiv, 0, comment, 5]: modifying the first added range must modify the Selection's last Range
+PASS Range 23 [paras[0], 0, paras[0], 1] followed by Range 37 [testDiv, 0, comment, 5]: modifying the Selection's last Range must modify the first added Range
PASS Range 23 [paras[0], 0, paras[0], 1] followed by Range 37 [testDiv, 0, comment, 5]: second addRange() must not throw exceptions or modify the range it's given
PASS Range 23 [paras[0], 0, paras[0], 1] followed by Range 37 [testDiv, 0, comment, 5]: second addRange() must result in rangeCount being 1
FAIL Range 23 [paras[0], 0, paras[0], 1] followed by Range 37 [testDiv, 0, comment, 5]: second addRange() must result in the selection's last range having the specified endpoints assert_equals: endContainer of the Selection's last Range must match the added Range expected Comment node <!--Alphabet soup?--> but got Element node <div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ
@@ -3823,402 +3021,262 @@ FAIL Range 23 [paras[0], 0, paras[0], 1] followed by Range 37 [testDiv, 0, comme
PASS Range 23 [paras[0], 0, paras[0], 1] followed by Range 38 [paras[2].firstChild, 4, comment, 2]: first addRange() must not throw exceptions or modify the range it's given
PASS Range 23 [paras[0], 0, paras[0], 1] followed by Range 38 [paras[2].firstChild, 4, comment, 2]: first addRange() must result in rangeCount being 1
PASS Range 23 [paras[0], 0, paras[0], 1] followed by Range 38 [paras[2].firstChild, 4, comment, 2]: first addRange() must result in the selection's last range having the specified endpoints
-FAIL Range 23 [paras[0], 0, paras[0], 1] followed by Range 38 [paras[2].firstChild, 4, comment, 2]: first addRange() must result in the selection's last range being the same object we added assert_equals: getRangeAt(rangeCount - 1) must return the same object we added expected object "Äb̈c̈d̈ëf̈g̈ḧ
-" but got object "Äb̈c̈d̈ëf̈g̈ḧ
-"
-FAIL Range 23 [paras[0], 0, paras[0], 1] followed by Range 38 [paras[2].firstChild, 4, comment, 2]: modifying the first added range must modify the Selection's last Range assert_equals: After mutating the first added Range, startContainer of the Selection's last Range must match the added Range expected Text node "Äb̈c̈d̈ëf̈g̈ḧ
-" but got Element node <p id="a">Äb̈c̈d̈ëf̈g̈ḧ
-</p>
-FAIL Range 23 [paras[0], 0, paras[0], 1] followed by Range 38 [paras[2].firstChild, 4, comment, 2]: modifying the Selection's last Range must modify the first added Range assert_equals: After first addRange(), after mutating the Selection's last Range, startOffset of the Selection's last Range must match the added Range expected 0 but got 6
+PASS Range 23 [paras[0], 0, paras[0], 1] followed by Range 38 [paras[2].firstChild, 4, comment, 2]: first addRange() must result in the selection's last range being the same object we added
+PASS Range 23 [paras[0], 0, paras[0], 1] followed by Range 38 [paras[2].firstChild, 4, comment, 2]: modifying the first added range must modify the Selection's last Range
+PASS Range 23 [paras[0], 0, paras[0], 1] followed by Range 38 [paras[2].firstChild, 4, comment, 2]: modifying the Selection's last Range must modify the first added Range
PASS Range 23 [paras[0], 0, paras[0], 1] followed by Range 38 [paras[2].firstChild, 4, comment, 2]: second addRange() must not throw exceptions or modify the range it's given
PASS Range 23 [paras[0], 0, paras[0], 1] followed by Range 38 [paras[2].firstChild, 4, comment, 2]: second addRange() must result in rangeCount being 1
-FAIL Range 23 [paras[0], 0, paras[0], 1] followed by Range 38 [paras[2].firstChild, 4, comment, 2]: second addRange() must result in the selection's last range having the specified endpoints assert_equals: startContainer of the Selection's last Range must match the added Range expected Text node "Qrstuvwx" but got Element node <p id="a">Äb̈c̈d̈ëf̈g̈ḧ
-</p>
-FAIL Range 23 [paras[0], 0, paras[0], 1] followed by Range 38 [paras[2].firstChild, 4, comment, 2]: second addRange() must result in the selection's last range being the same object we added assert_equals: getRangeAt(rangeCount - 1) must return the same object we added expected object "uvwxYzabcdefGhijklmn" but got object "Äb̈c̈d̈ëf̈g̈ḧ
+FAIL Range 23 [paras[0], 0, paras[0], 1] followed by Range 38 [paras[2].firstChild, 4, comment, 2]: second addRange() must result in the selection's last range having the specified endpoints assert_equals: startContainer of the Selection's last Range must match the added Range expected Text node "Qrstuvwx" but got Text node "Äb̈c̈d̈ëf̈g̈ḧ
"
-FAIL Range 23 [paras[0], 0, paras[0], 1] followed by Range 38 [paras[2].firstChild, 4, comment, 2]: modifying the second added range must modify the Selection's last Range assert_equals: After mutating the second added Range, startContainer of the Selection's last Range must match the added Range expected Text node "Äb̈c̈d̈ëf̈g̈ḧ
-" but got Element node <p id="a">Äb̈c̈d̈ëf̈g̈ḧ
-</p>
+FAIL Range 23 [paras[0], 0, paras[0], 1] followed by Range 38 [paras[2].firstChild, 4, comment, 2]: second addRange() must result in the selection's last range being the same object we added assert_equals: getRangeAt(rangeCount - 1) must return the same object we added expected object "uvwxYzabcdefGhijklmn" but got object ""
+FAIL Range 23 [paras[0], 0, paras[0], 1] followed by Range 38 [paras[2].firstChild, 4, comment, 2]: modifying the second added range must modify the Selection's last Range assert_equals: After mutating the second added Range, startOffset of the Selection's last Range must match the added Range expected 0 but got 6
FAIL Range 23 [paras[0], 0, paras[0], 1] followed by Range 38 [paras[2].firstChild, 4, comment, 2]: modifying the Selection's last Range must modify the second added Range assert_equals: After second addRange(), after mutating the Selection's last Range, startOffset of the Selection's last Range must match the added Range expected 0 but got 6
PASS Range 23 [paras[0], 0, paras[0], 1] followed by Range 39 [paras[3], 1, comment, 8]: first addRange() must not throw exceptions or modify the range it's given
PASS Range 23 [paras[0], 0, paras[0], 1] followed by Range 39 [paras[3], 1, comment, 8]: first addRange() must result in rangeCount being 1
PASS Range 23 [paras[0], 0, paras[0], 1] followed by Range 39 [paras[3], 1, comment, 8]: first addRange() must result in the selection's last range having the specified endpoints
-FAIL Range 23 [paras[0], 0, paras[0], 1] followed by Range 39 [paras[3], 1, comment, 8]: first addRange() must result in the selection's last range being the same object we added assert_equals: getRangeAt(rangeCount - 1) must return the same object we added expected object "Äb̈c̈d̈ëf̈g̈ḧ
-" but got object "Äb̈c̈d̈ëf̈g̈ḧ
-"
-FAIL Range 23 [paras[0], 0, paras[0], 1] followed by Range 39 [paras[3], 1, comment, 8]: modifying the first added range must modify the Selection's last Range assert_equals: After mutating the first added Range, startContainer of the Selection's last Range must match the added Range expected Text node "Äb̈c̈d̈ëf̈g̈ḧ
-" but got Element node <p id="a">Äb̈c̈d̈ëf̈g̈ḧ
-</p>
-FAIL Range 23 [paras[0], 0, paras[0], 1] followed by Range 39 [paras[3], 1, comment, 8]: modifying the Selection's last Range must modify the first added Range assert_equals: After first addRange(), after mutating the Selection's last Range, startOffset of the Selection's last Range must match the added Range expected 0 but got 6
+PASS Range 23 [paras[0], 0, paras[0], 1] followed by Range 39 [paras[3], 1, comment, 8]: first addRange() must result in the selection's last range being the same object we added
+PASS Range 23 [paras[0], 0, paras[0], 1] followed by Range 39 [paras[3], 1, comment, 8]: modifying the first added range must modify the Selection's last Range
+PASS Range 23 [paras[0], 0, paras[0], 1] followed by Range 39 [paras[3], 1, comment, 8]: modifying the Selection's last Range must modify the first added Range
PASS Range 23 [paras[0], 0, paras[0], 1] followed by Range 39 [paras[3], 1, comment, 8]: second addRange() must not throw exceptions or modify the range it's given
PASS Range 23 [paras[0], 0, paras[0], 1] followed by Range 39 [paras[3], 1, comment, 8]: second addRange() must result in rangeCount being 1
-FAIL Range 23 [paras[0], 0, paras[0], 1] followed by Range 39 [paras[3], 1, comment, 8]: second addRange() must result in the selection's last range having the specified endpoints assert_equals: startContainer of the Selection's last Range must match the added Range expected Element node <p id="d" style="display:none">Yzabcdef</p> but got Element node <p id="a">Äb̈c̈d̈ëf̈g̈ḧ
-</p>
-FAIL Range 23 [paras[0], 0, paras[0], 1] followed by Range 39 [paras[3], 1, comment, 8]: second addRange() must result in the selection's last range being the same object we added assert_equals: getRangeAt(rangeCount - 1) must return the same object we added expected object "Ghijklmn" but got object "Äb̈c̈d̈ëf̈g̈ḧ
+FAIL Range 23 [paras[0], 0, paras[0], 1] followed by Range 39 [paras[3], 1, comment, 8]: second addRange() must result in the selection's last range having the specified endpoints assert_equals: startContainer of the Selection's last Range must match the added Range expected Element node <p id="d" style="display:none">Yzabcdef</p> but got Text node "Äb̈c̈d̈ëf̈g̈ḧ
"
-FAIL Range 23 [paras[0], 0, paras[0], 1] followed by Range 39 [paras[3], 1, comment, 8]: modifying the second added range must modify the Selection's last Range assert_equals: After mutating the second added Range, startContainer of the Selection's last Range must match the added Range expected Text node "Äb̈c̈d̈ëf̈g̈ḧ
-" but got Element node <p id="a">Äb̈c̈d̈ëf̈g̈ḧ
-</p>
+FAIL Range 23 [paras[0], 0, paras[0], 1] followed by Range 39 [paras[3], 1, comment, 8]: second addRange() must result in the selection's last range being the same object we added assert_equals: getRangeAt(rangeCount - 1) must return the same object we added expected object "Ghijklmn" but got object ""
+FAIL Range 23 [paras[0], 0, paras[0], 1] followed by Range 39 [paras[3], 1, comment, 8]: modifying the second added range must modify the Selection's last Range assert_equals: After mutating the second added Range, startOffset of the Selection's last Range must match the added Range expected 0 but got 6
FAIL Range 23 [paras[0], 0, paras[0], 1] followed by Range 39 [paras[3], 1, comment, 8]: modifying the Selection's last Range must modify the second added Range assert_equals: After second addRange(), after mutating the Selection's last Range, startOffset of the Selection's last Range must match the added Range expected 0 but got 6
PASS Range 23 [paras[0], 0, paras[0], 1] followed by Range 40 [foreignDoc, 0, foreignDoc, 0]: first addRange() must not throw exceptions or modify the range it's given
PASS Range 23 [paras[0], 0, paras[0], 1] followed by Range 40 [foreignDoc, 0, foreignDoc, 0]: first addRange() must result in rangeCount being 1
PASS Range 23 [paras[0], 0, paras[0], 1] followed by Range 40 [foreignDoc, 0, foreignDoc, 0]: first addRange() must result in the selection's last range having the specified endpoints
-FAIL Range 23 [paras[0], 0, paras[0], 1] followed by Range 40 [foreignDoc, 0, foreignDoc, 0]: first addRange() must result in the selection's last range being the same object we added assert_equals: getRangeAt(rangeCount - 1) must return the same object we added expected object "Äb̈c̈d̈ëf̈g̈ḧ
-" but got object "Äb̈c̈d̈ëf̈g̈ḧ
-"
-FAIL Range 23 [paras[0], 0, paras[0], 1] followed by Range 40 [foreignDoc, 0, foreignDoc, 0]: modifying the first added range must modify the Selection's last Range assert_equals: After mutating the first added Range, startContainer of the Selection's last Range must match the added Range expected Text node "Äb̈c̈d̈ëf̈g̈ḧ
-" but got Element node <p id="a">Äb̈c̈d̈ëf̈g̈ḧ
-</p>
-FAIL Range 23 [paras[0], 0, paras[0], 1] followed by Range 40 [foreignDoc, 0, foreignDoc, 0]: modifying the Selection's last Range must modify the first added Range assert_equals: After first addRange(), after mutating the Selection's last Range, startOffset of the Selection's last Range must match the added Range expected 0 but got 6
+PASS Range 23 [paras[0], 0, paras[0], 1] followed by Range 40 [foreignDoc, 0, foreignDoc, 0]: first addRange() must result in the selection's last range being the same object we added
+PASS Range 23 [paras[0], 0, paras[0], 1] followed by Range 40 [foreignDoc, 0, foreignDoc, 0]: modifying the first added range must modify the Selection's last Range
+PASS Range 23 [paras[0], 0, paras[0], 1] followed by Range 40 [foreignDoc, 0, foreignDoc, 0]: modifying the Selection's last Range must modify the first added Range
PASS Range 23 [paras[0], 0, paras[0], 1] followed by Range 40 [foreignDoc, 0, foreignDoc, 0]: second addRange() must not throw exceptions or modify the range it's given
PASS Range 23 [paras[0], 0, paras[0], 1] followed by Range 40 [foreignDoc, 0, foreignDoc, 0]: second addRange() must result in rangeCount being 1
-FAIL Range 23 [paras[0], 0, paras[0], 1] followed by Range 40 [foreignDoc, 0, foreignDoc, 0]: second addRange() must result in the selection's last range having the specified endpoints assert_equals: startContainer of the Selection's last Range must match the added Range expected Document node with 3 children but got Element node <p id="a">Äb̈c̈d̈ëf̈g̈ḧ
-</p>
-FAIL Range 23 [paras[0], 0, paras[0], 1] followed by Range 40 [foreignDoc, 0, foreignDoc, 0]: second addRange() must result in the selection's last range being the same object we added assert_equals: getRangeAt(rangeCount - 1) must return the same object we added expected object "" but got object "Äb̈c̈d̈ëf̈g̈ḧ
+FAIL Range 23 [paras[0], 0, paras[0], 1] followed by Range 40 [foreignDoc, 0, foreignDoc, 0]: second addRange() must result in the selection's last range having the specified endpoints assert_equals: startContainer of the Selection's last Range must match the added Range expected Document node with 3 children but got Text node "Äb̈c̈d̈ëf̈g̈ḧ
"
-FAIL Range 23 [paras[0], 0, paras[0], 1] followed by Range 40 [foreignDoc, 0, foreignDoc, 0]: modifying the second added range must modify the Selection's last Range assert_equals: After mutating the second added Range, startContainer of the Selection's last Range must match the added Range expected Text node "Äb̈c̈d̈ëf̈g̈ḧ
-" but got Element node <p id="a">Äb̈c̈d̈ëf̈g̈ḧ
-</p>
+FAIL Range 23 [paras[0], 0, paras[0], 1] followed by Range 40 [foreignDoc, 0, foreignDoc, 0]: second addRange() must result in the selection's last range being the same object we added assert_equals: getRangeAt(rangeCount - 1) must return the same object we added expected object "" but got object ""
+FAIL Range 23 [paras[0], 0, paras[0], 1] followed by Range 40 [foreignDoc, 0, foreignDoc, 0]: modifying the second added range must modify the Selection's last Range assert_equals: After mutating the second added Range, startOffset of the Selection's last Range must match the added Range expected 0 but got 6
FAIL Range 23 [paras[0], 0, paras[0], 1] followed by Range 40 [foreignDoc, 0, foreignDoc, 0]: modifying the Selection's last Range must modify the second added Range assert_equals: After second addRange(), after mutating the Selection's last Range, startOffset of the Selection's last Range must match the added Range expected 0 but got 6
PASS Range 23 [paras[0], 0, paras[0], 1] followed by Range 41 [foreignDoc, 1, foreignComment, 2]: first addRange() must not throw exceptions or modify the range it's given
PASS Range 23 [paras[0], 0, paras[0], 1] followed by Range 41 [foreignDoc, 1, foreignComment, 2]: first addRange() must result in rangeCount being 1
PASS Range 23 [paras[0], 0, paras[0], 1] followed by Range 41 [foreignDoc, 1, foreignComment, 2]: first addRange() must result in the selection's last range having the specified endpoints
-FAIL Range 23 [paras[0], 0, paras[0], 1] followed by Range 41 [foreignDoc, 1, foreignComment, 2]: first addRange() must result in the selection's last range being the same object we added assert_equals: getRangeAt(rangeCount - 1) must return the same object we added expected object "Äb̈c̈d̈ëf̈g̈ḧ
-" but got object "Äb̈c̈d̈ëf̈g̈ḧ
-"
-FAIL Range 23 [paras[0], 0, paras[0], 1] followed by Range 41 [foreignDoc, 1, foreignComment, 2]: modifying the first added range must modify the Selection's last Range assert_equals: After mutating the first added Range, startContainer of the Selection's last Range must match the added Range expected Text node "Äb̈c̈d̈ëf̈g̈ḧ
-" but got Element node <p id="a">Äb̈c̈d̈ëf̈g̈ḧ
-</p>
-FAIL Range 23 [paras[0], 0, paras[0], 1] followed by Range 41 [foreignDoc, 1, foreignComment, 2]: modifying the Selection's last Range must modify the first added Range assert_equals: After first addRange(), after mutating the Selection's last Range, startOffset of the Selection's last Range must match the added Range expected 0 but got 6
+PASS Range 23 [paras[0], 0, paras[0], 1] followed by Range 41 [foreignDoc, 1, foreignComment, 2]: first addRange() must result in the selection's last range being the same object we added
+PASS Range 23 [paras[0], 0, paras[0], 1] followed by Range 41 [foreignDoc, 1, foreignComment, 2]: modifying the first added range must modify the Selection's last Range
+PASS Range 23 [paras[0], 0, paras[0], 1] followed by Range 41 [foreignDoc, 1, foreignComment, 2]: modifying the Selection's last Range must modify the first added Range
PASS Range 23 [paras[0], 0, paras[0], 1] followed by Range 41 [foreignDoc, 1, foreignComment, 2]: second addRange() must not throw exceptions or modify the range it's given
PASS Range 23 [paras[0], 0, paras[0], 1] followed by Range 41 [foreignDoc, 1, foreignComment, 2]: second addRange() must result in rangeCount being 1
-FAIL Range 23 [paras[0], 0, paras[0], 1] followed by Range 41 [foreignDoc, 1, foreignComment, 2]: second addRange() must result in the selection's last range having the specified endpoints assert_equals: startContainer of the Selection's last Range must match the added Range expected Document node with 3 children but got Element node <p id="a">Äb̈c̈d̈ëf̈g̈ḧ
-</p>
-FAIL Range 23 [paras[0], 0, paras[0], 1] followed by Range 41 [foreignDoc, 1, foreignComment, 2]: second addRange() must result in the selection's last range being the same object we added assert_equals: getRangeAt(rangeCount - 1) must return the same object we added expected object "EfghijklMnopqrstI admit that I harbor doubts about whether we really need so many things to test, but it's too late to stop now." but got object "Äb̈c̈d̈ëf̈g̈ḧ
+FAIL Range 23 [paras[0], 0, paras[0], 1] followed by Range 41 [foreignDoc, 1, foreignComment, 2]: second addRange() must result in the selection's last range having the specified endpoints assert_equals: startContainer of the Selection's last Range must match the added Range expected Document node with 3 children but got Text node "Äb̈c̈d̈ëf̈g̈ḧ
"
-FAIL Range 23 [paras[0], 0, paras[0], 1] followed by Range 41 [foreignDoc, 1, foreignComment, 2]: modifying the second added range must modify the Selection's last Range assert_equals: After mutating the second added Range, startContainer of the Selection's last Range must match the added Range expected Text node "Äb̈c̈d̈ëf̈g̈ḧ
-" but got Element node <p id="a">Äb̈c̈d̈ëf̈g̈ḧ
-</p>
+FAIL Range 23 [paras[0], 0, paras[0], 1] followed by Range 41 [foreignDoc, 1, foreignComment, 2]: second addRange() must result in the selection's last range being the same object we added assert_equals: getRangeAt(rangeCount - 1) must return the same object we added expected object "EfghijklMnopqrstI admit that I harbor doubts about whether we really need so many things to test, but it's too late to stop now." but got object ""
+FAIL Range 23 [paras[0], 0, paras[0], 1] followed by Range 41 [foreignDoc, 1, foreignComment, 2]: modifying the second added range must modify the Selection's last Range assert_equals: After mutating the second added Range, startOffset of the Selection's last Range must match the added Range expected 0 but got 6
FAIL Range 23 [paras[0], 0, paras[0], 1] followed by Range 41 [foreignDoc, 1, foreignComment, 2]: modifying the Selection's last Range must modify the second added Range assert_equals: After second addRange(), after mutating the Selection's last Range, startOffset of the Selection's last Range must match the added Range expected 0 but got 6
PASS Range 23 [paras[0], 0, paras[0], 1] followed by Range 42 [foreignDoc.body, 0, foreignTextNode, 36]: first addRange() must not throw exceptions or modify the range it's given
PASS Range 23 [paras[0], 0, paras[0], 1] followed by Range 42 [foreignDoc.body, 0, foreignTextNode, 36]: first addRange() must result in rangeCount being 1
PASS Range 23 [paras[0], 0, paras[0], 1] followed by Range 42 [foreignDoc.body, 0, foreignTextNode, 36]: first addRange() must result in the selection's last range having the specified endpoints
-FAIL Range 23 [paras[0], 0, paras[0], 1] followed by Range 42 [foreignDoc.body, 0, foreignTextNode, 36]: first addRange() must result in the selection's last range being the same object we added assert_equals: getRangeAt(rangeCount - 1) must return the same object we added expected object "Äb̈c̈d̈ëf̈g̈ḧ
-" but got object "Äb̈c̈d̈ëf̈g̈ḧ
-"
-FAIL Range 23 [paras[0], 0, paras[0], 1] followed by Range 42 [foreignDoc.body, 0, foreignTextNode, 36]: modifying the first added range must modify the Selection's last Range assert_equals: After mutating the first added Range, startContainer of the Selection's last Range must match the added Range expected Text node "Äb̈c̈d̈ëf̈g̈ḧ
-" but got Element node <p id="a">Äb̈c̈d̈ëf̈g̈ḧ
-</p>
-FAIL Range 23 [paras[0], 0, paras[0], 1] followed by Range 42 [foreignDoc.body, 0, foreignTextNode, 36]: modifying the Selection's last Range must modify the first added Range assert_equals: After first addRange(), after mutating the Selection's last Range, startOffset of the Selection's last Range must match the added Range expected 0 but got 6
+PASS Range 23 [paras[0], 0, paras[0], 1] followed by Range 42 [foreignDoc.body, 0, foreignTextNode, 36]: first addRange() must result in the selection's last range being the same object we added
+PASS Range 23 [paras[0], 0, paras[0], 1] followed by Range 42 [foreignDoc.body, 0, foreignTextNode, 36]: modifying the first added range must modify the Selection's last Range
+PASS Range 23 [paras[0], 0, paras[0], 1] followed by Range 42 [foreignDoc.body, 0, foreignTextNode, 36]: modifying the Selection's last Range must modify the first added Range
PASS Range 23 [paras[0], 0, paras[0], 1] followed by Range 42 [foreignDoc.body, 0, foreignTextNode, 36]: second addRange() must not throw exceptions or modify the range it's given
PASS Range 23 [paras[0], 0, paras[0], 1] followed by Range 42 [foreignDoc.body, 0, foreignTextNode, 36]: second addRange() must result in rangeCount being 1
-FAIL Range 23 [paras[0], 0, paras[0], 1] followed by Range 42 [foreignDoc.body, 0, foreignTextNode, 36]: second addRange() must result in the selection's last range having the specified endpoints assert_equals: startContainer of the Selection's last Range must match the added Range expected Element node <body><p>Efghijkl</p><p>Mnopqrst</p>I admit that I harbor... but got Element node <p id="a">Äb̈c̈d̈ëf̈g̈ḧ
-</p>
-FAIL Range 23 [paras[0], 0, paras[0], 1] followed by Range 42 [foreignDoc.body, 0, foreignTextNode, 36]: second addRange() must result in the selection's last range being the same object we added assert_equals: getRangeAt(rangeCount - 1) must return the same object we added expected object "EfghijklMnopqrstI admit that I harbor doubts about w" but got object "Äb̈c̈d̈ëf̈g̈ḧ
+FAIL Range 23 [paras[0], 0, paras[0], 1] followed by Range 42 [foreignDoc.body, 0, foreignTextNode, 36]: second addRange() must result in the selection's last range having the specified endpoints assert_equals: startContainer of the Selection's last Range must match the added Range expected Element node <body><p>Efghijkl</p><p>Mnopqrst</p>I admit that I harbor... but got Text node "Äb̈c̈d̈ëf̈g̈ḧ
"
-FAIL Range 23 [paras[0], 0, paras[0], 1] followed by Range 42 [foreignDoc.body, 0, foreignTextNode, 36]: modifying the second added range must modify the Selection's last Range assert_equals: After mutating the second added Range, startContainer of the Selection's last Range must match the added Range expected Text node "Äb̈c̈d̈ëf̈g̈ḧ
-" but got Element node <p id="a">Äb̈c̈d̈ëf̈g̈ḧ
-</p>
+FAIL Range 23 [paras[0], 0, paras[0], 1] followed by Range 42 [foreignDoc.body, 0, foreignTextNode, 36]: second addRange() must result in the selection's last range being the same object we added assert_equals: getRangeAt(rangeCount - 1) must return the same object we added expected object "EfghijklMnopqrstI admit that I harbor doubts about w" but got object ""
+FAIL Range 23 [paras[0], 0, paras[0], 1] followed by Range 42 [foreignDoc.body, 0, foreignTextNode, 36]: modifying the second added range must modify the Selection's last Range assert_equals: After mutating the second added Range, startOffset of the Selection's last Range must match the added Range expected 0 but got 6
FAIL Range 23 [paras[0], 0, paras[0], 1] followed by Range 42 [foreignDoc.body, 0, foreignTextNode, 36]: modifying the Selection's last Range must modify the second added Range assert_equals: After second addRange(), after mutating the Selection's last Range, startOffset of the Selection's last Range must match the added Range expected 0 but got 6
PASS Range 23 [paras[0], 0, paras[0], 1] followed by Range 43 [xmlDoc, 0, xmlDoc, 0]: first addRange() must not throw exceptions or modify the range it's given
PASS Range 23 [paras[0], 0, paras[0], 1] followed by Range 43 [xmlDoc, 0, xmlDoc, 0]: first addRange() must result in rangeCount being 1
PASS Range 23 [paras[0], 0, paras[0], 1] followed by Range 43 [xmlDoc, 0, xmlDoc, 0]: first addRange() must result in the selection's last range having the specified endpoints
-FAIL Range 23 [paras[0], 0, paras[0], 1] followed by Range 43 [xmlDoc, 0, xmlDoc, 0]: first addRange() must result in the selection's last range being the same object we added assert_equals: getRangeAt(rangeCount - 1) must return the same object we added expected object "Äb̈c̈d̈ëf̈g̈ḧ
-" but got object "Äb̈c̈d̈ëf̈g̈ḧ
-"
-FAIL Range 23 [paras[0], 0, paras[0], 1] followed by Range 43 [xmlDoc, 0, xmlDoc, 0]: modifying the first added range must modify the Selection's last Range assert_equals: After mutating the first added Range, startContainer of the Selection's last Range must match the added Range expected Text node "Äb̈c̈d̈ëf̈g̈ḧ
-" but got Element node <p id="a">Äb̈c̈d̈ëf̈g̈ḧ
-</p>
-FAIL Range 23 [paras[0], 0, paras[0], 1] followed by Range 43 [xmlDoc, 0, xmlDoc, 0]: modifying the Selection's last Range must modify the first added Range assert_equals: After first addRange(), after mutating the Selection's last Range, startOffset of the Selection's last Range must match the added Range expected 0 but got 6
+PASS Range 23 [paras[0], 0, paras[0], 1] followed by Range 43 [xmlDoc, 0, xmlDoc, 0]: first addRange() must result in the selection's last range being the same object we added
+PASS Range 23 [paras[0], 0, paras[0], 1] followed by Range 43 [xmlDoc, 0, xmlDoc, 0]: modifying the first added range must modify the Selection's last Range
+PASS Range 23 [paras[0], 0, paras[0], 1] followed by Range 43 [xmlDoc, 0, xmlDoc, 0]: modifying the Selection's last Range must modify the first added Range
PASS Range 23 [paras[0], 0, paras[0], 1] followed by Range 43 [xmlDoc, 0, xmlDoc, 0]: second addRange() must not throw exceptions or modify the range it's given
PASS Range 23 [paras[0], 0, paras[0], 1] followed by Range 43 [xmlDoc, 0, xmlDoc, 0]: second addRange() must result in rangeCount being 1
-FAIL Range 23 [paras[0], 0, paras[0], 1] followed by Range 43 [xmlDoc, 0, xmlDoc, 0]: second addRange() must result in the selection's last range having the specified endpoints assert_equals: startContainer of the Selection's last Range must match the added Range expected Document node with 4 children but got Element node <p id="a">Äb̈c̈d̈ëf̈g̈ḧ
-</p>
-FAIL Range 23 [paras[0], 0, paras[0], 1] followed by Range 43 [xmlDoc, 0, xmlDoc, 0]: second addRange() must result in the selection's last range being the same object we added assert_equals: getRangeAt(rangeCount - 1) must return the same object we added expected object "" but got object "Äb̈c̈d̈ëf̈g̈ḧ
+FAIL Range 23 [paras[0], 0, paras[0], 1] followed by Range 43 [xmlDoc, 0, xmlDoc, 0]: second addRange() must result in the selection's last range having the specified endpoints assert_equals: startContainer of the Selection's last Range must match the added Range expected Document node with 4 children but got Text node "Äb̈c̈d̈ëf̈g̈ḧ
"
-FAIL Range 23 [paras[0], 0, paras[0], 1] followed by Range 43 [xmlDoc, 0, xmlDoc, 0]: modifying the second added range must modify the Selection's last Range assert_equals: After mutating the second added Range, startContainer of the Selection's last Range must match the added Range expected Text node "Äb̈c̈d̈ëf̈g̈ḧ
-" but got Element node <p id="a">Äb̈c̈d̈ëf̈g̈ḧ
-</p>
+FAIL Range 23 [paras[0], 0, paras[0], 1] followed by Range 43 [xmlDoc, 0, xmlDoc, 0]: second addRange() must result in the selection's last range being the same object we added assert_equals: getRangeAt(rangeCount - 1) must return the same object we added expected object "" but got object ""
+FAIL Range 23 [paras[0], 0, paras[0], 1] followed by Range 43 [xmlDoc, 0, xmlDoc, 0]: modifying the second added range must modify the Selection's last Range assert_equals: After mutating the second added Range, startOffset of the Selection's last Range must match the added Range expected 0 but got 6
FAIL Range 23 [paras[0], 0, paras[0], 1] followed by Range 43 [xmlDoc, 0, xmlDoc, 0]: modifying the Selection's last Range must modify the second added Range assert_equals: After second addRange(), after mutating the Selection's last Range, startOffset of the Selection's last Range must match the added Range expected 0 but got 6
PASS Range 23 [paras[0], 0, paras[0], 1] followed by Range 44 [xmlDoc, 1, xmlComment, 0]: first addRange() must not throw exceptions or modify the range it's given
PASS Range 23 [paras[0], 0, paras[0], 1] followed by Range 44 [xmlDoc, 1, xmlComment, 0]: first addRange() must result in rangeCount being 1
PASS Range 23 [paras[0], 0, paras[0], 1] followed by Range 44 [xmlDoc, 1, xmlComment, 0]: first addRange() must result in the selection's last range having the specified endpoints
-FAIL Range 23 [paras[0], 0, paras[0], 1] followed by Range 44 [xmlDoc, 1, xmlComment, 0]: first addRange() must result in the selection's last range being the same object we added assert_equals: getRangeAt(rangeCount - 1) must return the same object we added expected object "Äb̈c̈d̈ëf̈g̈ḧ
-" but got object "Äb̈c̈d̈ëf̈g̈ḧ
-"
-FAIL Range 23 [paras[0], 0, paras[0], 1] followed by Range 44 [xmlDoc, 1, xmlComment, 0]: modifying the first added range must modify the Selection's last Range assert_equals: After mutating the first added Range, startContainer of the Selection's last Range must match the added Range expected Text node "Äb̈c̈d̈ëf̈g̈ḧ
-" but got Element node <p id="a">Äb̈c̈d̈ëf̈g̈ḧ
-</p>
-FAIL Range 23 [paras[0], 0, paras[0], 1] followed by Range 44 [xmlDoc, 1, xmlComment, 0]: modifying the Selection's last Range must modify the first added Range assert_equals: After first addRange(), after mutating the Selection's last Range, startOffset of the Selection's last Range must match the added Range expected 0 but got 6
+PASS Range 23 [paras[0], 0, paras[0], 1] followed by Range 44 [xmlDoc, 1, xmlComment, 0]: first addRange() must result in the selection's last range being the same object we added
+PASS Range 23 [paras[0], 0, paras[0], 1] followed by Range 44 [xmlDoc, 1, xmlComment, 0]: modifying the first added range must modify the Selection's last Range
+PASS Range 23 [paras[0], 0, paras[0], 1] followed by Range 44 [xmlDoc, 1, xmlComment, 0]: modifying the Selection's last Range must modify the first added Range
PASS Range 23 [paras[0], 0, paras[0], 1] followed by Range 44 [xmlDoc, 1, xmlComment, 0]: second addRange() must not throw exceptions or modify the range it's given
PASS Range 23 [paras[0], 0, paras[0], 1] followed by Range 44 [xmlDoc, 1, xmlComment, 0]: second addRange() must result in rangeCount being 1
-FAIL Range 23 [paras[0], 0, paras[0], 1] followed by Range 44 [xmlDoc, 1, xmlComment, 0]: second addRange() must result in the selection's last range having the specified endpoints assert_equals: startContainer of the Selection's last Range must match the added Range expected Document node with 4 children but got Element node <p id="a">Äb̈c̈d̈ëf̈g̈ḧ
-</p>
-FAIL Range 23 [paras[0], 0, paras[0], 1] followed by Range 44 [xmlDoc, 1, xmlComment, 0]: second addRange() must result in the selection's last range being the same object we added assert_equals: getRangeAt(rangeCount - 1) must return the same object we added expected object "do re mi fa so la ti" but got object "Äb̈c̈d̈ëf̈g̈ḧ
+FAIL Range 23 [paras[0], 0, paras[0], 1] followed by Range 44 [xmlDoc, 1, xmlComment, 0]: second addRange() must result in the selection's last range having the specified endpoints assert_equals: startContainer of the Selection's last Range must match the added Range expected Document node with 4 children but got Text node "Äb̈c̈d̈ëf̈g̈ḧ
"
-FAIL Range 23 [paras[0], 0, paras[0], 1] followed by Range 44 [xmlDoc, 1, xmlComment, 0]: modifying the second added range must modify the Selection's last Range assert_equals: After mutating the second added Range, startContainer of the Selection's last Range must match the added Range expected Text node "Äb̈c̈d̈ëf̈g̈ḧ
-" but got Element node <p id="a">Äb̈c̈d̈ëf̈g̈ḧ
-</p>
+FAIL Range 23 [paras[0], 0, paras[0], 1] followed by Range 44 [xmlDoc, 1, xmlComment, 0]: second addRange() must result in the selection's last range being the same object we added assert_equals: getRangeAt(rangeCount - 1) must return the same object we added expected object "do re mi fa so la ti" but got object ""
+FAIL Range 23 [paras[0], 0, paras[0], 1] followed by Range 44 [xmlDoc, 1, xmlComment, 0]: modifying the second added range must modify the Selection's last Range assert_equals: After mutating the second added Range, startOffset of the Selection's last Range must match the added Range expected 0 but got 6
FAIL Range 23 [paras[0], 0, paras[0], 1] followed by Range 44 [xmlDoc, 1, xmlComment, 0]: modifying the Selection's last Range must modify the second added Range assert_equals: After second addRange(), after mutating the Selection's last Range, startOffset of the Selection's last Range must match the added Range expected 0 but got 6
PASS Range 23 [paras[0], 0, paras[0], 1] followed by Range 45 [detachedTextNode, 0, detachedTextNode, 8]: first addRange() must not throw exceptions or modify the range it's given
PASS Range 23 [paras[0], 0, paras[0], 1] followed by Range 45 [detachedTextNode, 0, detachedTextNode, 8]: first addRange() must result in rangeCount being 1
PASS Range 23 [paras[0], 0, paras[0], 1] followed by Range 45 [detachedTextNode, 0, detachedTextNode, 8]: first addRange() must result in the selection's last range having the specified endpoints
-FAIL Range 23 [paras[0], 0, paras[0], 1] followed by Range 45 [detachedTextNode, 0, detachedTextNode, 8]: first addRange() must result in the selection's last range being the same object we added assert_equals: getRangeAt(rangeCount - 1) must return the same object we added expected object "Äb̈c̈d̈ëf̈g̈ḧ
-" but got object "Äb̈c̈d̈ëf̈g̈ḧ
-"
-FAIL Range 23 [paras[0], 0, paras[0], 1] followed by Range 45 [detachedTextNode, 0, detachedTextNode, 8]: modifying the first added range must modify the Selection's last Range assert_equals: After mutating the first added Range, startContainer of the Selection's last Range must match the added Range expected Text node "Äb̈c̈d̈ëf̈g̈ḧ
-" but got Element node <p id="a">Äb̈c̈d̈ëf̈g̈ḧ
-</p>
-FAIL Range 23 [paras[0], 0, paras[0], 1] followed by Range 45 [detachedTextNode, 0, detachedTextNode, 8]: modifying the Selection's last Range must modify the first added Range assert_equals: After first addRange(), after mutating the Selection's last Range, startOffset of the Selection's last Range must match the added Range expected 0 but got 6
+PASS Range 23 [paras[0], 0, paras[0], 1] followed by Range 45 [detachedTextNode, 0, detachedTextNode, 8]: first addRange() must result in the selection's last range being the same object we added
+PASS Range 23 [paras[0], 0, paras[0], 1] followed by Range 45 [detachedTextNode, 0, detachedTextNode, 8]: modifying the first added range must modify the Selection's last Range
+PASS Range 23 [paras[0], 0, paras[0], 1] followed by Range 45 [detachedTextNode, 0, detachedTextNode, 8]: modifying the Selection's last Range must modify the first added Range
PASS Range 23 [paras[0], 0, paras[0], 1] followed by Range 45 [detachedTextNode, 0, detachedTextNode, 8]: second addRange() must not throw exceptions or modify the range it's given
PASS Range 23 [paras[0], 0, paras[0], 1] followed by Range 45 [detachedTextNode, 0, detachedTextNode, 8]: second addRange() must result in rangeCount being 1
-FAIL Range 23 [paras[0], 0, paras[0], 1] followed by Range 45 [detachedTextNode, 0, detachedTextNode, 8]: second addRange() must result in the selection's last range having the specified endpoints assert_equals: startContainer of the Selection's last Range must match the added Range expected Text node "Uvwxyzab" but got Element node <p id="a">Äb̈c̈d̈ëf̈g̈ḧ
-</p>
-FAIL Range 23 [paras[0], 0, paras[0], 1] followed by Range 45 [detachedTextNode, 0, detachedTextNode, 8]: second addRange() must result in the selection's last range being the same object we added assert_equals: getRangeAt(rangeCount - 1) must return the same object we added expected object "Uvwxyzab" but got object "Äb̈c̈d̈ëf̈g̈ḧ
+FAIL Range 23 [paras[0], 0, paras[0], 1] followed by Range 45 [detachedTextNode, 0, detachedTextNode, 8]: second addRange() must result in the selection's last range having the specified endpoints assert_equals: startContainer of the Selection's last Range must match the added Range expected Text node "Uvwxyzab" but got Text node "Äb̈c̈d̈ëf̈g̈ḧ
"
-FAIL Range 23 [paras[0], 0, paras[0], 1] followed by Range 45 [detachedTextNode, 0, detachedTextNode, 8]: modifying the second added range must modify the Selection's last Range assert_equals: After mutating the second added Range, startContainer of the Selection's last Range must match the added Range expected Text node "Äb̈c̈d̈ëf̈g̈ḧ
-" but got Element node <p id="a">Äb̈c̈d̈ëf̈g̈ḧ
-</p>
+FAIL Range 23 [paras[0], 0, paras[0], 1] followed by Range 45 [detachedTextNode, 0, detachedTextNode, 8]: second addRange() must result in the selection's last range being the same object we added assert_equals: getRangeAt(rangeCount - 1) must return the same object we added expected object "Uvwxyzab" but got object ""
+FAIL Range 23 [paras[0], 0, paras[0], 1] followed by Range 45 [detachedTextNode, 0, detachedTextNode, 8]: modifying the second added range must modify the Selection's last Range assert_equals: After mutating the second added Range, startOffset of the Selection's last Range must match the added Range expected 0 but got 6
FAIL Range 23 [paras[0], 0, paras[0], 1] followed by Range 45 [detachedTextNode, 0, detachedTextNode, 8]: modifying the Selection's last Range must modify the second added Range assert_equals: After second addRange(), after mutating the Selection's last Range, startOffset of the Selection's last Range must match the added Range expected 0 but got 6
PASS Range 23 [paras[0], 0, paras[0], 1] followed by Range 46 [detachedForeignTextNode, 7, detachedForeignTextNode, 7]: first addRange() must not throw exceptions or modify the range it's given
PASS Range 23 [paras[0], 0, paras[0], 1] followed by Range 46 [detachedForeignTextNode, 7, detachedForeignTextNode, 7]: first addRange() must result in rangeCount being 1
PASS Range 23 [paras[0], 0, paras[0], 1] followed by Range 46 [detachedForeignTextNode, 7, detachedForeignTextNode, 7]: first addRange() must result in the selection's last range having the specified endpoints
-FAIL Range 23 [paras[0], 0, paras[0], 1] followed by Range 46 [detachedForeignTextNode, 7, detachedForeignTextNode, 7]: first addRange() must result in the selection's last range being the same object we added assert_equals: getRangeAt(rangeCount - 1) must return the same object we added expected object "Äb̈c̈d̈ëf̈g̈ḧ
-" but got object "Äb̈c̈d̈ëf̈g̈ḧ
-"
-FAIL Range 23 [paras[0], 0, paras[0], 1] followed by Range 46 [detachedForeignTextNode, 7, detachedForeignTextNode, 7]: modifying the first added range must modify the Selection's last Range assert_equals: After mutating the first added Range, startContainer of the Selection's last Range must match the added Range expected Text node "Äb̈c̈d̈ëf̈g̈ḧ
-" but got Element node <p id="a">Äb̈c̈d̈ëf̈g̈ḧ
-</p>
-FAIL Range 23 [paras[0], 0, paras[0], 1] followed by Range 46 [detachedForeignTextNode, 7, detachedForeignTextNode, 7]: modifying the Selection's last Range must modify the first added Range assert_equals: After first addRange(), after mutating the Selection's last Range, startOffset of the Selection's last Range must match the added Range expected 0 but got 6
+PASS Range 23 [paras[0], 0, paras[0], 1] followed by Range 46 [detachedForeignTextNode, 7, detachedForeignTextNode, 7]: first addRange() must result in the selection's last range being the same object we added
+PASS Range 23 [paras[0], 0, paras[0], 1] followed by Range 46 [detachedForeignTextNode, 7, detachedForeignTextNode, 7]: modifying the first added range must modify the Selection's last Range
+PASS Range 23 [paras[0], 0, paras[0], 1] followed by Range 46 [detachedForeignTextNode, 7, detachedForeignTextNode, 7]: modifying the Selection's last Range must modify the first added Range
PASS Range 23 [paras[0], 0, paras[0], 1] followed by Range 46 [detachedForeignTextNode, 7, detachedForeignTextNode, 7]: second addRange() must not throw exceptions or modify the range it's given
PASS Range 23 [paras[0], 0, paras[0], 1] followed by Range 46 [detachedForeignTextNode, 7, detachedForeignTextNode, 7]: second addRange() must result in rangeCount being 1
-FAIL Range 23 [paras[0], 0, paras[0], 1] followed by Range 46 [detachedForeignTextNode, 7, detachedForeignTextNode, 7]: second addRange() must result in the selection's last range having the specified endpoints assert_equals: startContainer of the Selection's last Range must match the added Range expected Text node "Cdefghij" but got Element node <p id="a">Äb̈c̈d̈ëf̈g̈ḧ
-</p>
-FAIL Range 23 [paras[0], 0, paras[0], 1] followed by Range 46 [detachedForeignTextNode, 7, detachedForeignTextNode, 7]: second addRange() must result in the selection's last range being the same object we added assert_equals: getRangeAt(rangeCount - 1) must return the same object we added expected object "" but got object "Äb̈c̈d̈ëf̈g̈ḧ
+FAIL Range 23 [paras[0], 0, paras[0], 1] followed by Range 46 [detachedForeignTextNode, 7, detachedForeignTextNode, 7]: second addRange() must result in the selection's last range having the specified endpoints assert_equals: startContainer of the Selection's last Range must match the added Range expected Text node "Cdefghij" but got Text node "Äb̈c̈d̈ëf̈g̈ḧ
"
-FAIL Range 23 [paras[0], 0, paras[0], 1] followed by Range 46 [detachedForeignTextNode, 7, detachedForeignTextNode, 7]: modifying the second added range must modify the Selection's last Range assert_equals: After mutating the second added Range, startContainer of the Selection's last Range must match the added Range expected Text node "Äb̈c̈d̈ëf̈g̈ḧ
-" but got Element node <p id="a">Äb̈c̈d̈ëf̈g̈ḧ
-</p>
+FAIL Range 23 [paras[0], 0, paras[0], 1] followed by Range 46 [detachedForeignTextNode, 7, detachedForeignTextNode, 7]: second addRange() must result in the selection's last range being the same object we added assert_equals: getRangeAt(rangeCount - 1) must return the same object we added expected object "" but got object ""
+FAIL Range 23 [paras[0], 0, paras[0], 1] followed by Range 46 [detachedForeignTextNode, 7, detachedForeignTextNode, 7]: modifying the second added range must modify the Selection's last Range assert_equals: After mutating the second added Range, startOffset of the Selection's last Range must match the added Range expected 0 but got 6
FAIL Range 23 [paras[0], 0, paras[0], 1] followed by Range 46 [detachedForeignTextNode, 7, detachedForeignTextNode, 7]: modifying the Selection's last Range must modify the second added Range assert_equals: After second addRange(), after mutating the Selection's last Range, startOffset of the Selection's last Range must match the added Range expected 0 but got 6
PASS Range 23 [paras[0], 0, paras[0], 1] followed by Range 47 [detachedForeignTextNode, 0, detachedForeignTextNode, 8]: first addRange() must not throw exceptions or modify the range it's given
PASS Range 23 [paras[0], 0, paras[0], 1] followed by Range 47 [detachedForeignTextNode, 0, detachedForeignTextNode, 8]: first addRange() must result in rangeCount being 1
PASS Range 23 [paras[0], 0, paras[0], 1] followed by Range 47 [detachedForeignTextNode, 0, detachedForeignTextNode, 8]: first addRange() must result in the selection's last range having the specified endpoints
-FAIL Range 23 [paras[0], 0, paras[0], 1] followed by Range 47 [detachedForeignTextNode, 0, detachedForeignTextNode, 8]: first addRange() must result in the selection's last range being the same object we added assert_equals: getRangeAt(rangeCount - 1) must return the same object we added expected object "Äb̈c̈d̈ëf̈g̈ḧ
-" but got object "Äb̈c̈d̈ëf̈g̈ḧ
-"
-FAIL Range 23 [paras[0], 0, paras[0], 1] followed by Range 47 [detachedForeignTextNode, 0, detachedForeignTextNode, 8]: modifying the first added range must modify the Selection's last Range assert_equals: After mutating the first added Range, startContainer of the Selection's last Range must match the added Range expected Text node "Äb̈c̈d̈ëf̈g̈ḧ
-" but got Element node <p id="a">Äb̈c̈d̈ëf̈g̈ḧ
-</p>
-FAIL Range 23 [paras[0], 0, paras[0], 1] followed by Range 47 [detachedForeignTextNode, 0, detachedForeignTextNode, 8]: modifying the Selection's last Range must modify the first added Range assert_equals: After first addRange(), after mutating the Selection's last Range, startOffset of the Selection's last Range must match the added Range expected 0 but got 6
+PASS Range 23 [paras[0], 0, paras[0], 1] followed by Range 47 [detachedForeignTextNode, 0, detachedForeignTextNode, 8]: first addRange() must result in the selection's last range being the same object we added
+PASS Range 23 [paras[0], 0, paras[0], 1] followed by Range 47 [detachedForeignTextNode, 0, detachedForeignTextNode, 8]: modifying the first added range must modify the Selection's last Range
+PASS Range 23 [paras[0], 0, paras[0], 1] followed by Range 47 [detachedForeignTextNode, 0, detachedForeignTextNode, 8]: modifying the Selection's last Range must modify the first added Range
PASS Range 23 [paras[0], 0, paras[0], 1] followed by Range 47 [detachedForeignTextNode, 0, detachedForeignTextNode, 8]: second addRange() must not throw exceptions or modify the range it's given
PASS Range 23 [paras[0], 0, paras[0], 1] followed by Range 47 [detachedForeignTextNode, 0, detachedForeignTextNode, 8]: second addRange() must result in rangeCount being 1
-FAIL Range 23 [paras[0], 0, paras[0], 1] followed by Range 47 [detachedForeignTextNode, 0, detachedForeignTextNode, 8]: second addRange() must result in the selection's last range having the specified endpoints assert_equals: startContainer of the Selection's last Range must match the added Range expected Text node "Cdefghij" but got Element node <p id="a">Äb̈c̈d̈ëf̈g̈ḧ
-</p>
-FAIL Range 23 [paras[0], 0, paras[0], 1] followed by Range 47 [detachedForeignTextNode, 0, detachedForeignTextNode, 8]: second addRange() must result in the selection's last range being the same object we added assert_equals: getRangeAt(rangeCount - 1) must return the same object we added expected object "Cdefghij" but got object "Äb̈c̈d̈ëf̈g̈ḧ
+FAIL Range 23 [paras[0], 0, paras[0], 1] followed by Range 47 [detachedForeignTextNode, 0, detachedForeignTextNode, 8]: second addRange() must result in the selection's last range having the specified endpoints assert_equals: startContainer of the Selection's last Range must match the added Range expected Text node "Cdefghij" but got Text node "Äb̈c̈d̈ëf̈g̈ḧ
"
-FAIL Range 23 [paras[0], 0, paras[0], 1] followed by Range 47 [detachedForeignTextNode, 0, detachedForeignTextNode, 8]: modifying the second added range must modify the Selection's last Range assert_equals: After mutating the second added Range, startContainer of the Selection's last Range must match the added Range expected Text node "Äb̈c̈d̈ëf̈g̈ḧ
-" but got Element node <p id="a">Äb̈c̈d̈ëf̈g̈ḧ
-</p>
+FAIL Range 23 [paras[0], 0, paras[0], 1] followed by Range 47 [detachedForeignTextNode, 0, detachedForeignTextNode, 8]: second addRange() must result in the selection's last range being the same object we added assert_equals: getRangeAt(rangeCount - 1) must return the same object we added expected object "Cdefghij" but got object ""
+FAIL Range 23 [paras[0], 0, paras[0], 1] followed by Range 47 [detachedForeignTextNode, 0, detachedForeignTextNode, 8]: modifying the second added range must modify the Selection's last Range assert_equals: After mutating the second added Range, startOffset of the Selection's last Range must match the added Range expected 0 but got 6
FAIL Range 23 [paras[0], 0, paras[0], 1] followed by Range 47 [detachedForeignTextNode, 0, detachedForeignTextNode, 8]: modifying the Selection's last Range must modify the second added Range assert_equals: After second addRange(), after mutating the Selection's last Range, startOffset of the Selection's last Range must match the added Range expected 0 but got 6
PASS Range 23 [paras[0], 0, paras[0], 1] followed by Range 48 [detachedXmlTextNode, 7, detachedXmlTextNode, 7]: first addRange() must not throw exceptions or modify the range it's given
PASS Range 23 [paras[0], 0, paras[0], 1] followed by Range 48 [detachedXmlTextNode, 7, detachedXmlTextNode, 7]: first addRange() must result in rangeCount being 1
PASS Range 23 [paras[0], 0, paras[0], 1] followed by Range 48 [detachedXmlTextNode, 7, detachedXmlTextNode, 7]: first addRange() must result in the selection's last range having the specified endpoints
-FAIL Range 23 [paras[0], 0, paras[0], 1] followed by Range 48 [detachedXmlTextNode, 7, detachedXmlTextNode, 7]: first addRange() must result in the selection's last range being the same object we added assert_equals: getRangeAt(rangeCount - 1) must return the same object we added expected object "Äb̈c̈d̈ëf̈g̈ḧ
-" but got object "Äb̈c̈d̈ëf̈g̈ḧ
-"
-FAIL Range 23 [paras[0], 0, paras[0], 1] followed by Range 48 [detachedXmlTextNode, 7, detachedXmlTextNode, 7]: modifying the first added range must modify the Selection's last Range assert_equals: After mutating the first added Range, startContainer of the Selection's last Range must match the added Range expected Text node "Äb̈c̈d̈ëf̈g̈ḧ
-" but got Element node <p id="a">Äb̈c̈d̈ëf̈g̈ḧ
-</p>
-FAIL Range 23 [paras[0], 0, paras[0], 1] followed by Range 48 [detachedXmlTextNode, 7, detachedXmlTextNode, 7]: modifying the Selection's last Range must modify the first added Range assert_equals: After first addRange(), after mutating the Selection's last Range, startOffset of the Selection's last Range must match the added Range expected 0 but got 6
+PASS Range 23 [paras[0], 0, paras[0], 1] followed by Range 48 [detachedXmlTextNode, 7, detachedXmlTextNode, 7]: first addRange() must result in the selection's last range being the same object we added
+PASS Range 23 [paras[0], 0, paras[0], 1] followed by Range 48 [detachedXmlTextNode, 7, detachedXmlTextNode, 7]: modifying the first added range must modify the Selection's last Range
+PASS Range 23 [paras[0], 0, paras[0], 1] followed by Range 48 [detachedXmlTextNode, 7, detachedXmlTextNode, 7]: modifying the Selection's last Range must modify the first added Range
PASS Range 23 [paras[0], 0, paras[0], 1] followed by Range 48 [detachedXmlTextNode, 7, detachedXmlTextNode, 7]: second addRange() must not throw exceptions or modify the range it's given
PASS Range 23 [paras[0], 0, paras[0], 1] followed by Range 48 [detachedXmlTextNode, 7, detachedXmlTextNode, 7]: second addRange() must result in rangeCount being 1
-FAIL Range 23 [paras[0], 0, paras[0], 1] followed by Range 48 [detachedXmlTextNode, 7, detachedXmlTextNode, 7]: second addRange() must result in the selection's last range having the specified endpoints assert_equals: startContainer of the Selection's last Range must match the added Range expected Text node "Klmnopqr" but got Element node <p id="a">Äb̈c̈d̈ëf̈g̈ḧ
-</p>
-FAIL Range 23 [paras[0], 0, paras[0], 1] followed by Range 48 [detachedXmlTextNode, 7, detachedXmlTextNode, 7]: second addRange() must result in the selection's last range being the same object we added assert_equals: getRangeAt(rangeCount - 1) must return the same object we added expected object "" but got object "Äb̈c̈d̈ëf̈g̈ḧ
+FAIL Range 23 [paras[0], 0, paras[0], 1] followed by Range 48 [detachedXmlTextNode, 7, detachedXmlTextNode, 7]: second addRange() must result in the selection's last range having the specified endpoints assert_equals: startContainer of the Selection's last Range must match the added Range expected Text node "Klmnopqr" but got Text node "Äb̈c̈d̈ëf̈g̈ḧ
"
-FAIL Range 23 [paras[0], 0, paras[0], 1] followed by Range 48 [detachedXmlTextNode, 7, detachedXmlTextNode, 7]: modifying the second added range must modify the Selection's last Range assert_equals: After mutating the second added Range, startContainer of the Selection's last Range must match the added Range expected Text node "Äb̈c̈d̈ëf̈g̈ḧ
-" but got Element node <p id="a">Äb̈c̈d̈ëf̈g̈ḧ
-</p>
+FAIL Range 23 [paras[0], 0, paras[0], 1] followed by Range 48 [detachedXmlTextNode, 7, detachedXmlTextNode, 7]: second addRange() must result in the selection's last range being the same object we added assert_equals: getRangeAt(rangeCount - 1) must return the same object we added expected object "" but got object ""
+FAIL Range 23 [paras[0], 0, paras[0], 1] followed by Range 48 [detachedXmlTextNode, 7, detachedXmlTextNode, 7]: modifying the second added range must modify the Selection's last Range assert_equals: After mutating the second added Range, startOffset of the Selection's last Range must match the added Range expected 0 but got 6
FAIL Range 23 [paras[0], 0, paras[0], 1] followed by Range 48 [detachedXmlTextNode, 7, detachedXmlTextNode, 7]: modifying the Selection's last Range must modify the second added Range assert_equals: After second addRange(), after mutating the Selection's last Range, startOffset of the Selection's last Range must match the added Range expected 0 but got 6
PASS Range 23 [paras[0], 0, paras[0], 1] followed by Range 49 [detachedXmlTextNode, 0, detachedXmlTextNode, 8]: first addRange() must not throw exceptions or modify the range it's given
PASS Range 23 [paras[0], 0, paras[0], 1] followed by Range 49 [detachedXmlTextNode, 0, detachedXmlTextNode, 8]: first addRange() must result in rangeCount being 1
PASS Range 23 [paras[0], 0, paras[0], 1] followed by Range 49 [detachedXmlTextNode, 0, detachedXmlTextNode, 8]: first addRange() must result in the selection's last range having the specified endpoints
-FAIL Range 23 [paras[0], 0, paras[0], 1] followed by Range 49 [detachedXmlTextNode, 0, detachedXmlTextNode, 8]: first addRange() must result in the selection's last range being the same object we added assert_equals: getRangeAt(rangeCount - 1) must return the same object we added expected object "Äb̈c̈d̈ëf̈g̈ḧ
-" but got object "Äb̈c̈d̈ëf̈g̈ḧ
-"
-FAIL Range 23 [paras[0], 0, paras[0], 1] followed by Range 49 [detachedXmlTextNode, 0, detachedXmlTextNode, 8]: modifying the first added range must modify the Selection's last Range assert_equals: After mutating the first added Range, startContainer of the Selection's last Range must match the added Range expected Text node "Äb̈c̈d̈ëf̈g̈ḧ
-" but got Element node <p id="a">Äb̈c̈d̈ëf̈g̈ḧ
-</p>
-FAIL Range 23 [paras[0], 0, paras[0], 1] followed by Range 49 [detachedXmlTextNode, 0, detachedXmlTextNode, 8]: modifying the Selection's last Range must modify the first added Range assert_equals: After first addRange(), after mutating the Selection's last Range, startOffset of the Selection's last Range must match the added Range expected 0 but got 6
+PASS Range 23 [paras[0], 0, paras[0], 1] followed by Range 49 [detachedXmlTextNode, 0, detachedXmlTextNode, 8]: first addRange() must result in the selection's last range being the same object we added
+PASS Range 23 [paras[0], 0, paras[0], 1] followed by Range 49 [detachedXmlTextNode, 0, detachedXmlTextNode, 8]: modifying the first added range must modify the Selection's last Range
+PASS Range 23 [paras[0], 0, paras[0], 1] followed by Range 49 [detachedXmlTextNode, 0, detachedXmlTextNode, 8]: modifying the Selection's last Range must modify the first added Range
PASS Range 23 [paras[0], 0, paras[0], 1] followed by Range 49 [detachedXmlTextNode, 0, detachedXmlTextNode, 8]: second addRange() must not throw exceptions or modify the range it's given
PASS Range 23 [paras[0], 0, paras[0], 1] followed by Range 49 [detachedXmlTextNode, 0, detachedXmlTextNode, 8]: second addRange() must result in rangeCount being 1
-FAIL Range 23 [paras[0], 0, paras[0], 1] followed by Range 49 [detachedXmlTextNode, 0, detachedXmlTextNode, 8]: second addRange() must result in the selection's last range having the specified endpoints assert_equals: startContainer of the Selection's last Range must match the added Range expected Text node "Klmnopqr" but got Element node <p id="a">Äb̈c̈d̈ëf̈g̈ḧ
-</p>
-FAIL Range 23 [paras[0], 0, paras[0], 1] followed by Range 49 [detachedXmlTextNode, 0, detachedXmlTextNode, 8]: second addRange() must result in the selection's last range being the same object we added assert_equals: getRangeAt(rangeCount - 1) must return the same object we added expected object "Klmnopqr" but got object "Äb̈c̈d̈ëf̈g̈ḧ
+FAIL Range 23 [paras[0], 0, paras[0], 1] followed by Range 49 [detachedXmlTextNode, 0, detachedXmlTextNode, 8]: second addRange() must result in the selection's last range having the specified endpoints assert_equals: startContainer of the Selection's last Range must match the added Range expected Text node "Klmnopqr" but got Text node "Äb̈c̈d̈ëf̈g̈ḧ
"
-FAIL Range 23 [paras[0], 0, paras[0], 1] followed by Range 49 [detachedXmlTextNode, 0, detachedXmlTextNode, 8]: modifying the second added range must modify the Selection's last Range assert_equals: After mutating the second added Range, startContainer of the Selection's last Range must match the added Range expected Text node "Äb̈c̈d̈ëf̈g̈ḧ
-" but got Element node <p id="a">Äb̈c̈d̈ëf̈g̈ḧ
-</p>
+FAIL Range 23 [paras[0], 0, paras[0], 1] followed by Range 49 [detachedXmlTextNode, 0, detachedXmlTextNode, 8]: second addRange() must result in the selection's last range being the same object we added assert_equals: getRangeAt(rangeCount - 1) must return the same object we added expected object "Klmnopqr" but got object ""
+FAIL Range 23 [paras[0], 0, paras[0], 1] followed by Range 49 [detachedXmlTextNode, 0, detachedXmlTextNode, 8]: modifying the second added range must modify the Selection's last Range assert_equals: After mutating the second added Range, startOffset of the Selection's last Range must match the added Range expected 0 but got 6
FAIL Range 23 [paras[0], 0, paras[0], 1] followed by Range 49 [detachedXmlTextNode, 0, detachedXmlTextNode, 8]: modifying the Selection's last Range must modify the second added Range assert_equals: After second addRange(), after mutating the Selection's last Range, startOffset of the Selection's last Range must match the added Range expected 0 but got 6
PASS Range 23 [paras[0], 0, paras[0], 1] followed by Range 50 [detachedComment, 3, detachedComment, 4]: first addRange() must not throw exceptions or modify the range it's given
PASS Range 23 [paras[0], 0, paras[0], 1] followed by Range 50 [detachedComment, 3, detachedComment, 4]: first addRange() must result in rangeCount being 1
PASS Range 23 [paras[0], 0, paras[0], 1] followed by Range 50 [detachedComment, 3, detachedComment, 4]: first addRange() must result in the selection's last range having the specified endpoints
-FAIL Range 23 [paras[0], 0, paras[0], 1] followed by Range 50 [detachedComment, 3, detachedComment, 4]: first addRange() must result in the selection's last range being the same object we added assert_equals: getRangeAt(rangeCount - 1) must return the same object we added expected object "Äb̈c̈d̈ëf̈g̈ḧ
-" but got object "Äb̈c̈d̈ëf̈g̈ḧ
-"
-FAIL Range 23 [paras[0], 0, paras[0], 1] followed by Range 50 [detachedComment, 3, detachedComment, 4]: modifying the first added range must modify the Selection's last Range assert_equals: After mutating the first added Range, startContainer of the Selection's last Range must match the added Range expected Text node "Äb̈c̈d̈ëf̈g̈ḧ
-" but got Element node <p id="a">Äb̈c̈d̈ëf̈g̈ḧ
-</p>
-FAIL Range 23 [paras[0], 0, paras[0], 1] followed by Range 50 [detachedComment, 3, detachedComment, 4]: modifying the Selection's last Range must modify the first added Range assert_equals: After first addRange(), after mutating the Selection's last Range, startOffset of the Selection's last Range must match the added Range expected 0 but got 6
+PASS Range 23 [paras[0], 0, paras[0], 1] followed by Range 50 [detachedComment, 3, detachedComment, 4]: first addRange() must result in the selection's last range being the same object we added
+PASS Range 23 [paras[0], 0, paras[0], 1] followed by Range 50 [detachedComment, 3, detachedComment, 4]: modifying the first added range must modify the Selection's last Range
+PASS Range 23 [paras[0], 0, paras[0], 1] followed by Range 50 [detachedComment, 3, detachedComment, 4]: modifying the Selection's last Range must modify the first added Range
PASS Range 23 [paras[0], 0, paras[0], 1] followed by Range 50 [detachedComment, 3, detachedComment, 4]: second addRange() must not throw exceptions or modify the range it's given
PASS Range 23 [paras[0], 0, paras[0], 1] followed by Range 50 [detachedComment, 3, detachedComment, 4]: second addRange() must result in rangeCount being 1
-FAIL Range 23 [paras[0], 0, paras[0], 1] followed by Range 50 [detachedComment, 3, detachedComment, 4]: second addRange() must result in the selection's last range having the specified endpoints assert_equals: startContainer of the Selection's last Range must match the added Range expected Comment node <!--Stuvwxyz--> but got Element node <p id="a">Äb̈c̈d̈ëf̈g̈ḧ
-</p>
-FAIL Range 23 [paras[0], 0, paras[0], 1] followed by Range 50 [detachedComment, 3, detachedComment, 4]: second addRange() must result in the selection's last range being the same object we added assert_equals: getRangeAt(rangeCount - 1) must return the same object we added expected object "" but got object "Äb̈c̈d̈ëf̈g̈ḧ
+FAIL Range 23 [paras[0], 0, paras[0], 1] followed by Range 50 [detachedComment, 3, detachedComment, 4]: second addRange() must result in the selection's last range having the specified endpoints assert_equals: startContainer of the Selection's last Range must match the added Range expected Comment node <!--Stuvwxyz--> but got Text node "Äb̈c̈d̈ëf̈g̈ḧ
"
-FAIL Range 23 [paras[0], 0, paras[0], 1] followed by Range 50 [detachedComment, 3, detachedComment, 4]: modifying the second added range must modify the Selection's last Range assert_equals: After mutating the second added Range, startContainer of the Selection's last Range must match the added Range expected Text node "Äb̈c̈d̈ëf̈g̈ḧ
-" but got Element node <p id="a">Äb̈c̈d̈ëf̈g̈ḧ
-</p>
+FAIL Range 23 [paras[0], 0, paras[0], 1] followed by Range 50 [detachedComment, 3, detachedComment, 4]: second addRange() must result in the selection's last range being the same object we added assert_equals: getRangeAt(rangeCount - 1) must return the same object we added expected object "" but got object ""
+FAIL Range 23 [paras[0], 0, paras[0], 1] followed by Range 50 [detachedComment, 3, detachedComment, 4]: modifying the second added range must modify the Selection's last Range assert_equals: After mutating the second added Range, startOffset of the Selection's last Range must match the added Range expected 0 but got 6
FAIL Range 23 [paras[0], 0, paras[0], 1] followed by Range 50 [detachedComment, 3, detachedComment, 4]: modifying the Selection's last Range must modify the second added Range assert_equals: After second addRange(), after mutating the Selection's last Range, startOffset of the Selection's last Range must match the added Range expected 0 but got 6
PASS Range 23 [paras[0], 0, paras[0], 1] followed by Range 51 [detachedComment, 5, detachedComment, 5]: first addRange() must not throw exceptions or modify the range it's given
PASS Range 23 [paras[0], 0, paras[0], 1] followed by Range 51 [detachedComment, 5, detachedComment, 5]: first addRange() must result in rangeCount being 1
PASS Range 23 [paras[0], 0, paras[0], 1] followed by Range 51 [detachedComment, 5, detachedComment, 5]: first addRange() must result in the selection's last range having the specified endpoints
-FAIL Range 23 [paras[0], 0, paras[0], 1] followed by Range 51 [detachedComment, 5, detachedComment, 5]: first addRange() must result in the selection's last range being the same object we added assert_equals: getRangeAt(rangeCount - 1) must return the same object we added expected object "Äb̈c̈d̈ëf̈g̈ḧ
-" but got object "Äb̈c̈d̈ëf̈g̈ḧ
-"
-FAIL Range 23 [paras[0], 0, paras[0], 1] followed by Range 51 [detachedComment, 5, detachedComment, 5]: modifying the first added range must modify the Selection's last Range assert_equals: After mutating the first added Range, startContainer of the Selection's last Range must match the added Range expected Text node "Äb̈c̈d̈ëf̈g̈ḧ
-" but got Element node <p id="a">Äb̈c̈d̈ëf̈g̈ḧ
-</p>
-FAIL Range 23 [paras[0], 0, paras[0], 1] followed by Range 51 [detachedComment, 5, detachedComment, 5]: modifying the Selection's last Range must modify the first added Range assert_equals: After first addRange(), after mutating the Selection's last Range, startOffset of the Selection's last Range must match the added Range expected 0 but got 6
+PASS Range 23 [paras[0], 0, paras[0], 1] followed by Range 51 [detachedComment, 5, detachedComment, 5]: first addRange() must result in the selection's last range being the same object we added
+PASS Range 23 [paras[0], 0, paras[0], 1] followed by Range 51 [detachedComment, 5, detachedComment, 5]: modifying the first added range must modify the Selection's last Range
+PASS Range 23 [paras[0], 0, paras[0], 1] followed by Range 51 [detachedComment, 5, detachedComment, 5]: modifying the Selection's last Range must modify the first added Range
PASS Range 23 [paras[0], 0, paras[0], 1] followed by Range 51 [detachedComment, 5, detachedComment, 5]: second addRange() must not throw exceptions or modify the range it's given
PASS Range 23 [paras[0], 0, paras[0], 1] followed by Range 51 [detachedComment, 5, detachedComment, 5]: second addRange() must result in rangeCount being 1
-FAIL Range 23 [paras[0], 0, paras[0], 1] followed by Range 51 [detachedComment, 5, detachedComment, 5]: second addRange() must result in the selection's last range having the specified endpoints assert_equals: startContainer of the Selection's last Range must match the added Range expected Comment node <!--Stuvwxyz--> but got Element node <p id="a">Äb̈c̈d̈ëf̈g̈ḧ
-</p>
-FAIL Range 23 [paras[0], 0, paras[0], 1] followed by Range 51 [detachedComment, 5, detachedComment, 5]: second addRange() must result in the selection's last range being the same object we added assert_equals: getRangeAt(rangeCount - 1) must return the same object we added expected object "" but got object "Äb̈c̈d̈ëf̈g̈ḧ
+FAIL Range 23 [paras[0], 0, paras[0], 1] followed by Range 51 [detachedComment, 5, detachedComment, 5]: second addRange() must result in the selection's last range having the specified endpoints assert_equals: startContainer of the Selection's last Range must match the added Range expected Comment node <!--Stuvwxyz--> but got Text node "Äb̈c̈d̈ëf̈g̈ḧ
"
-FAIL Range 23 [paras[0], 0, paras[0], 1] followed by Range 51 [detachedComment, 5, detachedComment, 5]: modifying the second added range must modify the Selection's last Range assert_equals: After mutating the second added Range, startContainer of the Selection's last Range must match the added Range expected Text node "Äb̈c̈d̈ëf̈g̈ḧ
-" but got Element node <p id="a">Äb̈c̈d̈ëf̈g̈ḧ
-</p>
+FAIL Range 23 [paras[0], 0, paras[0], 1] followed by Range 51 [detachedComment, 5, detachedComment, 5]: second addRange() must result in the selection's last range being the same object we added assert_equals: getRangeAt(rangeCount - 1) must return the same object we added expected object "" but got object ""
+FAIL Range 23 [paras[0], 0, paras[0], 1] followed by Range 51 [detachedComment, 5, detachedComment, 5]: modifying the second added range must modify the Selection's last Range assert_equals: After mutating the second added Range, startOffset of the Selection's last Range must match the added Range expected 0 but got 6
FAIL Range 23 [paras[0], 0, paras[0], 1] followed by Range 51 [detachedComment, 5, detachedComment, 5]: modifying the Selection's last Range must modify the second added Range assert_equals: After second addRange(), after mutating the Selection's last Range, startOffset of the Selection's last Range must match the added Range expected 0 but got 6
PASS Range 23 [paras[0], 0, paras[0], 1] followed by Range 52 [detachedForeignComment, 0, detachedForeignComment, 1]: first addRange() must not throw exceptions or modify the range it's given
PASS Range 23 [paras[0], 0, paras[0], 1] followed by Range 52 [detachedForeignComment, 0, detachedForeignComment, 1]: first addRange() must result in rangeCount being 1
PASS Range 23 [paras[0], 0, paras[0], 1] followed by Range 52 [detachedForeignComment, 0, detachedForeignComment, 1]: first addRange() must result in the selection's last range having the specified endpoints
-FAIL Range 23 [paras[0], 0, paras[0], 1] followed by Range 52 [detachedForeignComment, 0, detachedForeignComment, 1]: first addRange() must result in the selection's last range being the same object we added assert_equals: getRangeAt(rangeCount - 1) must return the same object we added expected object "Äb̈c̈d̈ëf̈g̈ḧ
-" but got object "Äb̈c̈d̈ëf̈g̈ḧ
-"
-FAIL Range 23 [paras[0], 0, paras[0], 1] followed by Range 52 [detachedForeignComment, 0, detachedForeignComment, 1]: modifying the first added range must modify the Selection's last Range assert_equals: After mutating the first added Range, startContainer of the Selection's last Range must match the added Range expected Text node "Äb̈c̈d̈ëf̈g̈ḧ
-" but got Element node <p id="a">Äb̈c̈d̈ëf̈g̈ḧ
-</p>
-FAIL Range 23 [paras[0], 0, paras[0], 1] followed by Range 52 [detachedForeignComment, 0, detachedForeignComment, 1]: modifying the Selection's last Range must modify the first added Range assert_equals: After first addRange(), after mutating the Selection's last Range, startOffset of the Selection's last Range must match the added Range expected 0 but got 6
+PASS Range 23 [paras[0], 0, paras[0], 1] followed by Range 52 [detachedForeignComment, 0, detachedForeignComment, 1]: first addRange() must result in the selection's last range being the same object we added
+PASS Range 23 [paras[0], 0, paras[0], 1] followed by Range 52 [detachedForeignComment, 0, detachedForeignComment, 1]: modifying the first added range must modify the Selection's last Range
+PASS Range 23 [paras[0], 0, paras[0], 1] followed by Range 52 [detachedForeignComment, 0, detachedForeignComment, 1]: modifying the Selection's last Range must modify the first added Range
PASS Range 23 [paras[0], 0, paras[0], 1] followed by Range 52 [detachedForeignComment, 0, detachedForeignComment, 1]: second addRange() must not throw exceptions or modify the range it's given
PASS Range 23 [paras[0], 0, paras[0], 1] followed by Range 52 [detachedForeignComment, 0, detachedForeignComment, 1]: second addRange() must result in rangeCount being 1
-FAIL Range 23 [paras[0], 0, paras[0], 1] followed by Range 52 [detachedForeignComment, 0, detachedForeignComment, 1]: second addRange() must result in the selection's last range having the specified endpoints assert_equals: startContainer of the Selection's last Range must match the added Range expected Comment node <!--אריה יהודה--> but got Element node <p id="a">Äb̈c̈d̈ëf̈g̈ḧ
-</p>
-FAIL Range 23 [paras[0], 0, paras[0], 1] followed by Range 52 [detachedForeignComment, 0, detachedForeignComment, 1]: second addRange() must result in the selection's last range being the same object we added assert_equals: getRangeAt(rangeCount - 1) must return the same object we added expected object "" but got object "Äb̈c̈d̈ëf̈g̈ḧ
+FAIL Range 23 [paras[0], 0, paras[0], 1] followed by Range 52 [detachedForeignComment, 0, detachedForeignComment, 1]: second addRange() must result in the selection's last range having the specified endpoints assert_equals: startContainer of the Selection's last Range must match the added Range expected Comment node <!--אריה יהודה--> but got Text node "Äb̈c̈d̈ëf̈g̈ḧ
"
-FAIL Range 23 [paras[0], 0, paras[0], 1] followed by Range 52 [detachedForeignComment, 0, detachedForeignComment, 1]: modifying the second added range must modify the Selection's last Range assert_equals: After mutating the second added Range, startContainer of the Selection's last Range must match the added Range expected Text node "Äb̈c̈d̈ëf̈g̈ḧ
-" but got Element node <p id="a">Äb̈c̈d̈ëf̈g̈ḧ
-</p>
+FAIL Range 23 [paras[0], 0, paras[0], 1] followed by Range 52 [detachedForeignComment, 0, detachedForeignComment, 1]: second addRange() must result in the selection's last range being the same object we added assert_equals: getRangeAt(rangeCount - 1) must return the same object we added expected object "" but got object ""
+FAIL Range 23 [paras[0], 0, paras[0], 1] followed by Range 52 [detachedForeignComment, 0, detachedForeignComment, 1]: modifying the second added range must modify the Selection's last Range assert_equals: After mutating the second added Range, startOffset of the Selection's last Range must match the added Range expected 0 but got 6
FAIL Range 23 [paras[0], 0, paras[0], 1] followed by Range 52 [detachedForeignComment, 0, detachedForeignComment, 1]: modifying the Selection's last Range must modify the second added Range assert_equals: After second addRange(), after mutating the Selection's last Range, startOffset of the Selection's last Range must match the added Range expected 0 but got 6
PASS Range 23 [paras[0], 0, paras[0], 1] followed by Range 53 [detachedForeignComment, 4, detachedForeignComment, 4]: first addRange() must not throw exceptions or modify the range it's given
PASS Range 23 [paras[0], 0, paras[0], 1] followed by Range 53 [detachedForeignComment, 4, detachedForeignComment, 4]: first addRange() must result in rangeCount being 1
PASS Range 23 [paras[0], 0, paras[0], 1] followed by Range 53 [detachedForeignComment, 4, detachedForeignComment, 4]: first addRange() must result in the selection's last range having the specified endpoints
-FAIL Range 23 [paras[0], 0, paras[0], 1] followed by Range 53 [detachedForeignComment, 4, detachedForeignComment, 4]: first addRange() must result in the selection's last range being the same object we added assert_equals: getRangeAt(rangeCount - 1) must return the same object we added expected object "Äb̈c̈d̈ëf̈g̈ḧ
-" but got object "Äb̈c̈d̈ëf̈g̈ḧ
-"
-FAIL Range 23 [paras[0], 0, paras[0], 1] followed by Range 53 [detachedForeignComment, 4, detachedForeignComment, 4]: modifying the first added range must modify the Selection's last Range assert_equals: After mutating the first added Range, startContainer of the Selection's last Range must match the added Range expected Text node "Äb̈c̈d̈ëf̈g̈ḧ
-" but got Element node <p id="a">Äb̈c̈d̈ëf̈g̈ḧ
-</p>
-FAIL Range 23 [paras[0], 0, paras[0], 1] followed by Range 53 [detachedForeignComment, 4, detachedForeignComment, 4]: modifying the Selection's last Range must modify the first added Range assert_equals: After first addRange(), after mutating the Selection's last Range, startOffset of the Selection's last Range must match the added Range expected 0 but got 6
+PASS Range 23 [paras[0], 0, paras[0], 1] followed by Range 53 [detachedForeignComment, 4, detachedForeignComment, 4]: first addRange() must result in the selection's last range being the same object we added
+PASS Range 23 [paras[0], 0, paras[0], 1] followed by Range 53 [detachedForeignComment, 4, detachedForeignComment, 4]: modifying the first added range must modify the Selection's last Range
+PASS Range 23 [paras[0], 0, paras[0], 1] followed by Range 53 [detachedForeignComment, 4, detachedForeignComment, 4]: modifying the Selection's last Range must modify the first added Range
PASS Range 23 [paras[0], 0, paras[0], 1] followed by Range 53 [detachedForeignComment, 4, detachedForeignComment, 4]: second addRange() must not throw exceptions or modify the range it's given
PASS Range 23 [paras[0], 0, paras[0], 1] followed by Range 53 [detachedForeignComment, 4, detachedForeignComment, 4]: second addRange() must result in rangeCount being 1
-FAIL Range 23 [paras[0], 0, paras[0], 1] followed by Range 53 [detachedForeignComment, 4, detachedForeignComment, 4]: second addRange() must result in the selection's last range having the specified endpoints assert_equals: startContainer of the Selection's last Range must match the added Range expected Comment node <!--אריה יהודה--> but got Element node <p id="a">Äb̈c̈d̈ëf̈g̈ḧ
-</p>
-FAIL Range 23 [paras[0], 0, paras[0], 1] followed by Range 53 [detachedForeignComment, 4, detachedForeignComment, 4]: second addRange() must result in the selection's last range being the same object we added assert_equals: getRangeAt(rangeCount - 1) must return the same object we added expected object "" but got object "Äb̈c̈d̈ëf̈g̈ḧ
+FAIL Range 23 [paras[0], 0, paras[0], 1] followed by Range 53 [detachedForeignComment, 4, detachedForeignComment, 4]: second addRange() must result in the selection's last range having the specified endpoints assert_equals: startContainer of the Selection's last Range must match the added Range expected Comment node <!--אריה יהודה--> but got Text node "Äb̈c̈d̈ëf̈g̈ḧ
"
-FAIL Range 23 [paras[0], 0, paras[0], 1] followed by Range 53 [detachedForeignComment, 4, detachedForeignComment, 4]: modifying the second added range must modify the Selection's last Range assert_equals: After mutating the second added Range, startContainer of the Selection's last Range must match the added Range expected Text node "Äb̈c̈d̈ëf̈g̈ḧ
-" but got Element node <p id="a">Äb̈c̈d̈ëf̈g̈ḧ
-</p>
+FAIL Range 23 [paras[0], 0, paras[0], 1] followed by Range 53 [detachedForeignComment, 4, detachedForeignComment, 4]: second addRange() must result in the selection's last range being the same object we added assert_equals: getRangeAt(rangeCount - 1) must return the same object we added expected object "" but got object ""
+FAIL Range 23 [paras[0], 0, paras[0], 1] followed by Range 53 [detachedForeignComment, 4, detachedForeignComment, 4]: modifying the second added range must modify the Selection's last Range assert_equals: After mutating the second added Range, startOffset of the Selection's last Range must match the added Range expected 0 but got 6
FAIL Range 23 [paras[0], 0, paras[0], 1] followed by Range 53 [detachedForeignComment, 4, detachedForeignComment, 4]: modifying the Selection's last Range must modify the second added Range assert_equals: After second addRange(), after mutating the Selection's last Range, startOffset of the Selection's last Range must match the added Range expected 0 but got 6
PASS Range 23 [paras[0], 0, paras[0], 1] followed by Range 54 [detachedXmlComment, 2, detachedXmlComment, 6]: first addRange() must not throw exceptions or modify the range it's given
PASS Range 23 [paras[0], 0, paras[0], 1] followed by Range 54 [detachedXmlComment, 2, detachedXmlComment, 6]: first addRange() must result in rangeCount being 1
PASS Range 23 [paras[0], 0, paras[0], 1] followed by Range 54 [detachedXmlComment, 2, detachedXmlComment, 6]: first addRange() must result in the selection's last range having the specified endpoints
-FAIL Range 23 [paras[0], 0, paras[0], 1] followed by Range 54 [detachedXmlComment, 2, detachedXmlComment, 6]: first addRange() must result in the selection's last range being the same object we added assert_equals: getRangeAt(rangeCount - 1) must return the same object we added expected object "Äb̈c̈d̈ëf̈g̈ḧ
-" but got object "Äb̈c̈d̈ëf̈g̈ḧ
-"
-FAIL Range 23 [paras[0], 0, paras[0], 1] followed by Range 54 [detachedXmlComment, 2, detachedXmlComment, 6]: modifying the first added range must modify the Selection's last Range assert_equals: After mutating the first added Range, startContainer of the Selection's last Range must match the added Range expected Text node "Äb̈c̈d̈ëf̈g̈ḧ
-" but got Element node <p id="a">Äb̈c̈d̈ëf̈g̈ḧ
-</p>
-FAIL Range 23 [paras[0], 0, paras[0], 1] followed by Range 54 [detachedXmlComment, 2, detachedXmlComment, 6]: modifying the Selection's last Range must modify the first added Range assert_equals: After first addRange(), after mutating the Selection's last Range, startOffset of the Selection's last Range must match the added Range expected 0 but got 6
+PASS Range 23 [paras[0], 0, paras[0], 1] followed by Range 54 [detachedXmlComment, 2, detachedXmlComment, 6]: first addRange() must result in the selection's last range being the same object we added
+PASS Range 23 [paras[0], 0, paras[0], 1] followed by Range 54 [detachedXmlComment, 2, detachedXmlComment, 6]: modifying the first added range must modify the Selection's last Range
+PASS Range 23 [paras[0], 0, paras[0], 1] followed by Range 54 [detachedXmlComment, 2, detachedXmlComment, 6]: modifying the Selection's last Range must modify the first added Range
PASS Range 23 [paras[0], 0, paras[0], 1] followed by Range 54 [detachedXmlComment, 2, detachedXmlComment, 6]: second addRange() must not throw exceptions or modify the range it's given
PASS Range 23 [paras[0], 0, paras[0], 1] followed by Range 54 [detachedXmlComment, 2, detachedXmlComment, 6]: second addRange() must result in rangeCount being 1
-FAIL Range 23 [paras[0], 0, paras[0], 1] followed by Range 54 [detachedXmlComment, 2, detachedXmlComment, 6]: second addRange() must result in the selection's last range having the specified endpoints assert_equals: startContainer of the Selection's last Range must match the added Range expected Comment node <!--בן חיים אליעזר--> but got Element node <p id="a">Äb̈c̈d̈ëf̈g̈ḧ
-</p>
-FAIL Range 23 [paras[0], 0, paras[0], 1] followed by Range 54 [detachedXmlComment, 2, detachedXmlComment, 6]: second addRange() must result in the selection's last range being the same object we added assert_equals: getRangeAt(rangeCount - 1) must return the same object we added expected object "" but got object "Äb̈c̈d̈ëf̈g̈ḧ
+FAIL Range 23 [paras[0], 0, paras[0], 1] followed by Range 54 [detachedXmlComment, 2, detachedXmlComment, 6]: second addRange() must result in the selection's last range having the specified endpoints assert_equals: startContainer of the Selection's last Range must match the added Range expected Comment node <!--בן חיים אליעזר--> but got Text node "Äb̈c̈d̈ëf̈g̈ḧ
"
-FAIL Range 23 [paras[0], 0, paras[0], 1] followed by Range 54 [detachedXmlComment, 2, detachedXmlComment, 6]: modifying the second added range must modify the Selection's last Range assert_equals: After mutating the second added Range, startContainer of the Selection's last Range must match the added Range expected Text node "Äb̈c̈d̈ëf̈g̈ḧ
-" but got Element node <p id="a">Äb̈c̈d̈ëf̈g̈ḧ
-</p>
+FAIL Range 23 [paras[0], 0, paras[0], 1] followed by Range 54 [detachedXmlComment, 2, detachedXmlComment, 6]: second addRange() must result in the selection's last range being the same object we added assert_equals: getRangeAt(rangeCount - 1) must return the same object we added expected object "" but got object ""
+FAIL Range 23 [paras[0], 0, paras[0], 1] followed by Range 54 [detachedXmlComment, 2, detachedXmlComment, 6]: modifying the second added range must modify the Selection's last Range assert_equals: After mutating the second added Range, startOffset of the Selection's last Range must match the added Range expected 0 but got 6
FAIL Range 23 [paras[0], 0, paras[0], 1] followed by Range 54 [detachedXmlComment, 2, detachedXmlComment, 6]: modifying the Selection's last Range must modify the second added Range assert_equals: After second addRange(), after mutating the Selection's last Range, startOffset of the Selection's last Range must match the added Range expected 0 but got 6
PASS Range 23 [paras[0], 0, paras[0], 1] followed by Range 55 [docfrag, 0, docfrag, 0]: first addRange() must not throw exceptions or modify the range it's given
PASS Range 23 [paras[0], 0, paras[0], 1] followed by Range 55 [docfrag, 0, docfrag, 0]: first addRange() must result in rangeCount being 1
PASS Range 23 [paras[0], 0, paras[0], 1] followed by Range 55 [docfrag, 0, docfrag, 0]: first addRange() must result in the selection's last range having the specified endpoints
-FAIL Range 23 [paras[0], 0, paras[0], 1] followed by Range 55 [docfrag, 0, docfrag, 0]: first addRange() must result in the selection's last range being the same object we added assert_equals: getRangeAt(rangeCount - 1) must return the same object we added expected object "Äb̈c̈d̈ëf̈g̈ḧ
-" but got object "Äb̈c̈d̈ëf̈g̈ḧ
-"
-FAIL Range 23 [paras[0], 0, paras[0], 1] followed by Range 55 [docfrag, 0, docfrag, 0]: modifying the first added range must modify the Selection's last Range assert_equals: After mutating the first added Range, startContainer of the Selection's last Range must match the added Range expected Text node "Äb̈c̈d̈ëf̈g̈ḧ
-" but got Element node <p id="a">Äb̈c̈d̈ëf̈g̈ḧ
-</p>
-FAIL Range 23 [paras[0], 0, paras[0], 1] followed by Range 55 [docfrag, 0, docfrag, 0]: modifying the Selection's last Range must modify the first added Range assert_equals: After first addRange(), after mutating the Selection's last Range, startOffset of the Selection's last Range must match the added Range expected 0 but got 6
+PASS Range 23 [paras[0], 0, paras[0], 1] followed by Range 55 [docfrag, 0, docfrag, 0]: first addRange() must result in the selection's last range being the same object we added
+PASS Range 23 [paras[0], 0, paras[0], 1] followed by Range 55 [docfrag, 0, docfrag, 0]: modifying the first added range must modify the Selection's last Range
+PASS Range 23 [paras[0], 0, paras[0], 1] followed by Range 55 [docfrag, 0, docfrag, 0]: modifying the Selection's last Range must modify the first added Range
PASS Range 23 [paras[0], 0, paras[0], 1] followed by Range 55 [docfrag, 0, docfrag, 0]: second addRange() must not throw exceptions or modify the range it's given
PASS Range 23 [paras[0], 0, paras[0], 1] followed by Range 55 [docfrag, 0, docfrag, 0]: second addRange() must result in rangeCount being 1
-FAIL Range 23 [paras[0], 0, paras[0], 1] followed by Range 55 [docfrag, 0, docfrag, 0]: second addRange() must result in the selection's last range having the specified endpoints assert_equals: startContainer of the Selection's last Range must match the added Range expected DocumentFragment node with 0 children but got Element node <p id="a">Äb̈c̈d̈ëf̈g̈ḧ
-</p>
-FAIL Range 23 [paras[0], 0, paras[0], 1] followed by Range 55 [docfrag, 0, docfrag, 0]: second addRange() must result in the selection's last range being the same object we added assert_equals: getRangeAt(rangeCount - 1) must return the same object we added expected object "" but got object "Äb̈c̈d̈ëf̈g̈ḧ
+FAIL Range 23 [paras[0], 0, paras[0], 1] followed by Range 55 [docfrag, 0, docfrag, 0]: second addRange() must result in the selection's last range having the specified endpoints assert_equals: startContainer of the Selection's last Range must match the added Range expected DocumentFragment node with 0 children but got Text node "Äb̈c̈d̈ëf̈g̈ḧ
"
-FAIL Range 23 [paras[0], 0, paras[0], 1] followed by Range 55 [docfrag, 0, docfrag, 0]: modifying the second added range must modify the Selection's last Range assert_equals: After mutating the second added Range, startContainer of the Selection's last Range must match the added Range expected Text node "Äb̈c̈d̈ëf̈g̈ḧ
-" but got Element node <p id="a">Äb̈c̈d̈ëf̈g̈ḧ
-</p>
+FAIL Range 23 [paras[0], 0, paras[0], 1] followed by Range 55 [docfrag, 0, docfrag, 0]: second addRange() must result in the selection's last range being the same object we added assert_equals: getRangeAt(rangeCount - 1) must return the same object we added expected object "" but got object ""
+FAIL Range 23 [paras[0], 0, paras[0], 1] followed by Range 55 [docfrag, 0, docfrag, 0]: modifying the second added range must modify the Selection's last Range assert_equals: After mutating the second added Range, startOffset of the Selection's last Range must match the added Range expected 0 but got 6
FAIL Range 23 [paras[0], 0, paras[0], 1] followed by Range 55 [docfrag, 0, docfrag, 0]: modifying the Selection's last Range must modify the second added Range assert_equals: After second addRange(), after mutating the Selection's last Range, startOffset of the Selection's last Range must match the added Range expected 0 but got 6
PASS Range 23 [paras[0], 0, paras[0], 1] followed by Range 56 [foreignDocfrag, 0, foreignDocfrag, 0]: first addRange() must not throw exceptions or modify the range it's given
PASS Range 23 [paras[0], 0, paras[0], 1] followed by Range 56 [foreignDocfrag, 0, foreignDocfrag, 0]: first addRange() must result in rangeCount being 1
PASS Range 23 [paras[0], 0, paras[0], 1] followed by Range 56 [foreignDocfrag, 0, foreignDocfrag, 0]: first addRange() must result in the selection's last range having the specified endpoints
-FAIL Range 23 [paras[0], 0, paras[0], 1] followed by Range 56 [foreignDocfrag, 0, foreignDocfrag, 0]: first addRange() must result in the selection's last range being the same object we added assert_equals: getRangeAt(rangeCount - 1) must return the same object we added expected object "Äb̈c̈d̈ëf̈g̈ḧ
-" but got object "Äb̈c̈d̈ëf̈g̈ḧ
-"
-FAIL Range 23 [paras[0], 0, paras[0], 1] followed by Range 56 [foreignDocfrag, 0, foreignDocfrag, 0]: modifying the first added range must modify the Selection's last Range assert_equals: After mutating the first added Range, startContainer of the Selection's last Range must match the added Range expected Text node "Äb̈c̈d̈ëf̈g̈ḧ
-" but got Element node <p id="a">Äb̈c̈d̈ëf̈g̈ḧ
-</p>
-FAIL Range 23 [paras[0], 0, paras[0], 1] followed by Range 56 [foreignDocfrag, 0, foreignDocfrag, 0]: modifying the Selection's last Range must modify the first added Range assert_equals: After first addRange(), after mutating the Selection's last Range, startOffset of the Selection's last Range must match the added Range expected 0 but got 6
+PASS Range 23 [paras[0], 0, paras[0], 1] followed by Range 56 [foreignDocfrag, 0, foreignDocfrag, 0]: first addRange() must result in the selection's last range being the same object we added
+PASS Range 23 [paras[0], 0, paras[0], 1] followed by Range 56 [foreignDocfrag, 0, foreignDocfrag, 0]: modifying the first added range must modify the Selection's last Range
+PASS Range 23 [paras[0], 0, paras[0], 1] followed by Range 56 [foreignDocfrag, 0, foreignDocfrag, 0]: modifying the Selection's last Range must modify the first added Range
PASS Range 23 [paras[0], 0, paras[0], 1] followed by Range 56 [foreignDocfrag, 0, foreignDocfrag, 0]: second addRange() must not throw exceptions or modify the range it's given
PASS Range 23 [paras[0], 0, paras[0], 1] followed by Range 56 [foreignDocfrag, 0, foreignDocfrag, 0]: second addRange() must result in rangeCount being 1
-FAIL Range 23 [paras[0], 0, paras[0], 1] followed by Range 56 [foreignDocfrag, 0, foreignDocfrag, 0]: second addRange() must result in the selection's last range having the specified endpoints assert_equals: startContainer of the Selection's last Range must match the added Range expected DocumentFragment node with 0 children but got Element node <p id="a">Äb̈c̈d̈ëf̈g̈ḧ
-</p>
-FAIL Range 23 [paras[0], 0, paras[0], 1] followed by Range 56 [foreignDocfrag, 0, foreignDocfrag, 0]: second addRange() must result in the selection's last range being the same object we added assert_equals: getRangeAt(rangeCount - 1) must return the same object we added expected object "" but got object "Äb̈c̈d̈ëf̈g̈ḧ
+FAIL Range 23 [paras[0], 0, paras[0], 1] followed by Range 56 [foreignDocfrag, 0, foreignDocfrag, 0]: second addRange() must result in the selection's last range having the specified endpoints assert_equals: startContainer of the Selection's last Range must match the added Range expected DocumentFragment node with 0 children but got Text node "Äb̈c̈d̈ëf̈g̈ḧ
"
-FAIL Range 23 [paras[0], 0, paras[0], 1] followed by Range 56 [foreignDocfrag, 0, foreignDocfrag, 0]: modifying the second added range must modify the Selection's last Range assert_equals: After mutating the second added Range, startContainer of the Selection's last Range must match the added Range expected Text node "Äb̈c̈d̈ëf̈g̈ḧ
-" but got Element node <p id="a">Äb̈c̈d̈ëf̈g̈ḧ
-</p>
+FAIL Range 23 [paras[0], 0, paras[0], 1] followed by Range 56 [foreignDocfrag, 0, foreignDocfrag, 0]: second addRange() must result in the selection's last range being the same object we added assert_equals: getRangeAt(rangeCount - 1) must return the same object we added expected object "" but got object ""
+FAIL Range 23 [paras[0], 0, paras[0], 1] followed by Range 56 [foreignDocfrag, 0, foreignDocfrag, 0]: modifying the second added range must modify the Selection's last Range assert_equals: After mutating the second added Range, startOffset of the Selection's last Range must match the added Range expected 0 but got 6
FAIL Range 23 [paras[0], 0, paras[0], 1] followed by Range 56 [foreignDocfrag, 0, foreignDocfrag, 0]: modifying the Selection's last Range must modify the second added Range assert_equals: After second addRange(), after mutating the Selection's last Range, startOffset of the Selection's last Range must match the added Range expected 0 but got 6
PASS Range 23 [paras[0], 0, paras[0], 1] followed by Range 57 [xmlDocfrag, 0, xmlDocfrag, 0]: first addRange() must not throw exceptions or modify the range it's given
PASS Range 23 [paras[0], 0, paras[0], 1] followed by Range 57 [xmlDocfrag, 0, xmlDocfrag, 0]: first addRange() must result in rangeCount being 1
PASS Range 23 [paras[0], 0, paras[0], 1] followed by Range 57 [xmlDocfrag, 0, xmlDocfrag, 0]: first addRange() must result in the selection's last range having the specified endpoints
-FAIL Range 23 [paras[0], 0, paras[0], 1] followed by Range 57 [xmlDocfrag, 0, xmlDocfrag, 0]: first addRange() must result in the selection's last range being the same object we added assert_equals: getRangeAt(rangeCount - 1) must return the same object we added expected object "Äb̈c̈d̈ëf̈g̈ḧ
-" but got object "Äb̈c̈d̈ëf̈g̈ḧ
-"
-FAIL Range 23 [paras[0], 0, paras[0], 1] followed by Range 57 [xmlDocfrag, 0, xmlDocfrag, 0]: modifying the first added range must modify the Selection's last Range assert_equals: After mutating the first added Range, startContainer of the Selection's last Range must match the added Range expected Text node "Äb̈c̈d̈ëf̈g̈ḧ
-" but got Element node <p id="a">Äb̈c̈d̈ëf̈g̈ḧ
-</p>
-FAIL Range 23 [paras[0], 0, paras[0], 1] followed by Range 57 [xmlDocfrag, 0, xmlDocfrag, 0]: modifying the Selection's last Range must modify the first added Range assert_equals: After first addRange(), after mutating the Selection's last Range, startOffset of the Selection's last Range must match the added Range expected 0 but got 6
+PASS Range 23 [paras[0], 0, paras[0], 1] followed by Range 57 [xmlDocfrag, 0, xmlDocfrag, 0]: first addRange() must result in the selection's last range being the same object we added
+PASS Range 23 [paras[0], 0, paras[0], 1] followed by Range 57 [xmlDocfrag, 0, xmlDocfrag, 0]: modifying the first added range must modify the Selection's last Range
+PASS Range 23 [paras[0], 0, paras[0], 1] followed by Range 57 [xmlDocfrag, 0, xmlDocfrag, 0]: modifying the Selection's last Range must modify the first added Range
PASS Range 23 [paras[0], 0, paras[0], 1] followed by Range 57 [xmlDocfrag, 0, xmlDocfrag, 0]: second addRange() must not throw exceptions or modify the range it's given
PASS Range 23 [paras[0], 0, paras[0], 1] followed by Range 57 [xmlDocfrag, 0, xmlDocfrag, 0]: second addRange() must result in rangeCount being 1
-FAIL Range 23 [paras[0], 0, paras[0], 1] followed by Range 57 [xmlDocfrag, 0, xmlDocfrag, 0]: second addRange() must result in the selection's last range having the specified endpoints assert_equals: startContainer of the Selection's last Range must match the added Range expected DocumentFragment node with 0 children but got Element node <p id="a">Äb̈c̈d̈ëf̈g̈ḧ
-</p>
-FAIL Range 23 [paras[0], 0, paras[0], 1] followed by Range 57 [xmlDocfrag, 0, xmlDocfrag, 0]: second addRange() must result in the selection's last range being the same object we added assert_equals: getRangeAt(rangeCount - 1) must return the same object we added expected object "" but got object "Äb̈c̈d̈ëf̈g̈ḧ
+FAIL Range 23 [paras[0], 0, paras[0], 1] followed by Range 57 [xmlDocfrag, 0, xmlDocfrag, 0]: second addRange() must result in the selection's last range having the specified endpoints assert_equals: startContainer of the Selection's last Range must match the added Range expected DocumentFragment node with 0 children but got Text node "Äb̈c̈d̈ëf̈g̈ḧ
"
-FAIL Range 23 [paras[0], 0, paras[0], 1] followed by Range 57 [xmlDocfrag, 0, xmlDocfrag, 0]: modifying the second added range must modify the Selection's last Range assert_equals: After mutating the second added Range, startContainer of the Selection's last Range must match the added Range expected Text node "Äb̈c̈d̈ëf̈g̈ḧ
-" but got Element node <p id="a">Äb̈c̈d̈ëf̈g̈ḧ
-</p>
+FAIL Range 23 [paras[0], 0, paras[0], 1] followed by Range 57 [xmlDocfrag, 0, xmlDocfrag, 0]: second addRange() must result in the selection's last range being the same object we added assert_equals: getRangeAt(rangeCount - 1) must return the same object we added expected object "" but got object ""
+FAIL Range 23 [paras[0], 0, paras[0], 1] followed by Range 57 [xmlDocfrag, 0, xmlDocfrag, 0]: modifying the second added range must modify the Selection's last Range assert_equals: After mutating the second added Range, startOffset of the Selection's last Range must match the added Range expected 0 but got 6
FAIL Range 23 [paras[0], 0, paras[0], 1] followed by Range 57 [xmlDocfrag, 0, xmlDocfrag, 0]: modifying the Selection's last Range must modify the second added Range assert_equals: After second addRange(), after mutating the Selection's last Range, startOffset of the Selection's last Range must match the added Range expected 0 but got 6
Harness: the test ran to completion.

Powered by Google App Engine
This is Rietveld 408576698