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

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

Issue 2700673005: selection: Do not run invalid sub-tests with unselectable Range. (Closed)
Patch Set: . 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-12-expected.txt
diff --git a/third_party/WebKit/LayoutTests/external/wpt/selection/addRange-12-expected.txt b/third_party/WebKit/LayoutTests/external/wpt/selection/addRange-12-expected.txt
index 7bdd8b19266b17a91b43fbb249e1edd4bb0d5a9f..f07fae65f1e9c4f613aae4494eaf0981f1b8fc06 100644
--- a/third_party/WebKit/LayoutTests/external/wpt/selection/addRange-12-expected.txt
+++ b/third_party/WebKit/LayoutTests/external/wpt/selection/addRange-12-expected.txt
@@ -1,1464 +1,170 @@
-CONSOLE ERROR: line 7: The given range isn't in document.
-CONSOLE ERROR: line 7: The given range isn't in document.
-CONSOLE ERROR: line 7: The given range isn't in document.
-CONSOLE ERROR: line 7: The given range isn't in document.
-CONSOLE ERROR: line 7: The given range isn't in document.
-CONSOLE ERROR: line 7: The given range isn't in document.
-CONSOLE ERROR: line 7: The given range isn't in document.
-CONSOLE ERROR: line 7: The given range isn't in document.
-CONSOLE ERROR: line 7: The given range isn't in document.
-CONSOLE ERROR: line 7: The given range isn't in document.
-CONSOLE ERROR: line 7: The given range isn't in document.
-CONSOLE ERROR: line 7: The given range isn't in document.
-CONSOLE ERROR: line 7: The given range isn't in document.
-CONSOLE ERROR: line 7: The given range isn't in document.
-CONSOLE ERROR: line 7: The given range isn't in document.
-CONSOLE ERROR: line 7: The given range isn't in document.
-CONSOLE ERROR: line 7: The given range isn't in document.
-CONSOLE ERROR: line 7: The given range isn't in document.
-CONSOLE ERROR: line 7: Discontiguous selection is not supported.
-CONSOLE ERROR: line 7: Discontiguous selection is not supported.
-CONSOLE WARNING: line 7: The behavior that Selection.addRange() merges existing Range and the specified Range is deprecated and will be removed in M58, around April 2017. See https://www.chromestatus.com/features/6680566019653632 for more details.
-CONSOLE ERROR: line 7: Discontiguous selection is not supported.
-CONSOLE ERROR: line 7: Discontiguous selection is not supported.
-CONSOLE ERROR: line 7: Discontiguous selection is not supported.
-CONSOLE ERROR: line 7: Discontiguous selection is not supported.
-CONSOLE ERROR: line 7: The given range isn't in document.
-CONSOLE ERROR: line 7: The given range isn't in document.
-CONSOLE ERROR: line 7: The given range isn't in document.
-CONSOLE ERROR: line 7: Discontiguous selection is not supported.
-CONSOLE ERROR: line 7: Discontiguous selection is not supported.
-CONSOLE ERROR: line 7: Discontiguous selection is not supported.
-CONSOLE ERROR: line 7: The given range isn't in document.
-CONSOLE ERROR: line 7: The given range isn't in document.
-CONSOLE ERROR: line 7: Discontiguous selection is not supported.
-CONSOLE ERROR: line 7: Discontiguous selection is not supported.
-CONSOLE ERROR: line 7: Discontiguous selection is not supported.
-CONSOLE ERROR: line 7: Discontiguous selection is not supported.
-CONSOLE ERROR: line 7: Discontiguous selection is not supported.
-CONSOLE ERROR: line 7: Discontiguous selection is not supported.
-CONSOLE ERROR: line 7: The given range isn't in document.
-CONSOLE ERROR: line 7: The given range isn't in document.
-CONSOLE ERROR: line 7: The given range isn't in document.
-CONSOLE ERROR: line 7: The given range isn't in document.
-CONSOLE ERROR: line 7: Discontiguous selection is not supported.
-CONSOLE ERROR: line 7: Discontiguous selection is not supported.
-CONSOLE ERROR: line 7: Discontiguous selection is not supported.
-CONSOLE ERROR: line 7: Discontiguous selection is not supported.
-CONSOLE ERROR: line 7: Discontiguous selection is not supported.
-CONSOLE ERROR: line 7: Discontiguous selection is not supported.
-CONSOLE ERROR: line 7: The given range isn't in document.
-CONSOLE ERROR: line 7: The given range isn't in document.
-CONSOLE ERROR: line 7: The given range isn't in document.
-CONSOLE ERROR: line 7: Discontiguous selection is not supported.
-CONSOLE ERROR: line 7: Discontiguous selection is not supported.
-CONSOLE ERROR: line 7: Discontiguous selection is not supported.
-CONSOLE ERROR: line 7: The given range isn't in document.
-CONSOLE ERROR: line 7: The given range isn't in document.
-CONSOLE ERROR: line 7: Discontiguous selection is not supported.
-CONSOLE ERROR: line 7: Discontiguous selection is not supported.
-CONSOLE ERROR: line 7: Discontiguous selection is not supported.
-CONSOLE ERROR: line 7: Discontiguous selection is not supported.
-CONSOLE ERROR: line 7: Discontiguous selection is not supported.
-CONSOLE ERROR: line 7: Discontiguous selection is not supported.
-CONSOLE ERROR: line 7: The given range isn't in document.
-CONSOLE ERROR: line 7: The given range isn't in document.
-CONSOLE ERROR: line 7: The given range isn't in document.
-CONSOLE ERROR: line 7: The given range isn't in document.
+CONSOLE ERROR: line 24: Discontiguous selection is not supported.
+CONSOLE ERROR: line 24: Discontiguous selection is not supported.
+CONSOLE WARNING: line 24: The behavior that Selection.addRange() merges existing Range and the specified Range is deprecated and will be removed in M58, around April 2017. See https://www.chromestatus.com/features/6680566019653632 for more details.
+CONSOLE ERROR: line 24: Discontiguous selection is not supported.
+CONSOLE ERROR: line 24: Discontiguous selection is not supported.
+CONSOLE ERROR: line 24: Discontiguous selection is not supported.
+CONSOLE ERROR: line 24: Discontiguous selection is not supported.
+CONSOLE ERROR: line 8: The given range isn't in document.
+CONSOLE ERROR: line 8: The given range isn't in document.
+CONSOLE ERROR: line 8: The given range isn't in document.
+CONSOLE ERROR: line 24: Discontiguous selection is not supported.
+CONSOLE ERROR: line 24: Discontiguous selection is not supported.
+CONSOLE ERROR: line 24: Discontiguous selection is not supported.
+CONSOLE ERROR: line 8: The given range isn't in document.
+CONSOLE ERROR: line 8: The given range isn't in document.
+CONSOLE ERROR: line 24: Discontiguous selection is not supported.
+CONSOLE ERROR: line 24: Discontiguous selection is not supported.
+CONSOLE ERROR: line 24: Discontiguous selection is not supported.
+CONSOLE ERROR: line 24: Discontiguous selection is not supported.
+CONSOLE ERROR: line 24: Discontiguous selection is not supported.
+CONSOLE ERROR: line 24: Discontiguous selection is not supported.
+CONSOLE ERROR: line 8: The given range isn't in document.
+CONSOLE ERROR: line 8: The given range isn't in document.
+CONSOLE ERROR: line 8: The given range isn't in document.
+CONSOLE ERROR: line 8: The given range isn't in document.
+CONSOLE ERROR: line 24: Discontiguous selection is not supported.
+CONSOLE ERROR: line 24: Discontiguous selection is not supported.
+CONSOLE ERROR: line 24: Discontiguous selection is not supported.
+CONSOLE ERROR: line 24: Discontiguous selection is not supported.
+CONSOLE ERROR: line 24: Discontiguous selection is not supported.
+CONSOLE ERROR: line 24: Discontiguous selection is not supported.
+CONSOLE ERROR: line 8: The given range isn't in document.
+CONSOLE ERROR: line 8: The given range isn't in document.
+CONSOLE ERROR: line 8: The given range isn't in document.
+CONSOLE ERROR: line 24: Discontiguous selection is not supported.
+CONSOLE ERROR: line 24: Discontiguous selection is not supported.
+CONSOLE ERROR: line 24: Discontiguous selection is not supported.
+CONSOLE ERROR: line 8: The given range isn't in document.
+CONSOLE ERROR: line 8: The given range isn't in document.
+CONSOLE ERROR: line 24: Discontiguous selection is not supported.
+CONSOLE ERROR: line 24: Discontiguous selection is not supported.
+CONSOLE ERROR: line 24: Discontiguous selection is not supported.
+CONSOLE ERROR: line 24: Discontiguous selection is not supported.
+CONSOLE ERROR: line 24: Discontiguous selection is not supported.
+CONSOLE ERROR: line 24: Discontiguous selection is not supported.
+CONSOLE ERROR: line 8: The given range isn't in document.
+CONSOLE ERROR: line 8: The given range isn't in document.
+CONSOLE ERROR: line 8: The given range isn't in document.
+CONSOLE ERROR: line 8: The given range isn't in document.
This is a testharness.js-based test.
-Found 2784 tests; 1464 PASS, 1320 FAIL, 0 TIMEOUT, 0 NOTRUN.
-PASS Range 12 [foreignPara1.firstChild, 0, foreignPara1.firstChild, 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
-FAIL Range 12 [foreignPara1.firstChild, 0, foreignPara1.firstChild, 1] followed by Range 0 [paras[0].firstChild, 0, paras[0].firstChild, 0]: first addRange() must result in rangeCount being 1 assert_equals: rangeCount must be 1 expected 1 but got 0
-FAIL Range 12 [foreignPara1.firstChild, 0, foreignPara1.firstChild, 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 assert_not_equals: Cannot proceed with tests if rangeCount is 0 got disallowed value 0
-FAIL Range 12 [foreignPara1.firstChild, 0, foreignPara1.firstChild, 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_not_equals: Cannot proceed with tests if rangeCount is 0 got disallowed value 0
-FAIL Range 12 [foreignPara1.firstChild, 0, foreignPara1.firstChild, 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_not_equals: Cannot proceed with tests if rangeCount is 0 got disallowed value 0
-FAIL Range 12 [foreignPara1.firstChild, 0, foreignPara1.firstChild, 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_not_equals: Cannot proceed with tests if rangeCount is 0 got disallowed value 0
-PASS Range 12 [foreignPara1.firstChild, 0, foreignPara1.firstChild, 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 12 [foreignPara1.firstChild, 0, foreignPara1.firstChild, 1] followed by Range 0 [paras[0].firstChild, 0, paras[0].firstChild, 0]: second addRange() must result in rangeCount being 1
-PASS Range 12 [foreignPara1.firstChild, 0, foreignPara1.firstChild, 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
-PASS Range 12 [foreignPara1.firstChild, 0, foreignPara1.firstChild, 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 12 [foreignPara1.firstChild, 0, foreignPara1.firstChild, 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 12 [foreignPara1.firstChild, 0, foreignPara1.firstChild, 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 12 [foreignPara1.firstChild, 0, foreignPara1.firstChild, 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 12 [foreignPara1.firstChild, 0, foreignPara1.firstChild, 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 12 [foreignPara1.firstChild, 0, foreignPara1.firstChild, 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
-FAIL Range 12 [foreignPara1.firstChild, 0, foreignPara1.firstChild, 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_not_equals: Cannot proceed with tests if rangeCount is 0 got disallowed value 0
-FAIL Range 12 [foreignPara1.firstChild, 0, foreignPara1.firstChild, 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_not_equals: Cannot proceed with tests if rangeCount is 0 got disallowed value 0
-FAIL Range 12 [foreignPara1.firstChild, 0, foreignPara1.firstChild, 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_not_equals: Cannot proceed with tests if rangeCount is 0 got disallowed value 0
-PASS Range 12 [foreignPara1.firstChild, 0, foreignPara1.firstChild, 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 12 [foreignPara1.firstChild, 0, foreignPara1.firstChild, 1] followed by Range 1 [paras[0].firstChild, 0, paras[0].firstChild, 1]: second addRange() must result in rangeCount being 1
-PASS Range 12 [foreignPara1.firstChild, 0, foreignPara1.firstChild, 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
-PASS Range 12 [foreignPara1.firstChild, 0, foreignPara1.firstChild, 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 12 [foreignPara1.firstChild, 0, foreignPara1.firstChild, 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 12 [foreignPara1.firstChild, 0, foreignPara1.firstChild, 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 12 [foreignPara1.firstChild, 0, foreignPara1.firstChild, 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 12 [foreignPara1.firstChild, 0, foreignPara1.firstChild, 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 12 [foreignPara1.firstChild, 0, foreignPara1.firstChild, 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
-FAIL Range 12 [foreignPara1.firstChild, 0, foreignPara1.firstChild, 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_not_equals: Cannot proceed with tests if rangeCount is 0 got disallowed value 0
-FAIL Range 12 [foreignPara1.firstChild, 0, foreignPara1.firstChild, 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_not_equals: Cannot proceed with tests if rangeCount is 0 got disallowed value 0
-FAIL Range 12 [foreignPara1.firstChild, 0, foreignPara1.firstChild, 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_not_equals: Cannot proceed with tests if rangeCount is 0 got disallowed value 0
-PASS Range 12 [foreignPara1.firstChild, 0, foreignPara1.firstChild, 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 12 [foreignPara1.firstChild, 0, foreignPara1.firstChild, 1] followed by Range 2 [paras[0].firstChild, 2, paras[0].firstChild, 8]: second addRange() must result in rangeCount being 1
-PASS Range 12 [foreignPara1.firstChild, 0, foreignPara1.firstChild, 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
-PASS Range 12 [foreignPara1.firstChild, 0, foreignPara1.firstChild, 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 12 [foreignPara1.firstChild, 0, foreignPara1.firstChild, 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 12 [foreignPara1.firstChild, 0, foreignPara1.firstChild, 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 12 [foreignPara1.firstChild, 0, foreignPara1.firstChild, 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 12 [foreignPara1.firstChild, 0, foreignPara1.firstChild, 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 12 [foreignPara1.firstChild, 0, foreignPara1.firstChild, 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
-FAIL Range 12 [foreignPara1.firstChild, 0, foreignPara1.firstChild, 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_not_equals: Cannot proceed with tests if rangeCount is 0 got disallowed value 0
-FAIL Range 12 [foreignPara1.firstChild, 0, foreignPara1.firstChild, 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_not_equals: Cannot proceed with tests if rangeCount is 0 got disallowed value 0
-FAIL Range 12 [foreignPara1.firstChild, 0, foreignPara1.firstChild, 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_not_equals: Cannot proceed with tests if rangeCount is 0 got disallowed value 0
-PASS Range 12 [foreignPara1.firstChild, 0, foreignPara1.firstChild, 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 12 [foreignPara1.firstChild, 0, foreignPara1.firstChild, 1] followed by Range 3 [paras[0].firstChild, 2, paras[0].firstChild, 9]: second addRange() must result in rangeCount being 1
-PASS Range 12 [foreignPara1.firstChild, 0, foreignPara1.firstChild, 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
-PASS Range 12 [foreignPara1.firstChild, 0, foreignPara1.firstChild, 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 12 [foreignPara1.firstChild, 0, foreignPara1.firstChild, 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 12 [foreignPara1.firstChild, 0, foreignPara1.firstChild, 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 12 [foreignPara1.firstChild, 0, foreignPara1.firstChild, 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 12 [foreignPara1.firstChild, 0, foreignPara1.firstChild, 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 12 [foreignPara1.firstChild, 0, foreignPara1.firstChild, 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
-FAIL Range 12 [foreignPara1.firstChild, 0, foreignPara1.firstChild, 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_not_equals: Cannot proceed with tests if rangeCount is 0 got disallowed value 0
-FAIL Range 12 [foreignPara1.firstChild, 0, foreignPara1.firstChild, 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_not_equals: Cannot proceed with tests if rangeCount is 0 got disallowed value 0
-FAIL Range 12 [foreignPara1.firstChild, 0, foreignPara1.firstChild, 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_not_equals: Cannot proceed with tests if rangeCount is 0 got disallowed value 0
-PASS Range 12 [foreignPara1.firstChild, 0, foreignPara1.firstChild, 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 12 [foreignPara1.firstChild, 0, foreignPara1.firstChild, 1] followed by Range 4 [paras[1].firstChild, 0, paras[1].firstChild, 0]: second addRange() must result in rangeCount being 1
-PASS Range 12 [foreignPara1.firstChild, 0, foreignPara1.firstChild, 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
-PASS Range 12 [foreignPara1.firstChild, 0, foreignPara1.firstChild, 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 12 [foreignPara1.firstChild, 0, foreignPara1.firstChild, 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 12 [foreignPara1.firstChild, 0, foreignPara1.firstChild, 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 12 [foreignPara1.firstChild, 0, foreignPara1.firstChild, 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 12 [foreignPara1.firstChild, 0, foreignPara1.firstChild, 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 12 [foreignPara1.firstChild, 0, foreignPara1.firstChild, 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
-FAIL Range 12 [foreignPara1.firstChild, 0, foreignPara1.firstChild, 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_not_equals: Cannot proceed with tests if rangeCount is 0 got disallowed value 0
-FAIL Range 12 [foreignPara1.firstChild, 0, foreignPara1.firstChild, 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_not_equals: Cannot proceed with tests if rangeCount is 0 got disallowed value 0
-FAIL Range 12 [foreignPara1.firstChild, 0, foreignPara1.firstChild, 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_not_equals: Cannot proceed with tests if rangeCount is 0 got disallowed value 0
-PASS Range 12 [foreignPara1.firstChild, 0, foreignPara1.firstChild, 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 12 [foreignPara1.firstChild, 0, foreignPara1.firstChild, 1] followed by Range 5 [paras[1].firstChild, 0, paras[1].firstChild, 1]: second addRange() must result in rangeCount being 1
-PASS Range 12 [foreignPara1.firstChild, 0, foreignPara1.firstChild, 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
-PASS Range 12 [foreignPara1.firstChild, 0, foreignPara1.firstChild, 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 12 [foreignPara1.firstChild, 0, foreignPara1.firstChild, 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 12 [foreignPara1.firstChild, 0, foreignPara1.firstChild, 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 12 [foreignPara1.firstChild, 0, foreignPara1.firstChild, 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 12 [foreignPara1.firstChild, 0, foreignPara1.firstChild, 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 12 [foreignPara1.firstChild, 0, foreignPara1.firstChild, 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
-FAIL Range 12 [foreignPara1.firstChild, 0, foreignPara1.firstChild, 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_not_equals: Cannot proceed with tests if rangeCount is 0 got disallowed value 0
-FAIL Range 12 [foreignPara1.firstChild, 0, foreignPara1.firstChild, 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_not_equals: Cannot proceed with tests if rangeCount is 0 got disallowed value 0
-FAIL Range 12 [foreignPara1.firstChild, 0, foreignPara1.firstChild, 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_not_equals: Cannot proceed with tests if rangeCount is 0 got disallowed value 0
-PASS Range 12 [foreignPara1.firstChild, 0, foreignPara1.firstChild, 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 12 [foreignPara1.firstChild, 0, foreignPara1.firstChild, 1] followed by Range 6 [paras[1].firstChild, 2, paras[1].firstChild, 8]: second addRange() must result in rangeCount being 1
-PASS Range 12 [foreignPara1.firstChild, 0, foreignPara1.firstChild, 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
-PASS Range 12 [foreignPara1.firstChild, 0, foreignPara1.firstChild, 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 12 [foreignPara1.firstChild, 0, foreignPara1.firstChild, 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 12 [foreignPara1.firstChild, 0, foreignPara1.firstChild, 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 12 [foreignPara1.firstChild, 0, foreignPara1.firstChild, 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 12 [foreignPara1.firstChild, 0, foreignPara1.firstChild, 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 12 [foreignPara1.firstChild, 0, foreignPara1.firstChild, 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
-FAIL Range 12 [foreignPara1.firstChild, 0, foreignPara1.firstChild, 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_not_equals: Cannot proceed with tests if rangeCount is 0 got disallowed value 0
-FAIL Range 12 [foreignPara1.firstChild, 0, foreignPara1.firstChild, 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_not_equals: Cannot proceed with tests if rangeCount is 0 got disallowed value 0
-FAIL Range 12 [foreignPara1.firstChild, 0, foreignPara1.firstChild, 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_not_equals: Cannot proceed with tests if rangeCount is 0 got disallowed value 0
-PASS Range 12 [foreignPara1.firstChild, 0, foreignPara1.firstChild, 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 12 [foreignPara1.firstChild, 0, foreignPara1.firstChild, 1] followed by Range 7 [paras[1].firstChild, 2, paras[1].firstChild, 9]: second addRange() must result in rangeCount being 1
-PASS Range 12 [foreignPara1.firstChild, 0, foreignPara1.firstChild, 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
-PASS Range 12 [foreignPara1.firstChild, 0, foreignPara1.firstChild, 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 12 [foreignPara1.firstChild, 0, foreignPara1.firstChild, 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 12 [foreignPara1.firstChild, 0, foreignPara1.firstChild, 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 12 [foreignPara1.firstChild, 0, foreignPara1.firstChild, 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 12 [foreignPara1.firstChild, 0, foreignPara1.firstChild, 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 12 [foreignPara1.firstChild, 0, foreignPara1.firstChild, 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
-FAIL Range 12 [foreignPara1.firstChild, 0, foreignPara1.firstChild, 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_not_equals: Cannot proceed with tests if rangeCount is 0 got disallowed value 0
-FAIL Range 12 [foreignPara1.firstChild, 0, foreignPara1.firstChild, 1] followed by Range 8 [detachedPara1.firstChild, 0, detachedPara1.firstChild, 0]: modifying the first added range must modify the Selection's last Range assert_not_equals: Cannot proceed with tests if rangeCount is 0 got disallowed value 0
-FAIL Range 12 [foreignPara1.firstChild, 0, foreignPara1.firstChild, 1] followed by Range 8 [detachedPara1.firstChild, 0, detachedPara1.firstChild, 0]: 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 12 [foreignPara1.firstChild, 0, foreignPara1.firstChild, 1] followed by Range 8 [detachedPara1.firstChild, 0, detachedPara1.firstChild, 0]: second addRange() must not throw exceptions or modify the range it's given
-FAIL Range 12 [foreignPara1.firstChild, 0, foreignPara1.firstChild, 1] followed by Range 8 [detachedPara1.firstChild, 0, detachedPara1.firstChild, 0]: second addRange() must result in rangeCount being 1 assert_equals: rangeCount must be 1 expected 1 but got 0
-FAIL Range 12 [foreignPara1.firstChild, 0, foreignPara1.firstChild, 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_not_equals: Cannot proceed with tests if rangeCount is 0 got disallowed value 0
-FAIL Range 12 [foreignPara1.firstChild, 0, foreignPara1.firstChild, 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_not_equals: Cannot proceed with tests if rangeCount is 0 got disallowed value 0
-FAIL Range 12 [foreignPara1.firstChild, 0, foreignPara1.firstChild, 1] followed by Range 8 [detachedPara1.firstChild, 0, detachedPara1.firstChild, 0]: modifying the second added range must modify the Selection's last Range assert_not_equals: Cannot proceed with tests if rangeCount is 0 got disallowed value 0
-FAIL Range 12 [foreignPara1.firstChild, 0, foreignPara1.firstChild, 1] followed by Range 8 [detachedPara1.firstChild, 0, detachedPara1.firstChild, 0]: modifying the Selection's last Range must modify the second added Range assert_not_equals: Cannot proceed with tests if rangeCount is 0 got disallowed value 0
-PASS Range 12 [foreignPara1.firstChild, 0, foreignPara1.firstChild, 1] followed by Range 9 [detachedPara1.firstChild, 0, detachedPara1.firstChild, 1]: first addRange() must not throw exceptions or modify the range it's given
-FAIL Range 12 [foreignPara1.firstChild, 0, foreignPara1.firstChild, 1] followed by Range 9 [detachedPara1.firstChild, 0, detachedPara1.firstChild, 1]: first addRange() must result in rangeCount being 1 assert_equals: rangeCount must be 1 expected 1 but got 0
-FAIL Range 12 [foreignPara1.firstChild, 0, foreignPara1.firstChild, 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 assert_not_equals: Cannot proceed with tests if rangeCount is 0 got disallowed value 0
-FAIL Range 12 [foreignPara1.firstChild, 0, foreignPara1.firstChild, 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_not_equals: Cannot proceed with tests if rangeCount is 0 got disallowed value 0
-FAIL Range 12 [foreignPara1.firstChild, 0, foreignPara1.firstChild, 1] followed by Range 9 [detachedPara1.firstChild, 0, detachedPara1.firstChild, 1]: modifying the first added range must modify the Selection's last Range assert_not_equals: Cannot proceed with tests if rangeCount is 0 got disallowed value 0
-FAIL Range 12 [foreignPara1.firstChild, 0, foreignPara1.firstChild, 1] followed by Range 9 [detachedPara1.firstChild, 0, detachedPara1.firstChild, 1]: 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 12 [foreignPara1.firstChild, 0, foreignPara1.firstChild, 1] followed by Range 9 [detachedPara1.firstChild, 0, detachedPara1.firstChild, 1]: second addRange() must not throw exceptions or modify the range it's given
-FAIL Range 12 [foreignPara1.firstChild, 0, foreignPara1.firstChild, 1] followed by Range 9 [detachedPara1.firstChild, 0, detachedPara1.firstChild, 1]: second addRange() must result in rangeCount being 1 assert_equals: rangeCount must be 1 expected 1 but got 0
-FAIL Range 12 [foreignPara1.firstChild, 0, foreignPara1.firstChild, 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_not_equals: Cannot proceed with tests if rangeCount is 0 got disallowed value 0
-FAIL Range 12 [foreignPara1.firstChild, 0, foreignPara1.firstChild, 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_not_equals: Cannot proceed with tests if rangeCount is 0 got disallowed value 0
-FAIL Range 12 [foreignPara1.firstChild, 0, foreignPara1.firstChild, 1] followed by Range 9 [detachedPara1.firstChild, 0, detachedPara1.firstChild, 1]: modifying the second added range must modify the Selection's last Range assert_not_equals: Cannot proceed with tests if rangeCount is 0 got disallowed value 0
-FAIL Range 12 [foreignPara1.firstChild, 0, foreignPara1.firstChild, 1] followed by Range 9 [detachedPara1.firstChild, 0, detachedPara1.firstChild, 1]: modifying the Selection's last Range must modify the second added Range assert_not_equals: Cannot proceed with tests if rangeCount is 0 got disallowed value 0
-PASS Range 12 [foreignPara1.firstChild, 0, foreignPara1.firstChild, 1] followed by Range 10 [detachedPara1.firstChild, 2, detachedPara1.firstChild, 8]: first addRange() must not throw exceptions or modify the range it's given
-FAIL Range 12 [foreignPara1.firstChild, 0, foreignPara1.firstChild, 1] followed by Range 10 [detachedPara1.firstChild, 2, detachedPara1.firstChild, 8]: first addRange() must result in rangeCount being 1 assert_equals: rangeCount must be 1 expected 1 but got 0
-FAIL Range 12 [foreignPara1.firstChild, 0, foreignPara1.firstChild, 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 assert_not_equals: Cannot proceed with tests if rangeCount is 0 got disallowed value 0
-FAIL Range 12 [foreignPara1.firstChild, 0, foreignPara1.firstChild, 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_not_equals: Cannot proceed with tests if rangeCount is 0 got disallowed value 0
-FAIL Range 12 [foreignPara1.firstChild, 0, foreignPara1.firstChild, 1] followed by Range 10 [detachedPara1.firstChild, 2, detachedPara1.firstChild, 8]: modifying the first added range must modify the Selection's last Range assert_not_equals: Cannot proceed with tests if rangeCount is 0 got disallowed value 0
-FAIL Range 12 [foreignPara1.firstChild, 0, foreignPara1.firstChild, 1] followed by Range 10 [detachedPara1.firstChild, 2, detachedPara1.firstChild, 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 12 [foreignPara1.firstChild, 0, foreignPara1.firstChild, 1] followed by Range 10 [detachedPara1.firstChild, 2, detachedPara1.firstChild, 8]: second addRange() must not throw exceptions or modify the range it's given
-FAIL Range 12 [foreignPara1.firstChild, 0, foreignPara1.firstChild, 1] followed by Range 10 [detachedPara1.firstChild, 2, detachedPara1.firstChild, 8]: second addRange() must result in rangeCount being 1 assert_equals: rangeCount must be 1 expected 1 but got 0
-FAIL Range 12 [foreignPara1.firstChild, 0, foreignPara1.firstChild, 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_not_equals: Cannot proceed with tests if rangeCount is 0 got disallowed value 0
-FAIL Range 12 [foreignPara1.firstChild, 0, foreignPara1.firstChild, 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_not_equals: Cannot proceed with tests if rangeCount is 0 got disallowed value 0
-FAIL Range 12 [foreignPara1.firstChild, 0, foreignPara1.firstChild, 1] followed by Range 10 [detachedPara1.firstChild, 2, detachedPara1.firstChild, 8]: modifying the second added range must modify the Selection's last Range assert_not_equals: Cannot proceed with tests if rangeCount is 0 got disallowed value 0
-FAIL Range 12 [foreignPara1.firstChild, 0, foreignPara1.firstChild, 1] followed by Range 10 [detachedPara1.firstChild, 2, detachedPara1.firstChild, 8]: modifying the Selection's last Range must modify the second added Range assert_not_equals: Cannot proceed with tests if rangeCount is 0 got disallowed value 0
-PASS Range 12 [foreignPara1.firstChild, 0, foreignPara1.firstChild, 1] followed by Range 11 [foreignPara1.firstChild, 0, foreignPara1.firstChild, 0]: first addRange() must not throw exceptions or modify the range it's given
-FAIL Range 12 [foreignPara1.firstChild, 0, foreignPara1.firstChild, 1] followed by Range 11 [foreignPara1.firstChild, 0, foreignPara1.firstChild, 0]: first addRange() must result in rangeCount being 1 assert_equals: rangeCount must be 1 expected 1 but got 0
-FAIL Range 12 [foreignPara1.firstChild, 0, foreignPara1.firstChild, 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 assert_not_equals: Cannot proceed with tests if rangeCount is 0 got disallowed value 0
-FAIL Range 12 [foreignPara1.firstChild, 0, foreignPara1.firstChild, 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_not_equals: Cannot proceed with tests if rangeCount is 0 got disallowed value 0
-FAIL Range 12 [foreignPara1.firstChild, 0, foreignPara1.firstChild, 1] followed by Range 11 [foreignPara1.firstChild, 0, foreignPara1.firstChild, 0]: modifying the first added range must modify the Selection's last Range assert_not_equals: Cannot proceed with tests if rangeCount is 0 got disallowed value 0
-FAIL Range 12 [foreignPara1.firstChild, 0, foreignPara1.firstChild, 1] followed by Range 11 [foreignPara1.firstChild, 0, foreignPara1.firstChild, 0]: 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 12 [foreignPara1.firstChild, 0, foreignPara1.firstChild, 1] followed by Range 11 [foreignPara1.firstChild, 0, foreignPara1.firstChild, 0]: second addRange() must not throw exceptions or modify the range it's given
-FAIL Range 12 [foreignPara1.firstChild, 0, foreignPara1.firstChild, 1] followed by Range 11 [foreignPara1.firstChild, 0, foreignPara1.firstChild, 0]: second addRange() must result in rangeCount being 1 assert_equals: rangeCount must be 1 expected 1 but got 0
-FAIL Range 12 [foreignPara1.firstChild, 0, foreignPara1.firstChild, 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_not_equals: Cannot proceed with tests if rangeCount is 0 got disallowed value 0
-FAIL Range 12 [foreignPara1.firstChild, 0, foreignPara1.firstChild, 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_not_equals: Cannot proceed with tests if rangeCount is 0 got disallowed value 0
-FAIL Range 12 [foreignPara1.firstChild, 0, foreignPara1.firstChild, 1] followed by Range 11 [foreignPara1.firstChild, 0, foreignPara1.firstChild, 0]: modifying the second added range must modify the Selection's last Range assert_not_equals: Cannot proceed with tests if rangeCount is 0 got disallowed value 0
-FAIL Range 12 [foreignPara1.firstChild, 0, foreignPara1.firstChild, 1] followed by Range 11 [foreignPara1.firstChild, 0, foreignPara1.firstChild, 0]: modifying the Selection's last Range must modify the second added Range assert_not_equals: Cannot proceed with tests if rangeCount is 0 got disallowed value 0
-PASS Range 12 [foreignPara1.firstChild, 0, foreignPara1.firstChild, 1] followed by Range 12 [foreignPara1.firstChild, 0, foreignPara1.firstChild, 1]: first addRange() must not throw exceptions or modify the range it's given
-FAIL Range 12 [foreignPara1.firstChild, 0, foreignPara1.firstChild, 1] followed by Range 12 [foreignPara1.firstChild, 0, foreignPara1.firstChild, 1]: first addRange() must result in rangeCount being 1 assert_equals: rangeCount must be 1 expected 1 but got 0
-FAIL Range 12 [foreignPara1.firstChild, 0, foreignPara1.firstChild, 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 assert_not_equals: Cannot proceed with tests if rangeCount is 0 got disallowed value 0
-FAIL Range 12 [foreignPara1.firstChild, 0, foreignPara1.firstChild, 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_not_equals: Cannot proceed with tests if rangeCount is 0 got disallowed value 0
-FAIL Range 12 [foreignPara1.firstChild, 0, foreignPara1.firstChild, 1] followed by Range 12 [foreignPara1.firstChild, 0, foreignPara1.firstChild, 1]: modifying the first added range must modify the Selection's last Range assert_not_equals: Cannot proceed with tests if rangeCount is 0 got disallowed value 0
-FAIL Range 12 [foreignPara1.firstChild, 0, foreignPara1.firstChild, 1] followed by Range 12 [foreignPara1.firstChild, 0, foreignPara1.firstChild, 1]: 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 12 [foreignPara1.firstChild, 0, foreignPara1.firstChild, 1] followed by Range 12 [foreignPara1.firstChild, 0, foreignPara1.firstChild, 1]: second addRange() must not throw exceptions or modify the range it's given
-FAIL Range 12 [foreignPara1.firstChild, 0, foreignPara1.firstChild, 1] followed by Range 12 [foreignPara1.firstChild, 0, foreignPara1.firstChild, 1]: second addRange() must result in rangeCount being 1 assert_equals: rangeCount must be 1 expected 1 but got 0
-FAIL Range 12 [foreignPara1.firstChild, 0, foreignPara1.firstChild, 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_not_equals: Cannot proceed with tests if rangeCount is 0 got disallowed value 0
-FAIL Range 12 [foreignPara1.firstChild, 0, foreignPara1.firstChild, 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_not_equals: Cannot proceed with tests if rangeCount is 0 got disallowed value 0
-FAIL Range 12 [foreignPara1.firstChild, 0, foreignPara1.firstChild, 1] followed by Range 12 [foreignPara1.firstChild, 0, foreignPara1.firstChild, 1]: modifying the second added range must modify the Selection's last Range assert_not_equals: Cannot proceed with tests if rangeCount is 0 got disallowed value 0
-FAIL Range 12 [foreignPara1.firstChild, 0, foreignPara1.firstChild, 1] followed by Range 12 [foreignPara1.firstChild, 0, foreignPara1.firstChild, 1]: modifying the Selection's last Range must modify the second added Range assert_not_equals: Cannot proceed with tests if rangeCount is 0 got disallowed value 0
-PASS Range 12 [foreignPara1.firstChild, 0, foreignPara1.firstChild, 1] followed by Range 13 [foreignPara1.firstChild, 2, foreignPara1.firstChild, 8]: first addRange() must not throw exceptions or modify the range it's given
-FAIL Range 12 [foreignPara1.firstChild, 0, foreignPara1.firstChild, 1] followed by Range 13 [foreignPara1.firstChild, 2, foreignPara1.firstChild, 8]: first addRange() must result in rangeCount being 1 assert_equals: rangeCount must be 1 expected 1 but got 0
-FAIL Range 12 [foreignPara1.firstChild, 0, foreignPara1.firstChild, 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 assert_not_equals: Cannot proceed with tests if rangeCount is 0 got disallowed value 0
-FAIL Range 12 [foreignPara1.firstChild, 0, foreignPara1.firstChild, 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_not_equals: Cannot proceed with tests if rangeCount is 0 got disallowed value 0
-FAIL Range 12 [foreignPara1.firstChild, 0, foreignPara1.firstChild, 1] followed by Range 13 [foreignPara1.firstChild, 2, foreignPara1.firstChild, 8]: modifying the first added range must modify the Selection's last Range assert_not_equals: Cannot proceed with tests if rangeCount is 0 got disallowed value 0
-FAIL Range 12 [foreignPara1.firstChild, 0, foreignPara1.firstChild, 1] followed by Range 13 [foreignPara1.firstChild, 2, foreignPara1.firstChild, 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 12 [foreignPara1.firstChild, 0, foreignPara1.firstChild, 1] followed by Range 13 [foreignPara1.firstChild, 2, foreignPara1.firstChild, 8]: second addRange() must not throw exceptions or modify the range it's given
-FAIL Range 12 [foreignPara1.firstChild, 0, foreignPara1.firstChild, 1] followed by Range 13 [foreignPara1.firstChild, 2, foreignPara1.firstChild, 8]: second addRange() must result in rangeCount being 1 assert_equals: rangeCount must be 1 expected 1 but got 0
-FAIL Range 12 [foreignPara1.firstChild, 0, foreignPara1.firstChild, 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_not_equals: Cannot proceed with tests if rangeCount is 0 got disallowed value 0
-FAIL Range 12 [foreignPara1.firstChild, 0, foreignPara1.firstChild, 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_not_equals: Cannot proceed with tests if rangeCount is 0 got disallowed value 0
-FAIL Range 12 [foreignPara1.firstChild, 0, foreignPara1.firstChild, 1] followed by Range 13 [foreignPara1.firstChild, 2, foreignPara1.firstChild, 8]: modifying the second added range must modify the Selection's last Range assert_not_equals: Cannot proceed with tests if rangeCount is 0 got disallowed value 0
-FAIL Range 12 [foreignPara1.firstChild, 0, foreignPara1.firstChild, 1] followed by Range 13 [foreignPara1.firstChild, 2, foreignPara1.firstChild, 8]: modifying the Selection's last Range must modify the second added Range assert_not_equals: Cannot proceed with tests if rangeCount is 0 got disallowed value 0
-PASS Range 12 [foreignPara1.firstChild, 0, foreignPara1.firstChild, 1] followed by Range 14 [document.documentElement, 0, document.documentElement, 1]: first addRange() must not throw exceptions or modify the range it's given
-FAIL Range 12 [foreignPara1.firstChild, 0, foreignPara1.firstChild, 1] followed by Range 14 [document.documentElement, 0, document.documentElement, 1]: first addRange() must result in rangeCount being 1 assert_equals: rangeCount must be 1 expected 1 but got 0
-FAIL Range 12 [foreignPara1.firstChild, 0, foreignPara1.firstChild, 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 assert_not_equals: Cannot proceed with tests if rangeCount is 0 got disallowed value 0
-FAIL Range 12 [foreignPara1.firstChild, 0, foreignPara1.firstChild, 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_not_equals: Cannot proceed with tests if rangeCount is 0 got disallowed value 0
-FAIL Range 12 [foreignPara1.firstChild, 0, foreignPara1.firstChild, 1] followed by Range 14 [document.documentElement, 0, document.documentElement, 1]: modifying the first added range must modify the Selection's last Range assert_not_equals: Cannot proceed with tests if rangeCount is 0 got disallowed value 0
-FAIL Range 12 [foreignPara1.firstChild, 0, foreignPara1.firstChild, 1] followed by Range 14 [document.documentElement, 0, document.documentElement, 1]: 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 12 [foreignPara1.firstChild, 0, foreignPara1.firstChild, 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 12 [foreignPara1.firstChild, 0, foreignPara1.firstChild, 1] followed by Range 14 [document.documentElement, 0, document.documentElement, 1]: second addRange() must result in rangeCount being 1
-PASS Range 12 [foreignPara1.firstChild, 0, foreignPara1.firstChild, 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
-PASS Range 12 [foreignPara1.firstChild, 0, foreignPara1.firstChild, 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 12 [foreignPara1.firstChild, 0, foreignPara1.firstChild, 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 12 [foreignPara1.firstChild, 0, foreignPara1.firstChild, 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 12 [foreignPara1.firstChild, 0, foreignPara1.firstChild, 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 12 [foreignPara1.firstChild, 0, foreignPara1.firstChild, 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 12 [foreignPara1.firstChild, 0, foreignPara1.firstChild, 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
-FAIL Range 12 [foreignPara1.firstChild, 0, foreignPara1.firstChild, 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_not_equals: Cannot proceed with tests if rangeCount is 0 got disallowed value 0
-FAIL Range 12 [foreignPara1.firstChild, 0, foreignPara1.firstChild, 1] followed by Range 15 [document.documentElement, 0, document.documentElement, 2]: modifying the first added range must modify the Selection's last Range assert_not_equals: Cannot proceed with tests if rangeCount is 0 got disallowed value 0
-FAIL Range 12 [foreignPara1.firstChild, 0, foreignPara1.firstChild, 1] followed by Range 15 [document.documentElement, 0, document.documentElement, 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 12 [foreignPara1.firstChild, 0, foreignPara1.firstChild, 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 12 [foreignPara1.firstChild, 0, foreignPara1.firstChild, 1] followed by Range 15 [document.documentElement, 0, document.documentElement, 2]: second addRange() must result in rangeCount being 1
-PASS Range 12 [foreignPara1.firstChild, 0, foreignPara1.firstChild, 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
-PASS Range 12 [foreignPara1.firstChild, 0, foreignPara1.firstChild, 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 12 [foreignPara1.firstChild, 0, foreignPara1.firstChild, 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 12 [foreignPara1.firstChild, 0, foreignPara1.firstChild, 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 12 [foreignPara1.firstChild, 0, foreignPara1.firstChild, 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 12 [foreignPara1.firstChild, 0, foreignPara1.firstChild, 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 12 [foreignPara1.firstChild, 0, foreignPara1.firstChild, 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
-FAIL Range 12 [foreignPara1.firstChild, 0, foreignPara1.firstChild, 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_not_equals: Cannot proceed with tests if rangeCount is 0 got disallowed value 0
-FAIL Range 12 [foreignPara1.firstChild, 0, foreignPara1.firstChild, 1] followed by Range 16 [document.documentElement, 1, document.documentElement, 2]: modifying the first added range must modify the Selection's last Range assert_not_equals: Cannot proceed with tests if rangeCount is 0 got disallowed value 0
-FAIL Range 12 [foreignPara1.firstChild, 0, foreignPara1.firstChild, 1] followed by Range 16 [document.documentElement, 1, document.documentElement, 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 12 [foreignPara1.firstChild, 0, foreignPara1.firstChild, 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 12 [foreignPara1.firstChild, 0, foreignPara1.firstChild, 1] followed by Range 16 [document.documentElement, 1, document.documentElement, 2]: second addRange() must result in rangeCount being 1
-PASS Range 12 [foreignPara1.firstChild, 0, foreignPara1.firstChild, 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
-PASS Range 12 [foreignPara1.firstChild, 0, foreignPara1.firstChild, 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 12 [foreignPara1.firstChild, 0, foreignPara1.firstChild, 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 12 [foreignPara1.firstChild, 0, foreignPara1.firstChild, 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 12 [foreignPara1.firstChild, 0, foreignPara1.firstChild, 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 12 [foreignPara1.firstChild, 0, foreignPara1.firstChild, 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 12 [foreignPara1.firstChild, 0, foreignPara1.firstChild, 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
-FAIL Range 12 [foreignPara1.firstChild, 0, foreignPara1.firstChild, 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_not_equals: Cannot proceed with tests if rangeCount is 0 got disallowed value 0
-FAIL Range 12 [foreignPara1.firstChild, 0, foreignPara1.firstChild, 1] followed by Range 17 [document.head, 1, document.head, 1]: modifying the first added range must modify the Selection's last Range assert_not_equals: Cannot proceed with tests if rangeCount is 0 got disallowed value 0
-FAIL Range 12 [foreignPara1.firstChild, 0, foreignPara1.firstChild, 1] followed by Range 17 [document.head, 1, document.head, 1]: 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 12 [foreignPara1.firstChild, 0, foreignPara1.firstChild, 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 12 [foreignPara1.firstChild, 0, foreignPara1.firstChild, 1] followed by Range 17 [document.head, 1, document.head, 1]: second addRange() must result in rangeCount being 1
-PASS Range 12 [foreignPara1.firstChild, 0, foreignPara1.firstChild, 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
-PASS Range 12 [foreignPara1.firstChild, 0, foreignPara1.firstChild, 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 12 [foreignPara1.firstChild, 0, foreignPara1.firstChild, 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 12 [foreignPara1.firstChild, 0, foreignPara1.firstChild, 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 12 [foreignPara1.firstChild, 0, foreignPara1.firstChild, 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 12 [foreignPara1.firstChild, 0, foreignPara1.firstChild, 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 12 [foreignPara1.firstChild, 0, foreignPara1.firstChild, 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
-FAIL Range 12 [foreignPara1.firstChild, 0, foreignPara1.firstChild, 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_not_equals: Cannot proceed with tests if rangeCount is 0 got disallowed value 0
-FAIL Range 12 [foreignPara1.firstChild, 0, foreignPara1.firstChild, 1] followed by Range 18 [document.body, 0, document.body, 1]: modifying the first added range must modify the Selection's last Range assert_not_equals: Cannot proceed with tests if rangeCount is 0 got disallowed value 0
-FAIL Range 12 [foreignPara1.firstChild, 0, foreignPara1.firstChild, 1] followed by Range 18 [document.body, 0, document.body, 1]: 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 12 [foreignPara1.firstChild, 0, foreignPara1.firstChild, 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 12 [foreignPara1.firstChild, 0, foreignPara1.firstChild, 1] followed by Range 18 [document.body, 0, document.body, 1]: second addRange() must result in rangeCount being 1
-PASS Range 12 [foreignPara1.firstChild, 0, foreignPara1.firstChild, 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
-PASS Range 12 [foreignPara1.firstChild, 0, foreignPara1.firstChild, 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 12 [foreignPara1.firstChild, 0, foreignPara1.firstChild, 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 12 [foreignPara1.firstChild, 0, foreignPara1.firstChild, 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 12 [foreignPara1.firstChild, 0, foreignPara1.firstChild, 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 12 [foreignPara1.firstChild, 0, foreignPara1.firstChild, 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 12 [foreignPara1.firstChild, 0, foreignPara1.firstChild, 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
-FAIL Range 12 [foreignPara1.firstChild, 0, foreignPara1.firstChild, 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_not_equals: Cannot proceed with tests if rangeCount is 0 got disallowed value 0
-FAIL Range 12 [foreignPara1.firstChild, 0, foreignPara1.firstChild, 1] followed by Range 19 [foreignDoc.documentElement, 0, foreignDoc.documentElement, 1]: modifying the first added range must modify the Selection's last Range assert_not_equals: Cannot proceed with tests if rangeCount is 0 got disallowed value 0
-FAIL Range 12 [foreignPara1.firstChild, 0, foreignPara1.firstChild, 1] followed by Range 19 [foreignDoc.documentElement, 0, foreignDoc.documentElement, 1]: 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 12 [foreignPara1.firstChild, 0, foreignPara1.firstChild, 1] followed by Range 19 [foreignDoc.documentElement, 0, foreignDoc.documentElement, 1]: second addRange() must not throw exceptions or modify the range it's given
-FAIL Range 12 [foreignPara1.firstChild, 0, foreignPara1.firstChild, 1] followed by Range 19 [foreignDoc.documentElement, 0, foreignDoc.documentElement, 1]: second addRange() must result in rangeCount being 1 assert_equals: rangeCount must be 1 expected 1 but got 0
-FAIL Range 12 [foreignPara1.firstChild, 0, foreignPara1.firstChild, 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_not_equals: Cannot proceed with tests if rangeCount is 0 got disallowed value 0
-FAIL Range 12 [foreignPara1.firstChild, 0, foreignPara1.firstChild, 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_not_equals: Cannot proceed with tests if rangeCount is 0 got disallowed value 0
-FAIL Range 12 [foreignPara1.firstChild, 0, foreignPara1.firstChild, 1] followed by Range 19 [foreignDoc.documentElement, 0, foreignDoc.documentElement, 1]: modifying the second added range must modify the Selection's last Range assert_not_equals: Cannot proceed with tests if rangeCount is 0 got disallowed value 0
-FAIL Range 12 [foreignPara1.firstChild, 0, foreignPara1.firstChild, 1] followed by Range 19 [foreignDoc.documentElement, 0, foreignDoc.documentElement, 1]: modifying the Selection's last Range must modify the second added Range assert_not_equals: Cannot proceed with tests if rangeCount is 0 got disallowed value 0
-PASS Range 12 [foreignPara1.firstChild, 0, foreignPara1.firstChild, 1] followed by Range 20 [foreignDoc.head, 1, foreignDoc.head, 1]: first addRange() must not throw exceptions or modify the range it's given
-FAIL Range 12 [foreignPara1.firstChild, 0, foreignPara1.firstChild, 1] followed by Range 20 [foreignDoc.head, 1, foreignDoc.head, 1]: first addRange() must result in rangeCount being 1 assert_equals: rangeCount must be 1 expected 1 but got 0
-FAIL Range 12 [foreignPara1.firstChild, 0, foreignPara1.firstChild, 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 assert_not_equals: Cannot proceed with tests if rangeCount is 0 got disallowed value 0
-FAIL Range 12 [foreignPara1.firstChild, 0, foreignPara1.firstChild, 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_not_equals: Cannot proceed with tests if rangeCount is 0 got disallowed value 0
-FAIL Range 12 [foreignPara1.firstChild, 0, foreignPara1.firstChild, 1] followed by Range 20 [foreignDoc.head, 1, foreignDoc.head, 1]: modifying the first added range must modify the Selection's last Range assert_not_equals: Cannot proceed with tests if rangeCount is 0 got disallowed value 0
-FAIL Range 12 [foreignPara1.firstChild, 0, foreignPara1.firstChild, 1] followed by Range 20 [foreignDoc.head, 1, foreignDoc.head, 1]: 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 12 [foreignPara1.firstChild, 0, foreignPara1.firstChild, 1] followed by Range 20 [foreignDoc.head, 1, foreignDoc.head, 1]: second addRange() must not throw exceptions or modify the range it's given
-FAIL Range 12 [foreignPara1.firstChild, 0, foreignPara1.firstChild, 1] followed by Range 20 [foreignDoc.head, 1, foreignDoc.head, 1]: second addRange() must result in rangeCount being 1 assert_equals: rangeCount must be 1 expected 1 but got 0
-FAIL Range 12 [foreignPara1.firstChild, 0, foreignPara1.firstChild, 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_not_equals: Cannot proceed with tests if rangeCount is 0 got disallowed value 0
-FAIL Range 12 [foreignPara1.firstChild, 0, foreignPara1.firstChild, 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_not_equals: Cannot proceed with tests if rangeCount is 0 got disallowed value 0
-FAIL Range 12 [foreignPara1.firstChild, 0, foreignPara1.firstChild, 1] followed by Range 20 [foreignDoc.head, 1, foreignDoc.head, 1]: modifying the second added range must modify the Selection's last Range assert_not_equals: Cannot proceed with tests if rangeCount is 0 got disallowed value 0
-FAIL Range 12 [foreignPara1.firstChild, 0, foreignPara1.firstChild, 1] followed by Range 20 [foreignDoc.head, 1, foreignDoc.head, 1]: modifying the Selection's last Range must modify the second added Range assert_not_equals: Cannot proceed with tests if rangeCount is 0 got disallowed value 0
-PASS Range 12 [foreignPara1.firstChild, 0, foreignPara1.firstChild, 1] followed by Range 21 [foreignDoc.body, 0, foreignDoc.body, 0]: first addRange() must not throw exceptions or modify the range it's given
-FAIL Range 12 [foreignPara1.firstChild, 0, foreignPara1.firstChild, 1] followed by Range 21 [foreignDoc.body, 0, foreignDoc.body, 0]: first addRange() must result in rangeCount being 1 assert_equals: rangeCount must be 1 expected 1 but got 0
-FAIL Range 12 [foreignPara1.firstChild, 0, foreignPara1.firstChild, 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 assert_not_equals: Cannot proceed with tests if rangeCount is 0 got disallowed value 0
-FAIL Range 12 [foreignPara1.firstChild, 0, foreignPara1.firstChild, 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_not_equals: Cannot proceed with tests if rangeCount is 0 got disallowed value 0
-FAIL Range 12 [foreignPara1.firstChild, 0, foreignPara1.firstChild, 1] followed by Range 21 [foreignDoc.body, 0, foreignDoc.body, 0]: modifying the first added range must modify the Selection's last Range assert_not_equals: Cannot proceed with tests if rangeCount is 0 got disallowed value 0
-FAIL Range 12 [foreignPara1.firstChild, 0, foreignPara1.firstChild, 1] followed by Range 21 [foreignDoc.body, 0, foreignDoc.body, 0]: 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 12 [foreignPara1.firstChild, 0, foreignPara1.firstChild, 1] followed by Range 21 [foreignDoc.body, 0, foreignDoc.body, 0]: second addRange() must not throw exceptions or modify the range it's given
-FAIL Range 12 [foreignPara1.firstChild, 0, foreignPara1.firstChild, 1] followed by Range 21 [foreignDoc.body, 0, foreignDoc.body, 0]: second addRange() must result in rangeCount being 1 assert_equals: rangeCount must be 1 expected 1 but got 0
-FAIL Range 12 [foreignPara1.firstChild, 0, foreignPara1.firstChild, 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_not_equals: Cannot proceed with tests if rangeCount is 0 got disallowed value 0
-FAIL Range 12 [foreignPara1.firstChild, 0, foreignPara1.firstChild, 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_not_equals: Cannot proceed with tests if rangeCount is 0 got disallowed value 0
-FAIL Range 12 [foreignPara1.firstChild, 0, foreignPara1.firstChild, 1] followed by Range 21 [foreignDoc.body, 0, foreignDoc.body, 0]: modifying the second added range must modify the Selection's last Range assert_not_equals: Cannot proceed with tests if rangeCount is 0 got disallowed value 0
-FAIL Range 12 [foreignPara1.firstChild, 0, foreignPara1.firstChild, 1] followed by Range 21 [foreignDoc.body, 0, foreignDoc.body, 0]: modifying the Selection's last Range must modify the second added Range assert_not_equals: Cannot proceed with tests if rangeCount is 0 got disallowed value 0
-PASS Range 12 [foreignPara1.firstChild, 0, foreignPara1.firstChild, 1] followed by Range 22 [paras[0], 0, paras[0], 0]: first addRange() must not throw exceptions or modify the range it's given
-FAIL Range 12 [foreignPara1.firstChild, 0, foreignPara1.firstChild, 1] followed by Range 22 [paras[0], 0, paras[0], 0]: first addRange() must result in rangeCount being 1 assert_equals: rangeCount must be 1 expected 1 but got 0
-FAIL Range 12 [foreignPara1.firstChild, 0, foreignPara1.firstChild, 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 assert_not_equals: Cannot proceed with tests if rangeCount is 0 got disallowed value 0
-FAIL Range 12 [foreignPara1.firstChild, 0, foreignPara1.firstChild, 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_not_equals: Cannot proceed with tests if rangeCount is 0 got disallowed value 0
-FAIL Range 12 [foreignPara1.firstChild, 0, foreignPara1.firstChild, 1] followed by Range 22 [paras[0], 0, paras[0], 0]: modifying the first added range must modify the Selection's last Range assert_not_equals: Cannot proceed with tests if rangeCount is 0 got disallowed value 0
-FAIL Range 12 [foreignPara1.firstChild, 0, foreignPara1.firstChild, 1] followed by Range 22 [paras[0], 0, paras[0], 0]: 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 12 [foreignPara1.firstChild, 0, foreignPara1.firstChild, 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 12 [foreignPara1.firstChild, 0, foreignPara1.firstChild, 1] followed by Range 22 [paras[0], 0, paras[0], 0]: second addRange() must result in rangeCount being 1
-PASS Range 12 [foreignPara1.firstChild, 0, foreignPara1.firstChild, 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
-PASS Range 12 [foreignPara1.firstChild, 0, foreignPara1.firstChild, 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 12 [foreignPara1.firstChild, 0, foreignPara1.firstChild, 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 12 [foreignPara1.firstChild, 0, foreignPara1.firstChild, 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 12 [foreignPara1.firstChild, 0, foreignPara1.firstChild, 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 12 [foreignPara1.firstChild, 0, foreignPara1.firstChild, 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 12 [foreignPara1.firstChild, 0, foreignPara1.firstChild, 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
-FAIL Range 12 [foreignPara1.firstChild, 0, foreignPara1.firstChild, 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_not_equals: Cannot proceed with tests if rangeCount is 0 got disallowed value 0
-FAIL Range 12 [foreignPara1.firstChild, 0, foreignPara1.firstChild, 1] followed by Range 23 [paras[0], 0, paras[0], 1]: modifying the first added range must modify the Selection's last Range assert_not_equals: Cannot proceed with tests if rangeCount is 0 got disallowed value 0
-FAIL Range 12 [foreignPara1.firstChild, 0, foreignPara1.firstChild, 1] followed by Range 23 [paras[0], 0, paras[0], 1]: 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 12 [foreignPara1.firstChild, 0, foreignPara1.firstChild, 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 12 [foreignPara1.firstChild, 0, foreignPara1.firstChild, 1] followed by Range 23 [paras[0], 0, paras[0], 1]: second addRange() must result in rangeCount being 1
-PASS Range 12 [foreignPara1.firstChild, 0, foreignPara1.firstChild, 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
-PASS Range 12 [foreignPara1.firstChild, 0, foreignPara1.firstChild, 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 12 [foreignPara1.firstChild, 0, foreignPara1.firstChild, 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 12 [foreignPara1.firstChild, 0, foreignPara1.firstChild, 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 12 [foreignPara1.firstChild, 0, foreignPara1.firstChild, 1] followed by Range 24 [detachedPara1, 0, detachedPara1, 0]: first addRange() must not throw exceptions or modify the range it's given
-FAIL Range 12 [foreignPara1.firstChild, 0, foreignPara1.firstChild, 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 12 [foreignPara1.firstChild, 0, foreignPara1.firstChild, 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
-FAIL Range 12 [foreignPara1.firstChild, 0, foreignPara1.firstChild, 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_not_equals: Cannot proceed with tests if rangeCount is 0 got disallowed value 0
-FAIL Range 12 [foreignPara1.firstChild, 0, foreignPara1.firstChild, 1] followed by Range 24 [detachedPara1, 0, detachedPara1, 0]: modifying the first added range must modify the Selection's last Range assert_not_equals: Cannot proceed with tests if rangeCount is 0 got disallowed value 0
-FAIL Range 12 [foreignPara1.firstChild, 0, foreignPara1.firstChild, 1] followed by Range 24 [detachedPara1, 0, detachedPara1, 0]: 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 12 [foreignPara1.firstChild, 0, foreignPara1.firstChild, 1] followed by Range 24 [detachedPara1, 0, detachedPara1, 0]: second addRange() must not throw exceptions or modify the range it's given
-FAIL Range 12 [foreignPara1.firstChild, 0, foreignPara1.firstChild, 1] followed by Range 24 [detachedPara1, 0, detachedPara1, 0]: second addRange() must result in rangeCount being 1 assert_equals: rangeCount must be 1 expected 1 but got 0
-FAIL Range 12 [foreignPara1.firstChild, 0, foreignPara1.firstChild, 1] followed by Range 24 [detachedPara1, 0, detachedPara1, 0]: second 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
-FAIL Range 12 [foreignPara1.firstChild, 0, foreignPara1.firstChild, 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_not_equals: Cannot proceed with tests if rangeCount is 0 got disallowed value 0
-FAIL Range 12 [foreignPara1.firstChild, 0, foreignPara1.firstChild, 1] followed by Range 24 [detachedPara1, 0, detachedPara1, 0]: modifying the second added range must modify the Selection's last Range assert_not_equals: Cannot proceed with tests if rangeCount is 0 got disallowed value 0
-FAIL Range 12 [foreignPara1.firstChild, 0, foreignPara1.firstChild, 1] followed by Range 24 [detachedPara1, 0, detachedPara1, 0]: modifying the Selection's last Range must modify the second added Range assert_not_equals: Cannot proceed with tests if rangeCount is 0 got disallowed value 0
-PASS Range 12 [foreignPara1.firstChild, 0, foreignPara1.firstChild, 1] followed by Range 25 [detachedPara1, 0, detachedPara1, 1]: first addRange() must not throw exceptions or modify the range it's given
-FAIL Range 12 [foreignPara1.firstChild, 0, foreignPara1.firstChild, 1] followed by Range 25 [detachedPara1, 0, detachedPara1, 1]: first addRange() must result in rangeCount being 1 assert_equals: rangeCount must be 1 expected 1 but got 0
-FAIL Range 12 [foreignPara1.firstChild, 0, foreignPara1.firstChild, 1] followed by Range 25 [detachedPara1, 0, detachedPara1, 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
-FAIL Range 12 [foreignPara1.firstChild, 0, foreignPara1.firstChild, 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_not_equals: Cannot proceed with tests if rangeCount is 0 got disallowed value 0
-FAIL Range 12 [foreignPara1.firstChild, 0, foreignPara1.firstChild, 1] followed by Range 25 [detachedPara1, 0, detachedPara1, 1]: modifying the first added range must modify the Selection's last Range assert_not_equals: Cannot proceed with tests if rangeCount is 0 got disallowed value 0
-FAIL Range 12 [foreignPara1.firstChild, 0, foreignPara1.firstChild, 1] followed by Range 25 [detachedPara1, 0, detachedPara1, 1]: 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 12 [foreignPara1.firstChild, 0, foreignPara1.firstChild, 1] followed by Range 25 [detachedPara1, 0, detachedPara1, 1]: second addRange() must not throw exceptions or modify the range it's given
-FAIL Range 12 [foreignPara1.firstChild, 0, foreignPara1.firstChild, 1] followed by Range 25 [detachedPara1, 0, detachedPara1, 1]: second addRange() must result in rangeCount being 1 assert_equals: rangeCount must be 1 expected 1 but got 0
-FAIL Range 12 [foreignPara1.firstChild, 0, foreignPara1.firstChild, 1] followed by Range 25 [detachedPara1, 0, detachedPara1, 1]: second 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
-FAIL Range 12 [foreignPara1.firstChild, 0, foreignPara1.firstChild, 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_not_equals: Cannot proceed with tests if rangeCount is 0 got disallowed value 0
-FAIL Range 12 [foreignPara1.firstChild, 0, foreignPara1.firstChild, 1] followed by Range 25 [detachedPara1, 0, detachedPara1, 1]: modifying the second added range must modify the Selection's last Range assert_not_equals: Cannot proceed with tests if rangeCount is 0 got disallowed value 0
-FAIL Range 12 [foreignPara1.firstChild, 0, foreignPara1.firstChild, 1] followed by Range 25 [detachedPara1, 0, detachedPara1, 1]: modifying the Selection's last Range must modify the second added Range assert_not_equals: Cannot proceed with tests if rangeCount is 0 got disallowed value 0
-PASS Range 12 [foreignPara1.firstChild, 0, foreignPara1.firstChild, 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
-FAIL Range 12 [foreignPara1.firstChild, 0, foreignPara1.firstChild, 1] followed by Range 26 [paras[0].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 12 [foreignPara1.firstChild, 0, foreignPara1.firstChild, 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 assert_not_equals: Cannot proceed with tests if rangeCount is 0 got disallowed value 0
-FAIL Range 12 [foreignPara1.firstChild, 0, foreignPara1.firstChild, 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_not_equals: Cannot proceed with tests if rangeCount is 0 got disallowed value 0
-FAIL Range 12 [foreignPara1.firstChild, 0, foreignPara1.firstChild, 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_not_equals: Cannot proceed with tests if rangeCount is 0 got disallowed value 0
-FAIL Range 12 [foreignPara1.firstChild, 0, foreignPara1.firstChild, 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_not_equals: Cannot proceed with tests if rangeCount is 0 got disallowed value 0
-PASS Range 12 [foreignPara1.firstChild, 0, foreignPara1.firstChild, 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 12 [foreignPara1.firstChild, 0, foreignPara1.firstChild, 1] followed by Range 26 [paras[0].firstChild, 0, paras[1].firstChild, 0]: second addRange() must result in rangeCount being 1
-PASS Range 12 [foreignPara1.firstChild, 0, foreignPara1.firstChild, 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
-PASS Range 12 [foreignPara1.firstChild, 0, foreignPara1.firstChild, 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 12 [foreignPara1.firstChild, 0, foreignPara1.firstChild, 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 12 [foreignPara1.firstChild, 0, foreignPara1.firstChild, 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 12 [foreignPara1.firstChild, 0, foreignPara1.firstChild, 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 12 [foreignPara1.firstChild, 0, foreignPara1.firstChild, 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 12 [foreignPara1.firstChild, 0, foreignPara1.firstChild, 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
-FAIL Range 12 [foreignPara1.firstChild, 0, foreignPara1.firstChild, 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_not_equals: Cannot proceed with tests if rangeCount is 0 got disallowed value 0
-FAIL Range 12 [foreignPara1.firstChild, 0, foreignPara1.firstChild, 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_not_equals: Cannot proceed with tests if rangeCount is 0 got disallowed value 0
-FAIL Range 12 [foreignPara1.firstChild, 0, foreignPara1.firstChild, 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_not_equals: Cannot proceed with tests if rangeCount is 0 got disallowed value 0
-PASS Range 12 [foreignPara1.firstChild, 0, foreignPara1.firstChild, 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 12 [foreignPara1.firstChild, 0, foreignPara1.firstChild, 1] followed by Range 27 [paras[0].firstChild, 0, paras[1].firstChild, 8]: second addRange() must result in rangeCount being 1
-PASS Range 12 [foreignPara1.firstChild, 0, foreignPara1.firstChild, 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
-PASS Range 12 [foreignPara1.firstChild, 0, foreignPara1.firstChild, 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 12 [foreignPara1.firstChild, 0, foreignPara1.firstChild, 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 12 [foreignPara1.firstChild, 0, foreignPara1.firstChild, 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 12 [foreignPara1.firstChild, 0, foreignPara1.firstChild, 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 12 [foreignPara1.firstChild, 0, foreignPara1.firstChild, 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 12 [foreignPara1.firstChild, 0, foreignPara1.firstChild, 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
-FAIL Range 12 [foreignPara1.firstChild, 0, foreignPara1.firstChild, 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_not_equals: Cannot proceed with tests if rangeCount is 0 got disallowed value 0
-FAIL Range 12 [foreignPara1.firstChild, 0, foreignPara1.firstChild, 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_not_equals: Cannot proceed with tests if rangeCount is 0 got disallowed value 0
-FAIL Range 12 [foreignPara1.firstChild, 0, foreignPara1.firstChild, 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_not_equals: Cannot proceed with tests if rangeCount is 0 got disallowed value 0
-PASS Range 12 [foreignPara1.firstChild, 0, foreignPara1.firstChild, 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 12 [foreignPara1.firstChild, 0, foreignPara1.firstChild, 1] followed by Range 28 [paras[0].firstChild, 3, paras[3], 1]: second addRange() must result in rangeCount being 1
-PASS Range 12 [foreignPara1.firstChild, 0, foreignPara1.firstChild, 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
-PASS Range 12 [foreignPara1.firstChild, 0, foreignPara1.firstChild, 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 12 [foreignPara1.firstChild, 0, foreignPara1.firstChild, 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 12 [foreignPara1.firstChild, 0, foreignPara1.firstChild, 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 12 [foreignPara1.firstChild, 0, foreignPara1.firstChild, 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 12 [foreignPara1.firstChild, 0, foreignPara1.firstChild, 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 12 [foreignPara1.firstChild, 0, foreignPara1.firstChild, 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
-FAIL Range 12 [foreignPara1.firstChild, 0, foreignPara1.firstChild, 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_not_equals: Cannot proceed with tests if rangeCount is 0 got disallowed value 0
-FAIL Range 12 [foreignPara1.firstChild, 0, foreignPara1.firstChild, 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_not_equals: Cannot proceed with tests if rangeCount is 0 got disallowed value 0
-FAIL Range 12 [foreignPara1.firstChild, 0, foreignPara1.firstChild, 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_not_equals: Cannot proceed with tests if rangeCount is 0 got disallowed value 0
-PASS Range 12 [foreignPara1.firstChild, 0, foreignPara1.firstChild, 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 12 [foreignPara1.firstChild, 0, foreignPara1.firstChild, 1] followed by Range 29 [paras[0], 0, paras[0].firstChild, 7]: second addRange() must result in rangeCount being 1
-PASS Range 12 [foreignPara1.firstChild, 0, foreignPara1.firstChild, 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
-PASS Range 12 [foreignPara1.firstChild, 0, foreignPara1.firstChild, 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 12 [foreignPara1.firstChild, 0, foreignPara1.firstChild, 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 12 [foreignPara1.firstChild, 0, foreignPara1.firstChild, 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 12 [foreignPara1.firstChild, 0, foreignPara1.firstChild, 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 12 [foreignPara1.firstChild, 0, foreignPara1.firstChild, 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 12 [foreignPara1.firstChild, 0, foreignPara1.firstChild, 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
-FAIL Range 12 [foreignPara1.firstChild, 0, foreignPara1.firstChild, 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_not_equals: Cannot proceed with tests if rangeCount is 0 got disallowed value 0
-FAIL Range 12 [foreignPara1.firstChild, 0, foreignPara1.firstChild, 1] followed by Range 30 [testDiv, 2, paras[4], 1]: modifying the first added range must modify the Selection's last Range assert_not_equals: Cannot proceed with tests if rangeCount is 0 got disallowed value 0
-FAIL Range 12 [foreignPara1.firstChild, 0, foreignPara1.firstChild, 1] followed by Range 30 [testDiv, 2, paras[4], 1]: 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 12 [foreignPara1.firstChild, 0, foreignPara1.firstChild, 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 12 [foreignPara1.firstChild, 0, foreignPara1.firstChild, 1] followed by Range 30 [testDiv, 2, paras[4], 1]: second addRange() must result in rangeCount being 1
-PASS Range 12 [foreignPara1.firstChild, 0, foreignPara1.firstChild, 1] followed by Range 30 [testDiv, 2, paras[4], 1]: second addRange() must result in the selection's last range having the specified endpoints
-PASS Range 12 [foreignPara1.firstChild, 0, foreignPara1.firstChild, 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 12 [foreignPara1.firstChild, 0, foreignPara1.firstChild, 1] followed by Range 30 [testDiv, 2, paras[4], 1]: modifying the second added range must modify the Selection's last Range
-PASS Range 12 [foreignPara1.firstChild, 0, foreignPara1.firstChild, 1] followed by Range 30 [testDiv, 2, paras[4], 1]: modifying the Selection's last Range must modify the second added Range
-PASS Range 12 [foreignPara1.firstChild, 0, foreignPara1.firstChild, 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 12 [foreignPara1.firstChild, 0, foreignPara1.firstChild, 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 12 [foreignPara1.firstChild, 0, foreignPara1.firstChild, 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
-FAIL Range 12 [foreignPara1.firstChild, 0, foreignPara1.firstChild, 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_not_equals: Cannot proceed with tests if rangeCount is 0 got disallowed value 0
-FAIL Range 12 [foreignPara1.firstChild, 0, foreignPara1.firstChild, 1] followed by Range 31 [testDiv, 1, paras[2].firstChild, 5]: modifying the first added range must modify the Selection's last Range assert_not_equals: Cannot proceed with tests if rangeCount is 0 got disallowed value 0
-FAIL Range 12 [foreignPara1.firstChild, 0, foreignPara1.firstChild, 1] followed by Range 31 [testDiv, 1, paras[2].firstChild, 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 12 [foreignPara1.firstChild, 0, foreignPara1.firstChild, 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 12 [foreignPara1.firstChild, 0, foreignPara1.firstChild, 1] followed by Range 31 [testDiv, 1, paras[2].firstChild, 5]: second addRange() must result in rangeCount being 1
-PASS Range 12 [foreignPara1.firstChild, 0, foreignPara1.firstChild, 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
-PASS Range 12 [foreignPara1.firstChild, 0, foreignPara1.firstChild, 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 12 [foreignPara1.firstChild, 0, foreignPara1.firstChild, 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 12 [foreignPara1.firstChild, 0, foreignPara1.firstChild, 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 12 [foreignPara1.firstChild, 0, foreignPara1.firstChild, 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 12 [foreignPara1.firstChild, 0, foreignPara1.firstChild, 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 12 [foreignPara1.firstChild, 0, foreignPara1.firstChild, 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
-FAIL Range 12 [foreignPara1.firstChild, 0, foreignPara1.firstChild, 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_not_equals: Cannot proceed with tests if rangeCount is 0 got disallowed value 0
-FAIL Range 12 [foreignPara1.firstChild, 0, foreignPara1.firstChild, 1] followed by Range 32 [document.documentElement, 1, document.body, 0]: modifying the first added range must modify the Selection's last Range assert_not_equals: Cannot proceed with tests if rangeCount is 0 got disallowed value 0
-FAIL Range 12 [foreignPara1.firstChild, 0, foreignPara1.firstChild, 1] followed by Range 32 [document.documentElement, 1, document.body, 0]: 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 12 [foreignPara1.firstChild, 0, foreignPara1.firstChild, 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 12 [foreignPara1.firstChild, 0, foreignPara1.firstChild, 1] followed by Range 32 [document.documentElement, 1, document.body, 0]: second addRange() must result in rangeCount being 1
-PASS Range 12 [foreignPara1.firstChild, 0, foreignPara1.firstChild, 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
-PASS Range 12 [foreignPara1.firstChild, 0, foreignPara1.firstChild, 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 12 [foreignPara1.firstChild, 0, foreignPara1.firstChild, 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 12 [foreignPara1.firstChild, 0, foreignPara1.firstChild, 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 12 [foreignPara1.firstChild, 0, foreignPara1.firstChild, 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 12 [foreignPara1.firstChild, 0, foreignPara1.firstChild, 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 12 [foreignPara1.firstChild, 0, foreignPara1.firstChild, 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
-FAIL Range 12 [foreignPara1.firstChild, 0, foreignPara1.firstChild, 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_not_equals: Cannot proceed with tests if rangeCount is 0 got disallowed value 0
-FAIL Range 12 [foreignPara1.firstChild, 0, foreignPara1.firstChild, 1] followed by Range 33 [foreignDoc.documentElement, 1, foreignDoc.body, 0]: modifying the first added range must modify the Selection's last Range assert_not_equals: Cannot proceed with tests if rangeCount is 0 got disallowed value 0
-FAIL Range 12 [foreignPara1.firstChild, 0, foreignPara1.firstChild, 1] followed by Range 33 [foreignDoc.documentElement, 1, foreignDoc.body, 0]: 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 12 [foreignPara1.firstChild, 0, foreignPara1.firstChild, 1] followed by Range 33 [foreignDoc.documentElement, 1, foreignDoc.body, 0]: second addRange() must not throw exceptions or modify the range it's given
-FAIL Range 12 [foreignPara1.firstChild, 0, foreignPara1.firstChild, 1] followed by Range 33 [foreignDoc.documentElement, 1, foreignDoc.body, 0]: second addRange() must result in rangeCount being 1 assert_equals: rangeCount must be 1 expected 1 but got 0
-FAIL Range 12 [foreignPara1.firstChild, 0, foreignPara1.firstChild, 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_not_equals: Cannot proceed with tests if rangeCount is 0 got disallowed value 0
-FAIL Range 12 [foreignPara1.firstChild, 0, foreignPara1.firstChild, 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_not_equals: Cannot proceed with tests if rangeCount is 0 got disallowed value 0
-FAIL Range 12 [foreignPara1.firstChild, 0, foreignPara1.firstChild, 1] followed by Range 33 [foreignDoc.documentElement, 1, foreignDoc.body, 0]: modifying the second added range must modify the Selection's last Range assert_not_equals: Cannot proceed with tests if rangeCount is 0 got disallowed value 0
-FAIL Range 12 [foreignPara1.firstChild, 0, foreignPara1.firstChild, 1] followed by Range 33 [foreignDoc.documentElement, 1, foreignDoc.body, 0]: modifying the Selection's last Range must modify the second added Range assert_not_equals: Cannot proceed with tests if rangeCount is 0 got disallowed value 0
-PASS Range 12 [foreignPara1.firstChild, 0, foreignPara1.firstChild, 1] followed by Range 34 [document, 0, document, 1]: first addRange() must not throw exceptions or modify the range it's given
-FAIL Range 12 [foreignPara1.firstChild, 0, foreignPara1.firstChild, 1] followed by Range 34 [document, 0, document, 1]: first addRange() must result in rangeCount being 1 assert_equals: rangeCount must be 1 expected 1 but got 0
-FAIL Range 12 [foreignPara1.firstChild, 0, foreignPara1.firstChild, 1] followed by Range 34 [document, 0, document, 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
-FAIL Range 12 [foreignPara1.firstChild, 0, foreignPara1.firstChild, 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_not_equals: Cannot proceed with tests if rangeCount is 0 got disallowed value 0
-FAIL Range 12 [foreignPara1.firstChild, 0, foreignPara1.firstChild, 1] followed by Range 34 [document, 0, document, 1]: modifying the first added range must modify the Selection's last Range assert_not_equals: Cannot proceed with tests if rangeCount is 0 got disallowed value 0
-FAIL Range 12 [foreignPara1.firstChild, 0, foreignPara1.firstChild, 1] followed by Range 34 [document, 0, document, 1]: 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 12 [foreignPara1.firstChild, 0, foreignPara1.firstChild, 1] followed by Range 34 [document, 0, document, 1]: second addRange() must not throw exceptions or modify the range it's given
-PASS Range 12 [foreignPara1.firstChild, 0, foreignPara1.firstChild, 1] followed by Range 34 [document, 0, document, 1]: second addRange() must result in rangeCount being 1
-PASS Range 12 [foreignPara1.firstChild, 0, foreignPara1.firstChild, 1] followed by Range 34 [document, 0, document, 1]: second addRange() must result in the selection's last range having the specified endpoints
-PASS Range 12 [foreignPara1.firstChild, 0, foreignPara1.firstChild, 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 12 [foreignPara1.firstChild, 0, foreignPara1.firstChild, 1] followed by Range 34 [document, 0, document, 1]: modifying the second added range must modify the Selection's last Range
-PASS Range 12 [foreignPara1.firstChild, 0, foreignPara1.firstChild, 1] followed by Range 34 [document, 0, document, 1]: modifying the Selection's last Range must modify the second added Range
-PASS Range 12 [foreignPara1.firstChild, 0, foreignPara1.firstChild, 1] followed by Range 35 [document, 0, document, 2]: first addRange() must not throw exceptions or modify the range it's given
-FAIL Range 12 [foreignPara1.firstChild, 0, foreignPara1.firstChild, 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 12 [foreignPara1.firstChild, 0, foreignPara1.firstChild, 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
-FAIL Range 12 [foreignPara1.firstChild, 0, foreignPara1.firstChild, 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_not_equals: Cannot proceed with tests if rangeCount is 0 got disallowed value 0
-FAIL Range 12 [foreignPara1.firstChild, 0, foreignPara1.firstChild, 1] followed by Range 35 [document, 0, document, 2]: modifying the first added range must modify the Selection's last Range assert_not_equals: Cannot proceed with tests if rangeCount is 0 got disallowed value 0
-FAIL Range 12 [foreignPara1.firstChild, 0, foreignPara1.firstChild, 1] followed by Range 35 [document, 0, document, 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 12 [foreignPara1.firstChild, 0, foreignPara1.firstChild, 1] followed by Range 35 [document, 0, document, 2]: second addRange() must not throw exceptions or modify the range it's given
-PASS Range 12 [foreignPara1.firstChild, 0, foreignPara1.firstChild, 1] followed by Range 35 [document, 0, document, 2]: second addRange() must result in rangeCount being 1
-PASS Range 12 [foreignPara1.firstChild, 0, foreignPara1.firstChild, 1] followed by Range 35 [document, 0, document, 2]: second addRange() must result in the selection's last range having the specified endpoints
-PASS Range 12 [foreignPara1.firstChild, 0, foreignPara1.firstChild, 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 12 [foreignPara1.firstChild, 0, foreignPara1.firstChild, 1] followed by Range 35 [document, 0, document, 2]: modifying the second added range must modify the Selection's last Range
-PASS Range 12 [foreignPara1.firstChild, 0, foreignPara1.firstChild, 1] followed by Range 35 [document, 0, document, 2]: modifying the Selection's last Range must modify the second added Range
-PASS Range 12 [foreignPara1.firstChild, 0, foreignPara1.firstChild, 1] followed by Range 36 [document, 1, document, 2]: first addRange() must not throw exceptions or modify the range it's given
-FAIL Range 12 [foreignPara1.firstChild, 0, foreignPara1.firstChild, 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 12 [foreignPara1.firstChild, 0, foreignPara1.firstChild, 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
-FAIL Range 12 [foreignPara1.firstChild, 0, foreignPara1.firstChild, 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_not_equals: Cannot proceed with tests if rangeCount is 0 got disallowed value 0
-FAIL Range 12 [foreignPara1.firstChild, 0, foreignPara1.firstChild, 1] followed by Range 36 [document, 1, document, 2]: modifying the first added range must modify the Selection's last Range assert_not_equals: Cannot proceed with tests if rangeCount is 0 got disallowed value 0
-FAIL Range 12 [foreignPara1.firstChild, 0, foreignPara1.firstChild, 1] followed by Range 36 [document, 1, document, 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 12 [foreignPara1.firstChild, 0, foreignPara1.firstChild, 1] followed by Range 36 [document, 1, document, 2]: second addRange() must not throw exceptions or modify the range it's given
-PASS Range 12 [foreignPara1.firstChild, 0, foreignPara1.firstChild, 1] followed by Range 36 [document, 1, document, 2]: second addRange() must result in rangeCount being 1
-PASS Range 12 [foreignPara1.firstChild, 0, foreignPara1.firstChild, 1] followed by Range 36 [document, 1, document, 2]: second addRange() must result in the selection's last range having the specified endpoints
-PASS Range 12 [foreignPara1.firstChild, 0, foreignPara1.firstChild, 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 12 [foreignPara1.firstChild, 0, foreignPara1.firstChild, 1] followed by Range 36 [document, 1, document, 2]: modifying the second added range must modify the Selection's last Range
-PASS Range 12 [foreignPara1.firstChild, 0, foreignPara1.firstChild, 1] followed by Range 36 [document, 1, document, 2]: modifying the Selection's last Range must modify the second added Range
-PASS Range 12 [foreignPara1.firstChild, 0, foreignPara1.firstChild, 1] followed by Range 37 [testDiv, 0, comment, 5]: first addRange() must not throw exceptions or modify the range it's given
-FAIL Range 12 [foreignPara1.firstChild, 0, foreignPara1.firstChild, 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 12 [foreignPara1.firstChild, 0, foreignPara1.firstChild, 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
-FAIL Range 12 [foreignPara1.firstChild, 0, foreignPara1.firstChild, 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_not_equals: Cannot proceed with tests if rangeCount is 0 got disallowed value 0
-FAIL Range 12 [foreignPara1.firstChild, 0, foreignPara1.firstChild, 1] followed by Range 37 [testDiv, 0, comment, 5]: modifying the first added range must modify the Selection's last Range assert_not_equals: Cannot proceed with tests if rangeCount is 0 got disallowed value 0
-FAIL Range 12 [foreignPara1.firstChild, 0, foreignPara1.firstChild, 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 12 [foreignPara1.firstChild, 0, foreignPara1.firstChild, 1] followed by Range 37 [testDiv, 0, comment, 5]: second addRange() must not throw exceptions or modify the range it's given
-PASS Range 12 [foreignPara1.firstChild, 0, foreignPara1.firstChild, 1] followed by Range 37 [testDiv, 0, comment, 5]: second addRange() must result in rangeCount being 1
-PASS Range 12 [foreignPara1.firstChild, 0, foreignPara1.firstChild, 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 12 [foreignPara1.firstChild, 0, foreignPara1.firstChild, 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 12 [foreignPara1.firstChild, 0, foreignPara1.firstChild, 1] followed by Range 37 [testDiv, 0, comment, 5]: modifying the second added range must modify the Selection's last Range
-PASS Range 12 [foreignPara1.firstChild, 0, foreignPara1.firstChild, 1] followed by Range 37 [testDiv, 0, comment, 5]: modifying the Selection's last Range must modify the second added Range
-PASS Range 12 [foreignPara1.firstChild, 0, foreignPara1.firstChild, 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 12 [foreignPara1.firstChild, 0, foreignPara1.firstChild, 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 12 [foreignPara1.firstChild, 0, foreignPara1.firstChild, 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
-FAIL Range 12 [foreignPara1.firstChild, 0, foreignPara1.firstChild, 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_not_equals: Cannot proceed with tests if rangeCount is 0 got disallowed value 0
-FAIL Range 12 [foreignPara1.firstChild, 0, foreignPara1.firstChild, 1] followed by Range 38 [paras[2].firstChild, 4, comment, 2]: modifying the first added range must modify the Selection's last Range assert_not_equals: Cannot proceed with tests if rangeCount is 0 got disallowed value 0
-FAIL Range 12 [foreignPara1.firstChild, 0, foreignPara1.firstChild, 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 12 [foreignPara1.firstChild, 0, foreignPara1.firstChild, 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 12 [foreignPara1.firstChild, 0, foreignPara1.firstChild, 1] followed by Range 38 [paras[2].firstChild, 4, comment, 2]: second addRange() must result in rangeCount being 1
-PASS Range 12 [foreignPara1.firstChild, 0, foreignPara1.firstChild, 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 12 [foreignPara1.firstChild, 0, foreignPara1.firstChild, 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 12 [foreignPara1.firstChild, 0, foreignPara1.firstChild, 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 12 [foreignPara1.firstChild, 0, foreignPara1.firstChild, 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 12 [foreignPara1.firstChild, 0, foreignPara1.firstChild, 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 12 [foreignPara1.firstChild, 0, foreignPara1.firstChild, 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 12 [foreignPara1.firstChild, 0, foreignPara1.firstChild, 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
-FAIL Range 12 [foreignPara1.firstChild, 0, foreignPara1.firstChild, 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_not_equals: Cannot proceed with tests if rangeCount is 0 got disallowed value 0
-FAIL Range 12 [foreignPara1.firstChild, 0, foreignPara1.firstChild, 1] followed by Range 39 [paras[3], 1, comment, 8]: modifying the first added range must modify the Selection's last Range assert_not_equals: Cannot proceed with tests if rangeCount is 0 got disallowed value 0
-FAIL Range 12 [foreignPara1.firstChild, 0, foreignPara1.firstChild, 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 12 [foreignPara1.firstChild, 0, foreignPara1.firstChild, 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 12 [foreignPara1.firstChild, 0, foreignPara1.firstChild, 1] followed by Range 39 [paras[3], 1, comment, 8]: second addRange() must result in rangeCount being 1
-PASS Range 12 [foreignPara1.firstChild, 0, foreignPara1.firstChild, 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 12 [foreignPara1.firstChild, 0, foreignPara1.firstChild, 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 12 [foreignPara1.firstChild, 0, foreignPara1.firstChild, 1] followed by Range 39 [paras[3], 1, comment, 8]: modifying the second added range must modify the Selection's last Range
-PASS Range 12 [foreignPara1.firstChild, 0, foreignPara1.firstChild, 1] followed by Range 39 [paras[3], 1, comment, 8]: modifying the Selection's last Range must modify the second added Range
-PASS Range 12 [foreignPara1.firstChild, 0, foreignPara1.firstChild, 1] followed by Range 40 [foreignDoc, 0, foreignDoc, 0]: first addRange() must not throw exceptions or modify the range it's given
-FAIL Range 12 [foreignPara1.firstChild, 0, foreignPara1.firstChild, 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 12 [foreignPara1.firstChild, 0, foreignPara1.firstChild, 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
-FAIL Range 12 [foreignPara1.firstChild, 0, foreignPara1.firstChild, 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_not_equals: Cannot proceed with tests if rangeCount is 0 got disallowed value 0
-FAIL Range 12 [foreignPara1.firstChild, 0, foreignPara1.firstChild, 1] followed by Range 40 [foreignDoc, 0, foreignDoc, 0]: modifying the first added range must modify the Selection's last Range assert_not_equals: Cannot proceed with tests if rangeCount is 0 got disallowed value 0
-FAIL Range 12 [foreignPara1.firstChild, 0, foreignPara1.firstChild, 1] followed by Range 40 [foreignDoc, 0, foreignDoc, 0]: 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 12 [foreignPara1.firstChild, 0, foreignPara1.firstChild, 1] followed by Range 40 [foreignDoc, 0, foreignDoc, 0]: second addRange() must not throw exceptions or modify the range it's given
-FAIL Range 12 [foreignPara1.firstChild, 0, foreignPara1.firstChild, 1] followed by Range 40 [foreignDoc, 0, foreignDoc, 0]: second addRange() must result in rangeCount being 1 assert_equals: rangeCount must be 1 expected 1 but got 0
-FAIL Range 12 [foreignPara1.firstChild, 0, foreignPara1.firstChild, 1] followed by Range 40 [foreignDoc, 0, foreignDoc, 0]: second 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
-FAIL Range 12 [foreignPara1.firstChild, 0, foreignPara1.firstChild, 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_not_equals: Cannot proceed with tests if rangeCount is 0 got disallowed value 0
-FAIL Range 12 [foreignPara1.firstChild, 0, foreignPara1.firstChild, 1] followed by Range 40 [foreignDoc, 0, foreignDoc, 0]: modifying the second added range must modify the Selection's last Range assert_not_equals: Cannot proceed with tests if rangeCount is 0 got disallowed value 0
-FAIL Range 12 [foreignPara1.firstChild, 0, foreignPara1.firstChild, 1] followed by Range 40 [foreignDoc, 0, foreignDoc, 0]: modifying the Selection's last Range must modify the second added Range assert_not_equals: Cannot proceed with tests if rangeCount is 0 got disallowed value 0
-PASS Range 12 [foreignPara1.firstChild, 0, foreignPara1.firstChild, 1] followed by Range 41 [foreignDoc, 1, foreignComment, 2]: first addRange() must not throw exceptions or modify the range it's given
-FAIL Range 12 [foreignPara1.firstChild, 0, foreignPara1.firstChild, 1] followed by Range 41 [foreignDoc, 1, foreignComment, 2]: first addRange() must result in rangeCount being 1 assert_equals: rangeCount must be 1 expected 1 but got 0
-FAIL Range 12 [foreignPara1.firstChild, 0, foreignPara1.firstChild, 1] followed by Range 41 [foreignDoc, 1, foreignComment, 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
-FAIL Range 12 [foreignPara1.firstChild, 0, foreignPara1.firstChild, 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_not_equals: Cannot proceed with tests if rangeCount is 0 got disallowed value 0
-FAIL Range 12 [foreignPara1.firstChild, 0, foreignPara1.firstChild, 1] followed by Range 41 [foreignDoc, 1, foreignComment, 2]: modifying the first added range must modify the Selection's last Range assert_not_equals: Cannot proceed with tests if rangeCount is 0 got disallowed value 0
-FAIL Range 12 [foreignPara1.firstChild, 0, foreignPara1.firstChild, 1] followed by Range 41 [foreignDoc, 1, foreignComment, 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 12 [foreignPara1.firstChild, 0, foreignPara1.firstChild, 1] followed by Range 41 [foreignDoc, 1, foreignComment, 2]: second addRange() must not throw exceptions or modify the range it's given
-FAIL Range 12 [foreignPara1.firstChild, 0, foreignPara1.firstChild, 1] followed by Range 41 [foreignDoc, 1, foreignComment, 2]: second addRange() must result in rangeCount being 1 assert_equals: rangeCount must be 1 expected 1 but got 0
-FAIL Range 12 [foreignPara1.firstChild, 0, foreignPara1.firstChild, 1] followed by Range 41 [foreignDoc, 1, foreignComment, 2]: second 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
-FAIL Range 12 [foreignPara1.firstChild, 0, foreignPara1.firstChild, 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_not_equals: Cannot proceed with tests if rangeCount is 0 got disallowed value 0
-FAIL Range 12 [foreignPara1.firstChild, 0, foreignPara1.firstChild, 1] followed by Range 41 [foreignDoc, 1, foreignComment, 2]: modifying the second added range must modify the Selection's last Range assert_not_equals: Cannot proceed with tests if rangeCount is 0 got disallowed value 0
-FAIL Range 12 [foreignPara1.firstChild, 0, foreignPara1.firstChild, 1] followed by Range 41 [foreignDoc, 1, foreignComment, 2]: modifying the Selection's last Range must modify the second added Range assert_not_equals: Cannot proceed with tests if rangeCount is 0 got disallowed value 0
-PASS Range 12 [foreignPara1.firstChild, 0, foreignPara1.firstChild, 1] followed by Range 42 [foreignDoc.body, 0, foreignTextNode, 36]: first addRange() must not throw exceptions or modify the range it's given
-FAIL Range 12 [foreignPara1.firstChild, 0, foreignPara1.firstChild, 1] followed by Range 42 [foreignDoc.body, 0, foreignTextNode, 36]: first addRange() must result in rangeCount being 1 assert_equals: rangeCount must be 1 expected 1 but got 0
-FAIL Range 12 [foreignPara1.firstChild, 0, foreignPara1.firstChild, 1] followed by Range 42 [foreignDoc.body, 0, foreignTextNode, 36]: 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
-FAIL Range 12 [foreignPara1.firstChild, 0, foreignPara1.firstChild, 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_not_equals: Cannot proceed with tests if rangeCount is 0 got disallowed value 0
-FAIL Range 12 [foreignPara1.firstChild, 0, foreignPara1.firstChild, 1] followed by Range 42 [foreignDoc.body, 0, foreignTextNode, 36]: modifying the first added range must modify the Selection's last Range assert_not_equals: Cannot proceed with tests if rangeCount is 0 got disallowed value 0
-FAIL Range 12 [foreignPara1.firstChild, 0, foreignPara1.firstChild, 1] followed by Range 42 [foreignDoc.body, 0, foreignTextNode, 36]: 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 12 [foreignPara1.firstChild, 0, foreignPara1.firstChild, 1] followed by Range 42 [foreignDoc.body, 0, foreignTextNode, 36]: second addRange() must not throw exceptions or modify the range it's given
-FAIL Range 12 [foreignPara1.firstChild, 0, foreignPara1.firstChild, 1] followed by Range 42 [foreignDoc.body, 0, foreignTextNode, 36]: second addRange() must result in rangeCount being 1 assert_equals: rangeCount must be 1 expected 1 but got 0
-FAIL Range 12 [foreignPara1.firstChild, 0, foreignPara1.firstChild, 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_not_equals: Cannot proceed with tests if rangeCount is 0 got disallowed value 0
-FAIL Range 12 [foreignPara1.firstChild, 0, foreignPara1.firstChild, 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_not_equals: Cannot proceed with tests if rangeCount is 0 got disallowed value 0
-FAIL Range 12 [foreignPara1.firstChild, 0, foreignPara1.firstChild, 1] followed by Range 42 [foreignDoc.body, 0, foreignTextNode, 36]: modifying the second added range must modify the Selection's last Range assert_not_equals: Cannot proceed with tests if rangeCount is 0 got disallowed value 0
-FAIL Range 12 [foreignPara1.firstChild, 0, foreignPara1.firstChild, 1] followed by Range 42 [foreignDoc.body, 0, foreignTextNode, 36]: modifying the Selection's last Range must modify the second added Range assert_not_equals: Cannot proceed with tests if rangeCount is 0 got disallowed value 0
-PASS Range 12 [foreignPara1.firstChild, 0, foreignPara1.firstChild, 1] followed by Range 43 [xmlDoc, 0, xmlDoc, 0]: first addRange() must not throw exceptions or modify the range it's given
-FAIL Range 12 [foreignPara1.firstChild, 0, foreignPara1.firstChild, 1] followed by Range 43 [xmlDoc, 0, xmlDoc, 0]: first addRange() must result in rangeCount being 1 assert_equals: rangeCount must be 1 expected 1 but got 0
-FAIL Range 12 [foreignPara1.firstChild, 0, foreignPara1.firstChild, 1] followed by Range 43 [xmlDoc, 0, xmlDoc, 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
-FAIL Range 12 [foreignPara1.firstChild, 0, foreignPara1.firstChild, 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_not_equals: Cannot proceed with tests if rangeCount is 0 got disallowed value 0
-FAIL Range 12 [foreignPara1.firstChild, 0, foreignPara1.firstChild, 1] followed by Range 43 [xmlDoc, 0, xmlDoc, 0]: modifying the first added range must modify the Selection's last Range assert_not_equals: Cannot proceed with tests if rangeCount is 0 got disallowed value 0
-FAIL Range 12 [foreignPara1.firstChild, 0, foreignPara1.firstChild, 1] followed by Range 43 [xmlDoc, 0, xmlDoc, 0]: 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 12 [foreignPara1.firstChild, 0, foreignPara1.firstChild, 1] followed by Range 43 [xmlDoc, 0, xmlDoc, 0]: second addRange() must not throw exceptions or modify the range it's given
-FAIL Range 12 [foreignPara1.firstChild, 0, foreignPara1.firstChild, 1] followed by Range 43 [xmlDoc, 0, xmlDoc, 0]: second addRange() must result in rangeCount being 1 assert_equals: rangeCount must be 1 expected 1 but got 0
-FAIL Range 12 [foreignPara1.firstChild, 0, foreignPara1.firstChild, 1] followed by Range 43 [xmlDoc, 0, xmlDoc, 0]: second 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
-FAIL Range 12 [foreignPara1.firstChild, 0, foreignPara1.firstChild, 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_not_equals: Cannot proceed with tests if rangeCount is 0 got disallowed value 0
-FAIL Range 12 [foreignPara1.firstChild, 0, foreignPara1.firstChild, 1] followed by Range 43 [xmlDoc, 0, xmlDoc, 0]: modifying the second added range must modify the Selection's last Range assert_not_equals: Cannot proceed with tests if rangeCount is 0 got disallowed value 0
-FAIL Range 12 [foreignPara1.firstChild, 0, foreignPara1.firstChild, 1] followed by Range 43 [xmlDoc, 0, xmlDoc, 0]: modifying the Selection's last Range must modify the second added Range assert_not_equals: Cannot proceed with tests if rangeCount is 0 got disallowed value 0
-PASS Range 12 [foreignPara1.firstChild, 0, foreignPara1.firstChild, 1] followed by Range 44 [xmlDoc, 1, xmlComment, 0]: first addRange() must not throw exceptions or modify the range it's given
-FAIL Range 12 [foreignPara1.firstChild, 0, foreignPara1.firstChild, 1] followed by Range 44 [xmlDoc, 1, xmlComment, 0]: first addRange() must result in rangeCount being 1 assert_equals: rangeCount must be 1 expected 1 but got 0
-FAIL Range 12 [foreignPara1.firstChild, 0, foreignPara1.firstChild, 1] followed by Range 44 [xmlDoc, 1, xmlComment, 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
-FAIL Range 12 [foreignPara1.firstChild, 0, foreignPara1.firstChild, 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_not_equals: Cannot proceed with tests if rangeCount is 0 got disallowed value 0
-FAIL Range 12 [foreignPara1.firstChild, 0, foreignPara1.firstChild, 1] followed by Range 44 [xmlDoc, 1, xmlComment, 0]: modifying the first added range must modify the Selection's last Range assert_not_equals: Cannot proceed with tests if rangeCount is 0 got disallowed value 0
-FAIL Range 12 [foreignPara1.firstChild, 0, foreignPara1.firstChild, 1] followed by Range 44 [xmlDoc, 1, xmlComment, 0]: 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 12 [foreignPara1.firstChild, 0, foreignPara1.firstChild, 1] followed by Range 44 [xmlDoc, 1, xmlComment, 0]: second addRange() must not throw exceptions or modify the range it's given
-FAIL Range 12 [foreignPara1.firstChild, 0, foreignPara1.firstChild, 1] followed by Range 44 [xmlDoc, 1, xmlComment, 0]: second addRange() must result in rangeCount being 1 assert_equals: rangeCount must be 1 expected 1 but got 0
-FAIL Range 12 [foreignPara1.firstChild, 0, foreignPara1.firstChild, 1] followed by Range 44 [xmlDoc, 1, xmlComment, 0]: second 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
-FAIL Range 12 [foreignPara1.firstChild, 0, foreignPara1.firstChild, 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_not_equals: Cannot proceed with tests if rangeCount is 0 got disallowed value 0
-FAIL Range 12 [foreignPara1.firstChild, 0, foreignPara1.firstChild, 1] followed by Range 44 [xmlDoc, 1, xmlComment, 0]: modifying the second added range must modify the Selection's last Range assert_not_equals: Cannot proceed with tests if rangeCount is 0 got disallowed value 0
-FAIL Range 12 [foreignPara1.firstChild, 0, foreignPara1.firstChild, 1] followed by Range 44 [xmlDoc, 1, xmlComment, 0]: modifying the Selection's last Range must modify the second added Range assert_not_equals: Cannot proceed with tests if rangeCount is 0 got disallowed value 0
-PASS Range 12 [foreignPara1.firstChild, 0, foreignPara1.firstChild, 1] followed by Range 45 [detachedTextNode, 0, detachedTextNode, 8]: first addRange() must not throw exceptions or modify the range it's given
-FAIL Range 12 [foreignPara1.firstChild, 0, foreignPara1.firstChild, 1] followed by Range 45 [detachedTextNode, 0, detachedTextNode, 8]: first addRange() must result in rangeCount being 1 assert_equals: rangeCount must be 1 expected 1 but got 0
-FAIL Range 12 [foreignPara1.firstChild, 0, foreignPara1.firstChild, 1] followed by Range 45 [detachedTextNode, 0, detachedTextNode, 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
-FAIL Range 12 [foreignPara1.firstChild, 0, foreignPara1.firstChild, 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_not_equals: Cannot proceed with tests if rangeCount is 0 got disallowed value 0
-FAIL Range 12 [foreignPara1.firstChild, 0, foreignPara1.firstChild, 1] followed by Range 45 [detachedTextNode, 0, detachedTextNode, 8]: modifying the first added range must modify the Selection's last Range assert_not_equals: Cannot proceed with tests if rangeCount is 0 got disallowed value 0
-FAIL Range 12 [foreignPara1.firstChild, 0, foreignPara1.firstChild, 1] followed by Range 45 [detachedTextNode, 0, detachedTextNode, 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 12 [foreignPara1.firstChild, 0, foreignPara1.firstChild, 1] followed by Range 45 [detachedTextNode, 0, detachedTextNode, 8]: second addRange() must not throw exceptions or modify the range it's given
-FAIL Range 12 [foreignPara1.firstChild, 0, foreignPara1.firstChild, 1] followed by Range 45 [detachedTextNode, 0, detachedTextNode, 8]: second addRange() must result in rangeCount being 1 assert_equals: rangeCount must be 1 expected 1 but got 0
-FAIL Range 12 [foreignPara1.firstChild, 0, foreignPara1.firstChild, 1] followed by Range 45 [detachedTextNode, 0, detachedTextNode, 8]: second 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
-FAIL Range 12 [foreignPara1.firstChild, 0, foreignPara1.firstChild, 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_not_equals: Cannot proceed with tests if rangeCount is 0 got disallowed value 0
-FAIL Range 12 [foreignPara1.firstChild, 0, foreignPara1.firstChild, 1] followed by Range 45 [detachedTextNode, 0, detachedTextNode, 8]: modifying the second added range must modify the Selection's last Range assert_not_equals: Cannot proceed with tests if rangeCount is 0 got disallowed value 0
-FAIL Range 12 [foreignPara1.firstChild, 0, foreignPara1.firstChild, 1] followed by Range 45 [detachedTextNode, 0, detachedTextNode, 8]: modifying the Selection's last Range must modify the second added Range assert_not_equals: Cannot proceed with tests if rangeCount is 0 got disallowed value 0
-PASS Range 12 [foreignPara1.firstChild, 0, foreignPara1.firstChild, 1] followed by Range 46 [detachedForeignTextNode, 7, detachedForeignTextNode, 7]: first addRange() must not throw exceptions or modify the range it's given
-FAIL Range 12 [foreignPara1.firstChild, 0, foreignPara1.firstChild, 1] followed by Range 46 [detachedForeignTextNode, 7, detachedForeignTextNode, 7]: first addRange() must result in rangeCount being 1 assert_equals: rangeCount must be 1 expected 1 but got 0
-FAIL Range 12 [foreignPara1.firstChild, 0, foreignPara1.firstChild, 1] followed by Range 46 [detachedForeignTextNode, 7, detachedForeignTextNode, 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
-FAIL Range 12 [foreignPara1.firstChild, 0, foreignPara1.firstChild, 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_not_equals: Cannot proceed with tests if rangeCount is 0 got disallowed value 0
-FAIL Range 12 [foreignPara1.firstChild, 0, foreignPara1.firstChild, 1] followed by Range 46 [detachedForeignTextNode, 7, detachedForeignTextNode, 7]: modifying the first added range must modify the Selection's last Range assert_not_equals: Cannot proceed with tests if rangeCount is 0 got disallowed value 0
-FAIL Range 12 [foreignPara1.firstChild, 0, foreignPara1.firstChild, 1] followed by Range 46 [detachedForeignTextNode, 7, detachedForeignTextNode, 7]: 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 12 [foreignPara1.firstChild, 0, foreignPara1.firstChild, 1] followed by Range 46 [detachedForeignTextNode, 7, detachedForeignTextNode, 7]: second addRange() must not throw exceptions or modify the range it's given
-FAIL Range 12 [foreignPara1.firstChild, 0, foreignPara1.firstChild, 1] followed by Range 46 [detachedForeignTextNode, 7, detachedForeignTextNode, 7]: second addRange() must result in rangeCount being 1 assert_equals: rangeCount must be 1 expected 1 but got 0
-FAIL Range 12 [foreignPara1.firstChild, 0, foreignPara1.firstChild, 1] followed by Range 46 [detachedForeignTextNode, 7, detachedForeignTextNode, 7]: second 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
-FAIL Range 12 [foreignPara1.firstChild, 0, foreignPara1.firstChild, 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_not_equals: Cannot proceed with tests if rangeCount is 0 got disallowed value 0
-FAIL Range 12 [foreignPara1.firstChild, 0, foreignPara1.firstChild, 1] followed by Range 46 [detachedForeignTextNode, 7, detachedForeignTextNode, 7]: modifying the second added range must modify the Selection's last Range assert_not_equals: Cannot proceed with tests if rangeCount is 0 got disallowed value 0
-FAIL Range 12 [foreignPara1.firstChild, 0, foreignPara1.firstChild, 1] followed by Range 46 [detachedForeignTextNode, 7, detachedForeignTextNode, 7]: modifying the Selection's last Range must modify the second added Range assert_not_equals: Cannot proceed with tests if rangeCount is 0 got disallowed value 0
-PASS Range 12 [foreignPara1.firstChild, 0, foreignPara1.firstChild, 1] followed by Range 47 [detachedForeignTextNode, 0, detachedForeignTextNode, 8]: first addRange() must not throw exceptions or modify the range it's given
-FAIL Range 12 [foreignPara1.firstChild, 0, foreignPara1.firstChild, 1] followed by Range 47 [detachedForeignTextNode, 0, detachedForeignTextNode, 8]: first addRange() must result in rangeCount being 1 assert_equals: rangeCount must be 1 expected 1 but got 0
-FAIL Range 12 [foreignPara1.firstChild, 0, foreignPara1.firstChild, 1] followed by Range 47 [detachedForeignTextNode, 0, detachedForeignTextNode, 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
-FAIL Range 12 [foreignPara1.firstChild, 0, foreignPara1.firstChild, 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_not_equals: Cannot proceed with tests if rangeCount is 0 got disallowed value 0
-FAIL Range 12 [foreignPara1.firstChild, 0, foreignPara1.firstChild, 1] followed by Range 47 [detachedForeignTextNode, 0, detachedForeignTextNode, 8]: modifying the first added range must modify the Selection's last Range assert_not_equals: Cannot proceed with tests if rangeCount is 0 got disallowed value 0
-FAIL Range 12 [foreignPara1.firstChild, 0, foreignPara1.firstChild, 1] followed by Range 47 [detachedForeignTextNode, 0, detachedForeignTextNode, 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 12 [foreignPara1.firstChild, 0, foreignPara1.firstChild, 1] followed by Range 47 [detachedForeignTextNode, 0, detachedForeignTextNode, 8]: second addRange() must not throw exceptions or modify the range it's given
-FAIL Range 12 [foreignPara1.firstChild, 0, foreignPara1.firstChild, 1] followed by Range 47 [detachedForeignTextNode, 0, detachedForeignTextNode, 8]: second addRange() must result in rangeCount being 1 assert_equals: rangeCount must be 1 expected 1 but got 0
-FAIL Range 12 [foreignPara1.firstChild, 0, foreignPara1.firstChild, 1] followed by Range 47 [detachedForeignTextNode, 0, detachedForeignTextNode, 8]: second 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
-FAIL Range 12 [foreignPara1.firstChild, 0, foreignPara1.firstChild, 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_not_equals: Cannot proceed with tests if rangeCount is 0 got disallowed value 0
-FAIL Range 12 [foreignPara1.firstChild, 0, foreignPara1.firstChild, 1] followed by Range 47 [detachedForeignTextNode, 0, detachedForeignTextNode, 8]: modifying the second added range must modify the Selection's last Range assert_not_equals: Cannot proceed with tests if rangeCount is 0 got disallowed value 0
-FAIL Range 12 [foreignPara1.firstChild, 0, foreignPara1.firstChild, 1] followed by Range 47 [detachedForeignTextNode, 0, detachedForeignTextNode, 8]: modifying the Selection's last Range must modify the second added Range assert_not_equals: Cannot proceed with tests if rangeCount is 0 got disallowed value 0
-PASS Range 12 [foreignPara1.firstChild, 0, foreignPara1.firstChild, 1] followed by Range 48 [detachedXmlTextNode, 7, detachedXmlTextNode, 7]: first addRange() must not throw exceptions or modify the range it's given
-FAIL Range 12 [foreignPara1.firstChild, 0, foreignPara1.firstChild, 1] followed by Range 48 [detachedXmlTextNode, 7, detachedXmlTextNode, 7]: first addRange() must result in rangeCount being 1 assert_equals: rangeCount must be 1 expected 1 but got 0
-FAIL Range 12 [foreignPara1.firstChild, 0, foreignPara1.firstChild, 1] followed by Range 48 [detachedXmlTextNode, 7, detachedXmlTextNode, 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
-FAIL Range 12 [foreignPara1.firstChild, 0, foreignPara1.firstChild, 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_not_equals: Cannot proceed with tests if rangeCount is 0 got disallowed value 0
-FAIL Range 12 [foreignPara1.firstChild, 0, foreignPara1.firstChild, 1] followed by Range 48 [detachedXmlTextNode, 7, detachedXmlTextNode, 7]: modifying the first added range must modify the Selection's last Range assert_not_equals: Cannot proceed with tests if rangeCount is 0 got disallowed value 0
-FAIL Range 12 [foreignPara1.firstChild, 0, foreignPara1.firstChild, 1] followed by Range 48 [detachedXmlTextNode, 7, detachedXmlTextNode, 7]: 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 12 [foreignPara1.firstChild, 0, foreignPara1.firstChild, 1] followed by Range 48 [detachedXmlTextNode, 7, detachedXmlTextNode, 7]: second addRange() must not throw exceptions or modify the range it's given
-FAIL Range 12 [foreignPara1.firstChild, 0, foreignPara1.firstChild, 1] followed by Range 48 [detachedXmlTextNode, 7, detachedXmlTextNode, 7]: second addRange() must result in rangeCount being 1 assert_equals: rangeCount must be 1 expected 1 but got 0
-FAIL Range 12 [foreignPara1.firstChild, 0, foreignPara1.firstChild, 1] followed by Range 48 [detachedXmlTextNode, 7, detachedXmlTextNode, 7]: second 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
-FAIL Range 12 [foreignPara1.firstChild, 0, foreignPara1.firstChild, 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_not_equals: Cannot proceed with tests if rangeCount is 0 got disallowed value 0
-FAIL Range 12 [foreignPara1.firstChild, 0, foreignPara1.firstChild, 1] followed by Range 48 [detachedXmlTextNode, 7, detachedXmlTextNode, 7]: modifying the second added range must modify the Selection's last Range assert_not_equals: Cannot proceed with tests if rangeCount is 0 got disallowed value 0
-FAIL Range 12 [foreignPara1.firstChild, 0, foreignPara1.firstChild, 1] followed by Range 48 [detachedXmlTextNode, 7, detachedXmlTextNode, 7]: modifying the Selection's last Range must modify the second added Range assert_not_equals: Cannot proceed with tests if rangeCount is 0 got disallowed value 0
-PASS Range 12 [foreignPara1.firstChild, 0, foreignPara1.firstChild, 1] followed by Range 49 [detachedXmlTextNode, 0, detachedXmlTextNode, 8]: first addRange() must not throw exceptions or modify the range it's given
-FAIL Range 12 [foreignPara1.firstChild, 0, foreignPara1.firstChild, 1] followed by Range 49 [detachedXmlTextNode, 0, detachedXmlTextNode, 8]: first addRange() must result in rangeCount being 1 assert_equals: rangeCount must be 1 expected 1 but got 0
-FAIL Range 12 [foreignPara1.firstChild, 0, foreignPara1.firstChild, 1] followed by Range 49 [detachedXmlTextNode, 0, detachedXmlTextNode, 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
-FAIL Range 12 [foreignPara1.firstChild, 0, foreignPara1.firstChild, 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_not_equals: Cannot proceed with tests if rangeCount is 0 got disallowed value 0
-FAIL Range 12 [foreignPara1.firstChild, 0, foreignPara1.firstChild, 1] followed by Range 49 [detachedXmlTextNode, 0, detachedXmlTextNode, 8]: modifying the first added range must modify the Selection's last Range assert_not_equals: Cannot proceed with tests if rangeCount is 0 got disallowed value 0
-FAIL Range 12 [foreignPara1.firstChild, 0, foreignPara1.firstChild, 1] followed by Range 49 [detachedXmlTextNode, 0, detachedXmlTextNode, 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 12 [foreignPara1.firstChild, 0, foreignPara1.firstChild, 1] followed by Range 49 [detachedXmlTextNode, 0, detachedXmlTextNode, 8]: second addRange() must not throw exceptions or modify the range it's given
-FAIL Range 12 [foreignPara1.firstChild, 0, foreignPara1.firstChild, 1] followed by Range 49 [detachedXmlTextNode, 0, detachedXmlTextNode, 8]: second addRange() must result in rangeCount being 1 assert_equals: rangeCount must be 1 expected 1 but got 0
-FAIL Range 12 [foreignPara1.firstChild, 0, foreignPara1.firstChild, 1] followed by Range 49 [detachedXmlTextNode, 0, detachedXmlTextNode, 8]: second 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
-FAIL Range 12 [foreignPara1.firstChild, 0, foreignPara1.firstChild, 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_not_equals: Cannot proceed with tests if rangeCount is 0 got disallowed value 0
-FAIL Range 12 [foreignPara1.firstChild, 0, foreignPara1.firstChild, 1] followed by Range 49 [detachedXmlTextNode, 0, detachedXmlTextNode, 8]: modifying the second added range must modify the Selection's last Range assert_not_equals: Cannot proceed with tests if rangeCount is 0 got disallowed value 0
-FAIL Range 12 [foreignPara1.firstChild, 0, foreignPara1.firstChild, 1] followed by Range 49 [detachedXmlTextNode, 0, detachedXmlTextNode, 8]: modifying the Selection's last Range must modify the second added Range assert_not_equals: Cannot proceed with tests if rangeCount is 0 got disallowed value 0
-PASS Range 12 [foreignPara1.firstChild, 0, foreignPara1.firstChild, 1] followed by Range 50 [detachedComment, 3, detachedComment, 4]: first addRange() must not throw exceptions or modify the range it's given
-FAIL Range 12 [foreignPara1.firstChild, 0, foreignPara1.firstChild, 1] followed by Range 50 [detachedComment, 3, detachedComment, 4]: first addRange() must result in rangeCount being 1 assert_equals: rangeCount must be 1 expected 1 but got 0
-FAIL Range 12 [foreignPara1.firstChild, 0, foreignPara1.firstChild, 1] followed by Range 50 [detachedComment, 3, detachedComment, 4]: 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
-FAIL Range 12 [foreignPara1.firstChild, 0, foreignPara1.firstChild, 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_not_equals: Cannot proceed with tests if rangeCount is 0 got disallowed value 0
-FAIL Range 12 [foreignPara1.firstChild, 0, foreignPara1.firstChild, 1] followed by Range 50 [detachedComment, 3, detachedComment, 4]: modifying the first added range must modify the Selection's last Range assert_not_equals: Cannot proceed with tests if rangeCount is 0 got disallowed value 0
-FAIL Range 12 [foreignPara1.firstChild, 0, foreignPara1.firstChild, 1] followed by Range 50 [detachedComment, 3, detachedComment, 4]: 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 12 [foreignPara1.firstChild, 0, foreignPara1.firstChild, 1] followed by Range 50 [detachedComment, 3, detachedComment, 4]: second addRange() must not throw exceptions or modify the range it's given
-FAIL Range 12 [foreignPara1.firstChild, 0, foreignPara1.firstChild, 1] followed by Range 50 [detachedComment, 3, detachedComment, 4]: second addRange() must result in rangeCount being 1 assert_equals: rangeCount must be 1 expected 1 but got 0
-FAIL Range 12 [foreignPara1.firstChild, 0, foreignPara1.firstChild, 1] followed by Range 50 [detachedComment, 3, detachedComment, 4]: second 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
-FAIL Range 12 [foreignPara1.firstChild, 0, foreignPara1.firstChild, 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_not_equals: Cannot proceed with tests if rangeCount is 0 got disallowed value 0
-FAIL Range 12 [foreignPara1.firstChild, 0, foreignPara1.firstChild, 1] followed by Range 50 [detachedComment, 3, detachedComment, 4]: modifying the second added range must modify the Selection's last Range assert_not_equals: Cannot proceed with tests if rangeCount is 0 got disallowed value 0
-FAIL Range 12 [foreignPara1.firstChild, 0, foreignPara1.firstChild, 1] followed by Range 50 [detachedComment, 3, detachedComment, 4]: modifying the Selection's last Range must modify the second added Range assert_not_equals: Cannot proceed with tests if rangeCount is 0 got disallowed value 0
-PASS Range 12 [foreignPara1.firstChild, 0, foreignPara1.firstChild, 1] followed by Range 51 [detachedComment, 5, detachedComment, 5]: first addRange() must not throw exceptions or modify the range it's given
-FAIL Range 12 [foreignPara1.firstChild, 0, foreignPara1.firstChild, 1] followed by Range 51 [detachedComment, 5, detachedComment, 5]: first addRange() must result in rangeCount being 1 assert_equals: rangeCount must be 1 expected 1 but got 0
-FAIL Range 12 [foreignPara1.firstChild, 0, foreignPara1.firstChild, 1] followed by Range 51 [detachedComment, 5, detachedComment, 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
-FAIL Range 12 [foreignPara1.firstChild, 0, foreignPara1.firstChild, 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_not_equals: Cannot proceed with tests if rangeCount is 0 got disallowed value 0
-FAIL Range 12 [foreignPara1.firstChild, 0, foreignPara1.firstChild, 1] followed by Range 51 [detachedComment, 5, detachedComment, 5]: modifying the first added range must modify the Selection's last Range assert_not_equals: Cannot proceed with tests if rangeCount is 0 got disallowed value 0
-FAIL Range 12 [foreignPara1.firstChild, 0, foreignPara1.firstChild, 1] followed by Range 51 [detachedComment, 5, detachedComment, 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 12 [foreignPara1.firstChild, 0, foreignPara1.firstChild, 1] followed by Range 51 [detachedComment, 5, detachedComment, 5]: second addRange() must not throw exceptions or modify the range it's given
-FAIL Range 12 [foreignPara1.firstChild, 0, foreignPara1.firstChild, 1] followed by Range 51 [detachedComment, 5, detachedComment, 5]: second addRange() must result in rangeCount being 1 assert_equals: rangeCount must be 1 expected 1 but got 0
-FAIL Range 12 [foreignPara1.firstChild, 0, foreignPara1.firstChild, 1] followed by Range 51 [detachedComment, 5, detachedComment, 5]: second 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
-FAIL Range 12 [foreignPara1.firstChild, 0, foreignPara1.firstChild, 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_not_equals: Cannot proceed with tests if rangeCount is 0 got disallowed value 0
-FAIL Range 12 [foreignPara1.firstChild, 0, foreignPara1.firstChild, 1] followed by Range 51 [detachedComment, 5, detachedComment, 5]: modifying the second added range must modify the Selection's last Range assert_not_equals: Cannot proceed with tests if rangeCount is 0 got disallowed value 0
-FAIL Range 12 [foreignPara1.firstChild, 0, foreignPara1.firstChild, 1] followed by Range 51 [detachedComment, 5, detachedComment, 5]: modifying the Selection's last Range must modify the second added Range assert_not_equals: Cannot proceed with tests if rangeCount is 0 got disallowed value 0
-PASS Range 12 [foreignPara1.firstChild, 0, foreignPara1.firstChild, 1] followed by Range 52 [detachedForeignComment, 0, detachedForeignComment, 1]: first addRange() must not throw exceptions or modify the range it's given
-FAIL Range 12 [foreignPara1.firstChild, 0, foreignPara1.firstChild, 1] followed by Range 52 [detachedForeignComment, 0, detachedForeignComment, 1]: first addRange() must result in rangeCount being 1 assert_equals: rangeCount must be 1 expected 1 but got 0
-FAIL Range 12 [foreignPara1.firstChild, 0, foreignPara1.firstChild, 1] followed by Range 52 [detachedForeignComment, 0, detachedForeignComment, 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
-FAIL Range 12 [foreignPara1.firstChild, 0, foreignPara1.firstChild, 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_not_equals: Cannot proceed with tests if rangeCount is 0 got disallowed value 0
-FAIL Range 12 [foreignPara1.firstChild, 0, foreignPara1.firstChild, 1] followed by Range 52 [detachedForeignComment, 0, detachedForeignComment, 1]: modifying the first added range must modify the Selection's last Range assert_not_equals: Cannot proceed with tests if rangeCount is 0 got disallowed value 0
-FAIL Range 12 [foreignPara1.firstChild, 0, foreignPara1.firstChild, 1] followed by Range 52 [detachedForeignComment, 0, detachedForeignComment, 1]: 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 12 [foreignPara1.firstChild, 0, foreignPara1.firstChild, 1] followed by Range 52 [detachedForeignComment, 0, detachedForeignComment, 1]: second addRange() must not throw exceptions or modify the range it's given
-FAIL Range 12 [foreignPara1.firstChild, 0, foreignPara1.firstChild, 1] followed by Range 52 [detachedForeignComment, 0, detachedForeignComment, 1]: second addRange() must result in rangeCount being 1 assert_equals: rangeCount must be 1 expected 1 but got 0
-FAIL Range 12 [foreignPara1.firstChild, 0, foreignPara1.firstChild, 1] followed by Range 52 [detachedForeignComment, 0, detachedForeignComment, 1]: second 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
-FAIL Range 12 [foreignPara1.firstChild, 0, foreignPara1.firstChild, 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_not_equals: Cannot proceed with tests if rangeCount is 0 got disallowed value 0
-FAIL Range 12 [foreignPara1.firstChild, 0, foreignPara1.firstChild, 1] followed by Range 52 [detachedForeignComment, 0, detachedForeignComment, 1]: modifying the second added range must modify the Selection's last Range assert_not_equals: Cannot proceed with tests if rangeCount is 0 got disallowed value 0
-FAIL Range 12 [foreignPara1.firstChild, 0, foreignPara1.firstChild, 1] followed by Range 52 [detachedForeignComment, 0, detachedForeignComment, 1]: modifying the Selection's last Range must modify the second added Range assert_not_equals: Cannot proceed with tests if rangeCount is 0 got disallowed value 0
-PASS Range 12 [foreignPara1.firstChild, 0, foreignPara1.firstChild, 1] followed by Range 53 [detachedForeignComment, 4, detachedForeignComment, 4]: first addRange() must not throw exceptions or modify the range it's given
-FAIL Range 12 [foreignPara1.firstChild, 0, foreignPara1.firstChild, 1] followed by Range 53 [detachedForeignComment, 4, detachedForeignComment, 4]: first addRange() must result in rangeCount being 1 assert_equals: rangeCount must be 1 expected 1 but got 0
-FAIL Range 12 [foreignPara1.firstChild, 0, foreignPara1.firstChild, 1] followed by Range 53 [detachedForeignComment, 4, detachedForeignComment, 4]: 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
-FAIL Range 12 [foreignPara1.firstChild, 0, foreignPara1.firstChild, 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_not_equals: Cannot proceed with tests if rangeCount is 0 got disallowed value 0
-FAIL Range 12 [foreignPara1.firstChild, 0, foreignPara1.firstChild, 1] followed by Range 53 [detachedForeignComment, 4, detachedForeignComment, 4]: modifying the first added range must modify the Selection's last Range assert_not_equals: Cannot proceed with tests if rangeCount is 0 got disallowed value 0
-FAIL Range 12 [foreignPara1.firstChild, 0, foreignPara1.firstChild, 1] followed by Range 53 [detachedForeignComment, 4, detachedForeignComment, 4]: 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 12 [foreignPara1.firstChild, 0, foreignPara1.firstChild, 1] followed by Range 53 [detachedForeignComment, 4, detachedForeignComment, 4]: second addRange() must not throw exceptions or modify the range it's given
-FAIL Range 12 [foreignPara1.firstChild, 0, foreignPara1.firstChild, 1] followed by Range 53 [detachedForeignComment, 4, detachedForeignComment, 4]: second addRange() must result in rangeCount being 1 assert_equals: rangeCount must be 1 expected 1 but got 0
-FAIL Range 12 [foreignPara1.firstChild, 0, foreignPara1.firstChild, 1] followed by Range 53 [detachedForeignComment, 4, detachedForeignComment, 4]: second 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
-FAIL Range 12 [foreignPara1.firstChild, 0, foreignPara1.firstChild, 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_not_equals: Cannot proceed with tests if rangeCount is 0 got disallowed value 0
-FAIL Range 12 [foreignPara1.firstChild, 0, foreignPara1.firstChild, 1] followed by Range 53 [detachedForeignComment, 4, detachedForeignComment, 4]: modifying the second added range must modify the Selection's last Range assert_not_equals: Cannot proceed with tests if rangeCount is 0 got disallowed value 0
-FAIL Range 12 [foreignPara1.firstChild, 0, foreignPara1.firstChild, 1] followed by Range 53 [detachedForeignComment, 4, detachedForeignComment, 4]: modifying the Selection's last Range must modify the second added Range assert_not_equals: Cannot proceed with tests if rangeCount is 0 got disallowed value 0
-PASS Range 12 [foreignPara1.firstChild, 0, foreignPara1.firstChild, 1] followed by Range 54 [detachedXmlComment, 2, detachedXmlComment, 6]: first addRange() must not throw exceptions or modify the range it's given
-FAIL Range 12 [foreignPara1.firstChild, 0, foreignPara1.firstChild, 1] followed by Range 54 [detachedXmlComment, 2, detachedXmlComment, 6]: first addRange() must result in rangeCount being 1 assert_equals: rangeCount must be 1 expected 1 but got 0
-FAIL Range 12 [foreignPara1.firstChild, 0, foreignPara1.firstChild, 1] followed by Range 54 [detachedXmlComment, 2, detachedXmlComment, 6]: 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
-FAIL Range 12 [foreignPara1.firstChild, 0, foreignPara1.firstChild, 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_not_equals: Cannot proceed with tests if rangeCount is 0 got disallowed value 0
-FAIL Range 12 [foreignPara1.firstChild, 0, foreignPara1.firstChild, 1] followed by Range 54 [detachedXmlComment, 2, detachedXmlComment, 6]: modifying the first added range must modify the Selection's last Range assert_not_equals: Cannot proceed with tests if rangeCount is 0 got disallowed value 0
-FAIL Range 12 [foreignPara1.firstChild, 0, foreignPara1.firstChild, 1] followed by Range 54 [detachedXmlComment, 2, detachedXmlComment, 6]: 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 12 [foreignPara1.firstChild, 0, foreignPara1.firstChild, 1] followed by Range 54 [detachedXmlComment, 2, detachedXmlComment, 6]: second addRange() must not throw exceptions or modify the range it's given
-FAIL Range 12 [foreignPara1.firstChild, 0, foreignPara1.firstChild, 1] followed by Range 54 [detachedXmlComment, 2, detachedXmlComment, 6]: second addRange() must result in rangeCount being 1 assert_equals: rangeCount must be 1 expected 1 but got 0
-FAIL Range 12 [foreignPara1.firstChild, 0, foreignPara1.firstChild, 1] followed by Range 54 [detachedXmlComment, 2, detachedXmlComment, 6]: second 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
-FAIL Range 12 [foreignPara1.firstChild, 0, foreignPara1.firstChild, 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_not_equals: Cannot proceed with tests if rangeCount is 0 got disallowed value 0
-FAIL Range 12 [foreignPara1.firstChild, 0, foreignPara1.firstChild, 1] followed by Range 54 [detachedXmlComment, 2, detachedXmlComment, 6]: modifying the second added range must modify the Selection's last Range assert_not_equals: Cannot proceed with tests if rangeCount is 0 got disallowed value 0
-FAIL Range 12 [foreignPara1.firstChild, 0, foreignPara1.firstChild, 1] followed by Range 54 [detachedXmlComment, 2, detachedXmlComment, 6]: modifying the Selection's last Range must modify the second added Range assert_not_equals: Cannot proceed with tests if rangeCount is 0 got disallowed value 0
-PASS Range 12 [foreignPara1.firstChild, 0, foreignPara1.firstChild, 1] followed by Range 55 [docfrag, 0, docfrag, 0]: first addRange() must not throw exceptions or modify the range it's given
-FAIL Range 12 [foreignPara1.firstChild, 0, foreignPara1.firstChild, 1] followed by Range 55 [docfrag, 0, docfrag, 0]: first addRange() must result in rangeCount being 1 assert_equals: rangeCount must be 1 expected 1 but got 0
-FAIL Range 12 [foreignPara1.firstChild, 0, foreignPara1.firstChild, 1] followed by Range 55 [docfrag, 0, docfrag, 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
-FAIL Range 12 [foreignPara1.firstChild, 0, foreignPara1.firstChild, 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_not_equals: Cannot proceed with tests if rangeCount is 0 got disallowed value 0
-FAIL Range 12 [foreignPara1.firstChild, 0, foreignPara1.firstChild, 1] followed by Range 55 [docfrag, 0, docfrag, 0]: modifying the first added range must modify the Selection's last Range assert_not_equals: Cannot proceed with tests if rangeCount is 0 got disallowed value 0
-FAIL Range 12 [foreignPara1.firstChild, 0, foreignPara1.firstChild, 1] followed by Range 55 [docfrag, 0, docfrag, 0]: 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 12 [foreignPara1.firstChild, 0, foreignPara1.firstChild, 1] followed by Range 55 [docfrag, 0, docfrag, 0]: second addRange() must not throw exceptions or modify the range it's given
-FAIL Range 12 [foreignPara1.firstChild, 0, foreignPara1.firstChild, 1] followed by Range 55 [docfrag, 0, docfrag, 0]: second addRange() must result in rangeCount being 1 assert_equals: rangeCount must be 1 expected 1 but got 0
-FAIL Range 12 [foreignPara1.firstChild, 0, foreignPara1.firstChild, 1] followed by Range 55 [docfrag, 0, docfrag, 0]: second 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
-FAIL Range 12 [foreignPara1.firstChild, 0, foreignPara1.firstChild, 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_not_equals: Cannot proceed with tests if rangeCount is 0 got disallowed value 0
-FAIL Range 12 [foreignPara1.firstChild, 0, foreignPara1.firstChild, 1] followed by Range 55 [docfrag, 0, docfrag, 0]: modifying the second added range must modify the Selection's last Range assert_not_equals: Cannot proceed with tests if rangeCount is 0 got disallowed value 0
-FAIL Range 12 [foreignPara1.firstChild, 0, foreignPara1.firstChild, 1] followed by Range 55 [docfrag, 0, docfrag, 0]: modifying the Selection's last Range must modify the second added Range assert_not_equals: Cannot proceed with tests if rangeCount is 0 got disallowed value 0
-PASS Range 12 [foreignPara1.firstChild, 0, foreignPara1.firstChild, 1] followed by Range 56 [foreignDocfrag, 0, foreignDocfrag, 0]: first addRange() must not throw exceptions or modify the range it's given
-FAIL Range 12 [foreignPara1.firstChild, 0, foreignPara1.firstChild, 1] followed by Range 56 [foreignDocfrag, 0, foreignDocfrag, 0]: first addRange() must result in rangeCount being 1 assert_equals: rangeCount must be 1 expected 1 but got 0
-FAIL Range 12 [foreignPara1.firstChild, 0, foreignPara1.firstChild, 1] followed by Range 56 [foreignDocfrag, 0, foreignDocfrag, 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
-FAIL Range 12 [foreignPara1.firstChild, 0, foreignPara1.firstChild, 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_not_equals: Cannot proceed with tests if rangeCount is 0 got disallowed value 0
-FAIL Range 12 [foreignPara1.firstChild, 0, foreignPara1.firstChild, 1] followed by Range 56 [foreignDocfrag, 0, foreignDocfrag, 0]: modifying the first added range must modify the Selection's last Range assert_not_equals: Cannot proceed with tests if rangeCount is 0 got disallowed value 0
-FAIL Range 12 [foreignPara1.firstChild, 0, foreignPara1.firstChild, 1] followed by Range 56 [foreignDocfrag, 0, foreignDocfrag, 0]: 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 12 [foreignPara1.firstChild, 0, foreignPara1.firstChild, 1] followed by Range 56 [foreignDocfrag, 0, foreignDocfrag, 0]: second addRange() must not throw exceptions or modify the range it's given
-FAIL Range 12 [foreignPara1.firstChild, 0, foreignPara1.firstChild, 1] followed by Range 56 [foreignDocfrag, 0, foreignDocfrag, 0]: second addRange() must result in rangeCount being 1 assert_equals: rangeCount must be 1 expected 1 but got 0
-FAIL Range 12 [foreignPara1.firstChild, 0, foreignPara1.firstChild, 1] followed by Range 56 [foreignDocfrag, 0, foreignDocfrag, 0]: second 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
-FAIL Range 12 [foreignPara1.firstChild, 0, foreignPara1.firstChild, 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_not_equals: Cannot proceed with tests if rangeCount is 0 got disallowed value 0
-FAIL Range 12 [foreignPara1.firstChild, 0, foreignPara1.firstChild, 1] followed by Range 56 [foreignDocfrag, 0, foreignDocfrag, 0]: modifying the second added range must modify the Selection's last Range assert_not_equals: Cannot proceed with tests if rangeCount is 0 got disallowed value 0
-FAIL Range 12 [foreignPara1.firstChild, 0, foreignPara1.firstChild, 1] followed by Range 56 [foreignDocfrag, 0, foreignDocfrag, 0]: modifying the Selection's last Range must modify the second added Range assert_not_equals: Cannot proceed with tests if rangeCount is 0 got disallowed value 0
-PASS Range 12 [foreignPara1.firstChild, 0, foreignPara1.firstChild, 1] followed by Range 57 [xmlDocfrag, 0, xmlDocfrag, 0]: first addRange() must not throw exceptions or modify the range it's given
-FAIL Range 12 [foreignPara1.firstChild, 0, foreignPara1.firstChild, 1] followed by Range 57 [xmlDocfrag, 0, xmlDocfrag, 0]: first addRange() must result in rangeCount being 1 assert_equals: rangeCount must be 1 expected 1 but got 0
-FAIL Range 12 [foreignPara1.firstChild, 0, foreignPara1.firstChild, 1] followed by Range 57 [xmlDocfrag, 0, xmlDocfrag, 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
-FAIL Range 12 [foreignPara1.firstChild, 0, foreignPara1.firstChild, 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_not_equals: Cannot proceed with tests if rangeCount is 0 got disallowed value 0
-FAIL Range 12 [foreignPara1.firstChild, 0, foreignPara1.firstChild, 1] followed by Range 57 [xmlDocfrag, 0, xmlDocfrag, 0]: modifying the first added range must modify the Selection's last Range assert_not_equals: Cannot proceed with tests if rangeCount is 0 got disallowed value 0
-FAIL Range 12 [foreignPara1.firstChild, 0, foreignPara1.firstChild, 1] followed by Range 57 [xmlDocfrag, 0, xmlDocfrag, 0]: 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 12 [foreignPara1.firstChild, 0, foreignPara1.firstChild, 1] followed by Range 57 [xmlDocfrag, 0, xmlDocfrag, 0]: second addRange() must not throw exceptions or modify the range it's given
-FAIL Range 12 [foreignPara1.firstChild, 0, foreignPara1.firstChild, 1] followed by Range 57 [xmlDocfrag, 0, xmlDocfrag, 0]: second addRange() must result in rangeCount being 1 assert_equals: rangeCount must be 1 expected 1 but got 0
-FAIL Range 12 [foreignPara1.firstChild, 0, foreignPara1.firstChild, 1] followed by Range 57 [xmlDocfrag, 0, xmlDocfrag, 0]: second 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
-FAIL Range 12 [foreignPara1.firstChild, 0, foreignPara1.firstChild, 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_not_equals: Cannot proceed with tests if rangeCount is 0 got disallowed value 0
-FAIL Range 12 [foreignPara1.firstChild, 0, foreignPara1.firstChild, 1] followed by Range 57 [xmlDocfrag, 0, xmlDocfrag, 0]: modifying the second added range must modify the Selection's last Range assert_not_equals: Cannot proceed with tests if rangeCount is 0 got disallowed value 0
-FAIL Range 12 [foreignPara1.firstChild, 0, foreignPara1.firstChild, 1] followed by Range 57 [xmlDocfrag, 0, xmlDocfrag, 0]: modifying the Selection's last Range must modify the second added Range assert_not_equals: Cannot proceed with tests if rangeCount is 0 got disallowed value 0
-PASS Range 13 [foreignPara1.firstChild, 2, foreignPara1.firstChild, 8] 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
-FAIL Range 13 [foreignPara1.firstChild, 2, foreignPara1.firstChild, 8] followed by Range 0 [paras[0].firstChild, 0, paras[0].firstChild, 0]: first addRange() must result in rangeCount being 1 assert_equals: rangeCount must be 1 expected 1 but got 0
-FAIL Range 13 [foreignPara1.firstChild, 2, foreignPara1.firstChild, 8] 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 assert_not_equals: Cannot proceed with tests if rangeCount is 0 got disallowed value 0
-FAIL Range 13 [foreignPara1.firstChild, 2, foreignPara1.firstChild, 8] 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_not_equals: Cannot proceed with tests if rangeCount is 0 got disallowed value 0
-FAIL Range 13 [foreignPara1.firstChild, 2, foreignPara1.firstChild, 8] 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_not_equals: Cannot proceed with tests if rangeCount is 0 got disallowed value 0
-FAIL Range 13 [foreignPara1.firstChild, 2, foreignPara1.firstChild, 8] 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_not_equals: Cannot proceed with tests if rangeCount is 0 got disallowed value 0
-PASS Range 13 [foreignPara1.firstChild, 2, foreignPara1.firstChild, 8] 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 13 [foreignPara1.firstChild, 2, foreignPara1.firstChild, 8] followed by Range 0 [paras[0].firstChild, 0, paras[0].firstChild, 0]: second addRange() must result in rangeCount being 1
-PASS Range 13 [foreignPara1.firstChild, 2, foreignPara1.firstChild, 8] 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
-PASS Range 13 [foreignPara1.firstChild, 2, foreignPara1.firstChild, 8] 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 13 [foreignPara1.firstChild, 2, foreignPara1.firstChild, 8] 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 13 [foreignPara1.firstChild, 2, foreignPara1.firstChild, 8] 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 13 [foreignPara1.firstChild, 2, foreignPara1.firstChild, 8] 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 13 [foreignPara1.firstChild, 2, foreignPara1.firstChild, 8] 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 13 [foreignPara1.firstChild, 2, foreignPara1.firstChild, 8] 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
-FAIL Range 13 [foreignPara1.firstChild, 2, foreignPara1.firstChild, 8] 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_not_equals: Cannot proceed with tests if rangeCount is 0 got disallowed value 0
-FAIL Range 13 [foreignPara1.firstChild, 2, foreignPara1.firstChild, 8] 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_not_equals: Cannot proceed with tests if rangeCount is 0 got disallowed value 0
-FAIL Range 13 [foreignPara1.firstChild, 2, foreignPara1.firstChild, 8] 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_not_equals: Cannot proceed with tests if rangeCount is 0 got disallowed value 0
-PASS Range 13 [foreignPara1.firstChild, 2, foreignPara1.firstChild, 8] 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 13 [foreignPara1.firstChild, 2, foreignPara1.firstChild, 8] followed by Range 1 [paras[0].firstChild, 0, paras[0].firstChild, 1]: second addRange() must result in rangeCount being 1
-PASS Range 13 [foreignPara1.firstChild, 2, foreignPara1.firstChild, 8] 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
-PASS Range 13 [foreignPara1.firstChild, 2, foreignPara1.firstChild, 8] 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 13 [foreignPara1.firstChild, 2, foreignPara1.firstChild, 8] 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 13 [foreignPara1.firstChild, 2, foreignPara1.firstChild, 8] 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 13 [foreignPara1.firstChild, 2, foreignPara1.firstChild, 8] 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 13 [foreignPara1.firstChild, 2, foreignPara1.firstChild, 8] 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 13 [foreignPara1.firstChild, 2, foreignPara1.firstChild, 8] 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
-FAIL Range 13 [foreignPara1.firstChild, 2, foreignPara1.firstChild, 8] 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_not_equals: Cannot proceed with tests if rangeCount is 0 got disallowed value 0
-FAIL Range 13 [foreignPara1.firstChild, 2, foreignPara1.firstChild, 8] 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_not_equals: Cannot proceed with tests if rangeCount is 0 got disallowed value 0
-FAIL Range 13 [foreignPara1.firstChild, 2, foreignPara1.firstChild, 8] 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_not_equals: Cannot proceed with tests if rangeCount is 0 got disallowed value 0
-PASS Range 13 [foreignPara1.firstChild, 2, foreignPara1.firstChild, 8] 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 13 [foreignPara1.firstChild, 2, foreignPara1.firstChild, 8] followed by Range 2 [paras[0].firstChild, 2, paras[0].firstChild, 8]: second addRange() must result in rangeCount being 1
-PASS Range 13 [foreignPara1.firstChild, 2, foreignPara1.firstChild, 8] 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
-PASS Range 13 [foreignPara1.firstChild, 2, foreignPara1.firstChild, 8] 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 13 [foreignPara1.firstChild, 2, foreignPara1.firstChild, 8] 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 13 [foreignPara1.firstChild, 2, foreignPara1.firstChild, 8] 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 13 [foreignPara1.firstChild, 2, foreignPara1.firstChild, 8] 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 13 [foreignPara1.firstChild, 2, foreignPara1.firstChild, 8] 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 13 [foreignPara1.firstChild, 2, foreignPara1.firstChild, 8] 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
-FAIL Range 13 [foreignPara1.firstChild, 2, foreignPara1.firstChild, 8] 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_not_equals: Cannot proceed with tests if rangeCount is 0 got disallowed value 0
-FAIL Range 13 [foreignPara1.firstChild, 2, foreignPara1.firstChild, 8] 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_not_equals: Cannot proceed with tests if rangeCount is 0 got disallowed value 0
-FAIL Range 13 [foreignPara1.firstChild, 2, foreignPara1.firstChild, 8] 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_not_equals: Cannot proceed with tests if rangeCount is 0 got disallowed value 0
-PASS Range 13 [foreignPara1.firstChild, 2, foreignPara1.firstChild, 8] 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 13 [foreignPara1.firstChild, 2, foreignPara1.firstChild, 8] followed by Range 3 [paras[0].firstChild, 2, paras[0].firstChild, 9]: second addRange() must result in rangeCount being 1
-PASS Range 13 [foreignPara1.firstChild, 2, foreignPara1.firstChild, 8] 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
-PASS Range 13 [foreignPara1.firstChild, 2, foreignPara1.firstChild, 8] 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 13 [foreignPara1.firstChild, 2, foreignPara1.firstChild, 8] 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 13 [foreignPara1.firstChild, 2, foreignPara1.firstChild, 8] 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 13 [foreignPara1.firstChild, 2, foreignPara1.firstChild, 8] 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 13 [foreignPara1.firstChild, 2, foreignPara1.firstChild, 8] 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 13 [foreignPara1.firstChild, 2, foreignPara1.firstChild, 8] 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
-FAIL Range 13 [foreignPara1.firstChild, 2, foreignPara1.firstChild, 8] 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_not_equals: Cannot proceed with tests if rangeCount is 0 got disallowed value 0
-FAIL Range 13 [foreignPara1.firstChild, 2, foreignPara1.firstChild, 8] 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_not_equals: Cannot proceed with tests if rangeCount is 0 got disallowed value 0
-FAIL Range 13 [foreignPara1.firstChild, 2, foreignPara1.firstChild, 8] 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_not_equals: Cannot proceed with tests if rangeCount is 0 got disallowed value 0
-PASS Range 13 [foreignPara1.firstChild, 2, foreignPara1.firstChild, 8] 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 13 [foreignPara1.firstChild, 2, foreignPara1.firstChild, 8] followed by Range 4 [paras[1].firstChild, 0, paras[1].firstChild, 0]: second addRange() must result in rangeCount being 1
-PASS Range 13 [foreignPara1.firstChild, 2, foreignPara1.firstChild, 8] 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
-PASS Range 13 [foreignPara1.firstChild, 2, foreignPara1.firstChild, 8] 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 13 [foreignPara1.firstChild, 2, foreignPara1.firstChild, 8] 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 13 [foreignPara1.firstChild, 2, foreignPara1.firstChild, 8] 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 13 [foreignPara1.firstChild, 2, foreignPara1.firstChild, 8] 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 13 [foreignPara1.firstChild, 2, foreignPara1.firstChild, 8] 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 13 [foreignPara1.firstChild, 2, foreignPara1.firstChild, 8] 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
-FAIL Range 13 [foreignPara1.firstChild, 2, foreignPara1.firstChild, 8] 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_not_equals: Cannot proceed with tests if rangeCount is 0 got disallowed value 0
-FAIL Range 13 [foreignPara1.firstChild, 2, foreignPara1.firstChild, 8] 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_not_equals: Cannot proceed with tests if rangeCount is 0 got disallowed value 0
-FAIL Range 13 [foreignPara1.firstChild, 2, foreignPara1.firstChild, 8] 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_not_equals: Cannot proceed with tests if rangeCount is 0 got disallowed value 0
-PASS Range 13 [foreignPara1.firstChild, 2, foreignPara1.firstChild, 8] 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 13 [foreignPara1.firstChild, 2, foreignPara1.firstChild, 8] followed by Range 5 [paras[1].firstChild, 0, paras[1].firstChild, 1]: second addRange() must result in rangeCount being 1
-PASS Range 13 [foreignPara1.firstChild, 2, foreignPara1.firstChild, 8] 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
-PASS Range 13 [foreignPara1.firstChild, 2, foreignPara1.firstChild, 8] 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 13 [foreignPara1.firstChild, 2, foreignPara1.firstChild, 8] 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 13 [foreignPara1.firstChild, 2, foreignPara1.firstChild, 8] 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 13 [foreignPara1.firstChild, 2, foreignPara1.firstChild, 8] 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 13 [foreignPara1.firstChild, 2, foreignPara1.firstChild, 8] 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 13 [foreignPara1.firstChild, 2, foreignPara1.firstChild, 8] 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
-FAIL Range 13 [foreignPara1.firstChild, 2, foreignPara1.firstChild, 8] 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_not_equals: Cannot proceed with tests if rangeCount is 0 got disallowed value 0
-FAIL Range 13 [foreignPara1.firstChild, 2, foreignPara1.firstChild, 8] 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_not_equals: Cannot proceed with tests if rangeCount is 0 got disallowed value 0
-FAIL Range 13 [foreignPara1.firstChild, 2, foreignPara1.firstChild, 8] 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_not_equals: Cannot proceed with tests if rangeCount is 0 got disallowed value 0
-PASS Range 13 [foreignPara1.firstChild, 2, foreignPara1.firstChild, 8] 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 13 [foreignPara1.firstChild, 2, foreignPara1.firstChild, 8] followed by Range 6 [paras[1].firstChild, 2, paras[1].firstChild, 8]: second addRange() must result in rangeCount being 1
-PASS Range 13 [foreignPara1.firstChild, 2, foreignPara1.firstChild, 8] 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
-PASS Range 13 [foreignPara1.firstChild, 2, foreignPara1.firstChild, 8] 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 13 [foreignPara1.firstChild, 2, foreignPara1.firstChild, 8] 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 13 [foreignPara1.firstChild, 2, foreignPara1.firstChild, 8] 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 13 [foreignPara1.firstChild, 2, foreignPara1.firstChild, 8] 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 13 [foreignPara1.firstChild, 2, foreignPara1.firstChild, 8] 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 13 [foreignPara1.firstChild, 2, foreignPara1.firstChild, 8] 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
-FAIL Range 13 [foreignPara1.firstChild, 2, foreignPara1.firstChild, 8] 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_not_equals: Cannot proceed with tests if rangeCount is 0 got disallowed value 0
-FAIL Range 13 [foreignPara1.firstChild, 2, foreignPara1.firstChild, 8] 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_not_equals: Cannot proceed with tests if rangeCount is 0 got disallowed value 0
-FAIL Range 13 [foreignPara1.firstChild, 2, foreignPara1.firstChild, 8] 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_not_equals: Cannot proceed with tests if rangeCount is 0 got disallowed value 0
-PASS Range 13 [foreignPara1.firstChild, 2, foreignPara1.firstChild, 8] 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 13 [foreignPara1.firstChild, 2, foreignPara1.firstChild, 8] followed by Range 7 [paras[1].firstChild, 2, paras[1].firstChild, 9]: second addRange() must result in rangeCount being 1
-PASS Range 13 [foreignPara1.firstChild, 2, foreignPara1.firstChild, 8] 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
-PASS Range 13 [foreignPara1.firstChild, 2, foreignPara1.firstChild, 8] 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 13 [foreignPara1.firstChild, 2, foreignPara1.firstChild, 8] 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 13 [foreignPara1.firstChild, 2, foreignPara1.firstChild, 8] 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 13 [foreignPara1.firstChild, 2, foreignPara1.firstChild, 8] 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 13 [foreignPara1.firstChild, 2, foreignPara1.firstChild, 8] 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 13 [foreignPara1.firstChild, 2, foreignPara1.firstChild, 8] 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
-FAIL Range 13 [foreignPara1.firstChild, 2, foreignPara1.firstChild, 8] 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_not_equals: Cannot proceed with tests if rangeCount is 0 got disallowed value 0
-FAIL Range 13 [foreignPara1.firstChild, 2, foreignPara1.firstChild, 8] followed by Range 8 [detachedPara1.firstChild, 0, detachedPara1.firstChild, 0]: modifying the first added range must modify the Selection's last Range assert_not_equals: Cannot proceed with tests if rangeCount is 0 got disallowed value 0
-FAIL Range 13 [foreignPara1.firstChild, 2, foreignPara1.firstChild, 8] followed by Range 8 [detachedPara1.firstChild, 0, detachedPara1.firstChild, 0]: 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 13 [foreignPara1.firstChild, 2, foreignPara1.firstChild, 8] followed by Range 8 [detachedPara1.firstChild, 0, detachedPara1.firstChild, 0]: second addRange() must not throw exceptions or modify the range it's given
-FAIL Range 13 [foreignPara1.firstChild, 2, foreignPara1.firstChild, 8] followed by Range 8 [detachedPara1.firstChild, 0, detachedPara1.firstChild, 0]: second addRange() must result in rangeCount being 1 assert_equals: rangeCount must be 1 expected 1 but got 0
-FAIL Range 13 [foreignPara1.firstChild, 2, foreignPara1.firstChild, 8] 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_not_equals: Cannot proceed with tests if rangeCount is 0 got disallowed value 0
-FAIL Range 13 [foreignPara1.firstChild, 2, foreignPara1.firstChild, 8] 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_not_equals: Cannot proceed with tests if rangeCount is 0 got disallowed value 0
-FAIL Range 13 [foreignPara1.firstChild, 2, foreignPara1.firstChild, 8] followed by Range 8 [detachedPara1.firstChild, 0, detachedPara1.firstChild, 0]: modifying the second added range must modify the Selection's last Range assert_not_equals: Cannot proceed with tests if rangeCount is 0 got disallowed value 0
-FAIL Range 13 [foreignPara1.firstChild, 2, foreignPara1.firstChild, 8] followed by Range 8 [detachedPara1.firstChild, 0, detachedPara1.firstChild, 0]: modifying the Selection's last Range must modify the second added Range assert_not_equals: Cannot proceed with tests if rangeCount is 0 got disallowed value 0
-PASS Range 13 [foreignPara1.firstChild, 2, foreignPara1.firstChild, 8] followed by Range 9 [detachedPara1.firstChild, 0, detachedPara1.firstChild, 1]: first addRange() must not throw exceptions or modify the range it's given
-FAIL Range 13 [foreignPara1.firstChild, 2, foreignPara1.firstChild, 8] followed by Range 9 [detachedPara1.firstChild, 0, detachedPara1.firstChild, 1]: first addRange() must result in rangeCount being 1 assert_equals: rangeCount must be 1 expected 1 but got 0
-FAIL Range 13 [foreignPara1.firstChild, 2, foreignPara1.firstChild, 8] followed by Range 9 [detachedPara1.firstChild, 0, detachedPara1.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
-FAIL Range 13 [foreignPara1.firstChild, 2, foreignPara1.firstChild, 8] 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_not_equals: Cannot proceed with tests if rangeCount is 0 got disallowed value 0
-FAIL Range 13 [foreignPara1.firstChild, 2, foreignPara1.firstChild, 8] followed by Range 9 [detachedPara1.firstChild, 0, detachedPara1.firstChild, 1]: modifying the first added range must modify the Selection's last Range assert_not_equals: Cannot proceed with tests if rangeCount is 0 got disallowed value 0
-FAIL Range 13 [foreignPara1.firstChild, 2, foreignPara1.firstChild, 8] followed by Range 9 [detachedPara1.firstChild, 0, detachedPara1.firstChild, 1]: 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 13 [foreignPara1.firstChild, 2, foreignPara1.firstChild, 8] followed by Range 9 [detachedPara1.firstChild, 0, detachedPara1.firstChild, 1]: second addRange() must not throw exceptions or modify the range it's given
-FAIL Range 13 [foreignPara1.firstChild, 2, foreignPara1.firstChild, 8] followed by Range 9 [detachedPara1.firstChild, 0, detachedPara1.firstChild, 1]: second addRange() must result in rangeCount being 1 assert_equals: rangeCount must be 1 expected 1 but got 0
-FAIL Range 13 [foreignPara1.firstChild, 2, foreignPara1.firstChild, 8] 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_not_equals: Cannot proceed with tests if rangeCount is 0 got disallowed value 0
-FAIL Range 13 [foreignPara1.firstChild, 2, foreignPara1.firstChild, 8] 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_not_equals: Cannot proceed with tests if rangeCount is 0 got disallowed value 0
-FAIL Range 13 [foreignPara1.firstChild, 2, foreignPara1.firstChild, 8] followed by Range 9 [detachedPara1.firstChild, 0, detachedPara1.firstChild, 1]: modifying the second added range must modify the Selection's last Range assert_not_equals: Cannot proceed with tests if rangeCount is 0 got disallowed value 0
-FAIL Range 13 [foreignPara1.firstChild, 2, foreignPara1.firstChild, 8] followed by Range 9 [detachedPara1.firstChild, 0, detachedPara1.firstChild, 1]: modifying the Selection's last Range must modify the second added Range assert_not_equals: Cannot proceed with tests if rangeCount is 0 got disallowed value 0
-PASS Range 13 [foreignPara1.firstChild, 2, foreignPara1.firstChild, 8] followed by Range 10 [detachedPara1.firstChild, 2, detachedPara1.firstChild, 8]: first addRange() must not throw exceptions or modify the range it's given
-FAIL Range 13 [foreignPara1.firstChild, 2, foreignPara1.firstChild, 8] followed by Range 10 [detachedPara1.firstChild, 2, detachedPara1.firstChild, 8]: first addRange() must result in rangeCount being 1 assert_equals: rangeCount must be 1 expected 1 but got 0
-FAIL Range 13 [foreignPara1.firstChild, 2, foreignPara1.firstChild, 8] followed by Range 10 [detachedPara1.firstChild, 2, detachedPara1.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
-FAIL Range 13 [foreignPara1.firstChild, 2, foreignPara1.firstChild, 8] 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_not_equals: Cannot proceed with tests if rangeCount is 0 got disallowed value 0
-FAIL Range 13 [foreignPara1.firstChild, 2, foreignPara1.firstChild, 8] followed by Range 10 [detachedPara1.firstChild, 2, detachedPara1.firstChild, 8]: modifying the first added range must modify the Selection's last Range assert_not_equals: Cannot proceed with tests if rangeCount is 0 got disallowed value 0
-FAIL Range 13 [foreignPara1.firstChild, 2, foreignPara1.firstChild, 8] followed by Range 10 [detachedPara1.firstChild, 2, detachedPara1.firstChild, 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 13 [foreignPara1.firstChild, 2, foreignPara1.firstChild, 8] followed by Range 10 [detachedPara1.firstChild, 2, detachedPara1.firstChild, 8]: second addRange() must not throw exceptions or modify the range it's given
-FAIL Range 13 [foreignPara1.firstChild, 2, foreignPara1.firstChild, 8] followed by Range 10 [detachedPara1.firstChild, 2, detachedPara1.firstChild, 8]: second addRange() must result in rangeCount being 1 assert_equals: rangeCount must be 1 expected 1 but got 0
-FAIL Range 13 [foreignPara1.firstChild, 2, foreignPara1.firstChild, 8] 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_not_equals: Cannot proceed with tests if rangeCount is 0 got disallowed value 0
-FAIL Range 13 [foreignPara1.firstChild, 2, foreignPara1.firstChild, 8] 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_not_equals: Cannot proceed with tests if rangeCount is 0 got disallowed value 0
-FAIL Range 13 [foreignPara1.firstChild, 2, foreignPara1.firstChild, 8] followed by Range 10 [detachedPara1.firstChild, 2, detachedPara1.firstChild, 8]: modifying the second added range must modify the Selection's last Range assert_not_equals: Cannot proceed with tests if rangeCount is 0 got disallowed value 0
-FAIL Range 13 [foreignPara1.firstChild, 2, foreignPara1.firstChild, 8] followed by Range 10 [detachedPara1.firstChild, 2, detachedPara1.firstChild, 8]: modifying the Selection's last Range must modify the second added Range assert_not_equals: Cannot proceed with tests if rangeCount is 0 got disallowed value 0
-PASS Range 13 [foreignPara1.firstChild, 2, foreignPara1.firstChild, 8] followed by Range 11 [foreignPara1.firstChild, 0, foreignPara1.firstChild, 0]: first addRange() must not throw exceptions or modify the range it's given
-FAIL Range 13 [foreignPara1.firstChild, 2, foreignPara1.firstChild, 8] followed by Range 11 [foreignPara1.firstChild, 0, foreignPara1.firstChild, 0]: first addRange() must result in rangeCount being 1 assert_equals: rangeCount must be 1 expected 1 but got 0
-FAIL Range 13 [foreignPara1.firstChild, 2, foreignPara1.firstChild, 8] followed by Range 11 [foreignPara1.firstChild, 0, foreignPara1.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
-FAIL Range 13 [foreignPara1.firstChild, 2, foreignPara1.firstChild, 8] 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_not_equals: Cannot proceed with tests if rangeCount is 0 got disallowed value 0
-FAIL Range 13 [foreignPara1.firstChild, 2, foreignPara1.firstChild, 8] followed by Range 11 [foreignPara1.firstChild, 0, foreignPara1.firstChild, 0]: modifying the first added range must modify the Selection's last Range assert_not_equals: Cannot proceed with tests if rangeCount is 0 got disallowed value 0
-FAIL Range 13 [foreignPara1.firstChild, 2, foreignPara1.firstChild, 8] followed by Range 11 [foreignPara1.firstChild, 0, foreignPara1.firstChild, 0]: 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 13 [foreignPara1.firstChild, 2, foreignPara1.firstChild, 8] followed by Range 11 [foreignPara1.firstChild, 0, foreignPara1.firstChild, 0]: second addRange() must not throw exceptions or modify the range it's given
-FAIL Range 13 [foreignPara1.firstChild, 2, foreignPara1.firstChild, 8] followed by Range 11 [foreignPara1.firstChild, 0, foreignPara1.firstChild, 0]: second addRange() must result in rangeCount being 1 assert_equals: rangeCount must be 1 expected 1 but got 0
-FAIL Range 13 [foreignPara1.firstChild, 2, foreignPara1.firstChild, 8] 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_not_equals: Cannot proceed with tests if rangeCount is 0 got disallowed value 0
-FAIL Range 13 [foreignPara1.firstChild, 2, foreignPara1.firstChild, 8] 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_not_equals: Cannot proceed with tests if rangeCount is 0 got disallowed value 0
-FAIL Range 13 [foreignPara1.firstChild, 2, foreignPara1.firstChild, 8] followed by Range 11 [foreignPara1.firstChild, 0, foreignPara1.firstChild, 0]: modifying the second added range must modify the Selection's last Range assert_not_equals: Cannot proceed with tests if rangeCount is 0 got disallowed value 0
-FAIL Range 13 [foreignPara1.firstChild, 2, foreignPara1.firstChild, 8] followed by Range 11 [foreignPara1.firstChild, 0, foreignPara1.firstChild, 0]: modifying the Selection's last Range must modify the second added Range assert_not_equals: Cannot proceed with tests if rangeCount is 0 got disallowed value 0
-PASS Range 13 [foreignPara1.firstChild, 2, foreignPara1.firstChild, 8] followed by Range 12 [foreignPara1.firstChild, 0, foreignPara1.firstChild, 1]: first addRange() must not throw exceptions or modify the range it's given
-FAIL Range 13 [foreignPara1.firstChild, 2, foreignPara1.firstChild, 8] followed by Range 12 [foreignPara1.firstChild, 0, foreignPara1.firstChild, 1]: first addRange() must result in rangeCount being 1 assert_equals: rangeCount must be 1 expected 1 but got 0
-FAIL Range 13 [foreignPara1.firstChild, 2, foreignPara1.firstChild, 8] followed by Range 12 [foreignPara1.firstChild, 0, foreignPara1.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
-FAIL Range 13 [foreignPara1.firstChild, 2, foreignPara1.firstChild, 8] 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_not_equals: Cannot proceed with tests if rangeCount is 0 got disallowed value 0
-FAIL Range 13 [foreignPara1.firstChild, 2, foreignPara1.firstChild, 8] followed by Range 12 [foreignPara1.firstChild, 0, foreignPara1.firstChild, 1]: modifying the first added range must modify the Selection's last Range assert_not_equals: Cannot proceed with tests if rangeCount is 0 got disallowed value 0
-FAIL Range 13 [foreignPara1.firstChild, 2, foreignPara1.firstChild, 8] followed by Range 12 [foreignPara1.firstChild, 0, foreignPara1.firstChild, 1]: 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 13 [foreignPara1.firstChild, 2, foreignPara1.firstChild, 8] followed by Range 12 [foreignPara1.firstChild, 0, foreignPara1.firstChild, 1]: second addRange() must not throw exceptions or modify the range it's given
-FAIL Range 13 [foreignPara1.firstChild, 2, foreignPara1.firstChild, 8] followed by Range 12 [foreignPara1.firstChild, 0, foreignPara1.firstChild, 1]: second addRange() must result in rangeCount being 1 assert_equals: rangeCount must be 1 expected 1 but got 0
-FAIL Range 13 [foreignPara1.firstChild, 2, foreignPara1.firstChild, 8] 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_not_equals: Cannot proceed with tests if rangeCount is 0 got disallowed value 0
-FAIL Range 13 [foreignPara1.firstChild, 2, foreignPara1.firstChild, 8] 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_not_equals: Cannot proceed with tests if rangeCount is 0 got disallowed value 0
-FAIL Range 13 [foreignPara1.firstChild, 2, foreignPara1.firstChild, 8] followed by Range 12 [foreignPara1.firstChild, 0, foreignPara1.firstChild, 1]: modifying the second added range must modify the Selection's last Range assert_not_equals: Cannot proceed with tests if rangeCount is 0 got disallowed value 0
-FAIL Range 13 [foreignPara1.firstChild, 2, foreignPara1.firstChild, 8] followed by Range 12 [foreignPara1.firstChild, 0, foreignPara1.firstChild, 1]: modifying the Selection's last Range must modify the second added Range assert_not_equals: Cannot proceed with tests if rangeCount is 0 got disallowed value 0
-PASS Range 13 [foreignPara1.firstChild, 2, foreignPara1.firstChild, 8] followed by Range 13 [foreignPara1.firstChild, 2, foreignPara1.firstChild, 8]: first addRange() must not throw exceptions or modify the range it's given
-FAIL Range 13 [foreignPara1.firstChild, 2, foreignPara1.firstChild, 8] followed by Range 13 [foreignPara1.firstChild, 2, foreignPara1.firstChild, 8]: first addRange() must result in rangeCount being 1 assert_equals: rangeCount must be 1 expected 1 but got 0
-FAIL Range 13 [foreignPara1.firstChild, 2, foreignPara1.firstChild, 8] followed by Range 13 [foreignPara1.firstChild, 2, foreignPara1.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
-FAIL Range 13 [foreignPara1.firstChild, 2, foreignPara1.firstChild, 8] 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_not_equals: Cannot proceed with tests if rangeCount is 0 got disallowed value 0
-FAIL Range 13 [foreignPara1.firstChild, 2, foreignPara1.firstChild, 8] followed by Range 13 [foreignPara1.firstChild, 2, foreignPara1.firstChild, 8]: modifying the first added range must modify the Selection's last Range assert_not_equals: Cannot proceed with tests if rangeCount is 0 got disallowed value 0
-FAIL Range 13 [foreignPara1.firstChild, 2, foreignPara1.firstChild, 8] followed by Range 13 [foreignPara1.firstChild, 2, foreignPara1.firstChild, 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 13 [foreignPara1.firstChild, 2, foreignPara1.firstChild, 8] followed by Range 13 [foreignPara1.firstChild, 2, foreignPara1.firstChild, 8]: second addRange() must not throw exceptions or modify the range it's given
-FAIL Range 13 [foreignPara1.firstChild, 2, foreignPara1.firstChild, 8] followed by Range 13 [foreignPara1.firstChild, 2, foreignPara1.firstChild, 8]: second addRange() must result in rangeCount being 1 assert_equals: rangeCount must be 1 expected 1 but got 0
-FAIL Range 13 [foreignPara1.firstChild, 2, foreignPara1.firstChild, 8] 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_not_equals: Cannot proceed with tests if rangeCount is 0 got disallowed value 0
-FAIL Range 13 [foreignPara1.firstChild, 2, foreignPara1.firstChild, 8] 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_not_equals: Cannot proceed with tests if rangeCount is 0 got disallowed value 0
-FAIL Range 13 [foreignPara1.firstChild, 2, foreignPara1.firstChild, 8] followed by Range 13 [foreignPara1.firstChild, 2, foreignPara1.firstChild, 8]: modifying the second added range must modify the Selection's last Range assert_not_equals: Cannot proceed with tests if rangeCount is 0 got disallowed value 0
-FAIL Range 13 [foreignPara1.firstChild, 2, foreignPara1.firstChild, 8] followed by Range 13 [foreignPara1.firstChild, 2, foreignPara1.firstChild, 8]: modifying the Selection's last Range must modify the second added Range assert_not_equals: Cannot proceed with tests if rangeCount is 0 got disallowed value 0
-PASS Range 13 [foreignPara1.firstChild, 2, foreignPara1.firstChild, 8] followed by Range 14 [document.documentElement, 0, document.documentElement, 1]: first addRange() must not throw exceptions or modify the range it's given
-FAIL Range 13 [foreignPara1.firstChild, 2, foreignPara1.firstChild, 8] followed by Range 14 [document.documentElement, 0, document.documentElement, 1]: first addRange() must result in rangeCount being 1 assert_equals: rangeCount must be 1 expected 1 but got 0
-FAIL Range 13 [foreignPara1.firstChild, 2, foreignPara1.firstChild, 8] followed by Range 14 [document.documentElement, 0, document.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
-FAIL Range 13 [foreignPara1.firstChild, 2, foreignPara1.firstChild, 8] 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_not_equals: Cannot proceed with tests if rangeCount is 0 got disallowed value 0
-FAIL Range 13 [foreignPara1.firstChild, 2, foreignPara1.firstChild, 8] followed by Range 14 [document.documentElement, 0, document.documentElement, 1]: modifying the first added range must modify the Selection's last Range assert_not_equals: Cannot proceed with tests if rangeCount is 0 got disallowed value 0
-FAIL Range 13 [foreignPara1.firstChild, 2, foreignPara1.firstChild, 8] followed by Range 14 [document.documentElement, 0, document.documentElement, 1]: 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 13 [foreignPara1.firstChild, 2, foreignPara1.firstChild, 8] 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 13 [foreignPara1.firstChild, 2, foreignPara1.firstChild, 8] followed by Range 14 [document.documentElement, 0, document.documentElement, 1]: second addRange() must result in rangeCount being 1
-PASS Range 13 [foreignPara1.firstChild, 2, foreignPara1.firstChild, 8] followed by Range 14 [document.documentElement, 0, document.documentElement, 1]: second addRange() must result in the selection's last range having the specified endpoints
-PASS Range 13 [foreignPara1.firstChild, 2, foreignPara1.firstChild, 8] 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 13 [foreignPara1.firstChild, 2, foreignPara1.firstChild, 8] followed by Range 14 [document.documentElement, 0, document.documentElement, 1]: modifying the second added range must modify the Selection's last Range
-PASS Range 13 [foreignPara1.firstChild, 2, foreignPara1.firstChild, 8] followed by Range 14 [document.documentElement, 0, document.documentElement, 1]: modifying the Selection's last Range must modify the second added Range
-PASS Range 13 [foreignPara1.firstChild, 2, foreignPara1.firstChild, 8] 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 13 [foreignPara1.firstChild, 2, foreignPara1.firstChild, 8] 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 13 [foreignPara1.firstChild, 2, foreignPara1.firstChild, 8] 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
-FAIL Range 13 [foreignPara1.firstChild, 2, foreignPara1.firstChild, 8] 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_not_equals: Cannot proceed with tests if rangeCount is 0 got disallowed value 0
-FAIL Range 13 [foreignPara1.firstChild, 2, foreignPara1.firstChild, 8] followed by Range 15 [document.documentElement, 0, document.documentElement, 2]: modifying the first added range must modify the Selection's last Range assert_not_equals: Cannot proceed with tests if rangeCount is 0 got disallowed value 0
-FAIL Range 13 [foreignPara1.firstChild, 2, foreignPara1.firstChild, 8] followed by Range 15 [document.documentElement, 0, document.documentElement, 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 13 [foreignPara1.firstChild, 2, foreignPara1.firstChild, 8] 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 13 [foreignPara1.firstChild, 2, foreignPara1.firstChild, 8] followed by Range 15 [document.documentElement, 0, document.documentElement, 2]: second addRange() must result in rangeCount being 1
-PASS Range 13 [foreignPara1.firstChild, 2, foreignPara1.firstChild, 8] followed by Range 15 [document.documentElement, 0, document.documentElement, 2]: second addRange() must result in the selection's last range having the specified endpoints
-PASS Range 13 [foreignPara1.firstChild, 2, foreignPara1.firstChild, 8] 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 13 [foreignPara1.firstChild, 2, foreignPara1.firstChild, 8] followed by Range 15 [document.documentElement, 0, document.documentElement, 2]: modifying the second added range must modify the Selection's last Range
-PASS Range 13 [foreignPara1.firstChild, 2, foreignPara1.firstChild, 8] followed by Range 15 [document.documentElement, 0, document.documentElement, 2]: modifying the Selection's last Range must modify the second added Range
-PASS Range 13 [foreignPara1.firstChild, 2, foreignPara1.firstChild, 8] 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 13 [foreignPara1.firstChild, 2, foreignPara1.firstChild, 8] 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 13 [foreignPara1.firstChild, 2, foreignPara1.firstChild, 8] 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
-FAIL Range 13 [foreignPara1.firstChild, 2, foreignPara1.firstChild, 8] 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_not_equals: Cannot proceed with tests if rangeCount is 0 got disallowed value 0
-FAIL Range 13 [foreignPara1.firstChild, 2, foreignPara1.firstChild, 8] followed by Range 16 [document.documentElement, 1, document.documentElement, 2]: modifying the first added range must modify the Selection's last Range assert_not_equals: Cannot proceed with tests if rangeCount is 0 got disallowed value 0
-FAIL Range 13 [foreignPara1.firstChild, 2, foreignPara1.firstChild, 8] followed by Range 16 [document.documentElement, 1, document.documentElement, 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 13 [foreignPara1.firstChild, 2, foreignPara1.firstChild, 8] 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 13 [foreignPara1.firstChild, 2, foreignPara1.firstChild, 8] followed by Range 16 [document.documentElement, 1, document.documentElement, 2]: second addRange() must result in rangeCount being 1
-PASS Range 13 [foreignPara1.firstChild, 2, foreignPara1.firstChild, 8] followed by Range 16 [document.documentElement, 1, document.documentElement, 2]: second addRange() must result in the selection's last range having the specified endpoints
-PASS Range 13 [foreignPara1.firstChild, 2, foreignPara1.firstChild, 8] 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 13 [foreignPara1.firstChild, 2, foreignPara1.firstChild, 8] followed by Range 16 [document.documentElement, 1, document.documentElement, 2]: modifying the second added range must modify the Selection's last Range
-PASS Range 13 [foreignPara1.firstChild, 2, foreignPara1.firstChild, 8] followed by Range 16 [document.documentElement, 1, document.documentElement, 2]: modifying the Selection's last Range must modify the second added Range
-PASS Range 13 [foreignPara1.firstChild, 2, foreignPara1.firstChild, 8] 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 13 [foreignPara1.firstChild, 2, foreignPara1.firstChild, 8] 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 13 [foreignPara1.firstChild, 2, foreignPara1.firstChild, 8] 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
-FAIL Range 13 [foreignPara1.firstChild, 2, foreignPara1.firstChild, 8] 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_not_equals: Cannot proceed with tests if rangeCount is 0 got disallowed value 0
-FAIL Range 13 [foreignPara1.firstChild, 2, foreignPara1.firstChild, 8] followed by Range 17 [document.head, 1, document.head, 1]: modifying the first added range must modify the Selection's last Range assert_not_equals: Cannot proceed with tests if rangeCount is 0 got disallowed value 0
-FAIL Range 13 [foreignPara1.firstChild, 2, foreignPara1.firstChild, 8] followed by Range 17 [document.head, 1, document.head, 1]: 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 13 [foreignPara1.firstChild, 2, foreignPara1.firstChild, 8] 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 13 [foreignPara1.firstChild, 2, foreignPara1.firstChild, 8] followed by Range 17 [document.head, 1, document.head, 1]: second addRange() must result in rangeCount being 1
-PASS Range 13 [foreignPara1.firstChild, 2, foreignPara1.firstChild, 8] followed by Range 17 [document.head, 1, document.head, 1]: second addRange() must result in the selection's last range having the specified endpoints
-PASS Range 13 [foreignPara1.firstChild, 2, foreignPara1.firstChild, 8] 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 13 [foreignPara1.firstChild, 2, foreignPara1.firstChild, 8] followed by Range 17 [document.head, 1, document.head, 1]: modifying the second added range must modify the Selection's last Range
-PASS Range 13 [foreignPara1.firstChild, 2, foreignPara1.firstChild, 8] followed by Range 17 [document.head, 1, document.head, 1]: modifying the Selection's last Range must modify the second added Range
-PASS Range 13 [foreignPara1.firstChild, 2, foreignPara1.firstChild, 8] 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 13 [foreignPara1.firstChild, 2, foreignPara1.firstChild, 8] 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 13 [foreignPara1.firstChild, 2, foreignPara1.firstChild, 8] 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
-FAIL Range 13 [foreignPara1.firstChild, 2, foreignPara1.firstChild, 8] 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_not_equals: Cannot proceed with tests if rangeCount is 0 got disallowed value 0
-FAIL Range 13 [foreignPara1.firstChild, 2, foreignPara1.firstChild, 8] followed by Range 18 [document.body, 0, document.body, 1]: modifying the first added range must modify the Selection's last Range assert_not_equals: Cannot proceed with tests if rangeCount is 0 got disallowed value 0
-FAIL Range 13 [foreignPara1.firstChild, 2, foreignPara1.firstChild, 8] followed by Range 18 [document.body, 0, document.body, 1]: 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 13 [foreignPara1.firstChild, 2, foreignPara1.firstChild, 8] 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 13 [foreignPara1.firstChild, 2, foreignPara1.firstChild, 8] followed by Range 18 [document.body, 0, document.body, 1]: second addRange() must result in rangeCount being 1
-PASS Range 13 [foreignPara1.firstChild, 2, foreignPara1.firstChild, 8] followed by Range 18 [document.body, 0, document.body, 1]: second addRange() must result in the selection's last range having the specified endpoints
-PASS Range 13 [foreignPara1.firstChild, 2, foreignPara1.firstChild, 8] 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 13 [foreignPara1.firstChild, 2, foreignPara1.firstChild, 8] followed by Range 18 [document.body, 0, document.body, 1]: modifying the second added range must modify the Selection's last Range
-PASS Range 13 [foreignPara1.firstChild, 2, foreignPara1.firstChild, 8] followed by Range 18 [document.body, 0, document.body, 1]: modifying the Selection's last Range must modify the second added Range
-PASS Range 13 [foreignPara1.firstChild, 2, foreignPara1.firstChild, 8] 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 13 [foreignPara1.firstChild, 2, foreignPara1.firstChild, 8] 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 13 [foreignPara1.firstChild, 2, foreignPara1.firstChild, 8] 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
-FAIL Range 13 [foreignPara1.firstChild, 2, foreignPara1.firstChild, 8] 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_not_equals: Cannot proceed with tests if rangeCount is 0 got disallowed value 0
-FAIL Range 13 [foreignPara1.firstChild, 2, foreignPara1.firstChild, 8] followed by Range 19 [foreignDoc.documentElement, 0, foreignDoc.documentElement, 1]: modifying the first added range must modify the Selection's last Range assert_not_equals: Cannot proceed with tests if rangeCount is 0 got disallowed value 0
-FAIL Range 13 [foreignPara1.firstChild, 2, foreignPara1.firstChild, 8] followed by Range 19 [foreignDoc.documentElement, 0, foreignDoc.documentElement, 1]: 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 13 [foreignPara1.firstChild, 2, foreignPara1.firstChild, 8] followed by Range 19 [foreignDoc.documentElement, 0, foreignDoc.documentElement, 1]: second addRange() must not throw exceptions or modify the range it's given
-FAIL Range 13 [foreignPara1.firstChild, 2, foreignPara1.firstChild, 8] followed by Range 19 [foreignDoc.documentElement, 0, foreignDoc.documentElement, 1]: second addRange() must result in rangeCount being 1 assert_equals: rangeCount must be 1 expected 1 but got 0
-FAIL Range 13 [foreignPara1.firstChild, 2, foreignPara1.firstChild, 8] 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_not_equals: Cannot proceed with tests if rangeCount is 0 got disallowed value 0
-FAIL Range 13 [foreignPara1.firstChild, 2, foreignPara1.firstChild, 8] 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_not_equals: Cannot proceed with tests if rangeCount is 0 got disallowed value 0
-FAIL Range 13 [foreignPara1.firstChild, 2, foreignPara1.firstChild, 8] followed by Range 19 [foreignDoc.documentElement, 0, foreignDoc.documentElement, 1]: modifying the second added range must modify the Selection's last Range assert_not_equals: Cannot proceed with tests if rangeCount is 0 got disallowed value 0
-FAIL Range 13 [foreignPara1.firstChild, 2, foreignPara1.firstChild, 8] followed by Range 19 [foreignDoc.documentElement, 0, foreignDoc.documentElement, 1]: modifying the Selection's last Range must modify the second added Range assert_not_equals: Cannot proceed with tests if rangeCount is 0 got disallowed value 0
-PASS Range 13 [foreignPara1.firstChild, 2, foreignPara1.firstChild, 8] followed by Range 20 [foreignDoc.head, 1, foreignDoc.head, 1]: first addRange() must not throw exceptions or modify the range it's given
-FAIL Range 13 [foreignPara1.firstChild, 2, foreignPara1.firstChild, 8] followed by Range 20 [foreignDoc.head, 1, foreignDoc.head, 1]: first addRange() must result in rangeCount being 1 assert_equals: rangeCount must be 1 expected 1 but got 0
-FAIL Range 13 [foreignPara1.firstChild, 2, foreignPara1.firstChild, 8] followed by Range 20 [foreignDoc.head, 1, foreignDoc.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
-FAIL Range 13 [foreignPara1.firstChild, 2, foreignPara1.firstChild, 8] 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_not_equals: Cannot proceed with tests if rangeCount is 0 got disallowed value 0
-FAIL Range 13 [foreignPara1.firstChild, 2, foreignPara1.firstChild, 8] followed by Range 20 [foreignDoc.head, 1, foreignDoc.head, 1]: modifying the first added range must modify the Selection's last Range assert_not_equals: Cannot proceed with tests if rangeCount is 0 got disallowed value 0
-FAIL Range 13 [foreignPara1.firstChild, 2, foreignPara1.firstChild, 8] followed by Range 20 [foreignDoc.head, 1, foreignDoc.head, 1]: 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 13 [foreignPara1.firstChild, 2, foreignPara1.firstChild, 8] followed by Range 20 [foreignDoc.head, 1, foreignDoc.head, 1]: second addRange() must not throw exceptions or modify the range it's given
-FAIL Range 13 [foreignPara1.firstChild, 2, foreignPara1.firstChild, 8] followed by Range 20 [foreignDoc.head, 1, foreignDoc.head, 1]: second addRange() must result in rangeCount being 1 assert_equals: rangeCount must be 1 expected 1 but got 0
-FAIL Range 13 [foreignPara1.firstChild, 2, foreignPara1.firstChild, 8] 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_not_equals: Cannot proceed with tests if rangeCount is 0 got disallowed value 0
-FAIL Range 13 [foreignPara1.firstChild, 2, foreignPara1.firstChild, 8] 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_not_equals: Cannot proceed with tests if rangeCount is 0 got disallowed value 0
-FAIL Range 13 [foreignPara1.firstChild, 2, foreignPara1.firstChild, 8] followed by Range 20 [foreignDoc.head, 1, foreignDoc.head, 1]: modifying the second added range must modify the Selection's last Range assert_not_equals: Cannot proceed with tests if rangeCount is 0 got disallowed value 0
-FAIL Range 13 [foreignPara1.firstChild, 2, foreignPara1.firstChild, 8] followed by Range 20 [foreignDoc.head, 1, foreignDoc.head, 1]: modifying the Selection's last Range must modify the second added Range assert_not_equals: Cannot proceed with tests if rangeCount is 0 got disallowed value 0
-PASS Range 13 [foreignPara1.firstChild, 2, foreignPara1.firstChild, 8] followed by Range 21 [foreignDoc.body, 0, foreignDoc.body, 0]: first addRange() must not throw exceptions or modify the range it's given
-FAIL Range 13 [foreignPara1.firstChild, 2, foreignPara1.firstChild, 8] followed by Range 21 [foreignDoc.body, 0, foreignDoc.body, 0]: first addRange() must result in rangeCount being 1 assert_equals: rangeCount must be 1 expected 1 but got 0
-FAIL Range 13 [foreignPara1.firstChild, 2, foreignPara1.firstChild, 8] followed by Range 21 [foreignDoc.body, 0, 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
-FAIL Range 13 [foreignPara1.firstChild, 2, foreignPara1.firstChild, 8] 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_not_equals: Cannot proceed with tests if rangeCount is 0 got disallowed value 0
-FAIL Range 13 [foreignPara1.firstChild, 2, foreignPara1.firstChild, 8] followed by Range 21 [foreignDoc.body, 0, foreignDoc.body, 0]: modifying the first added range must modify the Selection's last Range assert_not_equals: Cannot proceed with tests if rangeCount is 0 got disallowed value 0
-FAIL Range 13 [foreignPara1.firstChild, 2, foreignPara1.firstChild, 8] followed by Range 21 [foreignDoc.body, 0, foreignDoc.body, 0]: 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 13 [foreignPara1.firstChild, 2, foreignPara1.firstChild, 8] followed by Range 21 [foreignDoc.body, 0, foreignDoc.body, 0]: second addRange() must not throw exceptions or modify the range it's given
-FAIL Range 13 [foreignPara1.firstChild, 2, foreignPara1.firstChild, 8] followed by Range 21 [foreignDoc.body, 0, foreignDoc.body, 0]: second addRange() must result in rangeCount being 1 assert_equals: rangeCount must be 1 expected 1 but got 0
-FAIL Range 13 [foreignPara1.firstChild, 2, foreignPara1.firstChild, 8] 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_not_equals: Cannot proceed with tests if rangeCount is 0 got disallowed value 0
-FAIL Range 13 [foreignPara1.firstChild, 2, foreignPara1.firstChild, 8] 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_not_equals: Cannot proceed with tests if rangeCount is 0 got disallowed value 0
-FAIL Range 13 [foreignPara1.firstChild, 2, foreignPara1.firstChild, 8] followed by Range 21 [foreignDoc.body, 0, foreignDoc.body, 0]: modifying the second added range must modify the Selection's last Range assert_not_equals: Cannot proceed with tests if rangeCount is 0 got disallowed value 0
-FAIL Range 13 [foreignPara1.firstChild, 2, foreignPara1.firstChild, 8] followed by Range 21 [foreignDoc.body, 0, foreignDoc.body, 0]: modifying the Selection's last Range must modify the second added Range assert_not_equals: Cannot proceed with tests if rangeCount is 0 got disallowed value 0
-PASS Range 13 [foreignPara1.firstChild, 2, foreignPara1.firstChild, 8] followed by Range 22 [paras[0], 0, paras[0], 0]: first addRange() must not throw exceptions or modify the range it's given
-FAIL Range 13 [foreignPara1.firstChild, 2, foreignPara1.firstChild, 8] followed by Range 22 [paras[0], 0, paras[0], 0]: first addRange() must result in rangeCount being 1 assert_equals: rangeCount must be 1 expected 1 but got 0
-FAIL Range 13 [foreignPara1.firstChild, 2, foreignPara1.firstChild, 8] followed by Range 22 [paras[0], 0, paras[0], 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
-FAIL Range 13 [foreignPara1.firstChild, 2, foreignPara1.firstChild, 8] 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_not_equals: Cannot proceed with tests if rangeCount is 0 got disallowed value 0
-FAIL Range 13 [foreignPara1.firstChild, 2, foreignPara1.firstChild, 8] followed by Range 22 [paras[0], 0, paras[0], 0]: modifying the first added range must modify the Selection's last Range assert_not_equals: Cannot proceed with tests if rangeCount is 0 got disallowed value 0
-FAIL Range 13 [foreignPara1.firstChild, 2, foreignPara1.firstChild, 8] followed by Range 22 [paras[0], 0, paras[0], 0]: 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 13 [foreignPara1.firstChild, 2, foreignPara1.firstChild, 8] 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 13 [foreignPara1.firstChild, 2, foreignPara1.firstChild, 8] followed by Range 22 [paras[0], 0, paras[0], 0]: second addRange() must result in rangeCount being 1
-PASS Range 13 [foreignPara1.firstChild, 2, foreignPara1.firstChild, 8] followed by Range 22 [paras[0], 0, paras[0], 0]: second addRange() must result in the selection's last range having the specified endpoints
-PASS Range 13 [foreignPara1.firstChild, 2, foreignPara1.firstChild, 8] 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 13 [foreignPara1.firstChild, 2, foreignPara1.firstChild, 8] followed by Range 22 [paras[0], 0, paras[0], 0]: modifying the second added range must modify the Selection's last Range
-PASS Range 13 [foreignPara1.firstChild, 2, foreignPara1.firstChild, 8] followed by Range 22 [paras[0], 0, paras[0], 0]: modifying the Selection's last Range must modify the second added Range
-PASS Range 13 [foreignPara1.firstChild, 2, foreignPara1.firstChild, 8] 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 13 [foreignPara1.firstChild, 2, foreignPara1.firstChild, 8] 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 13 [foreignPara1.firstChild, 2, foreignPara1.firstChild, 8] 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
-FAIL Range 13 [foreignPara1.firstChild, 2, foreignPara1.firstChild, 8] 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_not_equals: Cannot proceed with tests if rangeCount is 0 got disallowed value 0
-FAIL Range 13 [foreignPara1.firstChild, 2, foreignPara1.firstChild, 8] followed by Range 23 [paras[0], 0, paras[0], 1]: modifying the first added range must modify the Selection's last Range assert_not_equals: Cannot proceed with tests if rangeCount is 0 got disallowed value 0
-FAIL Range 13 [foreignPara1.firstChild, 2, foreignPara1.firstChild, 8] followed by Range 23 [paras[0], 0, paras[0], 1]: 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 13 [foreignPara1.firstChild, 2, foreignPara1.firstChild, 8] 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 13 [foreignPara1.firstChild, 2, foreignPara1.firstChild, 8] followed by Range 23 [paras[0], 0, paras[0], 1]: second addRange() must result in rangeCount being 1
-PASS Range 13 [foreignPara1.firstChild, 2, foreignPara1.firstChild, 8] followed by Range 23 [paras[0], 0, paras[0], 1]: second addRange() must result in the selection's last range having the specified endpoints
-PASS Range 13 [foreignPara1.firstChild, 2, foreignPara1.firstChild, 8] 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 13 [foreignPara1.firstChild, 2, foreignPara1.firstChild, 8] followed by Range 23 [paras[0], 0, paras[0], 1]: modifying the second added range must modify the Selection's last Range
-PASS Range 13 [foreignPara1.firstChild, 2, foreignPara1.firstChild, 8] followed by Range 23 [paras[0], 0, paras[0], 1]: modifying the Selection's last Range must modify the second added Range
-PASS Range 13 [foreignPara1.firstChild, 2, foreignPara1.firstChild, 8] followed by Range 24 [detachedPara1, 0, detachedPara1, 0]: first addRange() must not throw exceptions or modify the range it's given
-FAIL Range 13 [foreignPara1.firstChild, 2, foreignPara1.firstChild, 8] 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 13 [foreignPara1.firstChild, 2, foreignPara1.firstChild, 8] 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
-FAIL Range 13 [foreignPara1.firstChild, 2, foreignPara1.firstChild, 8] 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_not_equals: Cannot proceed with tests if rangeCount is 0 got disallowed value 0
-FAIL Range 13 [foreignPara1.firstChild, 2, foreignPara1.firstChild, 8] followed by Range 24 [detachedPara1, 0, detachedPara1, 0]: modifying the first added range must modify the Selection's last Range assert_not_equals: Cannot proceed with tests if rangeCount is 0 got disallowed value 0
-FAIL Range 13 [foreignPara1.firstChild, 2, foreignPara1.firstChild, 8] followed by Range 24 [detachedPara1, 0, detachedPara1, 0]: 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 13 [foreignPara1.firstChild, 2, foreignPara1.firstChild, 8] followed by Range 24 [detachedPara1, 0, detachedPara1, 0]: second addRange() must not throw exceptions or modify the range it's given
-FAIL Range 13 [foreignPara1.firstChild, 2, foreignPara1.firstChild, 8] followed by Range 24 [detachedPara1, 0, detachedPara1, 0]: second addRange() must result in rangeCount being 1 assert_equals: rangeCount must be 1 expected 1 but got 0
-FAIL Range 13 [foreignPara1.firstChild, 2, foreignPara1.firstChild, 8] followed by Range 24 [detachedPara1, 0, detachedPara1, 0]: second 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
-FAIL Range 13 [foreignPara1.firstChild, 2, foreignPara1.firstChild, 8] 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_not_equals: Cannot proceed with tests if rangeCount is 0 got disallowed value 0
-FAIL Range 13 [foreignPara1.firstChild, 2, foreignPara1.firstChild, 8] followed by Range 24 [detachedPara1, 0, detachedPara1, 0]: modifying the second added range must modify the Selection's last Range assert_not_equals: Cannot proceed with tests if rangeCount is 0 got disallowed value 0
-FAIL Range 13 [foreignPara1.firstChild, 2, foreignPara1.firstChild, 8] followed by Range 24 [detachedPara1, 0, detachedPara1, 0]: modifying the Selection's last Range must modify the second added Range assert_not_equals: Cannot proceed with tests if rangeCount is 0 got disallowed value 0
-PASS Range 13 [foreignPara1.firstChild, 2, foreignPara1.firstChild, 8] followed by Range 25 [detachedPara1, 0, detachedPara1, 1]: first addRange() must not throw exceptions or modify the range it's given
-FAIL Range 13 [foreignPara1.firstChild, 2, foreignPara1.firstChild, 8] followed by Range 25 [detachedPara1, 0, detachedPara1, 1]: first addRange() must result in rangeCount being 1 assert_equals: rangeCount must be 1 expected 1 but got 0
-FAIL Range 13 [foreignPara1.firstChild, 2, foreignPara1.firstChild, 8] followed by Range 25 [detachedPara1, 0, detachedPara1, 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
-FAIL Range 13 [foreignPara1.firstChild, 2, foreignPara1.firstChild, 8] 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_not_equals: Cannot proceed with tests if rangeCount is 0 got disallowed value 0
-FAIL Range 13 [foreignPara1.firstChild, 2, foreignPara1.firstChild, 8] followed by Range 25 [detachedPara1, 0, detachedPara1, 1]: modifying the first added range must modify the Selection's last Range assert_not_equals: Cannot proceed with tests if rangeCount is 0 got disallowed value 0
-FAIL Range 13 [foreignPara1.firstChild, 2, foreignPara1.firstChild, 8] followed by Range 25 [detachedPara1, 0, detachedPara1, 1]: 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 13 [foreignPara1.firstChild, 2, foreignPara1.firstChild, 8] followed by Range 25 [detachedPara1, 0, detachedPara1, 1]: second addRange() must not throw exceptions or modify the range it's given
-FAIL Range 13 [foreignPara1.firstChild, 2, foreignPara1.firstChild, 8] followed by Range 25 [detachedPara1, 0, detachedPara1, 1]: second addRange() must result in rangeCount being 1 assert_equals: rangeCount must be 1 expected 1 but got 0
-FAIL Range 13 [foreignPara1.firstChild, 2, foreignPara1.firstChild, 8] followed by Range 25 [detachedPara1, 0, detachedPara1, 1]: second 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
-FAIL Range 13 [foreignPara1.firstChild, 2, foreignPara1.firstChild, 8] 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_not_equals: Cannot proceed with tests if rangeCount is 0 got disallowed value 0
-FAIL Range 13 [foreignPara1.firstChild, 2, foreignPara1.firstChild, 8] followed by Range 25 [detachedPara1, 0, detachedPara1, 1]: modifying the second added range must modify the Selection's last Range assert_not_equals: Cannot proceed with tests if rangeCount is 0 got disallowed value 0
-FAIL Range 13 [foreignPara1.firstChild, 2, foreignPara1.firstChild, 8] followed by Range 25 [detachedPara1, 0, detachedPara1, 1]: modifying the Selection's last Range must modify the second added Range assert_not_equals: Cannot proceed with tests if rangeCount is 0 got disallowed value 0
-PASS Range 13 [foreignPara1.firstChild, 2, foreignPara1.firstChild, 8] 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
-FAIL Range 13 [foreignPara1.firstChild, 2, foreignPara1.firstChild, 8] followed by Range 26 [paras[0].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 13 [foreignPara1.firstChild, 2, foreignPara1.firstChild, 8] 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 assert_not_equals: Cannot proceed with tests if rangeCount is 0 got disallowed value 0
-FAIL Range 13 [foreignPara1.firstChild, 2, foreignPara1.firstChild, 8] 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_not_equals: Cannot proceed with tests if rangeCount is 0 got disallowed value 0
-FAIL Range 13 [foreignPara1.firstChild, 2, foreignPara1.firstChild, 8] 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_not_equals: Cannot proceed with tests if rangeCount is 0 got disallowed value 0
-FAIL Range 13 [foreignPara1.firstChild, 2, foreignPara1.firstChild, 8] 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_not_equals: Cannot proceed with tests if rangeCount is 0 got disallowed value 0
-PASS Range 13 [foreignPara1.firstChild, 2, foreignPara1.firstChild, 8] 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 13 [foreignPara1.firstChild, 2, foreignPara1.firstChild, 8] followed by Range 26 [paras[0].firstChild, 0, paras[1].firstChild, 0]: second addRange() must result in rangeCount being 1
-PASS Range 13 [foreignPara1.firstChild, 2, foreignPara1.firstChild, 8] 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
-PASS Range 13 [foreignPara1.firstChild, 2, foreignPara1.firstChild, 8] 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 13 [foreignPara1.firstChild, 2, foreignPara1.firstChild, 8] 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 13 [foreignPara1.firstChild, 2, foreignPara1.firstChild, 8] 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 13 [foreignPara1.firstChild, 2, foreignPara1.firstChild, 8] 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 13 [foreignPara1.firstChild, 2, foreignPara1.firstChild, 8] 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 13 [foreignPara1.firstChild, 2, foreignPara1.firstChild, 8] 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
-FAIL Range 13 [foreignPara1.firstChild, 2, foreignPara1.firstChild, 8] 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_not_equals: Cannot proceed with tests if rangeCount is 0 got disallowed value 0
-FAIL Range 13 [foreignPara1.firstChild, 2, foreignPara1.firstChild, 8] 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_not_equals: Cannot proceed with tests if rangeCount is 0 got disallowed value 0
-FAIL Range 13 [foreignPara1.firstChild, 2, foreignPara1.firstChild, 8] 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_not_equals: Cannot proceed with tests if rangeCount is 0 got disallowed value 0
-PASS Range 13 [foreignPara1.firstChild, 2, foreignPara1.firstChild, 8] 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 13 [foreignPara1.firstChild, 2, foreignPara1.firstChild, 8] followed by Range 27 [paras[0].firstChild, 0, paras[1].firstChild, 8]: second addRange() must result in rangeCount being 1
-PASS Range 13 [foreignPara1.firstChild, 2, foreignPara1.firstChild, 8] 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
-PASS Range 13 [foreignPara1.firstChild, 2, foreignPara1.firstChild, 8] 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 13 [foreignPara1.firstChild, 2, foreignPara1.firstChild, 8] 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 13 [foreignPara1.firstChild, 2, foreignPara1.firstChild, 8] 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 13 [foreignPara1.firstChild, 2, foreignPara1.firstChild, 8] 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 13 [foreignPara1.firstChild, 2, foreignPara1.firstChild, 8] 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 13 [foreignPara1.firstChild, 2, foreignPara1.firstChild, 8] 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
-FAIL Range 13 [foreignPara1.firstChild, 2, foreignPara1.firstChild, 8] 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_not_equals: Cannot proceed with tests if rangeCount is 0 got disallowed value 0
-FAIL Range 13 [foreignPara1.firstChild, 2, foreignPara1.firstChild, 8] followed by Range 28 [paras[0].firstChild, 3, paras[3], 1]: modifying the first added range must modify the Selection's last Range assert_not_equals: Cannot proceed with tests if rangeCount is 0 got disallowed value 0
-FAIL Range 13 [foreignPara1.firstChild, 2, foreignPara1.firstChild, 8] followed by Range 28 [paras[0].firstChild, 3, paras[3], 1]: 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 13 [foreignPara1.firstChild, 2, foreignPara1.firstChild, 8] 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 13 [foreignPara1.firstChild, 2, foreignPara1.firstChild, 8] followed by Range 28 [paras[0].firstChild, 3, paras[3], 1]: second addRange() must result in rangeCount being 1
-PASS Range 13 [foreignPara1.firstChild, 2, foreignPara1.firstChild, 8] 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
-PASS Range 13 [foreignPara1.firstChild, 2, foreignPara1.firstChild, 8] 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 13 [foreignPara1.firstChild, 2, foreignPara1.firstChild, 8] 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 13 [foreignPara1.firstChild, 2, foreignPara1.firstChild, 8] 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 13 [foreignPara1.firstChild, 2, foreignPara1.firstChild, 8] 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 13 [foreignPara1.firstChild, 2, foreignPara1.firstChild, 8] 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 13 [foreignPara1.firstChild, 2, foreignPara1.firstChild, 8] 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
-FAIL Range 13 [foreignPara1.firstChild, 2, foreignPara1.firstChild, 8] 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_not_equals: Cannot proceed with tests if rangeCount is 0 got disallowed value 0
-FAIL Range 13 [foreignPara1.firstChild, 2, foreignPara1.firstChild, 8] followed by Range 29 [paras[0], 0, paras[0].firstChild, 7]: modifying the first added range must modify the Selection's last Range assert_not_equals: Cannot proceed with tests if rangeCount is 0 got disallowed value 0
-FAIL Range 13 [foreignPara1.firstChild, 2, foreignPara1.firstChild, 8] followed by Range 29 [paras[0], 0, paras[0].firstChild, 7]: 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 13 [foreignPara1.firstChild, 2, foreignPara1.firstChild, 8] 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 13 [foreignPara1.firstChild, 2, foreignPara1.firstChild, 8] followed by Range 29 [paras[0], 0, paras[0].firstChild, 7]: second addRange() must result in rangeCount being 1
-PASS Range 13 [foreignPara1.firstChild, 2, foreignPara1.firstChild, 8] 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
-PASS Range 13 [foreignPara1.firstChild, 2, foreignPara1.firstChild, 8] 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 13 [foreignPara1.firstChild, 2, foreignPara1.firstChild, 8] 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 13 [foreignPara1.firstChild, 2, foreignPara1.firstChild, 8] 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 13 [foreignPara1.firstChild, 2, foreignPara1.firstChild, 8] followed by Range 30 [testDiv, 2, paras[4], 1]: first addRange() must not throw exceptions or modify the range it's given
-FAIL Range 13 [foreignPara1.firstChild, 2, foreignPara1.firstChild, 8] 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 13 [foreignPara1.firstChild, 2, foreignPara1.firstChild, 8] 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
-FAIL Range 13 [foreignPara1.firstChild, 2, foreignPara1.firstChild, 8] 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_not_equals: Cannot proceed with tests if rangeCount is 0 got disallowed value 0
-FAIL Range 13 [foreignPara1.firstChild, 2, foreignPara1.firstChild, 8] followed by Range 30 [testDiv, 2, paras[4], 1]: modifying the first added range must modify the Selection's last Range assert_not_equals: Cannot proceed with tests if rangeCount is 0 got disallowed value 0
-FAIL Range 13 [foreignPara1.firstChild, 2, foreignPara1.firstChild, 8] followed by Range 30 [testDiv, 2, paras[4], 1]: 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 13 [foreignPara1.firstChild, 2, foreignPara1.firstChild, 8] followed by Range 30 [testDiv, 2, paras[4], 1]: second addRange() must not throw exceptions or modify the range it's given
-PASS Range 13 [foreignPara1.firstChild, 2, foreignPara1.firstChild, 8] followed by Range 30 [testDiv, 2, paras[4], 1]: second addRange() must result in rangeCount being 1
-PASS Range 13 [foreignPara1.firstChild, 2, foreignPara1.firstChild, 8] followed by Range 30 [testDiv, 2, paras[4], 1]: second addRange() must result in the selection's last range having the specified endpoints
-PASS Range 13 [foreignPara1.firstChild, 2, foreignPara1.firstChild, 8] 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 13 [foreignPara1.firstChild, 2, foreignPara1.firstChild, 8] followed by Range 30 [testDiv, 2, paras[4], 1]: modifying the second added range must modify the Selection's last Range
-PASS Range 13 [foreignPara1.firstChild, 2, foreignPara1.firstChild, 8] followed by Range 30 [testDiv, 2, paras[4], 1]: modifying the Selection's last Range must modify the second added Range
-PASS Range 13 [foreignPara1.firstChild, 2, foreignPara1.firstChild, 8] 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 13 [foreignPara1.firstChild, 2, foreignPara1.firstChild, 8] 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 13 [foreignPara1.firstChild, 2, foreignPara1.firstChild, 8] 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
-FAIL Range 13 [foreignPara1.firstChild, 2, foreignPara1.firstChild, 8] 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_not_equals: Cannot proceed with tests if rangeCount is 0 got disallowed value 0
-FAIL Range 13 [foreignPara1.firstChild, 2, foreignPara1.firstChild, 8] followed by Range 31 [testDiv, 1, paras[2].firstChild, 5]: modifying the first added range must modify the Selection's last Range assert_not_equals: Cannot proceed with tests if rangeCount is 0 got disallowed value 0
-FAIL Range 13 [foreignPara1.firstChild, 2, foreignPara1.firstChild, 8] followed by Range 31 [testDiv, 1, paras[2].firstChild, 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 13 [foreignPara1.firstChild, 2, foreignPara1.firstChild, 8] 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 13 [foreignPara1.firstChild, 2, foreignPara1.firstChild, 8] followed by Range 31 [testDiv, 1, paras[2].firstChild, 5]: second addRange() must result in rangeCount being 1
-PASS Range 13 [foreignPara1.firstChild, 2, foreignPara1.firstChild, 8] followed by Range 31 [testDiv, 1, paras[2].firstChild, 5]: second addRange() must result in the selection's last range having the specified endpoints
-PASS Range 13 [foreignPara1.firstChild, 2, foreignPara1.firstChild, 8] 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 13 [foreignPara1.firstChild, 2, foreignPara1.firstChild, 8] followed by Range 31 [testDiv, 1, paras[2].firstChild, 5]: modifying the second added range must modify the Selection's last Range
-PASS Range 13 [foreignPara1.firstChild, 2, foreignPara1.firstChild, 8] followed by Range 31 [testDiv, 1, paras[2].firstChild, 5]: modifying the Selection's last Range must modify the second added Range
-PASS Range 13 [foreignPara1.firstChild, 2, foreignPara1.firstChild, 8] 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 13 [foreignPara1.firstChild, 2, foreignPara1.firstChild, 8] 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 13 [foreignPara1.firstChild, 2, foreignPara1.firstChild, 8] 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
-FAIL Range 13 [foreignPara1.firstChild, 2, foreignPara1.firstChild, 8] 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_not_equals: Cannot proceed with tests if rangeCount is 0 got disallowed value 0
-FAIL Range 13 [foreignPara1.firstChild, 2, foreignPara1.firstChild, 8] followed by Range 32 [document.documentElement, 1, document.body, 0]: modifying the first added range must modify the Selection's last Range assert_not_equals: Cannot proceed with tests if rangeCount is 0 got disallowed value 0
-FAIL Range 13 [foreignPara1.firstChild, 2, foreignPara1.firstChild, 8] followed by Range 32 [document.documentElement, 1, document.body, 0]: 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 13 [foreignPara1.firstChild, 2, foreignPara1.firstChild, 8] 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 13 [foreignPara1.firstChild, 2, foreignPara1.firstChild, 8] followed by Range 32 [document.documentElement, 1, document.body, 0]: second addRange() must result in rangeCount being 1
-PASS Range 13 [foreignPara1.firstChild, 2, foreignPara1.firstChild, 8] followed by Range 32 [document.documentElement, 1, document.body, 0]: second addRange() must result in the selection's last range having the specified endpoints
-PASS Range 13 [foreignPara1.firstChild, 2, foreignPara1.firstChild, 8] 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 13 [foreignPara1.firstChild, 2, foreignPara1.firstChild, 8] followed by Range 32 [document.documentElement, 1, document.body, 0]: modifying the second added range must modify the Selection's last Range
-PASS Range 13 [foreignPara1.firstChild, 2, foreignPara1.firstChild, 8] followed by Range 32 [document.documentElement, 1, document.body, 0]: modifying the Selection's last Range must modify the second added Range
-PASS Range 13 [foreignPara1.firstChild, 2, foreignPara1.firstChild, 8] 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 13 [foreignPara1.firstChild, 2, foreignPara1.firstChild, 8] 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 13 [foreignPara1.firstChild, 2, foreignPara1.firstChild, 8] 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
-FAIL Range 13 [foreignPara1.firstChild, 2, foreignPara1.firstChild, 8] 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_not_equals: Cannot proceed with tests if rangeCount is 0 got disallowed value 0
-FAIL Range 13 [foreignPara1.firstChild, 2, foreignPara1.firstChild, 8] followed by Range 33 [foreignDoc.documentElement, 1, foreignDoc.body, 0]: modifying the first added range must modify the Selection's last Range assert_not_equals: Cannot proceed with tests if rangeCount is 0 got disallowed value 0
-FAIL Range 13 [foreignPara1.firstChild, 2, foreignPara1.firstChild, 8] followed by Range 33 [foreignDoc.documentElement, 1, foreignDoc.body, 0]: 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 13 [foreignPara1.firstChild, 2, foreignPara1.firstChild, 8] followed by Range 33 [foreignDoc.documentElement, 1, foreignDoc.body, 0]: second addRange() must not throw exceptions or modify the range it's given
-FAIL Range 13 [foreignPara1.firstChild, 2, foreignPara1.firstChild, 8] followed by Range 33 [foreignDoc.documentElement, 1, foreignDoc.body, 0]: second addRange() must result in rangeCount being 1 assert_equals: rangeCount must be 1 expected 1 but got 0
-FAIL Range 13 [foreignPara1.firstChild, 2, foreignPara1.firstChild, 8] 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_not_equals: Cannot proceed with tests if rangeCount is 0 got disallowed value 0
-FAIL Range 13 [foreignPara1.firstChild, 2, foreignPara1.firstChild, 8] 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_not_equals: Cannot proceed with tests if rangeCount is 0 got disallowed value 0
-FAIL Range 13 [foreignPara1.firstChild, 2, foreignPara1.firstChild, 8] followed by Range 33 [foreignDoc.documentElement, 1, foreignDoc.body, 0]: modifying the second added range must modify the Selection's last Range assert_not_equals: Cannot proceed with tests if rangeCount is 0 got disallowed value 0
-FAIL Range 13 [foreignPara1.firstChild, 2, foreignPara1.firstChild, 8] followed by Range 33 [foreignDoc.documentElement, 1, foreignDoc.body, 0]: modifying the Selection's last Range must modify the second added Range assert_not_equals: Cannot proceed with tests if rangeCount is 0 got disallowed value 0
-PASS Range 13 [foreignPara1.firstChild, 2, foreignPara1.firstChild, 8] followed by Range 34 [document, 0, document, 1]: first addRange() must not throw exceptions or modify the range it's given
-FAIL Range 13 [foreignPara1.firstChild, 2, foreignPara1.firstChild, 8] followed by Range 34 [document, 0, document, 1]: first addRange() must result in rangeCount being 1 assert_equals: rangeCount must be 1 expected 1 but got 0
-FAIL Range 13 [foreignPara1.firstChild, 2, foreignPara1.firstChild, 8] followed by Range 34 [document, 0, document, 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
-FAIL Range 13 [foreignPara1.firstChild, 2, foreignPara1.firstChild, 8] 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_not_equals: Cannot proceed with tests if rangeCount is 0 got disallowed value 0
-FAIL Range 13 [foreignPara1.firstChild, 2, foreignPara1.firstChild, 8] followed by Range 34 [document, 0, document, 1]: modifying the first added range must modify the Selection's last Range assert_not_equals: Cannot proceed with tests if rangeCount is 0 got disallowed value 0
-FAIL Range 13 [foreignPara1.firstChild, 2, foreignPara1.firstChild, 8] followed by Range 34 [document, 0, document, 1]: 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 13 [foreignPara1.firstChild, 2, foreignPara1.firstChild, 8] followed by Range 34 [document, 0, document, 1]: second addRange() must not throw exceptions or modify the range it's given
-PASS Range 13 [foreignPara1.firstChild, 2, foreignPara1.firstChild, 8] followed by Range 34 [document, 0, document, 1]: second addRange() must result in rangeCount being 1
-PASS Range 13 [foreignPara1.firstChild, 2, foreignPara1.firstChild, 8] followed by Range 34 [document, 0, document, 1]: second addRange() must result in the selection's last range having the specified endpoints
-PASS Range 13 [foreignPara1.firstChild, 2, foreignPara1.firstChild, 8] 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 13 [foreignPara1.firstChild, 2, foreignPara1.firstChild, 8] followed by Range 34 [document, 0, document, 1]: modifying the second added range must modify the Selection's last Range
-PASS Range 13 [foreignPara1.firstChild, 2, foreignPara1.firstChild, 8] followed by Range 34 [document, 0, document, 1]: modifying the Selection's last Range must modify the second added Range
-PASS Range 13 [foreignPara1.firstChild, 2, foreignPara1.firstChild, 8] followed by Range 35 [document, 0, document, 2]: first addRange() must not throw exceptions or modify the range it's given
-FAIL Range 13 [foreignPara1.firstChild, 2, foreignPara1.firstChild, 8] 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 13 [foreignPara1.firstChild, 2, foreignPara1.firstChild, 8] 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
-FAIL Range 13 [foreignPara1.firstChild, 2, foreignPara1.firstChild, 8] 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_not_equals: Cannot proceed with tests if rangeCount is 0 got disallowed value 0
-FAIL Range 13 [foreignPara1.firstChild, 2, foreignPara1.firstChild, 8] followed by Range 35 [document, 0, document, 2]: modifying the first added range must modify the Selection's last Range assert_not_equals: Cannot proceed with tests if rangeCount is 0 got disallowed value 0
-FAIL Range 13 [foreignPara1.firstChild, 2, foreignPara1.firstChild, 8] followed by Range 35 [document, 0, document, 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 13 [foreignPara1.firstChild, 2, foreignPara1.firstChild, 8] followed by Range 35 [document, 0, document, 2]: second addRange() must not throw exceptions or modify the range it's given
-PASS Range 13 [foreignPara1.firstChild, 2, foreignPara1.firstChild, 8] followed by Range 35 [document, 0, document, 2]: second addRange() must result in rangeCount being 1
-PASS Range 13 [foreignPara1.firstChild, 2, foreignPara1.firstChild, 8] followed by Range 35 [document, 0, document, 2]: second addRange() must result in the selection's last range having the specified endpoints
-PASS Range 13 [foreignPara1.firstChild, 2, foreignPara1.firstChild, 8] 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 13 [foreignPara1.firstChild, 2, foreignPara1.firstChild, 8] followed by Range 35 [document, 0, document, 2]: modifying the second added range must modify the Selection's last Range
-PASS Range 13 [foreignPara1.firstChild, 2, foreignPara1.firstChild, 8] followed by Range 35 [document, 0, document, 2]: modifying the Selection's last Range must modify the second added Range
-PASS Range 13 [foreignPara1.firstChild, 2, foreignPara1.firstChild, 8] followed by Range 36 [document, 1, document, 2]: first addRange() must not throw exceptions or modify the range it's given
-FAIL Range 13 [foreignPara1.firstChild, 2, foreignPara1.firstChild, 8] 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 13 [foreignPara1.firstChild, 2, foreignPara1.firstChild, 8] 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
-FAIL Range 13 [foreignPara1.firstChild, 2, foreignPara1.firstChild, 8] 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_not_equals: Cannot proceed with tests if rangeCount is 0 got disallowed value 0
-FAIL Range 13 [foreignPara1.firstChild, 2, foreignPara1.firstChild, 8] followed by Range 36 [document, 1, document, 2]: modifying the first added range must modify the Selection's last Range assert_not_equals: Cannot proceed with tests if rangeCount is 0 got disallowed value 0
-FAIL Range 13 [foreignPara1.firstChild, 2, foreignPara1.firstChild, 8] followed by Range 36 [document, 1, document, 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 13 [foreignPara1.firstChild, 2, foreignPara1.firstChild, 8] followed by Range 36 [document, 1, document, 2]: second addRange() must not throw exceptions or modify the range it's given
-PASS Range 13 [foreignPara1.firstChild, 2, foreignPara1.firstChild, 8] followed by Range 36 [document, 1, document, 2]: second addRange() must result in rangeCount being 1
-PASS Range 13 [foreignPara1.firstChild, 2, foreignPara1.firstChild, 8] followed by Range 36 [document, 1, document, 2]: second addRange() must result in the selection's last range having the specified endpoints
-PASS Range 13 [foreignPara1.firstChild, 2, foreignPara1.firstChild, 8] 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 13 [foreignPara1.firstChild, 2, foreignPara1.firstChild, 8] followed by Range 36 [document, 1, document, 2]: modifying the second added range must modify the Selection's last Range
-PASS Range 13 [foreignPara1.firstChild, 2, foreignPara1.firstChild, 8] followed by Range 36 [document, 1, document, 2]: modifying the Selection's last Range must modify the second added Range
-PASS Range 13 [foreignPara1.firstChild, 2, foreignPara1.firstChild, 8] followed by Range 37 [testDiv, 0, comment, 5]: first addRange() must not throw exceptions or modify the range it's given
-FAIL Range 13 [foreignPara1.firstChild, 2, foreignPara1.firstChild, 8] 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 13 [foreignPara1.firstChild, 2, foreignPara1.firstChild, 8] 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
-FAIL Range 13 [foreignPara1.firstChild, 2, foreignPara1.firstChild, 8] 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_not_equals: Cannot proceed with tests if rangeCount is 0 got disallowed value 0
-FAIL Range 13 [foreignPara1.firstChild, 2, foreignPara1.firstChild, 8] followed by Range 37 [testDiv, 0, comment, 5]: modifying the first added range must modify the Selection's last Range assert_not_equals: Cannot proceed with tests if rangeCount is 0 got disallowed value 0
-FAIL Range 13 [foreignPara1.firstChild, 2, foreignPara1.firstChild, 8] 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 13 [foreignPara1.firstChild, 2, foreignPara1.firstChild, 8] followed by Range 37 [testDiv, 0, comment, 5]: second addRange() must not throw exceptions or modify the range it's given
-PASS Range 13 [foreignPara1.firstChild, 2, foreignPara1.firstChild, 8] followed by Range 37 [testDiv, 0, comment, 5]: second addRange() must result in rangeCount being 1
-PASS Range 13 [foreignPara1.firstChild, 2, foreignPara1.firstChild, 8] followed by Range 37 [testDiv, 0, comment, 5]: second addRange() must result in the selection's last range having the specified endpoints
-PASS Range 13 [foreignPara1.firstChild, 2, foreignPara1.firstChild, 8] 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 13 [foreignPara1.firstChild, 2, foreignPara1.firstChild, 8] followed by Range 37 [testDiv, 0, comment, 5]: modifying the second added range must modify the Selection's last Range
-PASS Range 13 [foreignPara1.firstChild, 2, foreignPara1.firstChild, 8] followed by Range 37 [testDiv, 0, comment, 5]: modifying the Selection's last Range must modify the second added Range
-PASS Range 13 [foreignPara1.firstChild, 2, foreignPara1.firstChild, 8] 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 13 [foreignPara1.firstChild, 2, foreignPara1.firstChild, 8] 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 13 [foreignPara1.firstChild, 2, foreignPara1.firstChild, 8] 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
-FAIL Range 13 [foreignPara1.firstChild, 2, foreignPara1.firstChild, 8] 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_not_equals: Cannot proceed with tests if rangeCount is 0 got disallowed value 0
-FAIL Range 13 [foreignPara1.firstChild, 2, foreignPara1.firstChild, 8] followed by Range 38 [paras[2].firstChild, 4, comment, 2]: modifying the first added range must modify the Selection's last Range assert_not_equals: Cannot proceed with tests if rangeCount is 0 got disallowed value 0
-FAIL Range 13 [foreignPara1.firstChild, 2, foreignPara1.firstChild, 8] 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 13 [foreignPara1.firstChild, 2, foreignPara1.firstChild, 8] 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 13 [foreignPara1.firstChild, 2, foreignPara1.firstChild, 8] followed by Range 38 [paras[2].firstChild, 4, comment, 2]: second addRange() must result in rangeCount being 1
-PASS Range 13 [foreignPara1.firstChild, 2, foreignPara1.firstChild, 8] 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 13 [foreignPara1.firstChild, 2, foreignPara1.firstChild, 8] 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 13 [foreignPara1.firstChild, 2, foreignPara1.firstChild, 8] followed by Range 38 [paras[2].firstChild, 4, comment, 2]: modifying the second added range must modify the Selection's last Range
-PASS Range 13 [foreignPara1.firstChild, 2, foreignPara1.firstChild, 8] followed by Range 38 [paras[2].firstChild, 4, comment, 2]: modifying the Selection's last Range must modify the second added Range
-PASS Range 13 [foreignPara1.firstChild, 2, foreignPara1.firstChild, 8] followed by Range 39 [paras[3], 1, comment, 8]: first addRange() must not throw exceptions or modify the range it's given
-FAIL Range 13 [foreignPara1.firstChild, 2, foreignPara1.firstChild, 8] 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 13 [foreignPara1.firstChild, 2, foreignPara1.firstChild, 8] 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
-FAIL Range 13 [foreignPara1.firstChild, 2, foreignPara1.firstChild, 8] 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_not_equals: Cannot proceed with tests if rangeCount is 0 got disallowed value 0
-FAIL Range 13 [foreignPara1.firstChild, 2, foreignPara1.firstChild, 8] followed by Range 39 [paras[3], 1, comment, 8]: modifying the first added range must modify the Selection's last Range assert_not_equals: Cannot proceed with tests if rangeCount is 0 got disallowed value 0
-FAIL Range 13 [foreignPara1.firstChild, 2, foreignPara1.firstChild, 8] 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 13 [foreignPara1.firstChild, 2, foreignPara1.firstChild, 8] followed by Range 39 [paras[3], 1, comment, 8]: second addRange() must not throw exceptions or modify the range it's given
-PASS Range 13 [foreignPara1.firstChild, 2, foreignPara1.firstChild, 8] followed by Range 39 [paras[3], 1, comment, 8]: second addRange() must result in rangeCount being 1
-PASS Range 13 [foreignPara1.firstChild, 2, foreignPara1.firstChild, 8] 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 13 [foreignPara1.firstChild, 2, foreignPara1.firstChild, 8] 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 13 [foreignPara1.firstChild, 2, foreignPara1.firstChild, 8] followed by Range 39 [paras[3], 1, comment, 8]: modifying the second added range must modify the Selection's last Range
-PASS Range 13 [foreignPara1.firstChild, 2, foreignPara1.firstChild, 8] followed by Range 39 [paras[3], 1, comment, 8]: modifying the Selection's last Range must modify the second added Range
-PASS Range 13 [foreignPara1.firstChild, 2, foreignPara1.firstChild, 8] followed by Range 40 [foreignDoc, 0, foreignDoc, 0]: first addRange() must not throw exceptions or modify the range it's given
-FAIL Range 13 [foreignPara1.firstChild, 2, foreignPara1.firstChild, 8] 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 13 [foreignPara1.firstChild, 2, foreignPara1.firstChild, 8] 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
-FAIL Range 13 [foreignPara1.firstChild, 2, foreignPara1.firstChild, 8] 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_not_equals: Cannot proceed with tests if rangeCount is 0 got disallowed value 0
-FAIL Range 13 [foreignPara1.firstChild, 2, foreignPara1.firstChild, 8] followed by Range 40 [foreignDoc, 0, foreignDoc, 0]: modifying the first added range must modify the Selection's last Range assert_not_equals: Cannot proceed with tests if rangeCount is 0 got disallowed value 0
-FAIL Range 13 [foreignPara1.firstChild, 2, foreignPara1.firstChild, 8] followed by Range 40 [foreignDoc, 0, foreignDoc, 0]: 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 13 [foreignPara1.firstChild, 2, foreignPara1.firstChild, 8] followed by Range 40 [foreignDoc, 0, foreignDoc, 0]: second addRange() must not throw exceptions or modify the range it's given
-FAIL Range 13 [foreignPara1.firstChild, 2, foreignPara1.firstChild, 8] followed by Range 40 [foreignDoc, 0, foreignDoc, 0]: second addRange() must result in rangeCount being 1 assert_equals: rangeCount must be 1 expected 1 but got 0
-FAIL Range 13 [foreignPara1.firstChild, 2, foreignPara1.firstChild, 8] followed by Range 40 [foreignDoc, 0, foreignDoc, 0]: second 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
-FAIL Range 13 [foreignPara1.firstChild, 2, foreignPara1.firstChild, 8] 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_not_equals: Cannot proceed with tests if rangeCount is 0 got disallowed value 0
-FAIL Range 13 [foreignPara1.firstChild, 2, foreignPara1.firstChild, 8] followed by Range 40 [foreignDoc, 0, foreignDoc, 0]: modifying the second added range must modify the Selection's last Range assert_not_equals: Cannot proceed with tests if rangeCount is 0 got disallowed value 0
-FAIL Range 13 [foreignPara1.firstChild, 2, foreignPara1.firstChild, 8] followed by Range 40 [foreignDoc, 0, foreignDoc, 0]: modifying the Selection's last Range must modify the second added Range assert_not_equals: Cannot proceed with tests if rangeCount is 0 got disallowed value 0
-PASS Range 13 [foreignPara1.firstChild, 2, foreignPara1.firstChild, 8] followed by Range 41 [foreignDoc, 1, foreignComment, 2]: first addRange() must not throw exceptions or modify the range it's given
-FAIL Range 13 [foreignPara1.firstChild, 2, foreignPara1.firstChild, 8] followed by Range 41 [foreignDoc, 1, foreignComment, 2]: first addRange() must result in rangeCount being 1 assert_equals: rangeCount must be 1 expected 1 but got 0
-FAIL Range 13 [foreignPara1.firstChild, 2, foreignPara1.firstChild, 8] followed by Range 41 [foreignDoc, 1, foreignComment, 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
-FAIL Range 13 [foreignPara1.firstChild, 2, foreignPara1.firstChild, 8] 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_not_equals: Cannot proceed with tests if rangeCount is 0 got disallowed value 0
-FAIL Range 13 [foreignPara1.firstChild, 2, foreignPara1.firstChild, 8] followed by Range 41 [foreignDoc, 1, foreignComment, 2]: modifying the first added range must modify the Selection's last Range assert_not_equals: Cannot proceed with tests if rangeCount is 0 got disallowed value 0
-FAIL Range 13 [foreignPara1.firstChild, 2, foreignPara1.firstChild, 8] followed by Range 41 [foreignDoc, 1, foreignComment, 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 13 [foreignPara1.firstChild, 2, foreignPara1.firstChild, 8] followed by Range 41 [foreignDoc, 1, foreignComment, 2]: second addRange() must not throw exceptions or modify the range it's given
-FAIL Range 13 [foreignPara1.firstChild, 2, foreignPara1.firstChild, 8] followed by Range 41 [foreignDoc, 1, foreignComment, 2]: second addRange() must result in rangeCount being 1 assert_equals: rangeCount must be 1 expected 1 but got 0
-FAIL Range 13 [foreignPara1.firstChild, 2, foreignPara1.firstChild, 8] followed by Range 41 [foreignDoc, 1, foreignComment, 2]: second 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
-FAIL Range 13 [foreignPara1.firstChild, 2, foreignPara1.firstChild, 8] 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_not_equals: Cannot proceed with tests if rangeCount is 0 got disallowed value 0
-FAIL Range 13 [foreignPara1.firstChild, 2, foreignPara1.firstChild, 8] followed by Range 41 [foreignDoc, 1, foreignComment, 2]: modifying the second added range must modify the Selection's last Range assert_not_equals: Cannot proceed with tests if rangeCount is 0 got disallowed value 0
-FAIL Range 13 [foreignPara1.firstChild, 2, foreignPara1.firstChild, 8] followed by Range 41 [foreignDoc, 1, foreignComment, 2]: modifying the Selection's last Range must modify the second added Range assert_not_equals: Cannot proceed with tests if rangeCount is 0 got disallowed value 0
-PASS Range 13 [foreignPara1.firstChild, 2, foreignPara1.firstChild, 8] followed by Range 42 [foreignDoc.body, 0, foreignTextNode, 36]: first addRange() must not throw exceptions or modify the range it's given
-FAIL Range 13 [foreignPara1.firstChild, 2, foreignPara1.firstChild, 8] followed by Range 42 [foreignDoc.body, 0, foreignTextNode, 36]: first addRange() must result in rangeCount being 1 assert_equals: rangeCount must be 1 expected 1 but got 0
-FAIL Range 13 [foreignPara1.firstChild, 2, foreignPara1.firstChild, 8] followed by Range 42 [foreignDoc.body, 0, foreignTextNode, 36]: 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
-FAIL Range 13 [foreignPara1.firstChild, 2, foreignPara1.firstChild, 8] 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_not_equals: Cannot proceed with tests if rangeCount is 0 got disallowed value 0
-FAIL Range 13 [foreignPara1.firstChild, 2, foreignPara1.firstChild, 8] followed by Range 42 [foreignDoc.body, 0, foreignTextNode, 36]: modifying the first added range must modify the Selection's last Range assert_not_equals: Cannot proceed with tests if rangeCount is 0 got disallowed value 0
-FAIL Range 13 [foreignPara1.firstChild, 2, foreignPara1.firstChild, 8] followed by Range 42 [foreignDoc.body, 0, foreignTextNode, 36]: 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 13 [foreignPara1.firstChild, 2, foreignPara1.firstChild, 8] followed by Range 42 [foreignDoc.body, 0, foreignTextNode, 36]: second addRange() must not throw exceptions or modify the range it's given
-FAIL Range 13 [foreignPara1.firstChild, 2, foreignPara1.firstChild, 8] followed by Range 42 [foreignDoc.body, 0, foreignTextNode, 36]: second addRange() must result in rangeCount being 1 assert_equals: rangeCount must be 1 expected 1 but got 0
-FAIL Range 13 [foreignPara1.firstChild, 2, foreignPara1.firstChild, 8] followed by Range 42 [foreignDoc.body, 0, foreignTextNode, 36]: second 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
-FAIL Range 13 [foreignPara1.firstChild, 2, foreignPara1.firstChild, 8] 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_not_equals: Cannot proceed with tests if rangeCount is 0 got disallowed value 0
-FAIL Range 13 [foreignPara1.firstChild, 2, foreignPara1.firstChild, 8] followed by Range 42 [foreignDoc.body, 0, foreignTextNode, 36]: modifying the second added range must modify the Selection's last Range assert_not_equals: Cannot proceed with tests if rangeCount is 0 got disallowed value 0
-FAIL Range 13 [foreignPara1.firstChild, 2, foreignPara1.firstChild, 8] followed by Range 42 [foreignDoc.body, 0, foreignTextNode, 36]: modifying the Selection's last Range must modify the second added Range assert_not_equals: Cannot proceed with tests if rangeCount is 0 got disallowed value 0
-PASS Range 13 [foreignPara1.firstChild, 2, foreignPara1.firstChild, 8] followed by Range 43 [xmlDoc, 0, xmlDoc, 0]: first addRange() must not throw exceptions or modify the range it's given
-FAIL Range 13 [foreignPara1.firstChild, 2, foreignPara1.firstChild, 8] followed by Range 43 [xmlDoc, 0, xmlDoc, 0]: first addRange() must result in rangeCount being 1 assert_equals: rangeCount must be 1 expected 1 but got 0
-FAIL Range 13 [foreignPara1.firstChild, 2, foreignPara1.firstChild, 8] followed by Range 43 [xmlDoc, 0, xmlDoc, 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
-FAIL Range 13 [foreignPara1.firstChild, 2, foreignPara1.firstChild, 8] 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_not_equals: Cannot proceed with tests if rangeCount is 0 got disallowed value 0
-FAIL Range 13 [foreignPara1.firstChild, 2, foreignPara1.firstChild, 8] followed by Range 43 [xmlDoc, 0, xmlDoc, 0]: modifying the first added range must modify the Selection's last Range assert_not_equals: Cannot proceed with tests if rangeCount is 0 got disallowed value 0
-FAIL Range 13 [foreignPara1.firstChild, 2, foreignPara1.firstChild, 8] followed by Range 43 [xmlDoc, 0, xmlDoc, 0]: 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 13 [foreignPara1.firstChild, 2, foreignPara1.firstChild, 8] followed by Range 43 [xmlDoc, 0, xmlDoc, 0]: second addRange() must not throw exceptions or modify the range it's given
-FAIL Range 13 [foreignPara1.firstChild, 2, foreignPara1.firstChild, 8] followed by Range 43 [xmlDoc, 0, xmlDoc, 0]: second addRange() must result in rangeCount being 1 assert_equals: rangeCount must be 1 expected 1 but got 0
-FAIL Range 13 [foreignPara1.firstChild, 2, foreignPara1.firstChild, 8] followed by Range 43 [xmlDoc, 0, xmlDoc, 0]: second 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
-FAIL Range 13 [foreignPara1.firstChild, 2, foreignPara1.firstChild, 8] 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_not_equals: Cannot proceed with tests if rangeCount is 0 got disallowed value 0
-FAIL Range 13 [foreignPara1.firstChild, 2, foreignPara1.firstChild, 8] followed by Range 43 [xmlDoc, 0, xmlDoc, 0]: modifying the second added range must modify the Selection's last Range assert_not_equals: Cannot proceed with tests if rangeCount is 0 got disallowed value 0
-FAIL Range 13 [foreignPara1.firstChild, 2, foreignPara1.firstChild, 8] followed by Range 43 [xmlDoc, 0, xmlDoc, 0]: modifying the Selection's last Range must modify the second added Range assert_not_equals: Cannot proceed with tests if rangeCount is 0 got disallowed value 0
-PASS Range 13 [foreignPara1.firstChild, 2, foreignPara1.firstChild, 8] followed by Range 44 [xmlDoc, 1, xmlComment, 0]: first addRange() must not throw exceptions or modify the range it's given
-FAIL Range 13 [foreignPara1.firstChild, 2, foreignPara1.firstChild, 8] followed by Range 44 [xmlDoc, 1, xmlComment, 0]: first addRange() must result in rangeCount being 1 assert_equals: rangeCount must be 1 expected 1 but got 0
-FAIL Range 13 [foreignPara1.firstChild, 2, foreignPara1.firstChild, 8] followed by Range 44 [xmlDoc, 1, xmlComment, 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
-FAIL Range 13 [foreignPara1.firstChild, 2, foreignPara1.firstChild, 8] 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_not_equals: Cannot proceed with tests if rangeCount is 0 got disallowed value 0
-FAIL Range 13 [foreignPara1.firstChild, 2, foreignPara1.firstChild, 8] followed by Range 44 [xmlDoc, 1, xmlComment, 0]: modifying the first added range must modify the Selection's last Range assert_not_equals: Cannot proceed with tests if rangeCount is 0 got disallowed value 0
-FAIL Range 13 [foreignPara1.firstChild, 2, foreignPara1.firstChild, 8] followed by Range 44 [xmlDoc, 1, xmlComment, 0]: 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 13 [foreignPara1.firstChild, 2, foreignPara1.firstChild, 8] followed by Range 44 [xmlDoc, 1, xmlComment, 0]: second addRange() must not throw exceptions or modify the range it's given
-FAIL Range 13 [foreignPara1.firstChild, 2, foreignPara1.firstChild, 8] followed by Range 44 [xmlDoc, 1, xmlComment, 0]: second addRange() must result in rangeCount being 1 assert_equals: rangeCount must be 1 expected 1 but got 0
-FAIL Range 13 [foreignPara1.firstChild, 2, foreignPara1.firstChild, 8] followed by Range 44 [xmlDoc, 1, xmlComment, 0]: second 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
-FAIL Range 13 [foreignPara1.firstChild, 2, foreignPara1.firstChild, 8] 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_not_equals: Cannot proceed with tests if rangeCount is 0 got disallowed value 0
-FAIL Range 13 [foreignPara1.firstChild, 2, foreignPara1.firstChild, 8] followed by Range 44 [xmlDoc, 1, xmlComment, 0]: modifying the second added range must modify the Selection's last Range assert_not_equals: Cannot proceed with tests if rangeCount is 0 got disallowed value 0
-FAIL Range 13 [foreignPara1.firstChild, 2, foreignPara1.firstChild, 8] followed by Range 44 [xmlDoc, 1, xmlComment, 0]: modifying the Selection's last Range must modify the second added Range assert_not_equals: Cannot proceed with tests if rangeCount is 0 got disallowed value 0
-PASS Range 13 [foreignPara1.firstChild, 2, foreignPara1.firstChild, 8] followed by Range 45 [detachedTextNode, 0, detachedTextNode, 8]: first addRange() must not throw exceptions or modify the range it's given
-FAIL Range 13 [foreignPara1.firstChild, 2, foreignPara1.firstChild, 8] followed by Range 45 [detachedTextNode, 0, detachedTextNode, 8]: first addRange() must result in rangeCount being 1 assert_equals: rangeCount must be 1 expected 1 but got 0
-FAIL Range 13 [foreignPara1.firstChild, 2, foreignPara1.firstChild, 8] followed by Range 45 [detachedTextNode, 0, detachedTextNode, 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
-FAIL Range 13 [foreignPara1.firstChild, 2, foreignPara1.firstChild, 8] 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_not_equals: Cannot proceed with tests if rangeCount is 0 got disallowed value 0
-FAIL Range 13 [foreignPara1.firstChild, 2, foreignPara1.firstChild, 8] followed by Range 45 [detachedTextNode, 0, detachedTextNode, 8]: modifying the first added range must modify the Selection's last Range assert_not_equals: Cannot proceed with tests if rangeCount is 0 got disallowed value 0
-FAIL Range 13 [foreignPara1.firstChild, 2, foreignPara1.firstChild, 8] followed by Range 45 [detachedTextNode, 0, detachedTextNode, 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 13 [foreignPara1.firstChild, 2, foreignPara1.firstChild, 8] followed by Range 45 [detachedTextNode, 0, detachedTextNode, 8]: second addRange() must not throw exceptions or modify the range it's given
-FAIL Range 13 [foreignPara1.firstChild, 2, foreignPara1.firstChild, 8] followed by Range 45 [detachedTextNode, 0, detachedTextNode, 8]: second addRange() must result in rangeCount being 1 assert_equals: rangeCount must be 1 expected 1 but got 0
-FAIL Range 13 [foreignPara1.firstChild, 2, foreignPara1.firstChild, 8] followed by Range 45 [detachedTextNode, 0, detachedTextNode, 8]: second 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
-FAIL Range 13 [foreignPara1.firstChild, 2, foreignPara1.firstChild, 8] 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_not_equals: Cannot proceed with tests if rangeCount is 0 got disallowed value 0
-FAIL Range 13 [foreignPara1.firstChild, 2, foreignPara1.firstChild, 8] followed by Range 45 [detachedTextNode, 0, detachedTextNode, 8]: modifying the second added range must modify the Selection's last Range assert_not_equals: Cannot proceed with tests if rangeCount is 0 got disallowed value 0
-FAIL Range 13 [foreignPara1.firstChild, 2, foreignPara1.firstChild, 8] followed by Range 45 [detachedTextNode, 0, detachedTextNode, 8]: modifying the Selection's last Range must modify the second added Range assert_not_equals: Cannot proceed with tests if rangeCount is 0 got disallowed value 0
-PASS Range 13 [foreignPara1.firstChild, 2, foreignPara1.firstChild, 8] followed by Range 46 [detachedForeignTextNode, 7, detachedForeignTextNode, 7]: first addRange() must not throw exceptions or modify the range it's given
-FAIL Range 13 [foreignPara1.firstChild, 2, foreignPara1.firstChild, 8] followed by Range 46 [detachedForeignTextNode, 7, detachedForeignTextNode, 7]: first addRange() must result in rangeCount being 1 assert_equals: rangeCount must be 1 expected 1 but got 0
-FAIL Range 13 [foreignPara1.firstChild, 2, foreignPara1.firstChild, 8] followed by Range 46 [detachedForeignTextNode, 7, detachedForeignTextNode, 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
-FAIL Range 13 [foreignPara1.firstChild, 2, foreignPara1.firstChild, 8] 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_not_equals: Cannot proceed with tests if rangeCount is 0 got disallowed value 0
-FAIL Range 13 [foreignPara1.firstChild, 2, foreignPara1.firstChild, 8] followed by Range 46 [detachedForeignTextNode, 7, detachedForeignTextNode, 7]: modifying the first added range must modify the Selection's last Range assert_not_equals: Cannot proceed with tests if rangeCount is 0 got disallowed value 0
-FAIL Range 13 [foreignPara1.firstChild, 2, foreignPara1.firstChild, 8] followed by Range 46 [detachedForeignTextNode, 7, detachedForeignTextNode, 7]: 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 13 [foreignPara1.firstChild, 2, foreignPara1.firstChild, 8] followed by Range 46 [detachedForeignTextNode, 7, detachedForeignTextNode, 7]: second addRange() must not throw exceptions or modify the range it's given
-FAIL Range 13 [foreignPara1.firstChild, 2, foreignPara1.firstChild, 8] followed by Range 46 [detachedForeignTextNode, 7, detachedForeignTextNode, 7]: second addRange() must result in rangeCount being 1 assert_equals: rangeCount must be 1 expected 1 but got 0
-FAIL Range 13 [foreignPara1.firstChild, 2, foreignPara1.firstChild, 8] followed by Range 46 [detachedForeignTextNode, 7, detachedForeignTextNode, 7]: second 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
-FAIL Range 13 [foreignPara1.firstChild, 2, foreignPara1.firstChild, 8] 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_not_equals: Cannot proceed with tests if rangeCount is 0 got disallowed value 0
-FAIL Range 13 [foreignPara1.firstChild, 2, foreignPara1.firstChild, 8] followed by Range 46 [detachedForeignTextNode, 7, detachedForeignTextNode, 7]: modifying the second added range must modify the Selection's last Range assert_not_equals: Cannot proceed with tests if rangeCount is 0 got disallowed value 0
-FAIL Range 13 [foreignPara1.firstChild, 2, foreignPara1.firstChild, 8] followed by Range 46 [detachedForeignTextNode, 7, detachedForeignTextNode, 7]: modifying the Selection's last Range must modify the second added Range assert_not_equals: Cannot proceed with tests if rangeCount is 0 got disallowed value 0
-PASS Range 13 [foreignPara1.firstChild, 2, foreignPara1.firstChild, 8] followed by Range 47 [detachedForeignTextNode, 0, detachedForeignTextNode, 8]: first addRange() must not throw exceptions or modify the range it's given
-FAIL Range 13 [foreignPara1.firstChild, 2, foreignPara1.firstChild, 8] followed by Range 47 [detachedForeignTextNode, 0, detachedForeignTextNode, 8]: first addRange() must result in rangeCount being 1 assert_equals: rangeCount must be 1 expected 1 but got 0
-FAIL Range 13 [foreignPara1.firstChild, 2, foreignPara1.firstChild, 8] followed by Range 47 [detachedForeignTextNode, 0, detachedForeignTextNode, 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
-FAIL Range 13 [foreignPara1.firstChild, 2, foreignPara1.firstChild, 8] 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_not_equals: Cannot proceed with tests if rangeCount is 0 got disallowed value 0
-FAIL Range 13 [foreignPara1.firstChild, 2, foreignPara1.firstChild, 8] followed by Range 47 [detachedForeignTextNode, 0, detachedForeignTextNode, 8]: modifying the first added range must modify the Selection's last Range assert_not_equals: Cannot proceed with tests if rangeCount is 0 got disallowed value 0
-FAIL Range 13 [foreignPara1.firstChild, 2, foreignPara1.firstChild, 8] followed by Range 47 [detachedForeignTextNode, 0, detachedForeignTextNode, 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 13 [foreignPara1.firstChild, 2, foreignPara1.firstChild, 8] followed by Range 47 [detachedForeignTextNode, 0, detachedForeignTextNode, 8]: second addRange() must not throw exceptions or modify the range it's given
-FAIL Range 13 [foreignPara1.firstChild, 2, foreignPara1.firstChild, 8] followed by Range 47 [detachedForeignTextNode, 0, detachedForeignTextNode, 8]: second addRange() must result in rangeCount being 1 assert_equals: rangeCount must be 1 expected 1 but got 0
-FAIL Range 13 [foreignPara1.firstChild, 2, foreignPara1.firstChild, 8] followed by Range 47 [detachedForeignTextNode, 0, detachedForeignTextNode, 8]: second 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
-FAIL Range 13 [foreignPara1.firstChild, 2, foreignPara1.firstChild, 8] 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_not_equals: Cannot proceed with tests if rangeCount is 0 got disallowed value 0
-FAIL Range 13 [foreignPara1.firstChild, 2, foreignPara1.firstChild, 8] followed by Range 47 [detachedForeignTextNode, 0, detachedForeignTextNode, 8]: modifying the second added range must modify the Selection's last Range assert_not_equals: Cannot proceed with tests if rangeCount is 0 got disallowed value 0
-FAIL Range 13 [foreignPara1.firstChild, 2, foreignPara1.firstChild, 8] followed by Range 47 [detachedForeignTextNode, 0, detachedForeignTextNode, 8]: modifying the Selection's last Range must modify the second added Range assert_not_equals: Cannot proceed with tests if rangeCount is 0 got disallowed value 0
-PASS Range 13 [foreignPara1.firstChild, 2, foreignPara1.firstChild, 8] followed by Range 48 [detachedXmlTextNode, 7, detachedXmlTextNode, 7]: first addRange() must not throw exceptions or modify the range it's given
-FAIL Range 13 [foreignPara1.firstChild, 2, foreignPara1.firstChild, 8] followed by Range 48 [detachedXmlTextNode, 7, detachedXmlTextNode, 7]: first addRange() must result in rangeCount being 1 assert_equals: rangeCount must be 1 expected 1 but got 0
-FAIL Range 13 [foreignPara1.firstChild, 2, foreignPara1.firstChild, 8] followed by Range 48 [detachedXmlTextNode, 7, detachedXmlTextNode, 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
-FAIL Range 13 [foreignPara1.firstChild, 2, foreignPara1.firstChild, 8] 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_not_equals: Cannot proceed with tests if rangeCount is 0 got disallowed value 0
-FAIL Range 13 [foreignPara1.firstChild, 2, foreignPara1.firstChild, 8] followed by Range 48 [detachedXmlTextNode, 7, detachedXmlTextNode, 7]: modifying the first added range must modify the Selection's last Range assert_not_equals: Cannot proceed with tests if rangeCount is 0 got disallowed value 0
-FAIL Range 13 [foreignPara1.firstChild, 2, foreignPara1.firstChild, 8] followed by Range 48 [detachedXmlTextNode, 7, detachedXmlTextNode, 7]: 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 13 [foreignPara1.firstChild, 2, foreignPara1.firstChild, 8] followed by Range 48 [detachedXmlTextNode, 7, detachedXmlTextNode, 7]: second addRange() must not throw exceptions or modify the range it's given
-FAIL Range 13 [foreignPara1.firstChild, 2, foreignPara1.firstChild, 8] followed by Range 48 [detachedXmlTextNode, 7, detachedXmlTextNode, 7]: second addRange() must result in rangeCount being 1 assert_equals: rangeCount must be 1 expected 1 but got 0
-FAIL Range 13 [foreignPara1.firstChild, 2, foreignPara1.firstChild, 8] followed by Range 48 [detachedXmlTextNode, 7, detachedXmlTextNode, 7]: second 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
-FAIL Range 13 [foreignPara1.firstChild, 2, foreignPara1.firstChild, 8] 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_not_equals: Cannot proceed with tests if rangeCount is 0 got disallowed value 0
-FAIL Range 13 [foreignPara1.firstChild, 2, foreignPara1.firstChild, 8] followed by Range 48 [detachedXmlTextNode, 7, detachedXmlTextNode, 7]: modifying the second added range must modify the Selection's last Range assert_not_equals: Cannot proceed with tests if rangeCount is 0 got disallowed value 0
-FAIL Range 13 [foreignPara1.firstChild, 2, foreignPara1.firstChild, 8] followed by Range 48 [detachedXmlTextNode, 7, detachedXmlTextNode, 7]: modifying the Selection's last Range must modify the second added Range assert_not_equals: Cannot proceed with tests if rangeCount is 0 got disallowed value 0
-PASS Range 13 [foreignPara1.firstChild, 2, foreignPara1.firstChild, 8] followed by Range 49 [detachedXmlTextNode, 0, detachedXmlTextNode, 8]: first addRange() must not throw exceptions or modify the range it's given
-FAIL Range 13 [foreignPara1.firstChild, 2, foreignPara1.firstChild, 8] followed by Range 49 [detachedXmlTextNode, 0, detachedXmlTextNode, 8]: first addRange() must result in rangeCount being 1 assert_equals: rangeCount must be 1 expected 1 but got 0
-FAIL Range 13 [foreignPara1.firstChild, 2, foreignPara1.firstChild, 8] followed by Range 49 [detachedXmlTextNode, 0, detachedXmlTextNode, 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
-FAIL Range 13 [foreignPara1.firstChild, 2, foreignPara1.firstChild, 8] 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_not_equals: Cannot proceed with tests if rangeCount is 0 got disallowed value 0
-FAIL Range 13 [foreignPara1.firstChild, 2, foreignPara1.firstChild, 8] followed by Range 49 [detachedXmlTextNode, 0, detachedXmlTextNode, 8]: modifying the first added range must modify the Selection's last Range assert_not_equals: Cannot proceed with tests if rangeCount is 0 got disallowed value 0
-FAIL Range 13 [foreignPara1.firstChild, 2, foreignPara1.firstChild, 8] followed by Range 49 [detachedXmlTextNode, 0, detachedXmlTextNode, 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 13 [foreignPara1.firstChild, 2, foreignPara1.firstChild, 8] followed by Range 49 [detachedXmlTextNode, 0, detachedXmlTextNode, 8]: second addRange() must not throw exceptions or modify the range it's given
-FAIL Range 13 [foreignPara1.firstChild, 2, foreignPara1.firstChild, 8] followed by Range 49 [detachedXmlTextNode, 0, detachedXmlTextNode, 8]: second addRange() must result in rangeCount being 1 assert_equals: rangeCount must be 1 expected 1 but got 0
-FAIL Range 13 [foreignPara1.firstChild, 2, foreignPara1.firstChild, 8] followed by Range 49 [detachedXmlTextNode, 0, detachedXmlTextNode, 8]: second 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
-FAIL Range 13 [foreignPara1.firstChild, 2, foreignPara1.firstChild, 8] 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_not_equals: Cannot proceed with tests if rangeCount is 0 got disallowed value 0
-FAIL Range 13 [foreignPara1.firstChild, 2, foreignPara1.firstChild, 8] followed by Range 49 [detachedXmlTextNode, 0, detachedXmlTextNode, 8]: modifying the second added range must modify the Selection's last Range assert_not_equals: Cannot proceed with tests if rangeCount is 0 got disallowed value 0
-FAIL Range 13 [foreignPara1.firstChild, 2, foreignPara1.firstChild, 8] followed by Range 49 [detachedXmlTextNode, 0, detachedXmlTextNode, 8]: modifying the Selection's last Range must modify the second added Range assert_not_equals: Cannot proceed with tests if rangeCount is 0 got disallowed value 0
-PASS Range 13 [foreignPara1.firstChild, 2, foreignPara1.firstChild, 8] followed by Range 50 [detachedComment, 3, detachedComment, 4]: first addRange() must not throw exceptions or modify the range it's given
-FAIL Range 13 [foreignPara1.firstChild, 2, foreignPara1.firstChild, 8] followed by Range 50 [detachedComment, 3, detachedComment, 4]: first addRange() must result in rangeCount being 1 assert_equals: rangeCount must be 1 expected 1 but got 0
-FAIL Range 13 [foreignPara1.firstChild, 2, foreignPara1.firstChild, 8] followed by Range 50 [detachedComment, 3, detachedComment, 4]: 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
-FAIL Range 13 [foreignPara1.firstChild, 2, foreignPara1.firstChild, 8] 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_not_equals: Cannot proceed with tests if rangeCount is 0 got disallowed value 0
-FAIL Range 13 [foreignPara1.firstChild, 2, foreignPara1.firstChild, 8] followed by Range 50 [detachedComment, 3, detachedComment, 4]: modifying the first added range must modify the Selection's last Range assert_not_equals: Cannot proceed with tests if rangeCount is 0 got disallowed value 0
-FAIL Range 13 [foreignPara1.firstChild, 2, foreignPara1.firstChild, 8] followed by Range 50 [detachedComment, 3, detachedComment, 4]: 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 13 [foreignPara1.firstChild, 2, foreignPara1.firstChild, 8] followed by Range 50 [detachedComment, 3, detachedComment, 4]: second addRange() must not throw exceptions or modify the range it's given
-FAIL Range 13 [foreignPara1.firstChild, 2, foreignPara1.firstChild, 8] followed by Range 50 [detachedComment, 3, detachedComment, 4]: second addRange() must result in rangeCount being 1 assert_equals: rangeCount must be 1 expected 1 but got 0
-FAIL Range 13 [foreignPara1.firstChild, 2, foreignPara1.firstChild, 8] followed by Range 50 [detachedComment, 3, detachedComment, 4]: second 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
-FAIL Range 13 [foreignPara1.firstChild, 2, foreignPara1.firstChild, 8] 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_not_equals: Cannot proceed with tests if rangeCount is 0 got disallowed value 0
-FAIL Range 13 [foreignPara1.firstChild, 2, foreignPara1.firstChild, 8] followed by Range 50 [detachedComment, 3, detachedComment, 4]: modifying the second added range must modify the Selection's last Range assert_not_equals: Cannot proceed with tests if rangeCount is 0 got disallowed value 0
-FAIL Range 13 [foreignPara1.firstChild, 2, foreignPara1.firstChild, 8] followed by Range 50 [detachedComment, 3, detachedComment, 4]: modifying the Selection's last Range must modify the second added Range assert_not_equals: Cannot proceed with tests if rangeCount is 0 got disallowed value 0
-PASS Range 13 [foreignPara1.firstChild, 2, foreignPara1.firstChild, 8] followed by Range 51 [detachedComment, 5, detachedComment, 5]: first addRange() must not throw exceptions or modify the range it's given
-FAIL Range 13 [foreignPara1.firstChild, 2, foreignPara1.firstChild, 8] followed by Range 51 [detachedComment, 5, detachedComment, 5]: first addRange() must result in rangeCount being 1 assert_equals: rangeCount must be 1 expected 1 but got 0
-FAIL Range 13 [foreignPara1.firstChild, 2, foreignPara1.firstChild, 8] followed by Range 51 [detachedComment, 5, detachedComment, 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
-FAIL Range 13 [foreignPara1.firstChild, 2, foreignPara1.firstChild, 8] 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_not_equals: Cannot proceed with tests if rangeCount is 0 got disallowed value 0
-FAIL Range 13 [foreignPara1.firstChild, 2, foreignPara1.firstChild, 8] followed by Range 51 [detachedComment, 5, detachedComment, 5]: modifying the first added range must modify the Selection's last Range assert_not_equals: Cannot proceed with tests if rangeCount is 0 got disallowed value 0
-FAIL Range 13 [foreignPara1.firstChild, 2, foreignPara1.firstChild, 8] followed by Range 51 [detachedComment, 5, detachedComment, 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 13 [foreignPara1.firstChild, 2, foreignPara1.firstChild, 8] followed by Range 51 [detachedComment, 5, detachedComment, 5]: second addRange() must not throw exceptions or modify the range it's given
-FAIL Range 13 [foreignPara1.firstChild, 2, foreignPara1.firstChild, 8] followed by Range 51 [detachedComment, 5, detachedComment, 5]: second addRange() must result in rangeCount being 1 assert_equals: rangeCount must be 1 expected 1 but got 0
-FAIL Range 13 [foreignPara1.firstChild, 2, foreignPara1.firstChild, 8] followed by Range 51 [detachedComment, 5, detachedComment, 5]: second 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
-FAIL Range 13 [foreignPara1.firstChild, 2, foreignPara1.firstChild, 8] 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_not_equals: Cannot proceed with tests if rangeCount is 0 got disallowed value 0
-FAIL Range 13 [foreignPara1.firstChild, 2, foreignPara1.firstChild, 8] followed by Range 51 [detachedComment, 5, detachedComment, 5]: modifying the second added range must modify the Selection's last Range assert_not_equals: Cannot proceed with tests if rangeCount is 0 got disallowed value 0
-FAIL Range 13 [foreignPara1.firstChild, 2, foreignPara1.firstChild, 8] followed by Range 51 [detachedComment, 5, detachedComment, 5]: modifying the Selection's last Range must modify the second added Range assert_not_equals: Cannot proceed with tests if rangeCount is 0 got disallowed value 0
-PASS Range 13 [foreignPara1.firstChild, 2, foreignPara1.firstChild, 8] followed by Range 52 [detachedForeignComment, 0, detachedForeignComment, 1]: first addRange() must not throw exceptions or modify the range it's given
-FAIL Range 13 [foreignPara1.firstChild, 2, foreignPara1.firstChild, 8] followed by Range 52 [detachedForeignComment, 0, detachedForeignComment, 1]: first addRange() must result in rangeCount being 1 assert_equals: rangeCount must be 1 expected 1 but got 0
-FAIL Range 13 [foreignPara1.firstChild, 2, foreignPara1.firstChild, 8] followed by Range 52 [detachedForeignComment, 0, detachedForeignComment, 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
-FAIL Range 13 [foreignPara1.firstChild, 2, foreignPara1.firstChild, 8] 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_not_equals: Cannot proceed with tests if rangeCount is 0 got disallowed value 0
-FAIL Range 13 [foreignPara1.firstChild, 2, foreignPara1.firstChild, 8] followed by Range 52 [detachedForeignComment, 0, detachedForeignComment, 1]: modifying the first added range must modify the Selection's last Range assert_not_equals: Cannot proceed with tests if rangeCount is 0 got disallowed value 0
-FAIL Range 13 [foreignPara1.firstChild, 2, foreignPara1.firstChild, 8] followed by Range 52 [detachedForeignComment, 0, detachedForeignComment, 1]: 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 13 [foreignPara1.firstChild, 2, foreignPara1.firstChild, 8] followed by Range 52 [detachedForeignComment, 0, detachedForeignComment, 1]: second addRange() must not throw exceptions or modify the range it's given
-FAIL Range 13 [foreignPara1.firstChild, 2, foreignPara1.firstChild, 8] followed by Range 52 [detachedForeignComment, 0, detachedForeignComment, 1]: second addRange() must result in rangeCount being 1 assert_equals: rangeCount must be 1 expected 1 but got 0
-FAIL Range 13 [foreignPara1.firstChild, 2, foreignPara1.firstChild, 8] followed by Range 52 [detachedForeignComment, 0, detachedForeignComment, 1]: second 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
-FAIL Range 13 [foreignPara1.firstChild, 2, foreignPara1.firstChild, 8] 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_not_equals: Cannot proceed with tests if rangeCount is 0 got disallowed value 0
-FAIL Range 13 [foreignPara1.firstChild, 2, foreignPara1.firstChild, 8] followed by Range 52 [detachedForeignComment, 0, detachedForeignComment, 1]: modifying the second added range must modify the Selection's last Range assert_not_equals: Cannot proceed with tests if rangeCount is 0 got disallowed value 0
-FAIL Range 13 [foreignPara1.firstChild, 2, foreignPara1.firstChild, 8] followed by Range 52 [detachedForeignComment, 0, detachedForeignComment, 1]: modifying the Selection's last Range must modify the second added Range assert_not_equals: Cannot proceed with tests if rangeCount is 0 got disallowed value 0
-PASS Range 13 [foreignPara1.firstChild, 2, foreignPara1.firstChild, 8] followed by Range 53 [detachedForeignComment, 4, detachedForeignComment, 4]: first addRange() must not throw exceptions or modify the range it's given
-FAIL Range 13 [foreignPara1.firstChild, 2, foreignPara1.firstChild, 8] followed by Range 53 [detachedForeignComment, 4, detachedForeignComment, 4]: first addRange() must result in rangeCount being 1 assert_equals: rangeCount must be 1 expected 1 but got 0
-FAIL Range 13 [foreignPara1.firstChild, 2, foreignPara1.firstChild, 8] followed by Range 53 [detachedForeignComment, 4, detachedForeignComment, 4]: 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
-FAIL Range 13 [foreignPara1.firstChild, 2, foreignPara1.firstChild, 8] 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_not_equals: Cannot proceed with tests if rangeCount is 0 got disallowed value 0
-FAIL Range 13 [foreignPara1.firstChild, 2, foreignPara1.firstChild, 8] followed by Range 53 [detachedForeignComment, 4, detachedForeignComment, 4]: modifying the first added range must modify the Selection's last Range assert_not_equals: Cannot proceed with tests if rangeCount is 0 got disallowed value 0
-FAIL Range 13 [foreignPara1.firstChild, 2, foreignPara1.firstChild, 8] followed by Range 53 [detachedForeignComment, 4, detachedForeignComment, 4]: 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 13 [foreignPara1.firstChild, 2, foreignPara1.firstChild, 8] followed by Range 53 [detachedForeignComment, 4, detachedForeignComment, 4]: second addRange() must not throw exceptions or modify the range it's given
-FAIL Range 13 [foreignPara1.firstChild, 2, foreignPara1.firstChild, 8] followed by Range 53 [detachedForeignComment, 4, detachedForeignComment, 4]: second addRange() must result in rangeCount being 1 assert_equals: rangeCount must be 1 expected 1 but got 0
-FAIL Range 13 [foreignPara1.firstChild, 2, foreignPara1.firstChild, 8] followed by Range 53 [detachedForeignComment, 4, detachedForeignComment, 4]: second 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
-FAIL Range 13 [foreignPara1.firstChild, 2, foreignPara1.firstChild, 8] 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_not_equals: Cannot proceed with tests if rangeCount is 0 got disallowed value 0
-FAIL Range 13 [foreignPara1.firstChild, 2, foreignPara1.firstChild, 8] followed by Range 53 [detachedForeignComment, 4, detachedForeignComment, 4]: modifying the second added range must modify the Selection's last Range assert_not_equals: Cannot proceed with tests if rangeCount is 0 got disallowed value 0
-FAIL Range 13 [foreignPara1.firstChild, 2, foreignPara1.firstChild, 8] followed by Range 53 [detachedForeignComment, 4, detachedForeignComment, 4]: modifying the Selection's last Range must modify the second added Range assert_not_equals: Cannot proceed with tests if rangeCount is 0 got disallowed value 0
-PASS Range 13 [foreignPara1.firstChild, 2, foreignPara1.firstChild, 8] followed by Range 54 [detachedXmlComment, 2, detachedXmlComment, 6]: first addRange() must not throw exceptions or modify the range it's given
-FAIL Range 13 [foreignPara1.firstChild, 2, foreignPara1.firstChild, 8] followed by Range 54 [detachedXmlComment, 2, detachedXmlComment, 6]: first addRange() must result in rangeCount being 1 assert_equals: rangeCount must be 1 expected 1 but got 0
-FAIL Range 13 [foreignPara1.firstChild, 2, foreignPara1.firstChild, 8] followed by Range 54 [detachedXmlComment, 2, detachedXmlComment, 6]: 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
-FAIL Range 13 [foreignPara1.firstChild, 2, foreignPara1.firstChild, 8] 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_not_equals: Cannot proceed with tests if rangeCount is 0 got disallowed value 0
-FAIL Range 13 [foreignPara1.firstChild, 2, foreignPara1.firstChild, 8] followed by Range 54 [detachedXmlComment, 2, detachedXmlComment, 6]: modifying the first added range must modify the Selection's last Range assert_not_equals: Cannot proceed with tests if rangeCount is 0 got disallowed value 0
-FAIL Range 13 [foreignPara1.firstChild, 2, foreignPara1.firstChild, 8] followed by Range 54 [detachedXmlComment, 2, detachedXmlComment, 6]: 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 13 [foreignPara1.firstChild, 2, foreignPara1.firstChild, 8] followed by Range 54 [detachedXmlComment, 2, detachedXmlComment, 6]: second addRange() must not throw exceptions or modify the range it's given
-FAIL Range 13 [foreignPara1.firstChild, 2, foreignPara1.firstChild, 8] followed by Range 54 [detachedXmlComment, 2, detachedXmlComment, 6]: second addRange() must result in rangeCount being 1 assert_equals: rangeCount must be 1 expected 1 but got 0
-FAIL Range 13 [foreignPara1.firstChild, 2, foreignPara1.firstChild, 8] followed by Range 54 [detachedXmlComment, 2, detachedXmlComment, 6]: second 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
-FAIL Range 13 [foreignPara1.firstChild, 2, foreignPara1.firstChild, 8] 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_not_equals: Cannot proceed with tests if rangeCount is 0 got disallowed value 0
-FAIL Range 13 [foreignPara1.firstChild, 2, foreignPara1.firstChild, 8] followed by Range 54 [detachedXmlComment, 2, detachedXmlComment, 6]: modifying the second added range must modify the Selection's last Range assert_not_equals: Cannot proceed with tests if rangeCount is 0 got disallowed value 0
-FAIL Range 13 [foreignPara1.firstChild, 2, foreignPara1.firstChild, 8] followed by Range 54 [detachedXmlComment, 2, detachedXmlComment, 6]: modifying the Selection's last Range must modify the second added Range assert_not_equals: Cannot proceed with tests if rangeCount is 0 got disallowed value 0
-PASS Range 13 [foreignPara1.firstChild, 2, foreignPara1.firstChild, 8] followed by Range 55 [docfrag, 0, docfrag, 0]: first addRange() must not throw exceptions or modify the range it's given
-FAIL Range 13 [foreignPara1.firstChild, 2, foreignPara1.firstChild, 8] followed by Range 55 [docfrag, 0, docfrag, 0]: first addRange() must result in rangeCount being 1 assert_equals: rangeCount must be 1 expected 1 but got 0
-FAIL Range 13 [foreignPara1.firstChild, 2, foreignPara1.firstChild, 8] followed by Range 55 [docfrag, 0, docfrag, 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
-FAIL Range 13 [foreignPara1.firstChild, 2, foreignPara1.firstChild, 8] 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_not_equals: Cannot proceed with tests if rangeCount is 0 got disallowed value 0
-FAIL Range 13 [foreignPara1.firstChild, 2, foreignPara1.firstChild, 8] followed by Range 55 [docfrag, 0, docfrag, 0]: modifying the first added range must modify the Selection's last Range assert_not_equals: Cannot proceed with tests if rangeCount is 0 got disallowed value 0
-FAIL Range 13 [foreignPara1.firstChild, 2, foreignPara1.firstChild, 8] followed by Range 55 [docfrag, 0, docfrag, 0]: 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 13 [foreignPara1.firstChild, 2, foreignPara1.firstChild, 8] followed by Range 55 [docfrag, 0, docfrag, 0]: second addRange() must not throw exceptions or modify the range it's given
-FAIL Range 13 [foreignPara1.firstChild, 2, foreignPara1.firstChild, 8] followed by Range 55 [docfrag, 0, docfrag, 0]: second addRange() must result in rangeCount being 1 assert_equals: rangeCount must be 1 expected 1 but got 0
-FAIL Range 13 [foreignPara1.firstChild, 2, foreignPara1.firstChild, 8] followed by Range 55 [docfrag, 0, docfrag, 0]: second 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
-FAIL Range 13 [foreignPara1.firstChild, 2, foreignPara1.firstChild, 8] 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_not_equals: Cannot proceed with tests if rangeCount is 0 got disallowed value 0
-FAIL Range 13 [foreignPara1.firstChild, 2, foreignPara1.firstChild, 8] followed by Range 55 [docfrag, 0, docfrag, 0]: modifying the second added range must modify the Selection's last Range assert_not_equals: Cannot proceed with tests if rangeCount is 0 got disallowed value 0
-FAIL Range 13 [foreignPara1.firstChild, 2, foreignPara1.firstChild, 8] followed by Range 55 [docfrag, 0, docfrag, 0]: modifying the Selection's last Range must modify the second added Range assert_not_equals: Cannot proceed with tests if rangeCount is 0 got disallowed value 0
-PASS Range 13 [foreignPara1.firstChild, 2, foreignPara1.firstChild, 8] followed by Range 56 [foreignDocfrag, 0, foreignDocfrag, 0]: first addRange() must not throw exceptions or modify the range it's given
-FAIL Range 13 [foreignPara1.firstChild, 2, foreignPara1.firstChild, 8] followed by Range 56 [foreignDocfrag, 0, foreignDocfrag, 0]: first addRange() must result in rangeCount being 1 assert_equals: rangeCount must be 1 expected 1 but got 0
-FAIL Range 13 [foreignPara1.firstChild, 2, foreignPara1.firstChild, 8] followed by Range 56 [foreignDocfrag, 0, foreignDocfrag, 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
-FAIL Range 13 [foreignPara1.firstChild, 2, foreignPara1.firstChild, 8] 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_not_equals: Cannot proceed with tests if rangeCount is 0 got disallowed value 0
-FAIL Range 13 [foreignPara1.firstChild, 2, foreignPara1.firstChild, 8] followed by Range 56 [foreignDocfrag, 0, foreignDocfrag, 0]: modifying the first added range must modify the Selection's last Range assert_not_equals: Cannot proceed with tests if rangeCount is 0 got disallowed value 0
-FAIL Range 13 [foreignPara1.firstChild, 2, foreignPara1.firstChild, 8] followed by Range 56 [foreignDocfrag, 0, foreignDocfrag, 0]: 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 13 [foreignPara1.firstChild, 2, foreignPara1.firstChild, 8] followed by Range 56 [foreignDocfrag, 0, foreignDocfrag, 0]: second addRange() must not throw exceptions or modify the range it's given
-FAIL Range 13 [foreignPara1.firstChild, 2, foreignPara1.firstChild, 8] followed by Range 56 [foreignDocfrag, 0, foreignDocfrag, 0]: second addRange() must result in rangeCount being 1 assert_equals: rangeCount must be 1 expected 1 but got 0
-FAIL Range 13 [foreignPara1.firstChild, 2, foreignPara1.firstChild, 8] followed by Range 56 [foreignDocfrag, 0, foreignDocfrag, 0]: second 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
-FAIL Range 13 [foreignPara1.firstChild, 2, foreignPara1.firstChild, 8] 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_not_equals: Cannot proceed with tests if rangeCount is 0 got disallowed value 0
-FAIL Range 13 [foreignPara1.firstChild, 2, foreignPara1.firstChild, 8] followed by Range 56 [foreignDocfrag, 0, foreignDocfrag, 0]: modifying the second added range must modify the Selection's last Range assert_not_equals: Cannot proceed with tests if rangeCount is 0 got disallowed value 0
-FAIL Range 13 [foreignPara1.firstChild, 2, foreignPara1.firstChild, 8] followed by Range 56 [foreignDocfrag, 0, foreignDocfrag, 0]: modifying the Selection's last Range must modify the second added Range assert_not_equals: Cannot proceed with tests if rangeCount is 0 got disallowed value 0
-PASS Range 13 [foreignPara1.firstChild, 2, foreignPara1.firstChild, 8] followed by Range 57 [xmlDocfrag, 0, xmlDocfrag, 0]: first addRange() must not throw exceptions or modify the range it's given
-FAIL Range 13 [foreignPara1.firstChild, 2, foreignPara1.firstChild, 8] followed by Range 57 [xmlDocfrag, 0, xmlDocfrag, 0]: first addRange() must result in rangeCount being 1 assert_equals: rangeCount must be 1 expected 1 but got 0
-FAIL Range 13 [foreignPara1.firstChild, 2, foreignPara1.firstChild, 8] followed by Range 57 [xmlDocfrag, 0, xmlDocfrag, 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
-FAIL Range 13 [foreignPara1.firstChild, 2, foreignPara1.firstChild, 8] 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_not_equals: Cannot proceed with tests if rangeCount is 0 got disallowed value 0
-FAIL Range 13 [foreignPara1.firstChild, 2, foreignPara1.firstChild, 8] followed by Range 57 [xmlDocfrag, 0, xmlDocfrag, 0]: modifying the first added range must modify the Selection's last Range assert_not_equals: Cannot proceed with tests if rangeCount is 0 got disallowed value 0
-FAIL Range 13 [foreignPara1.firstChild, 2, foreignPara1.firstChild, 8] followed by Range 57 [xmlDocfrag, 0, xmlDocfrag, 0]: 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 13 [foreignPara1.firstChild, 2, foreignPara1.firstChild, 8] followed by Range 57 [xmlDocfrag, 0, xmlDocfrag, 0]: second addRange() must not throw exceptions or modify the range it's given
-FAIL Range 13 [foreignPara1.firstChild, 2, foreignPara1.firstChild, 8] followed by Range 57 [xmlDocfrag, 0, xmlDocfrag, 0]: second addRange() must result in rangeCount being 1 assert_equals: rangeCount must be 1 expected 1 but got 0
-FAIL Range 13 [foreignPara1.firstChild, 2, foreignPara1.firstChild, 8] followed by Range 57 [xmlDocfrag, 0, xmlDocfrag, 0]: second 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
-FAIL Range 13 [foreignPara1.firstChild, 2, foreignPara1.firstChild, 8] 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_not_equals: Cannot proceed with tests if rangeCount is 0 got disallowed value 0
-FAIL Range 13 [foreignPara1.firstChild, 2, foreignPara1.firstChild, 8] followed by Range 57 [xmlDocfrag, 0, xmlDocfrag, 0]: modifying the second added range must modify the Selection's last Range assert_not_equals: Cannot proceed with tests if rangeCount is 0 got disallowed value 0
-FAIL Range 13 [foreignPara1.firstChild, 2, foreignPara1.firstChild, 8] followed by Range 57 [xmlDocfrag, 0, xmlDocfrag, 0]: modifying the Selection's last Range must modify the second added Range assert_not_equals: Cannot proceed with tests if rangeCount is 0 got disallowed value 0
+Found 1208 tests; 1008 PASS, 200 FAIL, 0 TIMEOUT, 0 NOTRUN.
+PASS Range 12 [foreignPara1.firstChild, 0, foreignPara1.firstChild, 1] followed by Range 0 [paras[0].firstChild, 0, paras[0].firstChild, 0]: first addRange() must do nothing
+PASS Range 12 [foreignPara1.firstChild, 0, foreignPara1.firstChild, 1] followed by Range 1 [paras[0].firstChild, 0, paras[0].firstChild, 1]: first addRange() must do nothing
+PASS Range 12 [foreignPara1.firstChild, 0, foreignPara1.firstChild, 1] followed by Range 2 [paras[0].firstChild, 2, paras[0].firstChild, 8]: first addRange() must do nothing
+PASS Range 12 [foreignPara1.firstChild, 0, foreignPara1.firstChild, 1] followed by Range 3 [paras[0].firstChild, 2, paras[0].firstChild, 9]: first addRange() must do nothing
+PASS Range 12 [foreignPara1.firstChild, 0, foreignPara1.firstChild, 1] followed by Range 4 [paras[1].firstChild, 0, paras[1].firstChild, 0]: first addRange() must do nothing
+PASS Range 12 [foreignPara1.firstChild, 0, foreignPara1.firstChild, 1] followed by Range 5 [paras[1].firstChild, 0, paras[1].firstChild, 1]: first addRange() must do nothing
+PASS Range 12 [foreignPara1.firstChild, 0, foreignPara1.firstChild, 1] followed by Range 6 [paras[1].firstChild, 2, paras[1].firstChild, 8]: first addRange() must do nothing
+PASS Range 12 [foreignPara1.firstChild, 0, foreignPara1.firstChild, 1] followed by Range 7 [paras[1].firstChild, 2, paras[1].firstChild, 9]: first addRange() must do nothing
+PASS Range 12 [foreignPara1.firstChild, 0, foreignPara1.firstChild, 1] followed by Range 8 [detachedPara1.firstChild, 0, detachedPara1.firstChild, 0]: first addRange() must do nothing
+PASS Range 12 [foreignPara1.firstChild, 0, foreignPara1.firstChild, 1] followed by Range 9 [detachedPara1.firstChild, 0, detachedPara1.firstChild, 1]: first addRange() must do nothing
+PASS Range 12 [foreignPara1.firstChild, 0, foreignPara1.firstChild, 1] followed by Range 10 [detachedPara1.firstChild, 2, detachedPara1.firstChild, 8]: first addRange() must do nothing
+PASS Range 12 [foreignPara1.firstChild, 0, foreignPara1.firstChild, 1] followed by Range 11 [foreignPara1.firstChild, 0, foreignPara1.firstChild, 0]: first addRange() must do nothing
+PASS Range 12 [foreignPara1.firstChild, 0, foreignPara1.firstChild, 1] followed by Range 12 [foreignPara1.firstChild, 0, foreignPara1.firstChild, 1]: first addRange() must do nothing
+PASS Range 12 [foreignPara1.firstChild, 0, foreignPara1.firstChild, 1] followed by Range 13 [foreignPara1.firstChild, 2, foreignPara1.firstChild, 8]: first addRange() must do nothing
+PASS Range 12 [foreignPara1.firstChild, 0, foreignPara1.firstChild, 1] followed by Range 14 [document.documentElement, 0, document.documentElement, 1]: first addRange() must do nothing
+PASS Range 12 [foreignPara1.firstChild, 0, foreignPara1.firstChild, 1] followed by Range 15 [document.documentElement, 0, document.documentElement, 2]: first addRange() must do nothing
+PASS Range 12 [foreignPara1.firstChild, 0, foreignPara1.firstChild, 1] followed by Range 16 [document.documentElement, 1, document.documentElement, 2]: first addRange() must do nothing
+PASS Range 12 [foreignPara1.firstChild, 0, foreignPara1.firstChild, 1] followed by Range 17 [document.head, 1, document.head, 1]: first addRange() must do nothing
+PASS Range 12 [foreignPara1.firstChild, 0, foreignPara1.firstChild, 1] followed by Range 18 [document.body, 0, document.body, 1]: first addRange() must do nothing
+PASS Range 12 [foreignPara1.firstChild, 0, foreignPara1.firstChild, 1] followed by Range 19 [foreignDoc.documentElement, 0, foreignDoc.documentElement, 1]: first addRange() must do nothing
+PASS Range 12 [foreignPara1.firstChild, 0, foreignPara1.firstChild, 1] followed by Range 20 [foreignDoc.head, 1, foreignDoc.head, 1]: first addRange() must do nothing
+PASS Range 12 [foreignPara1.firstChild, 0, foreignPara1.firstChild, 1] followed by Range 21 [foreignDoc.body, 0, foreignDoc.body, 0]: first addRange() must do nothing
+PASS Range 12 [foreignPara1.firstChild, 0, foreignPara1.firstChild, 1] followed by Range 22 [paras[0], 0, paras[0], 0]: first addRange() must do nothing
+PASS Range 12 [foreignPara1.firstChild, 0, foreignPara1.firstChild, 1] followed by Range 23 [paras[0], 0, paras[0], 1]: first addRange() must do nothing
+PASS Range 12 [foreignPara1.firstChild, 0, foreignPara1.firstChild, 1] followed by Range 24 [detachedPara1, 0, detachedPara1, 0]: first addRange() must do nothing
+PASS Range 12 [foreignPara1.firstChild, 0, foreignPara1.firstChild, 1] followed by Range 25 [detachedPara1, 0, detachedPara1, 1]: first addRange() must do nothing
+PASS Range 12 [foreignPara1.firstChild, 0, foreignPara1.firstChild, 1] followed by Range 26 [paras[0].firstChild, 0, paras[1].firstChild, 0]: first addRange() must do nothing
+PASS Range 12 [foreignPara1.firstChild, 0, foreignPara1.firstChild, 1] followed by Range 27 [paras[0].firstChild, 0, paras[1].firstChild, 8]: first addRange() must do nothing
+PASS Range 12 [foreignPara1.firstChild, 0, foreignPara1.firstChild, 1] followed by Range 28 [paras[0].firstChild, 3, paras[3], 1]: first addRange() must do nothing
+PASS Range 12 [foreignPara1.firstChild, 0, foreignPara1.firstChild, 1] followed by Range 29 [paras[0], 0, paras[0].firstChild, 7]: first addRange() must do nothing
+PASS Range 12 [foreignPara1.firstChild, 0, foreignPara1.firstChild, 1] followed by Range 30 [testDiv, 2, paras[4], 1]: first addRange() must do nothing
+PASS Range 12 [foreignPara1.firstChild, 0, foreignPara1.firstChild, 1] followed by Range 31 [testDiv, 1, paras[2].firstChild, 5]: first addRange() must do nothing
+PASS Range 12 [foreignPara1.firstChild, 0, foreignPara1.firstChild, 1] followed by Range 32 [document.documentElement, 1, document.body, 0]: first addRange() must do nothing
+PASS Range 12 [foreignPara1.firstChild, 0, foreignPara1.firstChild, 1] followed by Range 33 [foreignDoc.documentElement, 1, foreignDoc.body, 0]: first addRange() must do nothing
+PASS Range 12 [foreignPara1.firstChild, 0, foreignPara1.firstChild, 1] followed by Range 34 [document, 0, document, 1]: first addRange() must do nothing
+PASS Range 12 [foreignPara1.firstChild, 0, foreignPara1.firstChild, 1] followed by Range 35 [document, 0, document, 2]: first addRange() must do nothing
+PASS Range 12 [foreignPara1.firstChild, 0, foreignPara1.firstChild, 1] followed by Range 36 [document, 1, document, 2]: first addRange() must do nothing
+PASS Range 12 [foreignPara1.firstChild, 0, foreignPara1.firstChild, 1] followed by Range 37 [testDiv, 0, comment, 5]: first addRange() must do nothing
+PASS Range 12 [foreignPara1.firstChild, 0, foreignPara1.firstChild, 1] followed by Range 38 [paras[2].firstChild, 4, comment, 2]: first addRange() must do nothing
+PASS Range 12 [foreignPara1.firstChild, 0, foreignPara1.firstChild, 1] followed by Range 39 [paras[3], 1, comment, 8]: first addRange() must do nothing
+PASS Range 12 [foreignPara1.firstChild, 0, foreignPara1.firstChild, 1] followed by Range 40 [foreignDoc, 0, foreignDoc, 0]: first addRange() must do nothing
+PASS Range 12 [foreignPara1.firstChild, 0, foreignPara1.firstChild, 1] followed by Range 41 [foreignDoc, 1, foreignComment, 2]: first addRange() must do nothing
+PASS Range 12 [foreignPara1.firstChild, 0, foreignPara1.firstChild, 1] followed by Range 42 [foreignDoc.body, 0, foreignTextNode, 36]: first addRange() must do nothing
+PASS Range 12 [foreignPara1.firstChild, 0, foreignPara1.firstChild, 1] followed by Range 43 [xmlDoc, 0, xmlDoc, 0]: first addRange() must do nothing
+PASS Range 12 [foreignPara1.firstChild, 0, foreignPara1.firstChild, 1] followed by Range 44 [xmlDoc, 1, xmlComment, 0]: first addRange() must do nothing
+PASS Range 12 [foreignPara1.firstChild, 0, foreignPara1.firstChild, 1] followed by Range 45 [detachedTextNode, 0, detachedTextNode, 8]: first addRange() must do nothing
+PASS Range 12 [foreignPara1.firstChild, 0, foreignPara1.firstChild, 1] followed by Range 46 [detachedForeignTextNode, 7, detachedForeignTextNode, 7]: first addRange() must do nothing
+PASS Range 12 [foreignPara1.firstChild, 0, foreignPara1.firstChild, 1] followed by Range 47 [detachedForeignTextNode, 0, detachedForeignTextNode, 8]: first addRange() must do nothing
+PASS Range 12 [foreignPara1.firstChild, 0, foreignPara1.firstChild, 1] followed by Range 48 [detachedXmlTextNode, 7, detachedXmlTextNode, 7]: first addRange() must do nothing
+PASS Range 12 [foreignPara1.firstChild, 0, foreignPara1.firstChild, 1] followed by Range 49 [detachedXmlTextNode, 0, detachedXmlTextNode, 8]: first addRange() must do nothing
+PASS Range 12 [foreignPara1.firstChild, 0, foreignPara1.firstChild, 1] followed by Range 50 [detachedComment, 3, detachedComment, 4]: first addRange() must do nothing
+PASS Range 12 [foreignPara1.firstChild, 0, foreignPara1.firstChild, 1] followed by Range 51 [detachedComment, 5, detachedComment, 5]: first addRange() must do nothing
+PASS Range 12 [foreignPara1.firstChild, 0, foreignPara1.firstChild, 1] followed by Range 52 [detachedForeignComment, 0, detachedForeignComment, 1]: first addRange() must do nothing
+PASS Range 12 [foreignPara1.firstChild, 0, foreignPara1.firstChild, 1] followed by Range 53 [detachedForeignComment, 4, detachedForeignComment, 4]: first addRange() must do nothing
+PASS Range 12 [foreignPara1.firstChild, 0, foreignPara1.firstChild, 1] followed by Range 54 [detachedXmlComment, 2, detachedXmlComment, 6]: first addRange() must do nothing
+PASS Range 12 [foreignPara1.firstChild, 0, foreignPara1.firstChild, 1] followed by Range 55 [docfrag, 0, docfrag, 0]: first addRange() must do nothing
+PASS Range 12 [foreignPara1.firstChild, 0, foreignPara1.firstChild, 1] followed by Range 56 [foreignDocfrag, 0, foreignDocfrag, 0]: first addRange() must do nothing
+PASS Range 12 [foreignPara1.firstChild, 0, foreignPara1.firstChild, 1] followed by Range 57 [xmlDocfrag, 0, xmlDocfrag, 0]: first addRange() must do nothing
+PASS Range 13 [foreignPara1.firstChild, 2, foreignPara1.firstChild, 8] followed by Range 0 [paras[0].firstChild, 0, paras[0].firstChild, 0]: first addRange() must do nothing
+PASS Range 13 [foreignPara1.firstChild, 2, foreignPara1.firstChild, 8] followed by Range 1 [paras[0].firstChild, 0, paras[0].firstChild, 1]: first addRange() must do nothing
+PASS Range 13 [foreignPara1.firstChild, 2, foreignPara1.firstChild, 8] followed by Range 2 [paras[0].firstChild, 2, paras[0].firstChild, 8]: first addRange() must do nothing
+PASS Range 13 [foreignPara1.firstChild, 2, foreignPara1.firstChild, 8] followed by Range 3 [paras[0].firstChild, 2, paras[0].firstChild, 9]: first addRange() must do nothing
+PASS Range 13 [foreignPara1.firstChild, 2, foreignPara1.firstChild, 8] followed by Range 4 [paras[1].firstChild, 0, paras[1].firstChild, 0]: first addRange() must do nothing
+PASS Range 13 [foreignPara1.firstChild, 2, foreignPara1.firstChild, 8] followed by Range 5 [paras[1].firstChild, 0, paras[1].firstChild, 1]: first addRange() must do nothing
+PASS Range 13 [foreignPara1.firstChild, 2, foreignPara1.firstChild, 8] followed by Range 6 [paras[1].firstChild, 2, paras[1].firstChild, 8]: first addRange() must do nothing
+PASS Range 13 [foreignPara1.firstChild, 2, foreignPara1.firstChild, 8] followed by Range 7 [paras[1].firstChild, 2, paras[1].firstChild, 9]: first addRange() must do nothing
+PASS Range 13 [foreignPara1.firstChild, 2, foreignPara1.firstChild, 8] followed by Range 8 [detachedPara1.firstChild, 0, detachedPara1.firstChild, 0]: first addRange() must do nothing
+PASS Range 13 [foreignPara1.firstChild, 2, foreignPara1.firstChild, 8] followed by Range 9 [detachedPara1.firstChild, 0, detachedPara1.firstChild, 1]: first addRange() must do nothing
+PASS Range 13 [foreignPara1.firstChild, 2, foreignPara1.firstChild, 8] followed by Range 10 [detachedPara1.firstChild, 2, detachedPara1.firstChild, 8]: first addRange() must do nothing
+PASS Range 13 [foreignPara1.firstChild, 2, foreignPara1.firstChild, 8] followed by Range 11 [foreignPara1.firstChild, 0, foreignPara1.firstChild, 0]: first addRange() must do nothing
+PASS Range 13 [foreignPara1.firstChild, 2, foreignPara1.firstChild, 8] followed by Range 12 [foreignPara1.firstChild, 0, foreignPara1.firstChild, 1]: first addRange() must do nothing
+PASS Range 13 [foreignPara1.firstChild, 2, foreignPara1.firstChild, 8] followed by Range 13 [foreignPara1.firstChild, 2, foreignPara1.firstChild, 8]: first addRange() must do nothing
+PASS Range 13 [foreignPara1.firstChild, 2, foreignPara1.firstChild, 8] followed by Range 14 [document.documentElement, 0, document.documentElement, 1]: first addRange() must do nothing
+PASS Range 13 [foreignPara1.firstChild, 2, foreignPara1.firstChild, 8] followed by Range 15 [document.documentElement, 0, document.documentElement, 2]: first addRange() must do nothing
+PASS Range 13 [foreignPara1.firstChild, 2, foreignPara1.firstChild, 8] followed by Range 16 [document.documentElement, 1, document.documentElement, 2]: first addRange() must do nothing
+PASS Range 13 [foreignPara1.firstChild, 2, foreignPara1.firstChild, 8] followed by Range 17 [document.head, 1, document.head, 1]: first addRange() must do nothing
+PASS Range 13 [foreignPara1.firstChild, 2, foreignPara1.firstChild, 8] followed by Range 18 [document.body, 0, document.body, 1]: first addRange() must do nothing
+PASS Range 13 [foreignPara1.firstChild, 2, foreignPara1.firstChild, 8] followed by Range 19 [foreignDoc.documentElement, 0, foreignDoc.documentElement, 1]: first addRange() must do nothing
+PASS Range 13 [foreignPara1.firstChild, 2, foreignPara1.firstChild, 8] followed by Range 20 [foreignDoc.head, 1, foreignDoc.head, 1]: first addRange() must do nothing
+PASS Range 13 [foreignPara1.firstChild, 2, foreignPara1.firstChild, 8] followed by Range 21 [foreignDoc.body, 0, foreignDoc.body, 0]: first addRange() must do nothing
+PASS Range 13 [foreignPara1.firstChild, 2, foreignPara1.firstChild, 8] followed by Range 22 [paras[0], 0, paras[0], 0]: first addRange() must do nothing
+PASS Range 13 [foreignPara1.firstChild, 2, foreignPara1.firstChild, 8] followed by Range 23 [paras[0], 0, paras[0], 1]: first addRange() must do nothing
+PASS Range 13 [foreignPara1.firstChild, 2, foreignPara1.firstChild, 8] followed by Range 24 [detachedPara1, 0, detachedPara1, 0]: first addRange() must do nothing
+PASS Range 13 [foreignPara1.firstChild, 2, foreignPara1.firstChild, 8] followed by Range 25 [detachedPara1, 0, detachedPara1, 1]: first addRange() must do nothing
+PASS Range 13 [foreignPara1.firstChild, 2, foreignPara1.firstChild, 8] followed by Range 26 [paras[0].firstChild, 0, paras[1].firstChild, 0]: first addRange() must do nothing
+PASS Range 13 [foreignPara1.firstChild, 2, foreignPara1.firstChild, 8] followed by Range 27 [paras[0].firstChild, 0, paras[1].firstChild, 8]: first addRange() must do nothing
+PASS Range 13 [foreignPara1.firstChild, 2, foreignPara1.firstChild, 8] followed by Range 28 [paras[0].firstChild, 3, paras[3], 1]: first addRange() must do nothing
+PASS Range 13 [foreignPara1.firstChild, 2, foreignPara1.firstChild, 8] followed by Range 29 [paras[0], 0, paras[0].firstChild, 7]: first addRange() must do nothing
+PASS Range 13 [foreignPara1.firstChild, 2, foreignPara1.firstChild, 8] followed by Range 30 [testDiv, 2, paras[4], 1]: first addRange() must do nothing
+PASS Range 13 [foreignPara1.firstChild, 2, foreignPara1.firstChild, 8] followed by Range 31 [testDiv, 1, paras[2].firstChild, 5]: first addRange() must do nothing
+PASS Range 13 [foreignPara1.firstChild, 2, foreignPara1.firstChild, 8] followed by Range 32 [document.documentElement, 1, document.body, 0]: first addRange() must do nothing
+PASS Range 13 [foreignPara1.firstChild, 2, foreignPara1.firstChild, 8] followed by Range 33 [foreignDoc.documentElement, 1, foreignDoc.body, 0]: first addRange() must do nothing
+PASS Range 13 [foreignPara1.firstChild, 2, foreignPara1.firstChild, 8] followed by Range 34 [document, 0, document, 1]: first addRange() must do nothing
+PASS Range 13 [foreignPara1.firstChild, 2, foreignPara1.firstChild, 8] followed by Range 35 [document, 0, document, 2]: first addRange() must do nothing
+PASS Range 13 [foreignPara1.firstChild, 2, foreignPara1.firstChild, 8] followed by Range 36 [document, 1, document, 2]: first addRange() must do nothing
+PASS Range 13 [foreignPara1.firstChild, 2, foreignPara1.firstChild, 8] followed by Range 37 [testDiv, 0, comment, 5]: first addRange() must do nothing
+PASS Range 13 [foreignPara1.firstChild, 2, foreignPara1.firstChild, 8] followed by Range 38 [paras[2].firstChild, 4, comment, 2]: first addRange() must do nothing
+PASS Range 13 [foreignPara1.firstChild, 2, foreignPara1.firstChild, 8] followed by Range 39 [paras[3], 1, comment, 8]: first addRange() must do nothing
+PASS Range 13 [foreignPara1.firstChild, 2, foreignPara1.firstChild, 8] followed by Range 40 [foreignDoc, 0, foreignDoc, 0]: first addRange() must do nothing
+PASS Range 13 [foreignPara1.firstChild, 2, foreignPara1.firstChild, 8] followed by Range 41 [foreignDoc, 1, foreignComment, 2]: first addRange() must do nothing
+PASS Range 13 [foreignPara1.firstChild, 2, foreignPara1.firstChild, 8] followed by Range 42 [foreignDoc.body, 0, foreignTextNode, 36]: first addRange() must do nothing
+PASS Range 13 [foreignPara1.firstChild, 2, foreignPara1.firstChild, 8] followed by Range 43 [xmlDoc, 0, xmlDoc, 0]: first addRange() must do nothing
+PASS Range 13 [foreignPara1.firstChild, 2, foreignPara1.firstChild, 8] followed by Range 44 [xmlDoc, 1, xmlComment, 0]: first addRange() must do nothing
+PASS Range 13 [foreignPara1.firstChild, 2, foreignPara1.firstChild, 8] followed by Range 45 [detachedTextNode, 0, detachedTextNode, 8]: first addRange() must do nothing
+PASS Range 13 [foreignPara1.firstChild, 2, foreignPara1.firstChild, 8] followed by Range 46 [detachedForeignTextNode, 7, detachedForeignTextNode, 7]: first addRange() must do nothing
+PASS Range 13 [foreignPara1.firstChild, 2, foreignPara1.firstChild, 8] followed by Range 47 [detachedForeignTextNode, 0, detachedForeignTextNode, 8]: first addRange() must do nothing
+PASS Range 13 [foreignPara1.firstChild, 2, foreignPara1.firstChild, 8] followed by Range 48 [detachedXmlTextNode, 7, detachedXmlTextNode, 7]: first addRange() must do nothing
+PASS Range 13 [foreignPara1.firstChild, 2, foreignPara1.firstChild, 8] followed by Range 49 [detachedXmlTextNode, 0, detachedXmlTextNode, 8]: first addRange() must do nothing
+PASS Range 13 [foreignPara1.firstChild, 2, foreignPara1.firstChild, 8] followed by Range 50 [detachedComment, 3, detachedComment, 4]: first addRange() must do nothing
+PASS Range 13 [foreignPara1.firstChild, 2, foreignPara1.firstChild, 8] followed by Range 51 [detachedComment, 5, detachedComment, 5]: first addRange() must do nothing
+PASS Range 13 [foreignPara1.firstChild, 2, foreignPara1.firstChild, 8] followed by Range 52 [detachedForeignComment, 0, detachedForeignComment, 1]: first addRange() must do nothing
+PASS Range 13 [foreignPara1.firstChild, 2, foreignPara1.firstChild, 8] followed by Range 53 [detachedForeignComment, 4, detachedForeignComment, 4]: first addRange() must do nothing
+PASS Range 13 [foreignPara1.firstChild, 2, foreignPara1.firstChild, 8] followed by Range 54 [detachedXmlComment, 2, detachedXmlComment, 6]: first addRange() must do nothing
+PASS Range 13 [foreignPara1.firstChild, 2, foreignPara1.firstChild, 8] followed by Range 55 [docfrag, 0, docfrag, 0]: first addRange() must do nothing
+PASS Range 13 [foreignPara1.firstChild, 2, foreignPara1.firstChild, 8] followed by Range 56 [foreignDocfrag, 0, foreignDocfrag, 0]: first addRange() must do nothing
+PASS Range 13 [foreignPara1.firstChild, 2, foreignPara1.firstChild, 8] followed by Range 57 [xmlDocfrag, 0, xmlDocfrag, 0]: first addRange() must do nothing
PASS Range 14 [document.documentElement, 0, document.documentElement, 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 14 [document.documentElement, 0, document.documentElement, 1] followed by Range 0 [paras[0].firstChild, 0, paras[0].firstChild, 0]: first addRange() must result in rangeCount being 1
PASS Range 14 [document.documentElement, 0, document.documentElement, 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
@@ -1570,78 +276,42 @@ PASS Range 14 [document.documentElement, 0, document.documentElement, 1] followe
PASS Range 14 [document.documentElement, 0, document.documentElement, 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 14 [document.documentElement, 0, document.documentElement, 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 14 [document.documentElement, 0, document.documentElement, 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 14 [document.documentElement, 0, document.documentElement, 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 14 [document.documentElement, 0, document.documentElement, 1] followed by Range 8 [detachedPara1.firstChild, 0, detachedPara1.firstChild, 0]: second addRange() must result in rangeCount being 1
-FAIL Range 14 [document.documentElement, 0, document.documentElement, 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 14 [document.documentElement, 0, document.documentElement, 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 14 [document.documentElement, 0, document.documentElement, 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 14 [document.documentElement, 0, document.documentElement, 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 14 [document.documentElement, 0, document.documentElement, 1] followed by Range 8 [detachedPara1.firstChild, 0, detachedPara1.firstChild, 0]: second addRange() must do nothing
PASS Range 14 [document.documentElement, 0, document.documentElement, 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 14 [document.documentElement, 0, document.documentElement, 1] followed by Range 9 [detachedPara1.firstChild, 0, detachedPara1.firstChild, 1]: first addRange() must result in rangeCount being 1
PASS Range 14 [document.documentElement, 0, document.documentElement, 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
PASS Range 14 [document.documentElement, 0, document.documentElement, 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 14 [document.documentElement, 0, document.documentElement, 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 14 [document.documentElement, 0, document.documentElement, 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 14 [document.documentElement, 0, document.documentElement, 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 14 [document.documentElement, 0, document.documentElement, 1] followed by Range 9 [detachedPara1.firstChild, 0, detachedPara1.firstChild, 1]: second addRange() must result in rangeCount being 1
-FAIL Range 14 [document.documentElement, 0, document.documentElement, 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 14 [document.documentElement, 0, document.documentElement, 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 14 [document.documentElement, 0, document.documentElement, 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 14 [document.documentElement, 0, document.documentElement, 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 14 [document.documentElement, 0, document.documentElement, 1] followed by Range 9 [detachedPara1.firstChild, 0, detachedPara1.firstChild, 1]: second addRange() must do nothing
PASS Range 14 [document.documentElement, 0, document.documentElement, 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 14 [document.documentElement, 0, document.documentElement, 1] followed by Range 10 [detachedPara1.firstChild, 2, detachedPara1.firstChild, 8]: first addRange() must result in rangeCount being 1
PASS Range 14 [document.documentElement, 0, document.documentElement, 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
PASS Range 14 [document.documentElement, 0, document.documentElement, 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 14 [document.documentElement, 0, document.documentElement, 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 14 [document.documentElement, 0, document.documentElement, 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 14 [document.documentElement, 0, document.documentElement, 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 14 [document.documentElement, 0, document.documentElement, 1] followed by Range 10 [detachedPara1.firstChild, 2, detachedPara1.firstChild, 8]: second addRange() must result in rangeCount being 1
-FAIL Range 14 [document.documentElement, 0, document.documentElement, 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 14 [document.documentElement, 0, document.documentElement, 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 14 [document.documentElement, 0, document.documentElement, 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 14 [document.documentElement, 0, document.documentElement, 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 14 [document.documentElement, 0, document.documentElement, 1] followed by Range 10 [detachedPara1.firstChild, 2, detachedPara1.firstChild, 8]: second addRange() must do nothing
PASS Range 14 [document.documentElement, 0, document.documentElement, 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 14 [document.documentElement, 0, document.documentElement, 1] followed by Range 11 [foreignPara1.firstChild, 0, foreignPara1.firstChild, 0]: first addRange() must result in rangeCount being 1
PASS Range 14 [document.documentElement, 0, document.documentElement, 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
PASS Range 14 [document.documentElement, 0, document.documentElement, 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 14 [document.documentElement, 0, document.documentElement, 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 14 [document.documentElement, 0, document.documentElement, 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 14 [document.documentElement, 0, document.documentElement, 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 14 [document.documentElement, 0, document.documentElement, 1] followed by Range 11 [foreignPara1.firstChild, 0, foreignPara1.firstChild, 0]: second addRange() must result in rangeCount being 1
-FAIL Range 14 [document.documentElement, 0, document.documentElement, 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 14 [document.documentElement, 0, document.documentElement, 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 14 [document.documentElement, 0, document.documentElement, 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 14 [document.documentElement, 0, document.documentElement, 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 14 [document.documentElement, 0, document.documentElement, 1] followed by Range 11 [foreignPara1.firstChild, 0, foreignPara1.firstChild, 0]: second addRange() must do nothing
PASS Range 14 [document.documentElement, 0, document.documentElement, 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 14 [document.documentElement, 0, document.documentElement, 1] followed by Range 12 [foreignPara1.firstChild, 0, foreignPara1.firstChild, 1]: first addRange() must result in rangeCount being 1
PASS Range 14 [document.documentElement, 0, document.documentElement, 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
PASS Range 14 [document.documentElement, 0, document.documentElement, 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 14 [document.documentElement, 0, document.documentElement, 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 14 [document.documentElement, 0, document.documentElement, 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 14 [document.documentElement, 0, document.documentElement, 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 14 [document.documentElement, 0, document.documentElement, 1] followed by Range 12 [foreignPara1.firstChild, 0, foreignPara1.firstChild, 1]: second addRange() must result in rangeCount being 1
-FAIL Range 14 [document.documentElement, 0, document.documentElement, 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 14 [document.documentElement, 0, document.documentElement, 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 14 [document.documentElement, 0, document.documentElement, 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 14 [document.documentElement, 0, document.documentElement, 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 14 [document.documentElement, 0, document.documentElement, 1] followed by Range 12 [foreignPara1.firstChild, 0, foreignPara1.firstChild, 1]: second addRange() must do nothing
PASS Range 14 [document.documentElement, 0, document.documentElement, 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 14 [document.documentElement, 0, document.documentElement, 1] followed by Range 13 [foreignPara1.firstChild, 2, foreignPara1.firstChild, 8]: first addRange() must result in rangeCount being 1
PASS Range 14 [document.documentElement, 0, document.documentElement, 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
PASS Range 14 [document.documentElement, 0, document.documentElement, 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 14 [document.documentElement, 0, document.documentElement, 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 14 [document.documentElement, 0, document.documentElement, 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 14 [document.documentElement, 0, document.documentElement, 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 14 [document.documentElement, 0, document.documentElement, 1] followed by Range 13 [foreignPara1.firstChild, 2, foreignPara1.firstChild, 8]: second addRange() must result in rangeCount being 1
-FAIL Range 14 [document.documentElement, 0, document.documentElement, 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 14 [document.documentElement, 0, document.documentElement, 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 14 [document.documentElement, 0, document.documentElement, 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 14 [document.documentElement, 0, document.documentElement, 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 14 [document.documentElement, 0, document.documentElement, 1] followed by Range 13 [foreignPara1.firstChild, 2, foreignPara1.firstChild, 8]: second addRange() must do nothing
PASS Range 14 [document.documentElement, 0, document.documentElement, 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 14 [document.documentElement, 0, document.documentElement, 1] followed by Range 14 [document.documentElement, 0, document.documentElement, 1]: first addRange() must result in rangeCount being 1
PASS Range 14 [document.documentElement, 0, document.documentElement, 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
@@ -1776,39 +446,21 @@ PASS Range 14 [document.documentElement, 0, document.documentElement, 1] followe
PASS Range 14 [document.documentElement, 0, document.documentElement, 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 14 [document.documentElement, 0, document.documentElement, 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 14 [document.documentElement, 0, document.documentElement, 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 14 [document.documentElement, 0, document.documentElement, 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 14 [document.documentElement, 0, document.documentElement, 1] followed by Range 19 [foreignDoc.documentElement, 0, foreignDoc.documentElement, 1]: second addRange() must result in rangeCount being 1
-FAIL Range 14 [document.documentElement, 0, document.documentElement, 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 14 [document.documentElement, 0, document.documentElement, 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 14 [document.documentElement, 0, document.documentElement, 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 14 [document.documentElement, 0, document.documentElement, 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 14 [document.documentElement, 0, document.documentElement, 1] followed by Range 19 [foreignDoc.documentElement, 0, foreignDoc.documentElement, 1]: second addRange() must do nothing
PASS Range 14 [document.documentElement, 0, document.documentElement, 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 14 [document.documentElement, 0, document.documentElement, 1] followed by Range 20 [foreignDoc.head, 1, foreignDoc.head, 1]: first addRange() must result in rangeCount being 1
PASS Range 14 [document.documentElement, 0, document.documentElement, 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
PASS Range 14 [document.documentElement, 0, document.documentElement, 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 14 [document.documentElement, 0, document.documentElement, 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 14 [document.documentElement, 0, document.documentElement, 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 14 [document.documentElement, 0, document.documentElement, 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 14 [document.documentElement, 0, document.documentElement, 1] followed by Range 20 [foreignDoc.head, 1, foreignDoc.head, 1]: second addRange() must result in rangeCount being 1
-FAIL Range 14 [document.documentElement, 0, document.documentElement, 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 14 [document.documentElement, 0, document.documentElement, 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 14 [document.documentElement, 0, document.documentElement, 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 14 [document.documentElement, 0, document.documentElement, 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 14 [document.documentElement, 0, document.documentElement, 1] followed by Range 20 [foreignDoc.head, 1, foreignDoc.head, 1]: second addRange() must do nothing
PASS Range 14 [document.documentElement, 0, document.documentElement, 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 14 [document.documentElement, 0, document.documentElement, 1] followed by Range 21 [foreignDoc.body, 0, foreignDoc.body, 0]: first addRange() must result in rangeCount being 1
PASS Range 14 [document.documentElement, 0, document.documentElement, 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
PASS Range 14 [document.documentElement, 0, document.documentElement, 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 14 [document.documentElement, 0, document.documentElement, 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 14 [document.documentElement, 0, document.documentElement, 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 14 [document.documentElement, 0, document.documentElement, 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 14 [document.documentElement, 0, document.documentElement, 1] followed by Range 21 [foreignDoc.body, 0, foreignDoc.body, 0]: second addRange() must result in rangeCount being 1
-FAIL Range 14 [document.documentElement, 0, document.documentElement, 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 14 [document.documentElement, 0, document.documentElement, 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 14 [document.documentElement, 0, document.documentElement, 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 14 [document.documentElement, 0, document.documentElement, 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 14 [document.documentElement, 0, document.documentElement, 1] followed by Range 21 [foreignDoc.body, 0, foreignDoc.body, 0]: second addRange() must do nothing
PASS Range 14 [document.documentElement, 0, document.documentElement, 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 14 [document.documentElement, 0, document.documentElement, 1] followed by Range 22 [paras[0], 0, paras[0], 0]: first addRange() must result in rangeCount being 1
PASS Range 14 [document.documentElement, 0, document.documentElement, 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
@@ -1845,26 +497,14 @@ PASS Range 14 [document.documentElement, 0, document.documentElement, 1] followe
PASS Range 14 [document.documentElement, 0, document.documentElement, 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 14 [document.documentElement, 0, document.documentElement, 1] followed by Range 24 [detachedPara1, 0, detachedPara1, 0]: modifying the first added range must modify the Selection's last Range
PASS Range 14 [document.documentElement, 0, document.documentElement, 1] followed by Range 24 [detachedPara1, 0, detachedPara1, 0]: modifying the Selection's last Range must modify the first added Range
-PASS Range 14 [document.documentElement, 0, document.documentElement, 1] followed by Range 24 [detachedPara1, 0, detachedPara1, 0]: second addRange() must not throw exceptions or modify the range it's given
-PASS Range 14 [document.documentElement, 0, document.documentElement, 1] followed by Range 24 [detachedPara1, 0, detachedPara1, 0]: second addRange() must result in rangeCount being 1
-FAIL Range 14 [document.documentElement, 0, document.documentElement, 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 14 [document.documentElement, 0, document.documentElement, 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 14 [document.documentElement, 0, document.documentElement, 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 14 [document.documentElement, 0, document.documentElement, 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 14 [document.documentElement, 0, document.documentElement, 1] followed by Range 24 [detachedPara1, 0, detachedPara1, 0]: second addRange() must do nothing
PASS Range 14 [document.documentElement, 0, document.documentElement, 1] followed by Range 25 [detachedPara1, 0, detachedPara1, 1]: first addRange() must not throw exceptions or modify the range it's given
PASS Range 14 [document.documentElement, 0, document.documentElement, 1] followed by Range 25 [detachedPara1, 0, detachedPara1, 1]: first addRange() must result in rangeCount being 1
PASS Range 14 [document.documentElement, 0, document.documentElement, 1] followed by Range 25 [detachedPara1, 0, detachedPara1, 1]: first addRange() must result in the selection's last range having the specified endpoints
PASS Range 14 [document.documentElement, 0, document.documentElement, 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 14 [document.documentElement, 0, document.documentElement, 1] followed by Range 25 [detachedPara1, 0, detachedPara1, 1]: modifying the first added range must modify the Selection's last Range
PASS Range 14 [document.documentElement, 0, document.documentElement, 1] followed by Range 25 [detachedPara1, 0, detachedPara1, 1]: modifying the Selection's last Range must modify the first added Range
-PASS Range 14 [document.documentElement, 0, document.documentElement, 1] followed by Range 25 [detachedPara1, 0, detachedPara1, 1]: second addRange() must not throw exceptions or modify the range it's given
-PASS Range 14 [document.documentElement, 0, document.documentElement, 1] followed by Range 25 [detachedPara1, 0, detachedPara1, 1]: second addRange() must result in rangeCount being 1
-FAIL Range 14 [document.documentElement, 0, document.documentElement, 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 14 [document.documentElement, 0, document.documentElement, 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 14 [document.documentElement, 0, document.documentElement, 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 14 [document.documentElement, 0, document.documentElement, 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 14 [document.documentElement, 0, document.documentElement, 1] followed by Range 25 [detachedPara1, 0, detachedPara1, 1]: second addRange() must do nothing
PASS Range 14 [document.documentElement, 0, document.documentElement, 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 14 [document.documentElement, 0, document.documentElement, 1] followed by Range 26 [paras[0].firstChild, 0, paras[1].firstChild, 0]: first addRange() must result in rangeCount being 1
PASS Range 14 [document.documentElement, 0, document.documentElement, 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
@@ -1976,13 +616,7 @@ PASS Range 14 [document.documentElement, 0, document.documentElement, 1] followe
PASS Range 14 [document.documentElement, 0, document.documentElement, 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 14 [document.documentElement, 0, document.documentElement, 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 14 [document.documentElement, 0, document.documentElement, 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 14 [document.documentElement, 0, document.documentElement, 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 14 [document.documentElement, 0, document.documentElement, 1] followed by Range 33 [foreignDoc.documentElement, 1, foreignDoc.body, 0]: second addRange() must result in rangeCount being 1
-FAIL Range 14 [document.documentElement, 0, document.documentElement, 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 14 [document.documentElement, 0, document.documentElement, 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 14 [document.documentElement, 0, document.documentElement, 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 14 [document.documentElement, 0, document.documentElement, 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 14 [document.documentElement, 0, document.documentElement, 1] followed by Range 33 [foreignDoc.documentElement, 1, foreignDoc.body, 0]: second addRange() must do nothing
PASS Range 14 [document.documentElement, 0, document.documentElement, 1] followed by Range 34 [document, 0, document, 1]: first addRange() must not throw exceptions or modify the range it's given
PASS Range 14 [document.documentElement, 0, document.documentElement, 1] followed by Range 34 [document, 0, document, 1]: first addRange() must result in rangeCount being 1
PASS Range 14 [document.documentElement, 0, document.documentElement, 1] followed by Range 34 [document, 0, document, 1]: first addRange() must result in the selection's last range having the specified endpoints
@@ -2129,234 +763,126 @@ PASS Range 14 [document.documentElement, 0, document.documentElement, 1] followe
PASS Range 14 [document.documentElement, 0, document.documentElement, 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 14 [document.documentElement, 0, document.documentElement, 1] followed by Range 40 [foreignDoc, 0, foreignDoc, 0]: modifying the first added range must modify the Selection's last Range
PASS Range 14 [document.documentElement, 0, document.documentElement, 1] followed by Range 40 [foreignDoc, 0, foreignDoc, 0]: modifying the Selection's last Range must modify the first added Range
-PASS Range 14 [document.documentElement, 0, document.documentElement, 1] followed by Range 40 [foreignDoc, 0, foreignDoc, 0]: second addRange() must not throw exceptions or modify the range it's given
-PASS Range 14 [document.documentElement, 0, document.documentElement, 1] followed by Range 40 [foreignDoc, 0, foreignDoc, 0]: second addRange() must result in rangeCount being 1
-FAIL Range 14 [document.documentElement, 0, document.documentElement, 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 14 [document.documentElement, 0, document.documentElement, 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 14 [document.documentElement, 0, document.documentElement, 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 14 [document.documentElement, 0, document.documentElement, 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 14 [document.documentElement, 0, document.documentElement, 1] followed by Range 40 [foreignDoc, 0, foreignDoc, 0]: second addRange() must do nothing
PASS Range 14 [document.documentElement, 0, document.documentElement, 1] followed by Range 41 [foreignDoc, 1, foreignComment, 2]: first addRange() must not throw exceptions or modify the range it's given
PASS Range 14 [document.documentElement, 0, document.documentElement, 1] followed by Range 41 [foreignDoc, 1, foreignComment, 2]: first addRange() must result in rangeCount being 1
PASS Range 14 [document.documentElement, 0, document.documentElement, 1] followed by Range 41 [foreignDoc, 1, foreignComment, 2]: first addRange() must result in the selection's last range having the specified endpoints
PASS Range 14 [document.documentElement, 0, document.documentElement, 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 14 [document.documentElement, 0, document.documentElement, 1] followed by Range 41 [foreignDoc, 1, foreignComment, 2]: modifying the first added range must modify the Selection's last Range
PASS Range 14 [document.documentElement, 0, document.documentElement, 1] followed by Range 41 [foreignDoc, 1, foreignComment, 2]: modifying the Selection's last Range must modify the first added Range
-PASS Range 14 [document.documentElement, 0, document.documentElement, 1] followed by Range 41 [foreignDoc, 1, foreignComment, 2]: second addRange() must not throw exceptions or modify the range it's given
-PASS Range 14 [document.documentElement, 0, document.documentElement, 1] followed by Range 41 [foreignDoc, 1, foreignComment, 2]: second addRange() must result in rangeCount being 1
-FAIL Range 14 [document.documentElement, 0, document.documentElement, 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 14 [document.documentElement, 0, document.documentElement, 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 14 [document.documentElement, 0, document.documentElement, 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 14 [document.documentElement, 0, document.documentElement, 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 14 [document.documentElement, 0, document.documentElement, 1] followed by Range 41 [foreignDoc, 1, foreignComment, 2]: second addRange() must do nothing
PASS Range 14 [document.documentElement, 0, document.documentElement, 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 14 [document.documentElement, 0, document.documentElement, 1] followed by Range 42 [foreignDoc.body, 0, foreignTextNode, 36]: first addRange() must result in rangeCount being 1
PASS Range 14 [document.documentElement, 0, document.documentElement, 1] followed by Range 42 [foreignDoc.body, 0, foreignTextNode, 36]: first addRange() must result in the selection's last range having the specified endpoints
PASS Range 14 [document.documentElement, 0, document.documentElement, 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 14 [document.documentElement, 0, document.documentElement, 1] followed by Range 42 [foreignDoc.body, 0, foreignTextNode, 36]: modifying the first added range must modify the Selection's last Range
PASS Range 14 [document.documentElement, 0, document.documentElement, 1] followed by Range 42 [foreignDoc.body, 0, foreignTextNode, 36]: modifying the Selection's last Range must modify the first added Range
-PASS Range 14 [document.documentElement, 0, document.documentElement, 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 14 [document.documentElement, 0, document.documentElement, 1] followed by Range 42 [foreignDoc.body, 0, foreignTextNode, 36]: second addRange() must result in rangeCount being 1
-FAIL Range 14 [document.documentElement, 0, document.documentElement, 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 14 [document.documentElement, 0, document.documentElement, 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 14 [document.documentElement, 0, document.documentElement, 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 14 [document.documentElement, 0, document.documentElement, 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 14 [document.documentElement, 0, document.documentElement, 1] followed by Range 42 [foreignDoc.body, 0, foreignTextNode, 36]: second addRange() must do nothing
PASS Range 14 [document.documentElement, 0, document.documentElement, 1] followed by Range 43 [xmlDoc, 0, xmlDoc, 0]: first addRange() must not throw exceptions or modify the range it's given
PASS Range 14 [document.documentElement, 0, document.documentElement, 1] followed by Range 43 [xmlDoc, 0, xmlDoc, 0]: first addRange() must result in rangeCount being 1
PASS Range 14 [document.documentElement, 0, document.documentElement, 1] followed by Range 43 [xmlDoc, 0, xmlDoc, 0]: first addRange() must result in the selection's last range having the specified endpoints
PASS Range 14 [document.documentElement, 0, document.documentElement, 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 14 [document.documentElement, 0, document.documentElement, 1] followed by Range 43 [xmlDoc, 0, xmlDoc, 0]: modifying the first added range must modify the Selection's last Range
PASS Range 14 [document.documentElement, 0, document.documentElement, 1] followed by Range 43 [xmlDoc, 0, xmlDoc, 0]: modifying the Selection's last Range must modify the first added Range
-PASS Range 14 [document.documentElement, 0, document.documentElement, 1] followed by Range 43 [xmlDoc, 0, xmlDoc, 0]: second addRange() must not throw exceptions or modify the range it's given
-PASS Range 14 [document.documentElement, 0, document.documentElement, 1] followed by Range 43 [xmlDoc, 0, xmlDoc, 0]: second addRange() must result in rangeCount being 1
-FAIL Range 14 [document.documentElement, 0, document.documentElement, 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 14 [document.documentElement, 0, document.documentElement, 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 14 [document.documentElement, 0, document.documentElement, 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 14 [document.documentElement, 0, document.documentElement, 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 14 [document.documentElement, 0, document.documentElement, 1] followed by Range 43 [xmlDoc, 0, xmlDoc, 0]: second addRange() must do nothing
PASS Range 14 [document.documentElement, 0, document.documentElement, 1] followed by Range 44 [xmlDoc, 1, xmlComment, 0]: first addRange() must not throw exceptions or modify the range it's given
PASS Range 14 [document.documentElement, 0, document.documentElement, 1] followed by Range 44 [xmlDoc, 1, xmlComment, 0]: first addRange() must result in rangeCount being 1
PASS Range 14 [document.documentElement, 0, document.documentElement, 1] followed by Range 44 [xmlDoc, 1, xmlComment, 0]: first addRange() must result in the selection's last range having the specified endpoints
PASS Range 14 [document.documentElement, 0, document.documentElement, 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 14 [document.documentElement, 0, document.documentElement, 1] followed by Range 44 [xmlDoc, 1, xmlComment, 0]: modifying the first added range must modify the Selection's last Range
PASS Range 14 [document.documentElement, 0, document.documentElement, 1] followed by Range 44 [xmlDoc, 1, xmlComment, 0]: modifying the Selection's last Range must modify the first added Range
-PASS Range 14 [document.documentElement, 0, document.documentElement, 1] followed by Range 44 [xmlDoc, 1, xmlComment, 0]: second addRange() must not throw exceptions or modify the range it's given
-PASS Range 14 [document.documentElement, 0, document.documentElement, 1] followed by Range 44 [xmlDoc, 1, xmlComment, 0]: second addRange() must result in rangeCount being 1
-FAIL Range 14 [document.documentElement, 0, document.documentElement, 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 14 [document.documentElement, 0, document.documentElement, 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 14 [document.documentElement, 0, document.documentElement, 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 14 [document.documentElement, 0, document.documentElement, 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 14 [document.documentElement, 0, document.documentElement, 1] followed by Range 44 [xmlDoc, 1, xmlComment, 0]: second addRange() must do nothing
PASS Range 14 [document.documentElement, 0, document.documentElement, 1] followed by Range 45 [detachedTextNode, 0, detachedTextNode, 8]: first addRange() must not throw exceptions or modify the range it's given
PASS Range 14 [document.documentElement, 0, document.documentElement, 1] followed by Range 45 [detachedTextNode, 0, detachedTextNode, 8]: first addRange() must result in rangeCount being 1
PASS Range 14 [document.documentElement, 0, document.documentElement, 1] followed by Range 45 [detachedTextNode, 0, detachedTextNode, 8]: first addRange() must result in the selection's last range having the specified endpoints
PASS Range 14 [document.documentElement, 0, document.documentElement, 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 14 [document.documentElement, 0, document.documentElement, 1] followed by Range 45 [detachedTextNode, 0, detachedTextNode, 8]: modifying the first added range must modify the Selection's last Range
PASS Range 14 [document.documentElement, 0, document.documentElement, 1] followed by Range 45 [detachedTextNode, 0, detachedTextNode, 8]: modifying the Selection's last Range must modify the first added Range
-PASS Range 14 [document.documentElement, 0, document.documentElement, 1] followed by Range 45 [detachedTextNode, 0, detachedTextNode, 8]: second addRange() must not throw exceptions or modify the range it's given
-PASS Range 14 [document.documentElement, 0, document.documentElement, 1] followed by Range 45 [detachedTextNode, 0, detachedTextNode, 8]: second addRange() must result in rangeCount being 1
-FAIL Range 14 [document.documentElement, 0, document.documentElement, 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 14 [document.documentElement, 0, document.documentElement, 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 14 [document.documentElement, 0, document.documentElement, 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 14 [document.documentElement, 0, document.documentElement, 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 14 [document.documentElement, 0, document.documentElement, 1] followed by Range 45 [detachedTextNode, 0, detachedTextNode, 8]: second addRange() must do nothing
PASS Range 14 [document.documentElement, 0, document.documentElement, 1] followed by Range 46 [detachedForeignTextNode, 7, detachedForeignTextNode, 7]: first addRange() must not throw exceptions or modify the range it's given
PASS Range 14 [document.documentElement, 0, document.documentElement, 1] followed by Range 46 [detachedForeignTextNode, 7, detachedForeignTextNode, 7]: first addRange() must result in rangeCount being 1
PASS Range 14 [document.documentElement, 0, document.documentElement, 1] followed by Range 46 [detachedForeignTextNode, 7, detachedForeignTextNode, 7]: first addRange() must result in the selection's last range having the specified endpoints
PASS Range 14 [document.documentElement, 0, document.documentElement, 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 14 [document.documentElement, 0, document.documentElement, 1] followed by Range 46 [detachedForeignTextNode, 7, detachedForeignTextNode, 7]: modifying the first added range must modify the Selection's last Range
PASS Range 14 [document.documentElement, 0, document.documentElement, 1] followed by Range 46 [detachedForeignTextNode, 7, detachedForeignTextNode, 7]: modifying the Selection's last Range must modify the first added Range
-PASS Range 14 [document.documentElement, 0, document.documentElement, 1] followed by Range 46 [detachedForeignTextNode, 7, detachedForeignTextNode, 7]: second addRange() must not throw exceptions or modify the range it's given
-PASS Range 14 [document.documentElement, 0, document.documentElement, 1] followed by Range 46 [detachedForeignTextNode, 7, detachedForeignTextNode, 7]: second addRange() must result in rangeCount being 1
-FAIL Range 14 [document.documentElement, 0, document.documentElement, 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 14 [document.documentElement, 0, document.documentElement, 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 14 [document.documentElement, 0, document.documentElement, 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 14 [document.documentElement, 0, document.documentElement, 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 14 [document.documentElement, 0, document.documentElement, 1] followed by Range 46 [detachedForeignTextNode, 7, detachedForeignTextNode, 7]: second addRange() must do nothing
PASS Range 14 [document.documentElement, 0, document.documentElement, 1] followed by Range 47 [detachedForeignTextNode, 0, detachedForeignTextNode, 8]: first addRange() must not throw exceptions or modify the range it's given
PASS Range 14 [document.documentElement, 0, document.documentElement, 1] followed by Range 47 [detachedForeignTextNode, 0, detachedForeignTextNode, 8]: first addRange() must result in rangeCount being 1
PASS Range 14 [document.documentElement, 0, document.documentElement, 1] followed by Range 47 [detachedForeignTextNode, 0, detachedForeignTextNode, 8]: first addRange() must result in the selection's last range having the specified endpoints
PASS Range 14 [document.documentElement, 0, document.documentElement, 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 14 [document.documentElement, 0, document.documentElement, 1] followed by Range 47 [detachedForeignTextNode, 0, detachedForeignTextNode, 8]: modifying the first added range must modify the Selection's last Range
PASS Range 14 [document.documentElement, 0, document.documentElement, 1] followed by Range 47 [detachedForeignTextNode, 0, detachedForeignTextNode, 8]: modifying the Selection's last Range must modify the first added Range
-PASS Range 14 [document.documentElement, 0, document.documentElement, 1] followed by Range 47 [detachedForeignTextNode, 0, detachedForeignTextNode, 8]: second addRange() must not throw exceptions or modify the range it's given
-PASS Range 14 [document.documentElement, 0, document.documentElement, 1] followed by Range 47 [detachedForeignTextNode, 0, detachedForeignTextNode, 8]: second addRange() must result in rangeCount being 1
-FAIL Range 14 [document.documentElement, 0, document.documentElement, 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 14 [document.documentElement, 0, document.documentElement, 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 14 [document.documentElement, 0, document.documentElement, 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 14 [document.documentElement, 0, document.documentElement, 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 14 [document.documentElement, 0, document.documentElement, 1] followed by Range 47 [detachedForeignTextNode, 0, detachedForeignTextNode, 8]: second addRange() must do nothing
PASS Range 14 [document.documentElement, 0, document.documentElement, 1] followed by Range 48 [detachedXmlTextNode, 7, detachedXmlTextNode, 7]: first addRange() must not throw exceptions or modify the range it's given
PASS Range 14 [document.documentElement, 0, document.documentElement, 1] followed by Range 48 [detachedXmlTextNode, 7, detachedXmlTextNode, 7]: first addRange() must result in rangeCount being 1
PASS Range 14 [document.documentElement, 0, document.documentElement, 1] followed by Range 48 [detachedXmlTextNode, 7, detachedXmlTextNode, 7]: first addRange() must result in the selection's last range having the specified endpoints
PASS Range 14 [document.documentElement, 0, document.documentElement, 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 14 [document.documentElement, 0, document.documentElement, 1] followed by Range 48 [detachedXmlTextNode, 7, detachedXmlTextNode, 7]: modifying the first added range must modify the Selection's last Range
PASS Range 14 [document.documentElement, 0, document.documentElement, 1] followed by Range 48 [detachedXmlTextNode, 7, detachedXmlTextNode, 7]: modifying the Selection's last Range must modify the first added Range
-PASS Range 14 [document.documentElement, 0, document.documentElement, 1] followed by Range 48 [detachedXmlTextNode, 7, detachedXmlTextNode, 7]: second addRange() must not throw exceptions or modify the range it's given
-PASS Range 14 [document.documentElement, 0, document.documentElement, 1] followed by Range 48 [detachedXmlTextNode, 7, detachedXmlTextNode, 7]: second addRange() must result in rangeCount being 1
-FAIL Range 14 [document.documentElement, 0, document.documentElement, 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 14 [document.documentElement, 0, document.documentElement, 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 14 [document.documentElement, 0, document.documentElement, 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 14 [document.documentElement, 0, document.documentElement, 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 14 [document.documentElement, 0, document.documentElement, 1] followed by Range 48 [detachedXmlTextNode, 7, detachedXmlTextNode, 7]: second addRange() must do nothing
PASS Range 14 [document.documentElement, 0, document.documentElement, 1] followed by Range 49 [detachedXmlTextNode, 0, detachedXmlTextNode, 8]: first addRange() must not throw exceptions or modify the range it's given
PASS Range 14 [document.documentElement, 0, document.documentElement, 1] followed by Range 49 [detachedXmlTextNode, 0, detachedXmlTextNode, 8]: first addRange() must result in rangeCount being 1
PASS Range 14 [document.documentElement, 0, document.documentElement, 1] followed by Range 49 [detachedXmlTextNode, 0, detachedXmlTextNode, 8]: first addRange() must result in the selection's last range having the specified endpoints
PASS Range 14 [document.documentElement, 0, document.documentElement, 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 14 [document.documentElement, 0, document.documentElement, 1] followed by Range 49 [detachedXmlTextNode, 0, detachedXmlTextNode, 8]: modifying the first added range must modify the Selection's last Range
PASS Range 14 [document.documentElement, 0, document.documentElement, 1] followed by Range 49 [detachedXmlTextNode, 0, detachedXmlTextNode, 8]: modifying the Selection's last Range must modify the first added Range
-PASS Range 14 [document.documentElement, 0, document.documentElement, 1] followed by Range 49 [detachedXmlTextNode, 0, detachedXmlTextNode, 8]: second addRange() must not throw exceptions or modify the range it's given
-PASS Range 14 [document.documentElement, 0, document.documentElement, 1] followed by Range 49 [detachedXmlTextNode, 0, detachedXmlTextNode, 8]: second addRange() must result in rangeCount being 1
-FAIL Range 14 [document.documentElement, 0, document.documentElement, 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 14 [document.documentElement, 0, document.documentElement, 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 14 [document.documentElement, 0, document.documentElement, 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 14 [document.documentElement, 0, document.documentElement, 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 14 [document.documentElement, 0, document.documentElement, 1] followed by Range 49 [detachedXmlTextNode, 0, detachedXmlTextNode, 8]: second addRange() must do nothing
PASS Range 14 [document.documentElement, 0, document.documentElement, 1] followed by Range 50 [detachedComment, 3, detachedComment, 4]: first addRange() must not throw exceptions or modify the range it's given
PASS Range 14 [document.documentElement, 0, document.documentElement, 1] followed by Range 50 [detachedComment, 3, detachedComment, 4]: first addRange() must result in rangeCount being 1
PASS Range 14 [document.documentElement, 0, document.documentElement, 1] followed by Range 50 [detachedComment, 3, detachedComment, 4]: first addRange() must result in the selection's last range having the specified endpoints
PASS Range 14 [document.documentElement, 0, document.documentElement, 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 14 [document.documentElement, 0, document.documentElement, 1] followed by Range 50 [detachedComment, 3, detachedComment, 4]: modifying the first added range must modify the Selection's last Range
PASS Range 14 [document.documentElement, 0, document.documentElement, 1] followed by Range 50 [detachedComment, 3, detachedComment, 4]: modifying the Selection's last Range must modify the first added Range
-PASS Range 14 [document.documentElement, 0, document.documentElement, 1] followed by Range 50 [detachedComment, 3, detachedComment, 4]: second addRange() must not throw exceptions or modify the range it's given
-PASS Range 14 [document.documentElement, 0, document.documentElement, 1] followed by Range 50 [detachedComment, 3, detachedComment, 4]: second addRange() must result in rangeCount being 1
-FAIL Range 14 [document.documentElement, 0, document.documentElement, 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 14 [document.documentElement, 0, document.documentElement, 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 14 [document.documentElement, 0, document.documentElement, 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 14 [document.documentElement, 0, document.documentElement, 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 14 [document.documentElement, 0, document.documentElement, 1] followed by Range 50 [detachedComment, 3, detachedComment, 4]: second addRange() must do nothing
PASS Range 14 [document.documentElement, 0, document.documentElement, 1] followed by Range 51 [detachedComment, 5, detachedComment, 5]: first addRange() must not throw exceptions or modify the range it's given
PASS Range 14 [document.documentElement, 0, document.documentElement, 1] followed by Range 51 [detachedComment, 5, detachedComment, 5]: first addRange() must result in rangeCount being 1
PASS Range 14 [document.documentElement, 0, document.documentElement, 1] followed by Range 51 [detachedComment, 5, detachedComment, 5]: first addRange() must result in the selection's last range having the specified endpoints
PASS Range 14 [document.documentElement, 0, document.documentElement, 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 14 [document.documentElement, 0, document.documentElement, 1] followed by Range 51 [detachedComment, 5, detachedComment, 5]: modifying the first added range must modify the Selection's last Range
PASS Range 14 [document.documentElement, 0, document.documentElement, 1] followed by Range 51 [detachedComment, 5, detachedComment, 5]: modifying the Selection's last Range must modify the first added Range
-PASS Range 14 [document.documentElement, 0, document.documentElement, 1] followed by Range 51 [detachedComment, 5, detachedComment, 5]: second addRange() must not throw exceptions or modify the range it's given
-PASS Range 14 [document.documentElement, 0, document.documentElement, 1] followed by Range 51 [detachedComment, 5, detachedComment, 5]: second addRange() must result in rangeCount being 1
-FAIL Range 14 [document.documentElement, 0, document.documentElement, 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 14 [document.documentElement, 0, document.documentElement, 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 14 [document.documentElement, 0, document.documentElement, 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 14 [document.documentElement, 0, document.documentElement, 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 14 [document.documentElement, 0, document.documentElement, 1] followed by Range 51 [detachedComment, 5, detachedComment, 5]: second addRange() must do nothing
PASS Range 14 [document.documentElement, 0, document.documentElement, 1] followed by Range 52 [detachedForeignComment, 0, detachedForeignComment, 1]: first addRange() must not throw exceptions or modify the range it's given
PASS Range 14 [document.documentElement, 0, document.documentElement, 1] followed by Range 52 [detachedForeignComment, 0, detachedForeignComment, 1]: first addRange() must result in rangeCount being 1
PASS Range 14 [document.documentElement, 0, document.documentElement, 1] followed by Range 52 [detachedForeignComment, 0, detachedForeignComment, 1]: first addRange() must result in the selection's last range having the specified endpoints
PASS Range 14 [document.documentElement, 0, document.documentElement, 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 14 [document.documentElement, 0, document.documentElement, 1] followed by Range 52 [detachedForeignComment, 0, detachedForeignComment, 1]: modifying the first added range must modify the Selection's last Range
PASS Range 14 [document.documentElement, 0, document.documentElement, 1] followed by Range 52 [detachedForeignComment, 0, detachedForeignComment, 1]: modifying the Selection's last Range must modify the first added Range
-PASS Range 14 [document.documentElement, 0, document.documentElement, 1] followed by Range 52 [detachedForeignComment, 0, detachedForeignComment, 1]: second addRange() must not throw exceptions or modify the range it's given
-PASS Range 14 [document.documentElement, 0, document.documentElement, 1] followed by Range 52 [detachedForeignComment, 0, detachedForeignComment, 1]: second addRange() must result in rangeCount being 1
-FAIL Range 14 [document.documentElement, 0, document.documentElement, 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 14 [document.documentElement, 0, document.documentElement, 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 14 [document.documentElement, 0, document.documentElement, 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 14 [document.documentElement, 0, document.documentElement, 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 14 [document.documentElement, 0, document.documentElement, 1] followed by Range 52 [detachedForeignComment, 0, detachedForeignComment, 1]: second addRange() must do nothing
PASS Range 14 [document.documentElement, 0, document.documentElement, 1] followed by Range 53 [detachedForeignComment, 4, detachedForeignComment, 4]: first addRange() must not throw exceptions or modify the range it's given
PASS Range 14 [document.documentElement, 0, document.documentElement, 1] followed by Range 53 [detachedForeignComment, 4, detachedForeignComment, 4]: first addRange() must result in rangeCount being 1
PASS Range 14 [document.documentElement, 0, document.documentElement, 1] followed by Range 53 [detachedForeignComment, 4, detachedForeignComment, 4]: first addRange() must result in the selection's last range having the specified endpoints
PASS Range 14 [document.documentElement, 0, document.documentElement, 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 14 [document.documentElement, 0, document.documentElement, 1] followed by Range 53 [detachedForeignComment, 4, detachedForeignComment, 4]: modifying the first added range must modify the Selection's last Range
PASS Range 14 [document.documentElement, 0, document.documentElement, 1] followed by Range 53 [detachedForeignComment, 4, detachedForeignComment, 4]: modifying the Selection's last Range must modify the first added Range
-PASS Range 14 [document.documentElement, 0, document.documentElement, 1] followed by Range 53 [detachedForeignComment, 4, detachedForeignComment, 4]: second addRange() must not throw exceptions or modify the range it's given
-PASS Range 14 [document.documentElement, 0, document.documentElement, 1] followed by Range 53 [detachedForeignComment, 4, detachedForeignComment, 4]: second addRange() must result in rangeCount being 1
-FAIL Range 14 [document.documentElement, 0, document.documentElement, 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 14 [document.documentElement, 0, document.documentElement, 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 14 [document.documentElement, 0, document.documentElement, 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 14 [document.documentElement, 0, document.documentElement, 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 14 [document.documentElement, 0, document.documentElement, 1] followed by Range 53 [detachedForeignComment, 4, detachedForeignComment, 4]: second addRange() must do nothing
PASS Range 14 [document.documentElement, 0, document.documentElement, 1] followed by Range 54 [detachedXmlComment, 2, detachedXmlComment, 6]: first addRange() must not throw exceptions or modify the range it's given
PASS Range 14 [document.documentElement, 0, document.documentElement, 1] followed by Range 54 [detachedXmlComment, 2, detachedXmlComment, 6]: first addRange() must result in rangeCount being 1
PASS Range 14 [document.documentElement, 0, document.documentElement, 1] followed by Range 54 [detachedXmlComment, 2, detachedXmlComment, 6]: first addRange() must result in the selection's last range having the specified endpoints
PASS Range 14 [document.documentElement, 0, document.documentElement, 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 14 [document.documentElement, 0, document.documentElement, 1] followed by Range 54 [detachedXmlComment, 2, detachedXmlComment, 6]: modifying the first added range must modify the Selection's last Range
PASS Range 14 [document.documentElement, 0, document.documentElement, 1] followed by Range 54 [detachedXmlComment, 2, detachedXmlComment, 6]: modifying the Selection's last Range must modify the first added Range
-PASS Range 14 [document.documentElement, 0, document.documentElement, 1] followed by Range 54 [detachedXmlComment, 2, detachedXmlComment, 6]: second addRange() must not throw exceptions or modify the range it's given
-PASS Range 14 [document.documentElement, 0, document.documentElement, 1] followed by Range 54 [detachedXmlComment, 2, detachedXmlComment, 6]: second addRange() must result in rangeCount being 1
-FAIL Range 14 [document.documentElement, 0, document.documentElement, 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 14 [document.documentElement, 0, document.documentElement, 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 14 [document.documentElement, 0, document.documentElement, 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 14 [document.documentElement, 0, document.documentElement, 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 14 [document.documentElement, 0, document.documentElement, 1] followed by Range 54 [detachedXmlComment, 2, detachedXmlComment, 6]: second addRange() must do nothing
PASS Range 14 [document.documentElement, 0, document.documentElement, 1] followed by Range 55 [docfrag, 0, docfrag, 0]: first addRange() must not throw exceptions or modify the range it's given
PASS Range 14 [document.documentElement, 0, document.documentElement, 1] followed by Range 55 [docfrag, 0, docfrag, 0]: first addRange() must result in rangeCount being 1
PASS Range 14 [document.documentElement, 0, document.documentElement, 1] followed by Range 55 [docfrag, 0, docfrag, 0]: first addRange() must result in the selection's last range having the specified endpoints
PASS Range 14 [document.documentElement, 0, document.documentElement, 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 14 [document.documentElement, 0, document.documentElement, 1] followed by Range 55 [docfrag, 0, docfrag, 0]: modifying the first added range must modify the Selection's last Range
PASS Range 14 [document.documentElement, 0, document.documentElement, 1] followed by Range 55 [docfrag, 0, docfrag, 0]: modifying the Selection's last Range must modify the first added Range
-PASS Range 14 [document.documentElement, 0, document.documentElement, 1] followed by Range 55 [docfrag, 0, docfrag, 0]: second addRange() must not throw exceptions or modify the range it's given
-PASS Range 14 [document.documentElement, 0, document.documentElement, 1] followed by Range 55 [docfrag, 0, docfrag, 0]: second addRange() must result in rangeCount being 1
-FAIL Range 14 [document.documentElement, 0, document.documentElement, 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 14 [document.documentElement, 0, document.documentElement, 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 14 [document.documentElement, 0, document.documentElement, 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 14 [document.documentElement, 0, document.documentElement, 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 14 [document.documentElement, 0, document.documentElement, 1] followed by Range 55 [docfrag, 0, docfrag, 0]: second addRange() must do nothing
PASS Range 14 [document.documentElement, 0, document.documentElement, 1] followed by Range 56 [foreignDocfrag, 0, foreignDocfrag, 0]: first addRange() must not throw exceptions or modify the range it's given
PASS Range 14 [document.documentElement, 0, document.documentElement, 1] followed by Range 56 [foreignDocfrag, 0, foreignDocfrag, 0]: first addRange() must result in rangeCount being 1
PASS Range 14 [document.documentElement, 0, document.documentElement, 1] followed by Range 56 [foreignDocfrag, 0, foreignDocfrag, 0]: first addRange() must result in the selection's last range having the specified endpoints
PASS Range 14 [document.documentElement, 0, document.documentElement, 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 14 [document.documentElement, 0, document.documentElement, 1] followed by Range 56 [foreignDocfrag, 0, foreignDocfrag, 0]: modifying the first added range must modify the Selection's last Range
PASS Range 14 [document.documentElement, 0, document.documentElement, 1] followed by Range 56 [foreignDocfrag, 0, foreignDocfrag, 0]: modifying the Selection's last Range must modify the first added Range
-PASS Range 14 [document.documentElement, 0, document.documentElement, 1] followed by Range 56 [foreignDocfrag, 0, foreignDocfrag, 0]: second addRange() must not throw exceptions or modify the range it's given
-PASS Range 14 [document.documentElement, 0, document.documentElement, 1] followed by Range 56 [foreignDocfrag, 0, foreignDocfrag, 0]: second addRange() must result in rangeCount being 1
-FAIL Range 14 [document.documentElement, 0, document.documentElement, 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 14 [document.documentElement, 0, document.documentElement, 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 14 [document.documentElement, 0, document.documentElement, 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 14 [document.documentElement, 0, document.documentElement, 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 14 [document.documentElement, 0, document.documentElement, 1] followed by Range 56 [foreignDocfrag, 0, foreignDocfrag, 0]: second addRange() must do nothing
PASS Range 14 [document.documentElement, 0, document.documentElement, 1] followed by Range 57 [xmlDocfrag, 0, xmlDocfrag, 0]: first addRange() must not throw exceptions or modify the range it's given
PASS Range 14 [document.documentElement, 0, document.documentElement, 1] followed by Range 57 [xmlDocfrag, 0, xmlDocfrag, 0]: first addRange() must result in rangeCount being 1
PASS Range 14 [document.documentElement, 0, document.documentElement, 1] followed by Range 57 [xmlDocfrag, 0, xmlDocfrag, 0]: first addRange() must result in the selection's last range having the specified endpoints
PASS Range 14 [document.documentElement, 0, document.documentElement, 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 14 [document.documentElement, 0, document.documentElement, 1] followed by Range 57 [xmlDocfrag, 0, xmlDocfrag, 0]: modifying the first added range must modify the Selection's last Range
PASS Range 14 [document.documentElement, 0, document.documentElement, 1] followed by Range 57 [xmlDocfrag, 0, xmlDocfrag, 0]: modifying the Selection's last Range must modify the first added Range
-PASS Range 14 [document.documentElement, 0, document.documentElement, 1] followed by Range 57 [xmlDocfrag, 0, xmlDocfrag, 0]: second addRange() must not throw exceptions or modify the range it's given
-PASS Range 14 [document.documentElement, 0, document.documentElement, 1] followed by Range 57 [xmlDocfrag, 0, xmlDocfrag, 0]: second addRange() must result in rangeCount being 1
-FAIL Range 14 [document.documentElement, 0, document.documentElement, 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 14 [document.documentElement, 0, document.documentElement, 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 14 [document.documentElement, 0, document.documentElement, 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 14 [document.documentElement, 0, document.documentElement, 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
+PASS Range 14 [document.documentElement, 0, document.documentElement, 1] followed by Range 57 [xmlDocfrag, 0, xmlDocfrag, 0]: second addRange() must do nothing
PASS Range 15 [document.documentElement, 0, document.documentElement, 2] 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 15 [document.documentElement, 0, document.documentElement, 2] followed by Range 0 [paras[0].firstChild, 0, paras[0].firstChild, 0]: first addRange() must result in rangeCount being 1
PASS Range 15 [document.documentElement, 0, document.documentElement, 2] 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
@@ -2468,78 +994,42 @@ PASS Range 15 [document.documentElement, 0, document.documentElement, 2] followe
PASS Range 15 [document.documentElement, 0, document.documentElement, 2] 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 15 [document.documentElement, 0, document.documentElement, 2] followed by Range 8 [detachedPara1.firstChild, 0, detachedPara1.firstChild, 0]: modifying the first added range must modify the Selection's last Range
PASS Range 15 [document.documentElement, 0, document.documentElement, 2] followed by Range 8 [detachedPara1.firstChild, 0, detachedPara1.firstChild, 0]: modifying the Selection's last Range must modify the first added Range
-PASS Range 15 [document.documentElement, 0, document.documentElement, 2] 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 15 [document.documentElement, 0, document.documentElement, 2] followed by Range 8 [detachedPara1.firstChild, 0, detachedPara1.firstChild, 0]: second addRange() must result in rangeCount being 1
-FAIL Range 15 [document.documentElement, 0, document.documentElement, 2] 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 15 [document.documentElement, 0, document.documentElement, 2] 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 15 [document.documentElement, 0, document.documentElement, 2] 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 15 [document.documentElement, 0, document.documentElement, 2] 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 15 [document.documentElement, 0, document.documentElement, 2] followed by Range 8 [detachedPara1.firstChild, 0, detachedPara1.firstChild, 0]: second addRange() must do nothing
PASS Range 15 [document.documentElement, 0, document.documentElement, 2] 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 15 [document.documentElement, 0, document.documentElement, 2] followed by Range 9 [detachedPara1.firstChild, 0, detachedPara1.firstChild, 1]: first addRange() must result in rangeCount being 1
PASS Range 15 [document.documentElement, 0, document.documentElement, 2] followed by Range 9 [detachedPara1.firstChild, 0, detachedPara1.firstChild, 1]: first addRange() must result in the selection's last range having the specified endpoints
PASS Range 15 [document.documentElement, 0, document.documentElement, 2] 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 15 [document.documentElement, 0, document.documentElement, 2] followed by Range 9 [detachedPara1.firstChild, 0, detachedPara1.firstChild, 1]: modifying the first added range must modify the Selection's last Range
PASS Range 15 [document.documentElement, 0, document.documentElement, 2] followed by Range 9 [detachedPara1.firstChild, 0, detachedPara1.firstChild, 1]: modifying the Selection's last Range must modify the first added Range
-PASS Range 15 [document.documentElement, 0, document.documentElement, 2] 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 15 [document.documentElement, 0, document.documentElement, 2] followed by Range 9 [detachedPara1.firstChild, 0, detachedPara1.firstChild, 1]: second addRange() must result in rangeCount being 1
-FAIL Range 15 [document.documentElement, 0, document.documentElement, 2] 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 15 [document.documentElement, 0, document.documentElement, 2] 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 15 [document.documentElement, 0, document.documentElement, 2] 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 15 [document.documentElement, 0, document.documentElement, 2] 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 15 [document.documentElement, 0, document.documentElement, 2] followed by Range 9 [detachedPara1.firstChild, 0, detachedPara1.firstChild, 1]: second addRange() must do nothing
PASS Range 15 [document.documentElement, 0, document.documentElement, 2] 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 15 [document.documentElement, 0, document.documentElement, 2] followed by Range 10 [detachedPara1.firstChild, 2, detachedPara1.firstChild, 8]: first addRange() must result in rangeCount being 1
PASS Range 15 [document.documentElement, 0, document.documentElement, 2] followed by Range 10 [detachedPara1.firstChild, 2, detachedPara1.firstChild, 8]: first addRange() must result in the selection's last range having the specified endpoints
PASS Range 15 [document.documentElement, 0, document.documentElement, 2] 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 15 [document.documentElement, 0, document.documentElement, 2] followed by Range 10 [detachedPara1.firstChild, 2, detachedPara1.firstChild, 8]: modifying the first added range must modify the Selection's last Range
PASS Range 15 [document.documentElement, 0, document.documentElement, 2] followed by Range 10 [detachedPara1.firstChild, 2, detachedPara1.firstChild, 8]: modifying the Selection's last Range must modify the first added Range
-PASS Range 15 [document.documentElement, 0, document.documentElement, 2] 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 15 [document.documentElement, 0, document.documentElement, 2] followed by Range 10 [detachedPara1.firstChild, 2, detachedPara1.firstChild, 8]: second addRange() must result in rangeCount being 1
-FAIL Range 15 [document.documentElement, 0, document.documentElement, 2] 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 15 [document.documentElement, 0, document.documentElement, 2] 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 15 [document.documentElement, 0, document.documentElement, 2] 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 15 [document.documentElement, 0, document.documentElement, 2] 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 15 [document.documentElement, 0, document.documentElement, 2] followed by Range 10 [detachedPara1.firstChild, 2, detachedPara1.firstChild, 8]: second addRange() must do nothing
PASS Range 15 [document.documentElement, 0, document.documentElement, 2] 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 15 [document.documentElement, 0, document.documentElement, 2] followed by Range 11 [foreignPara1.firstChild, 0, foreignPara1.firstChild, 0]: first addRange() must result in rangeCount being 1
PASS Range 15 [document.documentElement, 0, document.documentElement, 2] followed by Range 11 [foreignPara1.firstChild, 0, foreignPara1.firstChild, 0]: first addRange() must result in the selection's last range having the specified endpoints
PASS Range 15 [document.documentElement, 0, document.documentElement, 2] 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 15 [document.documentElement, 0, document.documentElement, 2] followed by Range 11 [foreignPara1.firstChild, 0, foreignPara1.firstChild, 0]: modifying the first added range must modify the Selection's last Range
PASS Range 15 [document.documentElement, 0, document.documentElement, 2] followed by Range 11 [foreignPara1.firstChild, 0, foreignPara1.firstChild, 0]: modifying the Selection's last Range must modify the first added Range
-PASS Range 15 [document.documentElement, 0, document.documentElement, 2] 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 15 [document.documentElement, 0, document.documentElement, 2] followed by Range 11 [foreignPara1.firstChild, 0, foreignPara1.firstChild, 0]: second addRange() must result in rangeCount being 1
-FAIL Range 15 [document.documentElement, 0, document.documentElement, 2] 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 15 [document.documentElement, 0, document.documentElement, 2] 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 15 [document.documentElement, 0, document.documentElement, 2] 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 15 [document.documentElement, 0, document.documentElement, 2] 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 15 [document.documentElement, 0, document.documentElement, 2] followed by Range 11 [foreignPara1.firstChild, 0, foreignPara1.firstChild, 0]: second addRange() must do nothing
PASS Range 15 [document.documentElement, 0, document.documentElement, 2] 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 15 [document.documentElement, 0, document.documentElement, 2] followed by Range 12 [foreignPara1.firstChild, 0, foreignPara1.firstChild, 1]: first addRange() must result in rangeCount being 1
PASS Range 15 [document.documentElement, 0, document.documentElement, 2] followed by Range 12 [foreignPara1.firstChild, 0, foreignPara1.firstChild, 1]: first addRange() must result in the selection's last range having the specified endpoints
PASS Range 15 [document.documentElement, 0, document.documentElement, 2] 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 15 [document.documentElement, 0, document.documentElement, 2] followed by Range 12 [foreignPara1.firstChild, 0, foreignPara1.firstChild, 1]: modifying the first added range must modify the Selection's last Range
PASS Range 15 [document.documentElement, 0, document.documentElement, 2] followed by Range 12 [foreignPara1.firstChild, 0, foreignPara1.firstChild, 1]: modifying the Selection's last Range must modify the first added Range
-PASS Range 15 [document.documentElement, 0, document.documentElement, 2] 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 15 [document.documentElement, 0, document.documentElement, 2] followed by Range 12 [foreignPara1.firstChild, 0, foreignPara1.firstChild, 1]: second addRange() must result in rangeCount being 1
-FAIL Range 15 [document.documentElement, 0, document.documentElement, 2] 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 15 [document.documentElement, 0, document.documentElement, 2] 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 15 [document.documentElement, 0, document.documentElement, 2] 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 15 [document.documentElement, 0, document.documentElement, 2] 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 15 [document.documentElement, 0, document.documentElement, 2] followed by Range 12 [foreignPara1.firstChild, 0, foreignPara1.firstChild, 1]: second addRange() must do nothing
PASS Range 15 [document.documentElement, 0, document.documentElement, 2] 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 15 [document.documentElement, 0, document.documentElement, 2] followed by Range 13 [foreignPara1.firstChild, 2, foreignPara1.firstChild, 8]: first addRange() must result in rangeCount being 1
PASS Range 15 [document.documentElement, 0, document.documentElement, 2] followed by Range 13 [foreignPara1.firstChild, 2, foreignPara1.firstChild, 8]: first addRange() must result in the selection's last range having the specified endpoints
PASS Range 15 [document.documentElement, 0, document.documentElement, 2] 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 15 [document.documentElement, 0, document.documentElement, 2] followed by Range 13 [foreignPara1.firstChild, 2, foreignPara1.firstChild, 8]: modifying the first added range must modify the Selection's last Range
PASS Range 15 [document.documentElement, 0, document.documentElement, 2] followed by Range 13 [foreignPara1.firstChild, 2, foreignPara1.firstChild, 8]: modifying the Selection's last Range must modify the first added Range
-PASS Range 15 [document.documentElement, 0, document.documentElement, 2] 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 15 [document.documentElement, 0, document.documentElement, 2] followed by Range 13 [foreignPara1.firstChild, 2, foreignPara1.firstChild, 8]: second addRange() must result in rangeCount being 1
-FAIL Range 15 [document.documentElement, 0, document.documentElement, 2] 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 15 [document.documentElement, 0, document.documentElement, 2] 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 15 [document.documentElement, 0, document.documentElement, 2] 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 15 [document.documentElement, 0, document.documentElement, 2] 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 15 [document.documentElement, 0, document.documentElement, 2] followed by Range 13 [foreignPara1.firstChild, 2, foreignPara1.firstChild, 8]: second addRange() must do nothing
PASS Range 15 [document.documentElement, 0, document.documentElement, 2] 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 15 [document.documentElement, 0, document.documentElement, 2] followed by Range 14 [document.documentElement, 0, document.documentElement, 1]: first addRange() must result in rangeCount being 1
PASS Range 15 [document.documentElement, 0, document.documentElement, 2] followed by Range 14 [document.documentElement, 0, document.documentElement, 1]: first addRange() must result in the selection's last range having the specified endpoints
@@ -2674,39 +1164,21 @@ PASS Range 15 [document.documentElement, 0, document.documentElement, 2] followe
PASS Range 15 [document.documentElement, 0, document.documentElement, 2] 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 15 [document.documentElement, 0, document.documentElement, 2] followed by Range 19 [foreignDoc.documentElement, 0, foreignDoc.documentElement, 1]: modifying the first added range must modify the Selection's last Range
PASS Range 15 [document.documentElement, 0, document.documentElement, 2] followed by Range 19 [foreignDoc.documentElement, 0, foreignDoc.documentElement, 1]: modifying the Selection's last Range must modify the first added Range
-PASS Range 15 [document.documentElement, 0, document.documentElement, 2] 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 15 [document.documentElement, 0, document.documentElement, 2] followed by Range 19 [foreignDoc.documentElement, 0, foreignDoc.documentElement, 1]: second addRange() must result in rangeCount being 1
-FAIL Range 15 [document.documentElement, 0, document.documentElement, 2] 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 15 [document.documentElement, 0, document.documentElement, 2] 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 15 [document.documentElement, 0, document.documentElement, 2] 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 15 [document.documentElement, 0, document.documentElement, 2] 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 15 [document.documentElement, 0, document.documentElement, 2] followed by Range 19 [foreignDoc.documentElement, 0, foreignDoc.documentElement, 1]: second addRange() must do nothing
PASS Range 15 [document.documentElement, 0, document.documentElement, 2] 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 15 [document.documentElement, 0, document.documentElement, 2] followed by Range 20 [foreignDoc.head, 1, foreignDoc.head, 1]: first addRange() must result in rangeCount being 1
PASS Range 15 [document.documentElement, 0, document.documentElement, 2] followed by Range 20 [foreignDoc.head, 1, foreignDoc.head, 1]: first addRange() must result in the selection's last range having the specified endpoints
PASS Range 15 [document.documentElement, 0, document.documentElement, 2] 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 15 [document.documentElement, 0, document.documentElement, 2] followed by Range 20 [foreignDoc.head, 1, foreignDoc.head, 1]: modifying the first added range must modify the Selection's last Range
PASS Range 15 [document.documentElement, 0, document.documentElement, 2] followed by Range 20 [foreignDoc.head, 1, foreignDoc.head, 1]: modifying the Selection's last Range must modify the first added Range
-PASS Range 15 [document.documentElement, 0, document.documentElement, 2] 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 15 [document.documentElement, 0, document.documentElement, 2] followed by Range 20 [foreignDoc.head, 1, foreignDoc.head, 1]: second addRange() must result in rangeCount being 1
-FAIL Range 15 [document.documentElement, 0, document.documentElement, 2] 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 15 [document.documentElement, 0, document.documentElement, 2] 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 15 [document.documentElement, 0, document.documentElement, 2] 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 15 [document.documentElement, 0, document.documentElement, 2] 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 15 [document.documentElement, 0, document.documentElement, 2] followed by Range 20 [foreignDoc.head, 1, foreignDoc.head, 1]: second addRange() must do nothing
PASS Range 15 [document.documentElement, 0, document.documentElement, 2] 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 15 [document.documentElement, 0, document.documentElement, 2] followed by Range 21 [foreignDoc.body, 0, foreignDoc.body, 0]: first addRange() must result in rangeCount being 1
PASS Range 15 [document.documentElement, 0, document.documentElement, 2] followed by Range 21 [foreignDoc.body, 0, foreignDoc.body, 0]: first addRange() must result in the selection's last range having the specified endpoints
PASS Range 15 [document.documentElement, 0, document.documentElement, 2] 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 15 [document.documentElement, 0, document.documentElement, 2] followed by Range 21 [foreignDoc.body, 0, foreignDoc.body, 0]: modifying the first added range must modify the Selection's last Range
PASS Range 15 [document.documentElement, 0, document.documentElement, 2] followed by Range 21 [foreignDoc.body, 0, foreignDoc.body, 0]: modifying the Selection's last Range must modify the first added Range
-PASS Range 15 [document.documentElement, 0, document.documentElement, 2] 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 15 [document.documentElement, 0, document.documentElement, 2] followed by Range 21 [foreignDoc.body, 0, foreignDoc.body, 0]: second addRange() must result in rangeCount being 1
-FAIL Range 15 [document.documentElement, 0, document.documentElement, 2] 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 15 [document.documentElement, 0, document.documentElement, 2] 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 15 [document.documentElement, 0, document.documentElement, 2] 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 15 [document.documentElement, 0, document.documentElement, 2] 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 15 [document.documentElement, 0, document.documentElement, 2] followed by Range 21 [foreignDoc.body, 0, foreignDoc.body, 0]: second addRange() must do nothing
PASS Range 15 [document.documentElement, 0, document.documentElement, 2] 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 15 [document.documentElement, 0, document.documentElement, 2] followed by Range 22 [paras[0], 0, paras[0], 0]: first addRange() must result in rangeCount being 1
PASS Range 15 [document.documentElement, 0, document.documentElement, 2] followed by Range 22 [paras[0], 0, paras[0], 0]: first addRange() must result in the selection's last range having the specified endpoints
@@ -2743,26 +1215,14 @@ PASS Range 15 [document.documentElement, 0, document.documentElement, 2] followe
PASS Range 15 [document.documentElement, 0, document.documentElement, 2] 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 15 [document.documentElement, 0, document.documentElement, 2] followed by Range 24 [detachedPara1, 0, detachedPara1, 0]: modifying the first added range must modify the Selection's last Range
PASS Range 15 [document.documentElement, 0, document.documentElement, 2] followed by Range 24 [detachedPara1, 0, detachedPara1, 0]: modifying the Selection's last Range must modify the first added Range
-PASS Range 15 [document.documentElement, 0, document.documentElement, 2] followed by Range 24 [detachedPara1, 0, detachedPara1, 0]: second addRange() must not throw exceptions or modify the range it's given
-PASS Range 15 [document.documentElement, 0, document.documentElement, 2] followed by Range 24 [detachedPara1, 0, detachedPara1, 0]: second addRange() must result in rangeCount being 1
-FAIL Range 15 [document.documentElement, 0, document.documentElement, 2] 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 15 [document.documentElement, 0, document.documentElement, 2] 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 15 [document.documentElement, 0, document.documentElement, 2] 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 15 [document.documentElement, 0, document.documentElement, 2] 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 15 [document.documentElement, 0, document.documentElement, 2] followed by Range 24 [detachedPara1, 0, detachedPara1, 0]: second addRange() must do nothing
PASS Range 15 [document.documentElement, 0, document.documentElement, 2] followed by Range 25 [detachedPara1, 0, detachedPara1, 1]: first addRange() must not throw exceptions or modify the range it's given
PASS Range 15 [document.documentElement, 0, document.documentElement, 2] followed by Range 25 [detachedPara1, 0, detachedPara1, 1]: first addRange() must result in rangeCount being 1
PASS Range 15 [document.documentElement, 0, document.documentElement, 2] followed by Range 25 [detachedPara1, 0, detachedPara1, 1]: first addRange() must result in the selection's last range having the specified endpoints
PASS Range 15 [document.documentElement, 0, document.documentElement, 2] 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 15 [document.documentElement, 0, document.documentElement, 2] followed by Range 25 [detachedPara1, 0, detachedPara1, 1]: modifying the first added range must modify the Selection's last Range
PASS Range 15 [document.documentElement, 0, document.documentElement, 2] followed by Range 25 [detachedPara1, 0, detachedPara1, 1]: modifying the Selection's last Range must modify the first added Range
-PASS Range 15 [document.documentElement, 0, document.documentElement, 2] followed by Range 25 [detachedPara1, 0, detachedPara1, 1]: second addRange() must not throw exceptions or modify the range it's given
-PASS Range 15 [document.documentElement, 0, document.documentElement, 2] followed by Range 25 [detachedPara1, 0, detachedPara1, 1]: second addRange() must result in rangeCount being 1
-FAIL Range 15 [document.documentElement, 0, document.documentElement, 2] 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 15 [document.documentElement, 0, document.documentElement, 2] 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 15 [document.documentElement, 0, document.documentElement, 2] 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 15 [document.documentElement, 0, document.documentElement, 2] 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 15 [document.documentElement, 0, document.documentElement, 2] followed by Range 25 [detachedPara1, 0, detachedPara1, 1]: second addRange() must do nothing
PASS Range 15 [document.documentElement, 0, document.documentElement, 2] 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 15 [document.documentElement, 0, document.documentElement, 2] followed by Range 26 [paras[0].firstChild, 0, paras[1].firstChild, 0]: first addRange() must result in rangeCount being 1
PASS Range 15 [document.documentElement, 0, document.documentElement, 2] 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
@@ -2874,13 +1334,7 @@ PASS Range 15 [document.documentElement, 0, document.documentElement, 2] followe
PASS Range 15 [document.documentElement, 0, document.documentElement, 2] 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 15 [document.documentElement, 0, document.documentElement, 2] followed by Range 33 [foreignDoc.documentElement, 1, foreignDoc.body, 0]: modifying the first added range must modify the Selection's last Range
PASS Range 15 [document.documentElement, 0, document.documentElement, 2] followed by Range 33 [foreignDoc.documentElement, 1, foreignDoc.body, 0]: modifying the Selection's last Range must modify the first added Range
-PASS Range 15 [document.documentElement, 0, document.documentElement, 2] 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 15 [document.documentElement, 0, document.documentElement, 2] followed by Range 33 [foreignDoc.documentElement, 1, foreignDoc.body, 0]: second addRange() must result in rangeCount being 1
-FAIL Range 15 [document.documentElement, 0, document.documentElement, 2] 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 15 [document.documentElement, 0, document.documentElement, 2] 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 15 [document.documentElement, 0, document.documentElement, 2] 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 15 [document.documentElement, 0, document.documentElement, 2] 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 15 [document.documentElement, 0, document.documentElement, 2] followed by Range 33 [foreignDoc.documentElement, 1, foreignDoc.body, 0]: second addRange() must do nothing
PASS Range 15 [document.documentElement, 0, document.documentElement, 2] followed by Range 34 [document, 0, document, 1]: first addRange() must not throw exceptions or modify the range it's given
PASS Range 15 [document.documentElement, 0, document.documentElement, 2] followed by Range 34 [document, 0, document, 1]: first addRange() must result in rangeCount being 1
PASS Range 15 [document.documentElement, 0, document.documentElement, 2] followed by Range 34 [document, 0, document, 1]: first addRange() must result in the selection's last range having the specified endpoints
@@ -3027,233 +1481,125 @@ PASS Range 15 [document.documentElement, 0, document.documentElement, 2] followe
PASS Range 15 [document.documentElement, 0, document.documentElement, 2] 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 15 [document.documentElement, 0, document.documentElement, 2] followed by Range 40 [foreignDoc, 0, foreignDoc, 0]: modifying the first added range must modify the Selection's last Range
PASS Range 15 [document.documentElement, 0, document.documentElement, 2] followed by Range 40 [foreignDoc, 0, foreignDoc, 0]: modifying the Selection's last Range must modify the first added Range
-PASS Range 15 [document.documentElement, 0, document.documentElement, 2] followed by Range 40 [foreignDoc, 0, foreignDoc, 0]: second addRange() must not throw exceptions or modify the range it's given
-PASS Range 15 [document.documentElement, 0, document.documentElement, 2] followed by Range 40 [foreignDoc, 0, foreignDoc, 0]: second addRange() must result in rangeCount being 1
-FAIL Range 15 [document.documentElement, 0, document.documentElement, 2] 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 15 [document.documentElement, 0, document.documentElement, 2] 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 15 [document.documentElement, 0, document.documentElement, 2] 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 15 [document.documentElement, 0, document.documentElement, 2] 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 15 [document.documentElement, 0, document.documentElement, 2] followed by Range 40 [foreignDoc, 0, foreignDoc, 0]: second addRange() must do nothing
PASS Range 15 [document.documentElement, 0, document.documentElement, 2] followed by Range 41 [foreignDoc, 1, foreignComment, 2]: first addRange() must not throw exceptions or modify the range it's given
PASS Range 15 [document.documentElement, 0, document.documentElement, 2] followed by Range 41 [foreignDoc, 1, foreignComment, 2]: first addRange() must result in rangeCount being 1
PASS Range 15 [document.documentElement, 0, document.documentElement, 2] followed by Range 41 [foreignDoc, 1, foreignComment, 2]: first addRange() must result in the selection's last range having the specified endpoints
PASS Range 15 [document.documentElement, 0, document.documentElement, 2] 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 15 [document.documentElement, 0, document.documentElement, 2] followed by Range 41 [foreignDoc, 1, foreignComment, 2]: modifying the first added range must modify the Selection's last Range
PASS Range 15 [document.documentElement, 0, document.documentElement, 2] followed by Range 41 [foreignDoc, 1, foreignComment, 2]: modifying the Selection's last Range must modify the first added Range
-PASS Range 15 [document.documentElement, 0, document.documentElement, 2] followed by Range 41 [foreignDoc, 1, foreignComment, 2]: second addRange() must not throw exceptions or modify the range it's given
-PASS Range 15 [document.documentElement, 0, document.documentElement, 2] followed by Range 41 [foreignDoc, 1, foreignComment, 2]: second addRange() must result in rangeCount being 1
-FAIL Range 15 [document.documentElement, 0, document.documentElement, 2] 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 15 [document.documentElement, 0, document.documentElement, 2] 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 15 [document.documentElement, 0, document.documentElement, 2] 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 15 [document.documentElement, 0, document.documentElement, 2] 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 15 [document.documentElement, 0, document.documentElement, 2] followed by Range 41 [foreignDoc, 1, foreignComment, 2]: second addRange() must do nothing
PASS Range 15 [document.documentElement, 0, document.documentElement, 2] followed by Range 42 [foreignDoc.body, 0, foreignTextNode, 36]: first addRange() must not throw exceptions or modify the range it's given
PASS Range 15 [document.documentElement, 0, document.documentElement, 2] followed by Range 42 [foreignDoc.body, 0, foreignTextNode, 36]: first addRange() must result in rangeCount being 1
PASS Range 15 [document.documentElement, 0, document.documentElement, 2] followed by Range 42 [foreignDoc.body, 0, foreignTextNode, 36]: first addRange() must result in the selection's last range having the specified endpoints
PASS Range 15 [document.documentElement, 0, document.documentElement, 2] 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 15 [document.documentElement, 0, document.documentElement, 2] followed by Range 42 [foreignDoc.body, 0, foreignTextNode, 36]: modifying the first added range must modify the Selection's last Range
PASS Range 15 [document.documentElement, 0, document.documentElement, 2] followed by Range 42 [foreignDoc.body, 0, foreignTextNode, 36]: modifying the Selection's last Range must modify the first added Range
-PASS Range 15 [document.documentElement, 0, document.documentElement, 2] followed by Range 42 [foreignDoc.body, 0, foreignTextNode, 36]: second addRange() must not throw exceptions or modify the range it's given
-PASS Range 15 [document.documentElement, 0, document.documentElement, 2] followed by Range 42 [foreignDoc.body, 0, foreignTextNode, 36]: second addRange() must result in rangeCount being 1
-FAIL Range 15 [document.documentElement, 0, document.documentElement, 2] 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 15 [document.documentElement, 0, document.documentElement, 2] 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 15 [document.documentElement, 0, document.documentElement, 2] 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 15 [document.documentElement, 0, document.documentElement, 2] 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 15 [document.documentElement, 0, document.documentElement, 2] followed by Range 42 [foreignDoc.body, 0, foreignTextNode, 36]: second addRange() must do nothing
PASS Range 15 [document.documentElement, 0, document.documentElement, 2] followed by Range 43 [xmlDoc, 0, xmlDoc, 0]: first addRange() must not throw exceptions or modify the range it's given
PASS Range 15 [document.documentElement, 0, document.documentElement, 2] followed by Range 43 [xmlDoc, 0, xmlDoc, 0]: first addRange() must result in rangeCount being 1
PASS Range 15 [document.documentElement, 0, document.documentElement, 2] followed by Range 43 [xmlDoc, 0, xmlDoc, 0]: first addRange() must result in the selection's last range having the specified endpoints
PASS Range 15 [document.documentElement, 0, document.documentElement, 2] 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 15 [document.documentElement, 0, document.documentElement, 2] followed by Range 43 [xmlDoc, 0, xmlDoc, 0]: modifying the first added range must modify the Selection's last Range
PASS Range 15 [document.documentElement, 0, document.documentElement, 2] followed by Range 43 [xmlDoc, 0, xmlDoc, 0]: modifying the Selection's last Range must modify the first added Range
-PASS Range 15 [document.documentElement, 0, document.documentElement, 2] followed by Range 43 [xmlDoc, 0, xmlDoc, 0]: second addRange() must not throw exceptions or modify the range it's given
-PASS Range 15 [document.documentElement, 0, document.documentElement, 2] followed by Range 43 [xmlDoc, 0, xmlDoc, 0]: second addRange() must result in rangeCount being 1
-FAIL Range 15 [document.documentElement, 0, document.documentElement, 2] 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 15 [document.documentElement, 0, document.documentElement, 2] 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 15 [document.documentElement, 0, document.documentElement, 2] 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 15 [document.documentElement, 0, document.documentElement, 2] 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 15 [document.documentElement, 0, document.documentElement, 2] followed by Range 43 [xmlDoc, 0, xmlDoc, 0]: second addRange() must do nothing
PASS Range 15 [document.documentElement, 0, document.documentElement, 2] followed by Range 44 [xmlDoc, 1, xmlComment, 0]: first addRange() must not throw exceptions or modify the range it's given
PASS Range 15 [document.documentElement, 0, document.documentElement, 2] followed by Range 44 [xmlDoc, 1, xmlComment, 0]: first addRange() must result in rangeCount being 1
PASS Range 15 [document.documentElement, 0, document.documentElement, 2] followed by Range 44 [xmlDoc, 1, xmlComment, 0]: first addRange() must result in the selection's last range having the specified endpoints
PASS Range 15 [document.documentElement, 0, document.documentElement, 2] 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 15 [document.documentElement, 0, document.documentElement, 2] followed by Range 44 [xmlDoc, 1, xmlComment, 0]: modifying the first added range must modify the Selection's last Range
PASS Range 15 [document.documentElement, 0, document.documentElement, 2] followed by Range 44 [xmlDoc, 1, xmlComment, 0]: modifying the Selection's last Range must modify the first added Range
-PASS Range 15 [document.documentElement, 0, document.documentElement, 2] followed by Range 44 [xmlDoc, 1, xmlComment, 0]: second addRange() must not throw exceptions or modify the range it's given
-PASS Range 15 [document.documentElement, 0, document.documentElement, 2] followed by Range 44 [xmlDoc, 1, xmlComment, 0]: second addRange() must result in rangeCount being 1
-FAIL Range 15 [document.documentElement, 0, document.documentElement, 2] 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 15 [document.documentElement, 0, document.documentElement, 2] 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 15 [document.documentElement, 0, document.documentElement, 2] 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 15 [document.documentElement, 0, document.documentElement, 2] 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 15 [document.documentElement, 0, document.documentElement, 2] followed by Range 44 [xmlDoc, 1, xmlComment, 0]: second addRange() must do nothing
PASS Range 15 [document.documentElement, 0, document.documentElement, 2] followed by Range 45 [detachedTextNode, 0, detachedTextNode, 8]: first addRange() must not throw exceptions or modify the range it's given
PASS Range 15 [document.documentElement, 0, document.documentElement, 2] followed by Range 45 [detachedTextNode, 0, detachedTextNode, 8]: first addRange() must result in rangeCount being 1
PASS Range 15 [document.documentElement, 0, document.documentElement, 2] followed by Range 45 [detachedTextNode, 0, detachedTextNode, 8]: first addRange() must result in the selection's last range having the specified endpoints
PASS Range 15 [document.documentElement, 0, document.documentElement, 2] 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 15 [document.documentElement, 0, document.documentElement, 2] followed by Range 45 [detachedTextNode, 0, detachedTextNode, 8]: modifying the first added range must modify the Selection's last Range
PASS Range 15 [document.documentElement, 0, document.documentElement, 2] followed by Range 45 [detachedTextNode, 0, detachedTextNode, 8]: modifying the Selection's last Range must modify the first added Range
-PASS Range 15 [document.documentElement, 0, document.documentElement, 2] followed by Range 45 [detachedTextNode, 0, detachedTextNode, 8]: second addRange() must not throw exceptions or modify the range it's given
-PASS Range 15 [document.documentElement, 0, document.documentElement, 2] followed by Range 45 [detachedTextNode, 0, detachedTextNode, 8]: second addRange() must result in rangeCount being 1
-FAIL Range 15 [document.documentElement, 0, document.documentElement, 2] 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 15 [document.documentElement, 0, document.documentElement, 2] 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 15 [document.documentElement, 0, document.documentElement, 2] 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 15 [document.documentElement, 0, document.documentElement, 2] 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 15 [document.documentElement, 0, document.documentElement, 2] followed by Range 45 [detachedTextNode, 0, detachedTextNode, 8]: second addRange() must do nothing
PASS Range 15 [document.documentElement, 0, document.documentElement, 2] followed by Range 46 [detachedForeignTextNode, 7, detachedForeignTextNode, 7]: first addRange() must not throw exceptions or modify the range it's given
PASS Range 15 [document.documentElement, 0, document.documentElement, 2] followed by Range 46 [detachedForeignTextNode, 7, detachedForeignTextNode, 7]: first addRange() must result in rangeCount being 1
PASS Range 15 [document.documentElement, 0, document.documentElement, 2] followed by Range 46 [detachedForeignTextNode, 7, detachedForeignTextNode, 7]: first addRange() must result in the selection's last range having the specified endpoints
PASS Range 15 [document.documentElement, 0, document.documentElement, 2] 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 15 [document.documentElement, 0, document.documentElement, 2] followed by Range 46 [detachedForeignTextNode, 7, detachedForeignTextNode, 7]: modifying the first added range must modify the Selection's last Range
PASS Range 15 [document.documentElement, 0, document.documentElement, 2] followed by Range 46 [detachedForeignTextNode, 7, detachedForeignTextNode, 7]: modifying the Selection's last Range must modify the first added Range
-PASS Range 15 [document.documentElement, 0, document.documentElement, 2] followed by Range 46 [detachedForeignTextNode, 7, detachedForeignTextNode, 7]: second addRange() must not throw exceptions or modify the range it's given
-PASS Range 15 [document.documentElement, 0, document.documentElement, 2] followed by Range 46 [detachedForeignTextNode, 7, detachedForeignTextNode, 7]: second addRange() must result in rangeCount being 1
-FAIL Range 15 [document.documentElement, 0, document.documentElement, 2] 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 15 [document.documentElement, 0, document.documentElement, 2] 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 15 [document.documentElement, 0, document.documentElement, 2] 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 15 [document.documentElement, 0, document.documentElement, 2] 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 15 [document.documentElement, 0, document.documentElement, 2] followed by Range 46 [detachedForeignTextNode, 7, detachedForeignTextNode, 7]: second addRange() must do nothing
PASS Range 15 [document.documentElement, 0, document.documentElement, 2] followed by Range 47 [detachedForeignTextNode, 0, detachedForeignTextNode, 8]: first addRange() must not throw exceptions or modify the range it's given
PASS Range 15 [document.documentElement, 0, document.documentElement, 2] followed by Range 47 [detachedForeignTextNode, 0, detachedForeignTextNode, 8]: first addRange() must result in rangeCount being 1
PASS Range 15 [document.documentElement, 0, document.documentElement, 2] followed by Range 47 [detachedForeignTextNode, 0, detachedForeignTextNode, 8]: first addRange() must result in the selection's last range having the specified endpoints
PASS Range 15 [document.documentElement, 0, document.documentElement, 2] 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 15 [document.documentElement, 0, document.documentElement, 2] followed by Range 47 [detachedForeignTextNode, 0, detachedForeignTextNode, 8]: modifying the first added range must modify the Selection's last Range
PASS Range 15 [document.documentElement, 0, document.documentElement, 2] followed by Range 47 [detachedForeignTextNode, 0, detachedForeignTextNode, 8]: modifying the Selection's last Range must modify the first added Range
-PASS Range 15 [document.documentElement, 0, document.documentElement, 2] followed by Range 47 [detachedForeignTextNode, 0, detachedForeignTextNode, 8]: second addRange() must not throw exceptions or modify the range it's given
-PASS Range 15 [document.documentElement, 0, document.documentElement, 2] followed by Range 47 [detachedForeignTextNode, 0, detachedForeignTextNode, 8]: second addRange() must result in rangeCount being 1
-FAIL Range 15 [document.documentElement, 0, document.documentElement, 2] 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 15 [document.documentElement, 0, document.documentElement, 2] 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 15 [document.documentElement, 0, document.documentElement, 2] 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 15 [document.documentElement, 0, document.documentElement, 2] 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 15 [document.documentElement, 0, document.documentElement, 2] followed by Range 47 [detachedForeignTextNode, 0, detachedForeignTextNode, 8]: second addRange() must do nothing
PASS Range 15 [document.documentElement, 0, document.documentElement, 2] followed by Range 48 [detachedXmlTextNode, 7, detachedXmlTextNode, 7]: first addRange() must not throw exceptions or modify the range it's given
PASS Range 15 [document.documentElement, 0, document.documentElement, 2] followed by Range 48 [detachedXmlTextNode, 7, detachedXmlTextNode, 7]: first addRange() must result in rangeCount being 1
PASS Range 15 [document.documentElement, 0, document.documentElement, 2] followed by Range 48 [detachedXmlTextNode, 7, detachedXmlTextNode, 7]: first addRange() must result in the selection's last range having the specified endpoints
PASS Range 15 [document.documentElement, 0, document.documentElement, 2] 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 15 [document.documentElement, 0, document.documentElement, 2] followed by Range 48 [detachedXmlTextNode, 7, detachedXmlTextNode, 7]: modifying the first added range must modify the Selection's last Range
PASS Range 15 [document.documentElement, 0, document.documentElement, 2] followed by Range 48 [detachedXmlTextNode, 7, detachedXmlTextNode, 7]: modifying the Selection's last Range must modify the first added Range
-PASS Range 15 [document.documentElement, 0, document.documentElement, 2] followed by Range 48 [detachedXmlTextNode, 7, detachedXmlTextNode, 7]: second addRange() must not throw exceptions or modify the range it's given
-PASS Range 15 [document.documentElement, 0, document.documentElement, 2] followed by Range 48 [detachedXmlTextNode, 7, detachedXmlTextNode, 7]: second addRange() must result in rangeCount being 1
-FAIL Range 15 [document.documentElement, 0, document.documentElement, 2] 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 15 [document.documentElement, 0, document.documentElement, 2] 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 15 [document.documentElement, 0, document.documentElement, 2] 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 15 [document.documentElement, 0, document.documentElement, 2] 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 15 [document.documentElement, 0, document.documentElement, 2] followed by Range 48 [detachedXmlTextNode, 7, detachedXmlTextNode, 7]: second addRange() must do nothing
PASS Range 15 [document.documentElement, 0, document.documentElement, 2] followed by Range 49 [detachedXmlTextNode, 0, detachedXmlTextNode, 8]: first addRange() must not throw exceptions or modify the range it's given
PASS Range 15 [document.documentElement, 0, document.documentElement, 2] followed by Range 49 [detachedXmlTextNode, 0, detachedXmlTextNode, 8]: first addRange() must result in rangeCount being 1
PASS Range 15 [document.documentElement, 0, document.documentElement, 2] followed by Range 49 [detachedXmlTextNode, 0, detachedXmlTextNode, 8]: first addRange() must result in the selection's last range having the specified endpoints
PASS Range 15 [document.documentElement, 0, document.documentElement, 2] 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 15 [document.documentElement, 0, document.documentElement, 2] followed by Range 49 [detachedXmlTextNode, 0, detachedXmlTextNode, 8]: modifying the first added range must modify the Selection's last Range
PASS Range 15 [document.documentElement, 0, document.documentElement, 2] followed by Range 49 [detachedXmlTextNode, 0, detachedXmlTextNode, 8]: modifying the Selection's last Range must modify the first added Range
-PASS Range 15 [document.documentElement, 0, document.documentElement, 2] followed by Range 49 [detachedXmlTextNode, 0, detachedXmlTextNode, 8]: second addRange() must not throw exceptions or modify the range it's given
-PASS Range 15 [document.documentElement, 0, document.documentElement, 2] followed by Range 49 [detachedXmlTextNode, 0, detachedXmlTextNode, 8]: second addRange() must result in rangeCount being 1
-FAIL Range 15 [document.documentElement, 0, document.documentElement, 2] 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 15 [document.documentElement, 0, document.documentElement, 2] 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 15 [document.documentElement, 0, document.documentElement, 2] 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 15 [document.documentElement, 0, document.documentElement, 2] 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 15 [document.documentElement, 0, document.documentElement, 2] followed by Range 49 [detachedXmlTextNode, 0, detachedXmlTextNode, 8]: second addRange() must do nothing
PASS Range 15 [document.documentElement, 0, document.documentElement, 2] followed by Range 50 [detachedComment, 3, detachedComment, 4]: first addRange() must not throw exceptions or modify the range it's given
PASS Range 15 [document.documentElement, 0, document.documentElement, 2] followed by Range 50 [detachedComment, 3, detachedComment, 4]: first addRange() must result in rangeCount being 1
PASS Range 15 [document.documentElement, 0, document.documentElement, 2] followed by Range 50 [detachedComment, 3, detachedComment, 4]: first addRange() must result in the selection's last range having the specified endpoints
PASS Range 15 [document.documentElement, 0, document.documentElement, 2] 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 15 [document.documentElement, 0, document.documentElement, 2] followed by Range 50 [detachedComment, 3, detachedComment, 4]: modifying the first added range must modify the Selection's last Range
PASS Range 15 [document.documentElement, 0, document.documentElement, 2] followed by Range 50 [detachedComment, 3, detachedComment, 4]: modifying the Selection's last Range must modify the first added Range
-PASS Range 15 [document.documentElement, 0, document.documentElement, 2] followed by Range 50 [detachedComment, 3, detachedComment, 4]: second addRange() must not throw exceptions or modify the range it's given
-PASS Range 15 [document.documentElement, 0, document.documentElement, 2] followed by Range 50 [detachedComment, 3, detachedComment, 4]: second addRange() must result in rangeCount being 1
-FAIL Range 15 [document.documentElement, 0, document.documentElement, 2] 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 15 [document.documentElement, 0, document.documentElement, 2] 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 15 [document.documentElement, 0, document.documentElement, 2] 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 15 [document.documentElement, 0, document.documentElement, 2] 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 15 [document.documentElement, 0, document.documentElement, 2] followed by Range 50 [detachedComment, 3, detachedComment, 4]: second addRange() must do nothing
PASS Range 15 [document.documentElement, 0, document.documentElement, 2] followed by Range 51 [detachedComment, 5, detachedComment, 5]: first addRange() must not throw exceptions or modify the range it's given
PASS Range 15 [document.documentElement, 0, document.documentElement, 2] followed by Range 51 [detachedComment, 5, detachedComment, 5]: first addRange() must result in rangeCount being 1
PASS Range 15 [document.documentElement, 0, document.documentElement, 2] followed by Range 51 [detachedComment, 5, detachedComment, 5]: first addRange() must result in the selection's last range having the specified endpoints
PASS Range 15 [document.documentElement, 0, document.documentElement, 2] 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 15 [document.documentElement, 0, document.documentElement, 2] followed by Range 51 [detachedComment, 5, detachedComment, 5]: modifying the first added range must modify the Selection's last Range
PASS Range 15 [document.documentElement, 0, document.documentElement, 2] followed by Range 51 [detachedComment, 5, detachedComment, 5]: modifying the Selection's last Range must modify the first added Range
-PASS Range 15 [document.documentElement, 0, document.documentElement, 2] followed by Range 51 [detachedComment, 5, detachedComment, 5]: second addRange() must not throw exceptions or modify the range it's given
-PASS Range 15 [document.documentElement, 0, document.documentElement, 2] followed by Range 51 [detachedComment, 5, detachedComment, 5]: second addRange() must result in rangeCount being 1
-FAIL Range 15 [document.documentElement, 0, document.documentElement, 2] 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 15 [document.documentElement, 0, document.documentElement, 2] 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 15 [document.documentElement, 0, document.documentElement, 2] 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 15 [document.documentElement, 0, document.documentElement, 2] 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 15 [document.documentElement, 0, document.documentElement, 2] followed by Range 51 [detachedComment, 5, detachedComment, 5]: second addRange() must do nothing
PASS Range 15 [document.documentElement, 0, document.documentElement, 2] followed by Range 52 [detachedForeignComment, 0, detachedForeignComment, 1]: first addRange() must not throw exceptions or modify the range it's given
PASS Range 15 [document.documentElement, 0, document.documentElement, 2] followed by Range 52 [detachedForeignComment, 0, detachedForeignComment, 1]: first addRange() must result in rangeCount being 1
PASS Range 15 [document.documentElement, 0, document.documentElement, 2] followed by Range 52 [detachedForeignComment, 0, detachedForeignComment, 1]: first addRange() must result in the selection's last range having the specified endpoints
PASS Range 15 [document.documentElement, 0, document.documentElement, 2] 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 15 [document.documentElement, 0, document.documentElement, 2] followed by Range 52 [detachedForeignComment, 0, detachedForeignComment, 1]: modifying the first added range must modify the Selection's last Range
PASS Range 15 [document.documentElement, 0, document.documentElement, 2] followed by Range 52 [detachedForeignComment, 0, detachedForeignComment, 1]: modifying the Selection's last Range must modify the first added Range
-PASS Range 15 [document.documentElement, 0, document.documentElement, 2] followed by Range 52 [detachedForeignComment, 0, detachedForeignComment, 1]: second addRange() must not throw exceptions or modify the range it's given
-PASS Range 15 [document.documentElement, 0, document.documentElement, 2] followed by Range 52 [detachedForeignComment, 0, detachedForeignComment, 1]: second addRange() must result in rangeCount being 1
-FAIL Range 15 [document.documentElement, 0, document.documentElement, 2] 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 15 [document.documentElement, 0, document.documentElement, 2] 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 15 [document.documentElement, 0, document.documentElement, 2] 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 15 [document.documentElement, 0, document.documentElement, 2] 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 15 [document.documentElement, 0, document.documentElement, 2] followed by Range 52 [detachedForeignComment, 0, detachedForeignComment, 1]: second addRange() must do nothing
PASS Range 15 [document.documentElement, 0, document.documentElement, 2] followed by Range 53 [detachedForeignComment, 4, detachedForeignComment, 4]: first addRange() must not throw exceptions or modify the range it's given
PASS Range 15 [document.documentElement, 0, document.documentElement, 2] followed by Range 53 [detachedForeignComment, 4, detachedForeignComment, 4]: first addRange() must result in rangeCount being 1
PASS Range 15 [document.documentElement, 0, document.documentElement, 2] followed by Range 53 [detachedForeignComment, 4, detachedForeignComment, 4]: first addRange() must result in the selection's last range having the specified endpoints
PASS Range 15 [document.documentElement, 0, document.documentElement, 2] 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 15 [document.documentElement, 0, document.documentElement, 2] followed by Range 53 [detachedForeignComment, 4, detachedForeignComment, 4]: modifying the first added range must modify the Selection's last Range
PASS Range 15 [document.documentElement, 0, document.documentElement, 2] followed by Range 53 [detachedForeignComment, 4, detachedForeignComment, 4]: modifying the Selection's last Range must modify the first added Range
-PASS Range 15 [document.documentElement, 0, document.documentElement, 2] followed by Range 53 [detachedForeignComment, 4, detachedForeignComment, 4]: second addRange() must not throw exceptions or modify the range it's given
-PASS Range 15 [document.documentElement, 0, document.documentElement, 2] followed by Range 53 [detachedForeignComment, 4, detachedForeignComment, 4]: second addRange() must result in rangeCount being 1
-FAIL Range 15 [document.documentElement, 0, document.documentElement, 2] 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 15 [document.documentElement, 0, document.documentElement, 2] 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 15 [document.documentElement, 0, document.documentElement, 2] 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 15 [document.documentElement, 0, document.documentElement, 2] 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 15 [document.documentElement, 0, document.documentElement, 2] followed by Range 53 [detachedForeignComment, 4, detachedForeignComment, 4]: second addRange() must do nothing
PASS Range 15 [document.documentElement, 0, document.documentElement, 2] followed by Range 54 [detachedXmlComment, 2, detachedXmlComment, 6]: first addRange() must not throw exceptions or modify the range it's given
PASS Range 15 [document.documentElement, 0, document.documentElement, 2] followed by Range 54 [detachedXmlComment, 2, detachedXmlComment, 6]: first addRange() must result in rangeCount being 1
PASS Range 15 [document.documentElement, 0, document.documentElement, 2] followed by Range 54 [detachedXmlComment, 2, detachedXmlComment, 6]: first addRange() must result in the selection's last range having the specified endpoints
PASS Range 15 [document.documentElement, 0, document.documentElement, 2] 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 15 [document.documentElement, 0, document.documentElement, 2] followed by Range 54 [detachedXmlComment, 2, detachedXmlComment, 6]: modifying the first added range must modify the Selection's last Range
PASS Range 15 [document.documentElement, 0, document.documentElement, 2] followed by Range 54 [detachedXmlComment, 2, detachedXmlComment, 6]: modifying the Selection's last Range must modify the first added Range
-PASS Range 15 [document.documentElement, 0, document.documentElement, 2] followed by Range 54 [detachedXmlComment, 2, detachedXmlComment, 6]: second addRange() must not throw exceptions or modify the range it's given
-PASS Range 15 [document.documentElement, 0, document.documentElement, 2] followed by Range 54 [detachedXmlComment, 2, detachedXmlComment, 6]: second addRange() must result in rangeCount being 1
-FAIL Range 15 [document.documentElement, 0, document.documentElement, 2] 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 15 [document.documentElement, 0, document.documentElement, 2] 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 15 [document.documentElement, 0, document.documentElement, 2] 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 15 [document.documentElement, 0, document.documentElement, 2] 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 15 [document.documentElement, 0, document.documentElement, 2] followed by Range 54 [detachedXmlComment, 2, detachedXmlComment, 6]: second addRange() must do nothing
PASS Range 15 [document.documentElement, 0, document.documentElement, 2] followed by Range 55 [docfrag, 0, docfrag, 0]: first addRange() must not throw exceptions or modify the range it's given
PASS Range 15 [document.documentElement, 0, document.documentElement, 2] followed by Range 55 [docfrag, 0, docfrag, 0]: first addRange() must result in rangeCount being 1
PASS Range 15 [document.documentElement, 0, document.documentElement, 2] followed by Range 55 [docfrag, 0, docfrag, 0]: first addRange() must result in the selection's last range having the specified endpoints
PASS Range 15 [document.documentElement, 0, document.documentElement, 2] 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 15 [document.documentElement, 0, document.documentElement, 2] followed by Range 55 [docfrag, 0, docfrag, 0]: modifying the first added range must modify the Selection's last Range
PASS Range 15 [document.documentElement, 0, document.documentElement, 2] followed by Range 55 [docfrag, 0, docfrag, 0]: modifying the Selection's last Range must modify the first added Range
-PASS Range 15 [document.documentElement, 0, document.documentElement, 2] followed by Range 55 [docfrag, 0, docfrag, 0]: second addRange() must not throw exceptions or modify the range it's given
-PASS Range 15 [document.documentElement, 0, document.documentElement, 2] followed by Range 55 [docfrag, 0, docfrag, 0]: second addRange() must result in rangeCount being 1
-FAIL Range 15 [document.documentElement, 0, document.documentElement, 2] 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 15 [document.documentElement, 0, document.documentElement, 2] 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 15 [document.documentElement, 0, document.documentElement, 2] 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 15 [document.documentElement, 0, document.documentElement, 2] 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 15 [document.documentElement, 0, document.documentElement, 2] followed by Range 55 [docfrag, 0, docfrag, 0]: second addRange() must do nothing
PASS Range 15 [document.documentElement, 0, document.documentElement, 2] followed by Range 56 [foreignDocfrag, 0, foreignDocfrag, 0]: first addRange() must not throw exceptions or modify the range it's given
PASS Range 15 [document.documentElement, 0, document.documentElement, 2] followed by Range 56 [foreignDocfrag, 0, foreignDocfrag, 0]: first addRange() must result in rangeCount being 1
PASS Range 15 [document.documentElement, 0, document.documentElement, 2] followed by Range 56 [foreignDocfrag, 0, foreignDocfrag, 0]: first addRange() must result in the selection's last range having the specified endpoints
PASS Range 15 [document.documentElement, 0, document.documentElement, 2] 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 15 [document.documentElement, 0, document.documentElement, 2] followed by Range 56 [foreignDocfrag, 0, foreignDocfrag, 0]: modifying the first added range must modify the Selection's last Range
PASS Range 15 [document.documentElement, 0, document.documentElement, 2] followed by Range 56 [foreignDocfrag, 0, foreignDocfrag, 0]: modifying the Selection's last Range must modify the first added Range
-PASS Range 15 [document.documentElement, 0, document.documentElement, 2] followed by Range 56 [foreignDocfrag, 0, foreignDocfrag, 0]: second addRange() must not throw exceptions or modify the range it's given
-PASS Range 15 [document.documentElement, 0, document.documentElement, 2] followed by Range 56 [foreignDocfrag, 0, foreignDocfrag, 0]: second addRange() must result in rangeCount being 1
-FAIL Range 15 [document.documentElement, 0, document.documentElement, 2] 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 15 [document.documentElement, 0, document.documentElement, 2] 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 15 [document.documentElement, 0, document.documentElement, 2] 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 15 [document.documentElement, 0, document.documentElement, 2] 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 15 [document.documentElement, 0, document.documentElement, 2] followed by Range 56 [foreignDocfrag, 0, foreignDocfrag, 0]: second addRange() must do nothing
PASS Range 15 [document.documentElement, 0, document.documentElement, 2] followed by Range 57 [xmlDocfrag, 0, xmlDocfrag, 0]: first addRange() must not throw exceptions or modify the range it's given
PASS Range 15 [document.documentElement, 0, document.documentElement, 2] followed by Range 57 [xmlDocfrag, 0, xmlDocfrag, 0]: first addRange() must result in rangeCount being 1
PASS Range 15 [document.documentElement, 0, document.documentElement, 2] followed by Range 57 [xmlDocfrag, 0, xmlDocfrag, 0]: first addRange() must result in the selection's last range having the specified endpoints
PASS Range 15 [document.documentElement, 0, document.documentElement, 2] 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 15 [document.documentElement, 0, document.documentElement, 2] followed by Range 57 [xmlDocfrag, 0, xmlDocfrag, 0]: modifying the first added range must modify the Selection's last Range
PASS Range 15 [document.documentElement, 0, document.documentElement, 2] followed by Range 57 [xmlDocfrag, 0, xmlDocfrag, 0]: modifying the Selection's last Range must modify the first added Range
-PASS Range 15 [document.documentElement, 0, document.documentElement, 2] followed by Range 57 [xmlDocfrag, 0, xmlDocfrag, 0]: second addRange() must not throw exceptions or modify the range it's given
-PASS Range 15 [document.documentElement, 0, document.documentElement, 2] followed by Range 57 [xmlDocfrag, 0, xmlDocfrag, 0]: second addRange() must result in rangeCount being 1
-FAIL Range 15 [document.documentElement, 0, document.documentElement, 2] 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 15 [document.documentElement, 0, document.documentElement, 2] 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 15 [document.documentElement, 0, document.documentElement, 2] 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 15 [document.documentElement, 0, document.documentElement, 2] 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 15 [document.documentElement, 0, document.documentElement, 2] followed by Range 57 [xmlDocfrag, 0, xmlDocfrag, 0]: second addRange() must do nothing
Harness: the test ran to completion.

Powered by Google App Engine
This is Rietveld 408576698