diff --git a/third_party/WebKit/LayoutTests/TestExpectations b/third_party/WebKit/LayoutTests/TestExpectations index 07e4595..68c2e46 100644 --- a/third_party/WebKit/LayoutTests/TestExpectations +++ b/third_party/WebKit/LayoutTests/TestExpectations
@@ -2201,6 +2201,12 @@ crbug.com/664844 media/track/track-cue-rendering-tree-is-removed-properly.html [ Pass Failure ] crbug.com/664844 media/track/track-default-attribute.html [ Pass Failure ] crbug.com/664844 media/track/track-kind-user-preference.html [ Pass Failure ] +crbug.com/490206 paint/spellmarkers/document-markers-zoom-125.html [ NeedsRebaseline ] +crbug.com/490206 paint/spellmarkers/document-markers-zoom-150.html [ NeedsRebaseline ] +crbug.com/490206 paint/spellmarkers/document-markers-zoom-175.html [ NeedsRebaseline ] +crbug.com/490206 paint/spellmarkers/document-markers-zoom-200.html [ NeedsRebaseline ] +crbug.com/490206 paint/spellmarkers/document-markers-zoom-250.html [ NeedsRebaseline ] +crbug.com/490206 paint/spellmarkers/document-markers.html [ NeedsRebaseline ] crbug.com/688670 media/track/track-cue-rendering-after-controls-removed.html [ Pass Failure ]
diff --git a/third_party/WebKit/LayoutTests/editing/selection/addRange.html b/third_party/WebKit/LayoutTests/editing/selection/addRange.html index 3490e32..2cb613e 100644 --- a/third_party/WebKit/LayoutTests/editing/selection/addRange.html +++ b/third_party/WebKit/LayoutTests/editing/selection/addRange.html
@@ -11,20 +11,24 @@ range.setEnd(text, 5); sel.addRange(range); +range = document.createRange(); range.setStart(text, 4); range.setEnd(text, 6); sel.addRange(range); +range = document.createRange(); range.setStart(text, 2); range.setEnd(text, 3); sel.addRange(range); // This should have no effect (until we support discontiguous selections) since this range doesn't intersect the currently selected range. +range = document.createRange(); range.setStart(text, 7); range.setEnd(text, 8); sel.addRange(range); // Ditto. +range = document.createRange(); range.setStart(text, 0); range.setEnd(text, 1); sel.addRange(range);
diff --git a/third_party/WebKit/LayoutTests/editing/selection/selection-update-range-after-addrange.html b/third_party/WebKit/LayoutTests/editing/selection/selection-update-range-after-addrange.html new file mode 100644 index 0000000..c85b1493 --- /dev/null +++ b/third_party/WebKit/LayoutTests/editing/selection/selection-update-range-after-addrange.html
@@ -0,0 +1,57 @@ +<!DOCTYPE html> +<script src="../../resources/testharness.js"></script> +<script src="../../resources/testharnessreport.js"></script> +<p>abcdef</p> +<script> +test(() => { + let selection = getSelection(); + selection.removeAllRanges(); + let range = document.createRange(); + let text = document.querySelector('p').firstChild; + range.setStart(text, 1); + range.setEnd(text, 2); + + selection.addRange(range); + assert_equals(selection.anchorNode, text); + assert_equals(selection.anchorOffset, 1); + assert_equals(selection.focusNode, text); + assert_equals(selection.focusOffset, 2); + + range.setStart(text, 0); + assert_equals(selection.anchorOffset, 0); +}, 'Mutation of Range after adding it to Selection should update Selection attributes.'); + +test(() => { + let selection = getSelection(); + selection.removeAllRanges(); + let range = document.createRange(); + range.selectNode(document.body); + selection.addRange(range); + assert_equals(selection.rangeCount, 1); + + let document2 = document.implementation.createHTMLDocument(); + document2.innerHTML = '<html><body>abc</body></html>'; + range.selectNode(document2.body); + // TODO(tkent): The specification says nothing about such case. For now, we + // unregister the Range from the Selection for ease of implementation + // though Firefox and Edge keep |selection.getRangeAt(0) == range|. + assert_equals(selection.rangeCount, 0); +}, 'Switching Range document should clear registered Selection.'); + +test(() => { + let selection = getSelection(); + selection.removeAllRanges(); + let range = document.createRange(); + range.selectNode(document.body); + selection.addRange(range); + assert_equals(selection.rangeCount, 1); + + let span = document.createElement('span'); + span.innerHTML = 'text'; + range.selectNode(span.firstChild); + // TODO(tkent): The specification says nothing about such case. For now, we + // unregister the Range from the Selection for ease of implementation + // though Firefox and Edge keep |selection.getRangeAt(0) == range|. + assert_equals(selection.rangeCount, 0); +}, 'Updating Range for another root should clear registered Selection.'); +</script>
diff --git a/third_party/WebKit/LayoutTests/external/wpt/selection/addRange-00-expected.txt b/third_party/WebKit/LayoutTests/external/wpt/selection/addRange-00-expected.txt index c8970682..1b4ab02 100644 --- a/third_party/WebKit/LayoutTests/external/wpt/selection/addRange-00-expected.txt +++ b/third_party/WebKit/LayoutTests/external/wpt/selection/addRange-00-expected.txt
@@ -18,7 +18,6 @@ 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. @@ -43,7 +42,6 @@ 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. @@ -105,9 +103,9 @@ PASS Range 0 [paras[0].firstChild, 0, paras[0].firstChild, 0] followed by Range 0 [paras[0].firstChild, 0, paras[0].firstChild, 0]: modifying the Selection's last Range must modify the first added Range PASS Range 0 [paras[0].firstChild, 0, paras[0].firstChild, 0] followed by Range 0 [paras[0].firstChild, 0, paras[0].firstChild, 0]: second addRange() must not throw exceptions or modify the range it's given PASS Range 0 [paras[0].firstChild, 0, paras[0].firstChild, 0] followed by Range 0 [paras[0].firstChild, 0, paras[0].firstChild, 0]: second addRange() must result in rangeCount being 1 -PASS Range 0 [paras[0].firstChild, 0, paras[0].firstChild, 0] followed by Range 0 [paras[0].firstChild, 0, paras[0].firstChild, 0]: second addRange() must result in the selection's last range having the specified endpoints +FAIL Range 0 [paras[0].firstChild, 0, paras[0].firstChild, 0] followed by Range 0 [paras[0].firstChild, 0, paras[0].firstChild, 0]: second addRange() must result in the selection's last range having the specified endpoints assert_equals: startOffset of the Selection's last Range must match the added Range expected 0 but got 6 FAIL Range 0 [paras[0].firstChild, 0, paras[0].firstChild, 0] followed by Range 0 [paras[0].firstChild, 0, paras[0].firstChild, 0]: second addRange() must result in the selection's last range being the same object we added assert_equals: getRangeAt(rangeCount - 1) must return the same object we added expected object "" but got object "" -FAIL Range 0 [paras[0].firstChild, 0, paras[0].firstChild, 0] followed by Range 0 [paras[0].firstChild, 0, paras[0].firstChild, 0]: modifying the second added range must modify the Selection's last Range assert_equals: After mutating the second added Range, endOffset of the Selection's last Range must match the added Range expected 2 but got 0 +FAIL Range 0 [paras[0].firstChild, 0, paras[0].firstChild, 0] followed by Range 0 [paras[0].firstChild, 0, paras[0].firstChild, 0]: modifying the second added range must modify the Selection's last Range assert_equals: After mutating the second added Range, startOffset of the Selection's last Range must match the added Range expected 0 but got 6 FAIL Range 0 [paras[0].firstChild, 0, paras[0].firstChild, 0] followed by Range 0 [paras[0].firstChild, 0, paras[0].firstChild, 0]: modifying the Selection's last Range must modify the second added Range assert_equals: After second addRange(), after mutating the Selection's last Range, startOffset of the Selection's last Range must match the added Range expected 0 but got 6 PASS Range 0 [paras[0].firstChild, 0, paras[0].firstChild, 0] followed by Range 1 [paras[0].firstChild, 0, paras[0].firstChild, 1]: first addRange() must not throw exceptions or modify the range it's given PASS Range 0 [paras[0].firstChild, 0, paras[0].firstChild, 0] followed by Range 1 [paras[0].firstChild, 0, paras[0].firstChild, 1]: first addRange() must result in rangeCount being 1 @@ -117,9 +115,9 @@ PASS Range 0 [paras[0].firstChild, 0, paras[0].firstChild, 0] followed by Range 1 [paras[0].firstChild, 0, paras[0].firstChild, 1]: modifying the Selection's last Range must modify the first added Range PASS Range 0 [paras[0].firstChild, 0, paras[0].firstChild, 0] followed by Range 1 [paras[0].firstChild, 0, paras[0].firstChild, 1]: second addRange() must not throw exceptions or modify the range it's given PASS Range 0 [paras[0].firstChild, 0, paras[0].firstChild, 0] followed by Range 1 [paras[0].firstChild, 0, paras[0].firstChild, 1]: second addRange() must result in rangeCount being 1 -PASS Range 0 [paras[0].firstChild, 0, paras[0].firstChild, 0] followed by Range 1 [paras[0].firstChild, 0, paras[0].firstChild, 1]: second addRange() must result in the selection's last range having the specified endpoints -FAIL Range 0 [paras[0].firstChild, 0, paras[0].firstChild, 0] followed by Range 1 [paras[0].firstChild, 0, paras[0].firstChild, 1]: second addRange() must result in the selection's last range being the same object we added assert_equals: getRangeAt(rangeCount - 1) must return the same object we added expected object "A" but got object "A" -FAIL Range 0 [paras[0].firstChild, 0, paras[0].firstChild, 0] followed by Range 1 [paras[0].firstChild, 0, paras[0].firstChild, 1]: modifying the second added range must modify the Selection's last Range assert_equals: After mutating the second added Range, endOffset of the Selection's last Range must match the added Range expected 2 but got 1 +FAIL Range 0 [paras[0].firstChild, 0, paras[0].firstChild, 0] followed by Range 1 [paras[0].firstChild, 0, paras[0].firstChild, 1]: second addRange() must result in the selection's last range having the specified endpoints assert_equals: startOffset of the Selection's last Range must match the added Range expected 0 but got 6 +FAIL Range 0 [paras[0].firstChild, 0, paras[0].firstChild, 0] followed by Range 1 [paras[0].firstChild, 0, paras[0].firstChild, 1]: second addRange() must result in the selection's last range being the same object we added assert_equals: getRangeAt(rangeCount - 1) must return the same object we added expected object "A" but got object "" +FAIL Range 0 [paras[0].firstChild, 0, paras[0].firstChild, 0] followed by Range 1 [paras[0].firstChild, 0, paras[0].firstChild, 1]: modifying the second added range must modify the Selection's last Range assert_equals: After mutating the second added Range, startOffset of the Selection's last Range must match the added Range expected 0 but got 6 FAIL Range 0 [paras[0].firstChild, 0, paras[0].firstChild, 0] followed by Range 1 [paras[0].firstChild, 0, paras[0].firstChild, 1]: modifying the Selection's last Range must modify the second added Range assert_equals: After second addRange(), after mutating the Selection's last Range, startOffset of the Selection's last Range must match the added Range expected 0 but got 6 PASS Range 0 [paras[0].firstChild, 0, paras[0].firstChild, 0] followed by Range 2 [paras[0].firstChild, 2, paras[0].firstChild, 8]: first addRange() must not throw exceptions or modify the range it's given PASS Range 0 [paras[0].firstChild, 0, paras[0].firstChild, 0] followed by Range 2 [paras[0].firstChild, 2, paras[0].firstChild, 8]: first addRange() must result in rangeCount being 1 @@ -129,9 +127,9 @@ PASS Range 0 [paras[0].firstChild, 0, paras[0].firstChild, 0] followed by Range 2 [paras[0].firstChild, 2, paras[0].firstChild, 8]: modifying the Selection's last Range must modify the first added Range PASS Range 0 [paras[0].firstChild, 0, paras[0].firstChild, 0] followed by Range 2 [paras[0].firstChild, 2, paras[0].firstChild, 8]: second addRange() must not throw exceptions or modify the range it's given PASS Range 0 [paras[0].firstChild, 0, paras[0].firstChild, 0] followed by Range 2 [paras[0].firstChild, 2, paras[0].firstChild, 8]: second addRange() must result in rangeCount being 1 -FAIL Range 0 [paras[0].firstChild, 0, paras[0].firstChild, 0] followed by Range 2 [paras[0].firstChild, 2, paras[0].firstChild, 8]: second addRange() must result in the selection's last range having the specified endpoints assert_equals: startOffset of the Selection's last Range must match the added Range expected 2 but got 6 -FAIL Range 0 [paras[0].firstChild, 0, paras[0].firstChild, 0] followed by Range 2 [paras[0].firstChild, 2, paras[0].firstChild, 8]: second addRange() must result in the selection's last range being the same object we added assert_equals: getRangeAt(rangeCount - 1) must return the same object we added expected object "b̈c̈d̈" but got object "" -FAIL Range 0 [paras[0].firstChild, 0, paras[0].firstChild, 0] followed by Range 2 [paras[0].firstChild, 2, paras[0].firstChild, 8]: modifying the second added range must modify the Selection's last Range assert_equals: After mutating the second added Range, startOffset of the Selection's last Range must match the added Range expected 0 but got 6 +PASS Range 0 [paras[0].firstChild, 0, paras[0].firstChild, 0] followed by Range 2 [paras[0].firstChild, 2, paras[0].firstChild, 8]: second addRange() must result in the selection's last range having the specified endpoints +FAIL Range 0 [paras[0].firstChild, 0, paras[0].firstChild, 0] followed by Range 2 [paras[0].firstChild, 2, paras[0].firstChild, 8]: second addRange() must result in the selection's last range being the same object we added assert_equals: getRangeAt(rangeCount - 1) must return the same object we added expected object "b̈c̈d̈" but got object "b̈c̈d̈" +FAIL Range 0 [paras[0].firstChild, 0, paras[0].firstChild, 0] followed by Range 2 [paras[0].firstChild, 2, paras[0].firstChild, 8]: modifying the second added range must modify the Selection's last Range assert_equals: After mutating the second added Range, startOffset of the Selection's last Range must match the added Range expected 0 but got 2 FAIL Range 0 [paras[0].firstChild, 0, paras[0].firstChild, 0] followed by Range 2 [paras[0].firstChild, 2, paras[0].firstChild, 8]: modifying the Selection's last Range must modify the second added Range assert_equals: After second addRange(), after mutating the Selection's last Range, startOffset of the Selection's last Range must match the added Range expected 0 but got 6 PASS Range 0 [paras[0].firstChild, 0, paras[0].firstChild, 0] followed by Range 3 [paras[0].firstChild, 2, paras[0].firstChild, 9]: first addRange() must not throw exceptions or modify the range it's given PASS Range 0 [paras[0].firstChild, 0, paras[0].firstChild, 0] followed by Range 3 [paras[0].firstChild, 2, paras[0].firstChild, 9]: first addRange() must result in rangeCount being 1 @@ -141,9 +139,9 @@ PASS Range 0 [paras[0].firstChild, 0, paras[0].firstChild, 0] followed by Range 3 [paras[0].firstChild, 2, paras[0].firstChild, 9]: modifying the Selection's last Range must modify the first added Range PASS Range 0 [paras[0].firstChild, 0, paras[0].firstChild, 0] followed by Range 3 [paras[0].firstChild, 2, paras[0].firstChild, 9]: second addRange() must not throw exceptions or modify the range it's given PASS Range 0 [paras[0].firstChild, 0, paras[0].firstChild, 0] followed by Range 3 [paras[0].firstChild, 2, paras[0].firstChild, 9]: second addRange() must result in rangeCount being 1 -FAIL Range 0 [paras[0].firstChild, 0, paras[0].firstChild, 0] followed by Range 3 [paras[0].firstChild, 2, paras[0].firstChild, 9]: second addRange() must result in the selection's last range having the specified endpoints assert_equals: startOffset of the Selection's last Range must match the added Range expected 2 but got 6 -FAIL Range 0 [paras[0].firstChild, 0, paras[0].firstChild, 0] followed by Range 3 [paras[0].firstChild, 2, paras[0].firstChild, 9]: second addRange() must result in the selection's last range being the same object we added assert_equals: getRangeAt(rangeCount - 1) must return the same object we added expected object "b̈c̈d̈e" but got object "" -FAIL Range 0 [paras[0].firstChild, 0, paras[0].firstChild, 0] followed by Range 3 [paras[0].firstChild, 2, paras[0].firstChild, 9]: modifying the second added range must modify the Selection's last Range assert_equals: After mutating the second added Range, startOffset of the Selection's last Range must match the added Range expected 0 but got 6 +PASS Range 0 [paras[0].firstChild, 0, paras[0].firstChild, 0] followed by Range 3 [paras[0].firstChild, 2, paras[0].firstChild, 9]: second addRange() must result in the selection's last range having the specified endpoints +FAIL Range 0 [paras[0].firstChild, 0, paras[0].firstChild, 0] followed by Range 3 [paras[0].firstChild, 2, paras[0].firstChild, 9]: second addRange() must result in the selection's last range being the same object we added assert_equals: getRangeAt(rangeCount - 1) must return the same object we added expected object "b̈c̈d̈e" but got object "b̈c̈d̈e" +FAIL Range 0 [paras[0].firstChild, 0, paras[0].firstChild, 0] followed by Range 3 [paras[0].firstChild, 2, paras[0].firstChild, 9]: modifying the second added range must modify the Selection's last Range assert_equals: After mutating the second added Range, startOffset of the Selection's last Range must match the added Range expected 0 but got 2 FAIL Range 0 [paras[0].firstChild, 0, paras[0].firstChild, 0] followed by Range 3 [paras[0].firstChild, 2, paras[0].firstChild, 9]: modifying the Selection's last Range must modify the second added Range assert_equals: After second addRange(), after mutating the Selection's last Range, startOffset of the Selection's last Range must match the added Range expected 0 but got 6 PASS Range 0 [paras[0].firstChild, 0, paras[0].firstChild, 0] followed by Range 4 [paras[1].firstChild, 0, paras[1].firstChild, 0]: first addRange() must not throw exceptions or modify the range it's given PASS Range 0 [paras[0].firstChild, 0, paras[0].firstChild, 0] followed by Range 4 [paras[1].firstChild, 0, paras[1].firstChild, 0]: first addRange() must result in rangeCount being 1 @@ -543,11 +541,13 @@ PASS Range 0 [paras[0].firstChild, 0, paras[0].firstChild, 0] followed by Range 28 [paras[0].firstChild, 3, paras[3], 1]: modifying the Selection's last Range must modify the first added Range PASS Range 0 [paras[0].firstChild, 0, paras[0].firstChild, 0] followed by Range 28 [paras[0].firstChild, 3, paras[3], 1]: second addRange() must not throw exceptions or modify the range it's given PASS Range 0 [paras[0].firstChild, 0, paras[0].firstChild, 0] followed by Range 28 [paras[0].firstChild, 3, paras[3], 1]: second addRange() must result in rangeCount being 1 -FAIL Range 0 [paras[0].firstChild, 0, paras[0].firstChild, 0] followed by Range 28 [paras[0].firstChild, 3, paras[3], 1]: second addRange() must result in the selection's last range having the specified endpoints assert_equals: startOffset of the Selection's last Range must match the added Range expected 3 but got 6 +PASS Range 0 [paras[0].firstChild, 0, paras[0].firstChild, 0] followed by Range 28 [paras[0].firstChild, 3, paras[3], 1]: second addRange() must result in the selection's last range having the specified endpoints FAIL Range 0 [paras[0].firstChild, 0, paras[0].firstChild, 0] followed by Range 28 [paras[0].firstChild, 3, paras[3], 1]: second addRange() must result in the selection's last range being the same object we added assert_equals: getRangeAt(rangeCount - 1) must return the same object we added expected object "̈c̈d̈ëf̈g̈ḧ Ijklmnop -QrstuvwxYzabcdef" but got object "" -FAIL Range 0 [paras[0].firstChild, 0, paras[0].firstChild, 0] followed by Range 28 [paras[0].firstChild, 3, paras[3], 1]: modifying the second added range must modify the Selection's last Range assert_equals: After mutating the second added Range, startOffset of the Selection's last Range must match the added Range expected 0 but got 6 +QrstuvwxYzabcdef" but got object "̈c̈d̈ëf̈g̈ḧ +Ijklmnop +QrstuvwxYzabcdef" +FAIL Range 0 [paras[0].firstChild, 0, paras[0].firstChild, 0] followed by Range 28 [paras[0].firstChild, 3, paras[3], 1]: modifying the second added range must modify the Selection's last Range assert_equals: After mutating the second added Range, startOffset of the Selection's last Range must match the added Range expected 0 but got 3 FAIL Range 0 [paras[0].firstChild, 0, paras[0].firstChild, 0] followed by Range 28 [paras[0].firstChild, 3, paras[3], 1]: modifying the Selection's last Range must modify the second added Range assert_equals: After second addRange(), after mutating the Selection's last Range, startOffset of the Selection's last Range must match the added Range expected 0 but got 6 PASS Range 0 [paras[0].firstChild, 0, paras[0].firstChild, 0] followed by Range 29 [paras[0], 0, paras[0].firstChild, 7]: first addRange() must not throw exceptions or modify the range it's given PASS Range 0 [paras[0].firstChild, 0, paras[0].firstChild, 0] followed by Range 29 [paras[0], 0, paras[0].firstChild, 7]: first addRange() must result in rangeCount being 1 @@ -1001,9 +1001,9 @@ PASS Range 1 [paras[0].firstChild, 0, paras[0].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 PASS Range 1 [paras[0].firstChild, 0, paras[0].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 1 [paras[0].firstChild, 0, paras[0].firstChild, 1] followed by Range 0 [paras[0].firstChild, 0, paras[0].firstChild, 0]: second addRange() must result in rangeCount being 1 -FAIL Range 1 [paras[0].firstChild, 0, paras[0].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 assert_equals: endOffset of the Selection's last Range must match the added Range expected 0 but got 1 -FAIL Range 1 [paras[0].firstChild, 0, paras[0].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 assert_equals: getRangeAt(rangeCount - 1) must return the same object we added expected object "" but got object "A" -FAIL Range 1 [paras[0].firstChild, 0, paras[0].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 assert_equals: After mutating the second added Range, endOffset of the Selection's last Range must match the added Range expected 2 but got 1 +FAIL Range 1 [paras[0].firstChild, 0, paras[0].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 assert_equals: startOffset of the Selection's last Range must match the added Range expected 0 but got 6 +FAIL Range 1 [paras[0].firstChild, 0, paras[0].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 assert_equals: getRangeAt(rangeCount - 1) must return the same object we added expected object "" but got object "" +FAIL Range 1 [paras[0].firstChild, 0, paras[0].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 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 1 [paras[0].firstChild, 0, paras[0].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 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 1 [paras[0].firstChild, 0, paras[0].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 PASS Range 1 [paras[0].firstChild, 0, paras[0].firstChild, 1] followed by Range 1 [paras[0].firstChild, 0, paras[0].firstChild, 1]: first addRange() must result in rangeCount being 1 @@ -1013,9 +1013,9 @@ PASS Range 1 [paras[0].firstChild, 0, paras[0].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 PASS Range 1 [paras[0].firstChild, 0, paras[0].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 1 [paras[0].firstChild, 0, paras[0].firstChild, 1] followed by Range 1 [paras[0].firstChild, 0, paras[0].firstChild, 1]: second addRange() must result in rangeCount being 1 -PASS Range 1 [paras[0].firstChild, 0, paras[0].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 -FAIL Range 1 [paras[0].firstChild, 0, paras[0].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 assert_equals: getRangeAt(rangeCount - 1) must return the same object we added expected object "A" but got object "A" -FAIL Range 1 [paras[0].firstChild, 0, paras[0].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 assert_equals: After mutating the second added Range, endOffset of the Selection's last Range must match the added Range expected 2 but got 1 +FAIL Range 1 [paras[0].firstChild, 0, paras[0].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 assert_equals: startOffset of the Selection's last Range must match the added Range expected 0 but got 6 +FAIL Range 1 [paras[0].firstChild, 0, paras[0].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 assert_equals: getRangeAt(rangeCount - 1) must return the same object we added expected object "A" but got object "" +FAIL Range 1 [paras[0].firstChild, 0, paras[0].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 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 1 [paras[0].firstChild, 0, paras[0].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 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 1 [paras[0].firstChild, 0, paras[0].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 PASS Range 1 [paras[0].firstChild, 0, paras[0].firstChild, 1] followed by Range 2 [paras[0].firstChild, 2, paras[0].firstChild, 8]: first addRange() must result in rangeCount being 1 @@ -1025,9 +1025,9 @@ PASS Range 1 [paras[0].firstChild, 0, paras[0].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 PASS Range 1 [paras[0].firstChild, 0, paras[0].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 1 [paras[0].firstChild, 0, paras[0].firstChild, 1] followed by Range 2 [paras[0].firstChild, 2, paras[0].firstChild, 8]: second addRange() must result in rangeCount being 1 -FAIL Range 1 [paras[0].firstChild, 0, paras[0].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 assert_equals: startOffset of the Selection's last Range must match the added Range expected 2 but got 6 -FAIL Range 1 [paras[0].firstChild, 0, paras[0].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 assert_equals: getRangeAt(rangeCount - 1) must return the same object we added expected object "b̈c̈d̈" but got object "" -FAIL Range 1 [paras[0].firstChild, 0, paras[0].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 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 +PASS Range 1 [paras[0].firstChild, 0, paras[0].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 +FAIL Range 1 [paras[0].firstChild, 0, paras[0].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 assert_equals: getRangeAt(rangeCount - 1) must return the same object we added expected object "b̈c̈d̈" but got object "b̈c̈d̈" +FAIL Range 1 [paras[0].firstChild, 0, paras[0].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 assert_equals: After mutating the second added Range, startOffset of the Selection's last Range must match the added Range expected 0 but got 2 FAIL Range 1 [paras[0].firstChild, 0, paras[0].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 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 1 [paras[0].firstChild, 0, paras[0].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 PASS Range 1 [paras[0].firstChild, 0, paras[0].firstChild, 1] followed by Range 3 [paras[0].firstChild, 2, paras[0].firstChild, 9]: first addRange() must result in rangeCount being 1 @@ -1037,9 +1037,9 @@ PASS Range 1 [paras[0].firstChild, 0, paras[0].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 PASS Range 1 [paras[0].firstChild, 0, paras[0].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 1 [paras[0].firstChild, 0, paras[0].firstChild, 1] followed by Range 3 [paras[0].firstChild, 2, paras[0].firstChild, 9]: second addRange() must result in rangeCount being 1 -FAIL Range 1 [paras[0].firstChild, 0, paras[0].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 assert_equals: startOffset of the Selection's last Range must match the added Range expected 2 but got 6 -FAIL Range 1 [paras[0].firstChild, 0, paras[0].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 assert_equals: getRangeAt(rangeCount - 1) must return the same object we added expected object "b̈c̈d̈e" but got object "" -FAIL Range 1 [paras[0].firstChild, 0, paras[0].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 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 +PASS Range 1 [paras[0].firstChild, 0, paras[0].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 +FAIL Range 1 [paras[0].firstChild, 0, paras[0].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 assert_equals: getRangeAt(rangeCount - 1) must return the same object we added expected object "b̈c̈d̈e" but got object "b̈c̈d̈e" +FAIL Range 1 [paras[0].firstChild, 0, paras[0].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 assert_equals: After mutating the second added Range, startOffset of the Selection's last Range must match the added Range expected 0 but got 2 FAIL Range 1 [paras[0].firstChild, 0, paras[0].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 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 1 [paras[0].firstChild, 0, paras[0].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 PASS Range 1 [paras[0].firstChild, 0, paras[0].firstChild, 1] followed by Range 4 [paras[1].firstChild, 0, paras[1].firstChild, 0]: first addRange() must result in rangeCount being 1 @@ -1439,11 +1439,13 @@ PASS Range 1 [paras[0].firstChild, 0, paras[0].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 PASS Range 1 [paras[0].firstChild, 0, paras[0].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 1 [paras[0].firstChild, 0, paras[0].firstChild, 1] followed by Range 28 [paras[0].firstChild, 3, paras[3], 1]: second addRange() must result in rangeCount being 1 -FAIL Range 1 [paras[0].firstChild, 0, paras[0].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 assert_equals: startOffset of the Selection's last Range must match the added Range expected 3 but got 6 +PASS Range 1 [paras[0].firstChild, 0, paras[0].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 FAIL Range 1 [paras[0].firstChild, 0, paras[0].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 assert_equals: getRangeAt(rangeCount - 1) must return the same object we added expected object "̈c̈d̈ëf̈g̈ḧ Ijklmnop -QrstuvwxYzabcdef" but got object "" -FAIL Range 1 [paras[0].firstChild, 0, paras[0].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 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 +QrstuvwxYzabcdef" but got object "̈c̈d̈ëf̈g̈ḧ +Ijklmnop +QrstuvwxYzabcdef" +FAIL Range 1 [paras[0].firstChild, 0, paras[0].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 assert_equals: After mutating the second added Range, startOffset of the Selection's last Range must match the added Range expected 0 but got 3 FAIL Range 1 [paras[0].firstChild, 0, paras[0].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 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 1 [paras[0].firstChild, 0, paras[0].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 PASS Range 1 [paras[0].firstChild, 0, paras[0].firstChild, 1] followed by Range 29 [paras[0], 0, paras[0].firstChild, 7]: first addRange() must result in rangeCount being 1 @@ -2335,13 +2337,13 @@ PASS Range 2 [paras[0].firstChild, 2, paras[0].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 PASS Range 2 [paras[0].firstChild, 2, paras[0].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 2 [paras[0].firstChild, 2, paras[0].firstChild, 8] followed by Range 28 [paras[0].firstChild, 3, paras[3], 1]: second addRange() must result in rangeCount being 1 -FAIL Range 2 [paras[0].firstChild, 2, paras[0].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 assert_equals: startOffset of the Selection's last Range must match the added Range expected 3 but got 2 +PASS Range 2 [paras[0].firstChild, 2, paras[0].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 FAIL Range 2 [paras[0].firstChild, 2, paras[0].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 assert_equals: getRangeAt(rangeCount - 1) must return the same object we added expected object "̈c̈d̈ëf̈g̈ḧ Ijklmnop -QrstuvwxYzabcdef" but got object "b̈c̈d̈ëf̈g̈ḧ +QrstuvwxYzabcdef" but got object "̈c̈d̈ëf̈g̈ḧ Ijklmnop QrstuvwxYzabcdef" -FAIL Range 2 [paras[0].firstChild, 2, paras[0].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 assert_equals: After mutating the second added Range, startOffset of the Selection's last Range must match the added Range expected 0 but got 2 +FAIL Range 2 [paras[0].firstChild, 2, paras[0].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 assert_equals: After mutating the second added Range, startOffset of the Selection's last Range must match the added Range expected 0 but got 3 FAIL Range 2 [paras[0].firstChild, 2, paras[0].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 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 2 [paras[0].firstChild, 2, paras[0].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 PASS Range 2 [paras[0].firstChild, 2, paras[0].firstChild, 8] followed by Range 29 [paras[0], 0, paras[0].firstChild, 7]: first addRange() must result in rangeCount being 1 @@ -2351,8 +2353,8 @@ PASS Range 2 [paras[0].firstChild, 2, paras[0].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 PASS Range 2 [paras[0].firstChild, 2, paras[0].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 2 [paras[0].firstChild, 2, paras[0].firstChild, 8] followed by Range 29 [paras[0], 0, paras[0].firstChild, 7]: second addRange() must result in rangeCount being 1 -FAIL Range 2 [paras[0].firstChild, 2, paras[0].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 assert_equals: endOffset of the Selection's last Range must match the added Range expected 7 but got 8 -FAIL Range 2 [paras[0].firstChild, 2, paras[0].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 assert_equals: getRangeAt(rangeCount - 1) must return the same object we added expected object "Äb̈c̈d" but got object "Äb̈c̈d̈" +PASS Range 2 [paras[0].firstChild, 2, paras[0].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 +FAIL Range 2 [paras[0].firstChild, 2, paras[0].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 assert_equals: getRangeAt(rangeCount - 1) must return the same object we added expected object "Äb̈c̈d" but got object "Äb̈c̈d" FAIL Range 2 [paras[0].firstChild, 2, paras[0].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 assert_equals: After mutating the second added Range, startContainer of the Selection's last Range must match the added Range expected Text node "Äb̈c̈d̈ëf̈g̈ḧ " but got Element node <p id="a">Äb̈c̈d̈ëf̈g̈ḧ </p> @@ -2819,8 +2821,8 @@ PASS Range 3 [paras[0].firstChild, 2, paras[0].firstChild, 9] followed by Range 2 [paras[0].firstChild, 2, paras[0].firstChild, 8]: modifying the Selection's last Range must modify the first added Range PASS Range 3 [paras[0].firstChild, 2, paras[0].firstChild, 9] 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 3 [paras[0].firstChild, 2, paras[0].firstChild, 9] followed by Range 2 [paras[0].firstChild, 2, paras[0].firstChild, 8]: second addRange() must result in rangeCount being 1 -FAIL Range 3 [paras[0].firstChild, 2, paras[0].firstChild, 9] followed by Range 2 [paras[0].firstChild, 2, paras[0].firstChild, 8]: second addRange() must result in the selection's last range having the specified endpoints assert_equals: endOffset of the Selection's last Range must match the added Range expected 8 but got 9 -FAIL Range 3 [paras[0].firstChild, 2, paras[0].firstChild, 9] followed by Range 2 [paras[0].firstChild, 2, paras[0].firstChild, 8]: second addRange() must result in the selection's last range being the same object we added assert_equals: getRangeAt(rangeCount - 1) must return the same object we added expected object "b̈c̈d̈" but got object "b̈c̈d̈e" +PASS Range 3 [paras[0].firstChild, 2, paras[0].firstChild, 9] followed by Range 2 [paras[0].firstChild, 2, paras[0].firstChild, 8]: second addRange() must result in the selection's last range having the specified endpoints +FAIL Range 3 [paras[0].firstChild, 2, paras[0].firstChild, 9] followed by Range 2 [paras[0].firstChild, 2, paras[0].firstChild, 8]: second addRange() must result in the selection's last range being the same object we added assert_equals: getRangeAt(rangeCount - 1) must return the same object we added expected object "b̈c̈d̈" but got object "b̈c̈d̈" FAIL Range 3 [paras[0].firstChild, 2, paras[0].firstChild, 9] followed by Range 2 [paras[0].firstChild, 2, paras[0].firstChild, 8]: modifying the second added range must modify the Selection's last Range assert_equals: After mutating the second added Range, startOffset of the Selection's last Range must match the added Range expected 0 but got 2 FAIL Range 3 [paras[0].firstChild, 2, paras[0].firstChild, 9] followed by Range 2 [paras[0].firstChild, 2, paras[0].firstChild, 8]: modifying the Selection's last Range must modify the second added Range assert_equals: After second addRange(), after mutating the Selection's last Range, startOffset of the Selection's last Range must match the added Range expected 0 but got 6 PASS Range 3 [paras[0].firstChild, 2, paras[0].firstChild, 9] 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 @@ -3233,13 +3235,13 @@ PASS Range 3 [paras[0].firstChild, 2, paras[0].firstChild, 9] followed by Range 28 [paras[0].firstChild, 3, paras[3], 1]: modifying the Selection's last Range must modify the first added Range PASS Range 3 [paras[0].firstChild, 2, paras[0].firstChild, 9] 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 3 [paras[0].firstChild, 2, paras[0].firstChild, 9] followed by Range 28 [paras[0].firstChild, 3, paras[3], 1]: second addRange() must result in rangeCount being 1 -FAIL Range 3 [paras[0].firstChild, 2, paras[0].firstChild, 9] followed by Range 28 [paras[0].firstChild, 3, paras[3], 1]: second addRange() must result in the selection's last range having the specified endpoints assert_equals: startOffset of the Selection's last Range must match the added Range expected 3 but got 2 +PASS Range 3 [paras[0].firstChild, 2, paras[0].firstChild, 9] followed by Range 28 [paras[0].firstChild, 3, paras[3], 1]: second addRange() must result in the selection's last range having the specified endpoints FAIL Range 3 [paras[0].firstChild, 2, paras[0].firstChild, 9] followed by Range 28 [paras[0].firstChild, 3, paras[3], 1]: second addRange() must result in the selection's last range being the same object we added assert_equals: getRangeAt(rangeCount - 1) must return the same object we added expected object "̈c̈d̈ëf̈g̈ḧ Ijklmnop -QrstuvwxYzabcdef" but got object "b̈c̈d̈ëf̈g̈ḧ +QrstuvwxYzabcdef" but got object "̈c̈d̈ëf̈g̈ḧ Ijklmnop QrstuvwxYzabcdef" -FAIL Range 3 [paras[0].firstChild, 2, paras[0].firstChild, 9] followed by Range 28 [paras[0].firstChild, 3, paras[3], 1]: modifying the second added range must modify the Selection's last Range assert_equals: After mutating the second added Range, startOffset of the Selection's last Range must match the added Range expected 0 but got 2 +FAIL Range 3 [paras[0].firstChild, 2, paras[0].firstChild, 9] followed by Range 28 [paras[0].firstChild, 3, paras[3], 1]: modifying the second added range must modify the Selection's last Range assert_equals: After mutating the second added Range, startOffset of the Selection's last Range must match the added Range expected 0 but got 3 FAIL Range 3 [paras[0].firstChild, 2, paras[0].firstChild, 9] followed by Range 28 [paras[0].firstChild, 3, paras[3], 1]: modifying the Selection's last Range must modify the second added Range assert_equals: After second addRange(), after mutating the Selection's last Range, startOffset of the Selection's last Range must match the added Range expected 0 but got 6 PASS Range 3 [paras[0].firstChild, 2, paras[0].firstChild, 9] followed by Range 29 [paras[0], 0, paras[0].firstChild, 7]: first addRange() must not throw exceptions or modify the range it's given PASS Range 3 [paras[0].firstChild, 2, paras[0].firstChild, 9] followed by Range 29 [paras[0], 0, paras[0].firstChild, 7]: first addRange() must result in rangeCount being 1 @@ -3249,8 +3251,8 @@ PASS Range 3 [paras[0].firstChild, 2, paras[0].firstChild, 9] followed by Range 29 [paras[0], 0, paras[0].firstChild, 7]: modifying the Selection's last Range must modify the first added Range PASS Range 3 [paras[0].firstChild, 2, paras[0].firstChild, 9] 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 3 [paras[0].firstChild, 2, paras[0].firstChild, 9] followed by Range 29 [paras[0], 0, paras[0].firstChild, 7]: second addRange() must result in rangeCount being 1 -FAIL Range 3 [paras[0].firstChild, 2, paras[0].firstChild, 9] followed by Range 29 [paras[0], 0, paras[0].firstChild, 7]: second addRange() must result in the selection's last range having the specified endpoints assert_equals: endOffset of the Selection's last Range must match the added Range expected 7 but got 9 -FAIL Range 3 [paras[0].firstChild, 2, paras[0].firstChild, 9] followed by Range 29 [paras[0], 0, paras[0].firstChild, 7]: second addRange() must result in the selection's last range being the same object we added assert_equals: getRangeAt(rangeCount - 1) must return the same object we added expected object "Äb̈c̈d" but got object "Äb̈c̈d̈e" +PASS Range 3 [paras[0].firstChild, 2, paras[0].firstChild, 9] followed by Range 29 [paras[0], 0, paras[0].firstChild, 7]: second addRange() must result in the selection's last range having the specified endpoints +FAIL Range 3 [paras[0].firstChild, 2, paras[0].firstChild, 9] followed by Range 29 [paras[0], 0, paras[0].firstChild, 7]: second addRange() must result in the selection's last range being the same object we added assert_equals: getRangeAt(rangeCount - 1) must return the same object we added expected object "Äb̈c̈d" but got object "Äb̈c̈d" FAIL Range 3 [paras[0].firstChild, 2, paras[0].firstChild, 9] followed by Range 29 [paras[0], 0, paras[0].firstChild, 7]: modifying the second added range must modify the Selection's last Range assert_equals: After mutating the second added Range, startContainer of the Selection's last Range must match the added Range expected Text node "Äb̈c̈d̈ëf̈g̈ḧ " but got Element node <p id="a">Äb̈c̈d̈ëf̈g̈ḧ </p>
diff --git a/third_party/WebKit/LayoutTests/external/wpt/selection/addRange-04-expected.txt b/third_party/WebKit/LayoutTests/external/wpt/selection/addRange-04-expected.txt index 057b4187..1603e3f 100644 --- a/third_party/WebKit/LayoutTests/external/wpt/selection/addRange-04-expected.txt +++ b/third_party/WebKit/LayoutTests/external/wpt/selection/addRange-04-expected.txt
@@ -10,7 +10,6 @@ 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: Discontiguous selection is not supported. @@ -35,7 +34,6 @@ 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: Discontiguous selection is not supported. @@ -60,7 +58,6 @@ 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: Discontiguous selection is not supported. @@ -69,7 +66,6 @@ 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. @@ -86,7 +82,6 @@ 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: Discontiguous selection is not supported. @@ -95,7 +90,6 @@ 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. @@ -133,9 +127,9 @@ PASS Range 4 [paras[1].firstChild, 0, paras[1].firstChild, 0] followed by Range 2 [paras[0].firstChild, 2, paras[0].firstChild, 8]: modifying the Selection's last Range must modify the first added Range PASS Range 4 [paras[1].firstChild, 0, paras[1].firstChild, 0] followed by Range 2 [paras[0].firstChild, 2, paras[0].firstChild, 8]: second addRange() must not throw exceptions or modify the range it's given PASS Range 4 [paras[1].firstChild, 0, paras[1].firstChild, 0] followed by Range 2 [paras[0].firstChild, 2, paras[0].firstChild, 8]: second addRange() must result in rangeCount being 1 -FAIL Range 4 [paras[1].firstChild, 0, paras[1].firstChild, 0] followed by Range 2 [paras[0].firstChild, 2, paras[0].firstChild, 8]: second addRange() must result in the selection's last range having the specified endpoints assert_equals: startOffset of the Selection's last Range must match the added Range expected 2 but got 6 -FAIL Range 4 [paras[1].firstChild, 0, paras[1].firstChild, 0] followed by Range 2 [paras[0].firstChild, 2, paras[0].firstChild, 8]: second addRange() must result in the selection's last range being the same object we added assert_equals: getRangeAt(rangeCount - 1) must return the same object we added expected object "b̈c̈d̈" but got object "" -FAIL Range 4 [paras[1].firstChild, 0, paras[1].firstChild, 0] followed by Range 2 [paras[0].firstChild, 2, paras[0].firstChild, 8]: modifying the second added range must modify the Selection's last Range assert_equals: After mutating the second added Range, startOffset of the Selection's last Range must match the added Range expected 0 but got 6 +PASS Range 4 [paras[1].firstChild, 0, paras[1].firstChild, 0] followed by Range 2 [paras[0].firstChild, 2, paras[0].firstChild, 8]: second addRange() must result in the selection's last range having the specified endpoints +FAIL Range 4 [paras[1].firstChild, 0, paras[1].firstChild, 0] followed by Range 2 [paras[0].firstChild, 2, paras[0].firstChild, 8]: second addRange() must result in the selection's last range being the same object we added assert_equals: getRangeAt(rangeCount - 1) must return the same object we added expected object "b̈c̈d̈" but got object "b̈c̈d̈" +FAIL Range 4 [paras[1].firstChild, 0, paras[1].firstChild, 0] followed by Range 2 [paras[0].firstChild, 2, paras[0].firstChild, 8]: modifying the second added range must modify the Selection's last Range assert_equals: After mutating the second added Range, startOffset of the Selection's last Range must match the added Range expected 0 but got 2 FAIL Range 4 [paras[1].firstChild, 0, paras[1].firstChild, 0] followed by Range 2 [paras[0].firstChild, 2, paras[0].firstChild, 8]: modifying the Selection's last Range must modify the second added Range assert_equals: After second addRange(), after mutating the Selection's last Range, startOffset of the Selection's last Range must match the added Range expected 0 but got 6 PASS Range 4 [paras[1].firstChild, 0, paras[1].firstChild, 0] followed by Range 3 [paras[0].firstChild, 2, paras[0].firstChild, 9]: first addRange() must not throw exceptions or modify the range it's given PASS Range 4 [paras[1].firstChild, 0, paras[1].firstChild, 0] followed by Range 3 [paras[0].firstChild, 2, paras[0].firstChild, 9]: first addRange() must result in rangeCount being 1 @@ -145,9 +139,9 @@ PASS Range 4 [paras[1].firstChild, 0, paras[1].firstChild, 0] followed by Range 3 [paras[0].firstChild, 2, paras[0].firstChild, 9]: modifying the Selection's last Range must modify the first added Range PASS Range 4 [paras[1].firstChild, 0, paras[1].firstChild, 0] followed by Range 3 [paras[0].firstChild, 2, paras[0].firstChild, 9]: second addRange() must not throw exceptions or modify the range it's given PASS Range 4 [paras[1].firstChild, 0, paras[1].firstChild, 0] followed by Range 3 [paras[0].firstChild, 2, paras[0].firstChild, 9]: second addRange() must result in rangeCount being 1 -FAIL Range 4 [paras[1].firstChild, 0, paras[1].firstChild, 0] followed by Range 3 [paras[0].firstChild, 2, paras[0].firstChild, 9]: second addRange() must result in the selection's last range having the specified endpoints assert_equals: startOffset of the Selection's last Range must match the added Range expected 2 but got 6 -FAIL Range 4 [paras[1].firstChild, 0, paras[1].firstChild, 0] followed by Range 3 [paras[0].firstChild, 2, paras[0].firstChild, 9]: second addRange() must result in the selection's last range being the same object we added assert_equals: getRangeAt(rangeCount - 1) must return the same object we added expected object "b̈c̈d̈e" but got object "" -FAIL Range 4 [paras[1].firstChild, 0, paras[1].firstChild, 0] followed by Range 3 [paras[0].firstChild, 2, paras[0].firstChild, 9]: modifying the second added range must modify the Selection's last Range assert_equals: After mutating the second added Range, startOffset of the Selection's last Range must match the added Range expected 0 but got 6 +PASS Range 4 [paras[1].firstChild, 0, paras[1].firstChild, 0] followed by Range 3 [paras[0].firstChild, 2, paras[0].firstChild, 9]: second addRange() must result in the selection's last range having the specified endpoints +FAIL Range 4 [paras[1].firstChild, 0, paras[1].firstChild, 0] followed by Range 3 [paras[0].firstChild, 2, paras[0].firstChild, 9]: second addRange() must result in the selection's last range being the same object we added assert_equals: getRangeAt(rangeCount - 1) must return the same object we added expected object "b̈c̈d̈e" but got object "b̈c̈d̈e" +FAIL Range 4 [paras[1].firstChild, 0, paras[1].firstChild, 0] followed by Range 3 [paras[0].firstChild, 2, paras[0].firstChild, 9]: modifying the second added range must modify the Selection's last Range assert_equals: After mutating the second added Range, startOffset of the Selection's last Range must match the added Range expected 0 but got 2 FAIL Range 4 [paras[1].firstChild, 0, paras[1].firstChild, 0] followed by Range 3 [paras[0].firstChild, 2, paras[0].firstChild, 9]: modifying the Selection's last Range must modify the second added Range assert_equals: After second addRange(), after mutating the Selection's last Range, startOffset of the Selection's last Range must match the added Range expected 0 but got 6 PASS Range 4 [paras[1].firstChild, 0, paras[1].firstChild, 0] followed by Range 4 [paras[1].firstChild, 0, paras[1].firstChild, 0]: first addRange() must not throw exceptions or modify the range it's given PASS Range 4 [paras[1].firstChild, 0, paras[1].firstChild, 0] followed by Range 4 [paras[1].firstChild, 0, paras[1].firstChild, 0]: first addRange() must result in rangeCount being 1 @@ -157,11 +151,11 @@ PASS Range 4 [paras[1].firstChild, 0, paras[1].firstChild, 0] followed by Range 4 [paras[1].firstChild, 0, paras[1].firstChild, 0]: modifying the Selection's last Range must modify the first added Range PASS Range 4 [paras[1].firstChild, 0, paras[1].firstChild, 0] followed by Range 4 [paras[1].firstChild, 0, paras[1].firstChild, 0]: second addRange() must not throw exceptions or modify the range it's given PASS Range 4 [paras[1].firstChild, 0, paras[1].firstChild, 0] followed by Range 4 [paras[1].firstChild, 0, paras[1].firstChild, 0]: second addRange() must result in rangeCount being 1 -PASS Range 4 [paras[1].firstChild, 0, paras[1].firstChild, 0] followed by Range 4 [paras[1].firstChild, 0, paras[1].firstChild, 0]: second addRange() must result in the selection's last range having the specified endpoints -FAIL Range 4 [paras[1].firstChild, 0, paras[1].firstChild, 0] followed by Range 4 [paras[1].firstChild, 0, paras[1].firstChild, 0]: second addRange() must result in the selection's last range being the same object we added assert_equals: getRangeAt(rangeCount - 1) must return the same object we added expected object "" but got object "" -FAIL Range 4 [paras[1].firstChild, 0, paras[1].firstChild, 0] followed by Range 4 [paras[1].firstChild, 0, paras[1].firstChild, 0]: modifying the second added range must modify the Selection's last Range assert_equals: After mutating the second added Range, startContainer of the Selection's last Range must match the added Range expected Text node "Äb̈c̈d̈ëf̈g̈ḧ -" but got Text node "Ijklmnop +FAIL Range 4 [paras[1].firstChild, 0, paras[1].firstChild, 0] followed by Range 4 [paras[1].firstChild, 0, paras[1].firstChild, 0]: second addRange() must result in the selection's last range having the specified endpoints assert_equals: startContainer of the Selection's last Range must match the added Range expected Text node "Ijklmnop +" but got Text node "Äb̈c̈d̈ëf̈g̈ḧ " +FAIL Range 4 [paras[1].firstChild, 0, paras[1].firstChild, 0] followed by Range 4 [paras[1].firstChild, 0, paras[1].firstChild, 0]: second addRange() must result in the selection's last range being the same object we added assert_equals: getRangeAt(rangeCount - 1) must return the same object we added expected object "" but got object "" +FAIL Range 4 [paras[1].firstChild, 0, paras[1].firstChild, 0] followed by Range 4 [paras[1].firstChild, 0, paras[1].firstChild, 0]: modifying the second added range must modify the Selection's last Range assert_equals: After mutating the second added Range, startOffset of the Selection's last Range must match the added Range expected 0 but got 6 FAIL Range 4 [paras[1].firstChild, 0, paras[1].firstChild, 0] followed by Range 4 [paras[1].firstChild, 0, paras[1].firstChild, 0]: modifying the Selection's last Range must modify the second added Range assert_equals: After second addRange(), after mutating the Selection's last Range, startOffset of the Selection's last Range must match the added Range expected 0 but got 6 PASS Range 4 [paras[1].firstChild, 0, paras[1].firstChild, 0] followed by Range 5 [paras[1].firstChild, 0, paras[1].firstChild, 1]: first addRange() must not throw exceptions or modify the range it's given PASS Range 4 [paras[1].firstChild, 0, paras[1].firstChild, 0] followed by Range 5 [paras[1].firstChild, 0, paras[1].firstChild, 1]: first addRange() must result in rangeCount being 1 @@ -171,11 +165,11 @@ PASS Range 4 [paras[1].firstChild, 0, paras[1].firstChild, 0] followed by Range 5 [paras[1].firstChild, 0, paras[1].firstChild, 1]: modifying the Selection's last Range must modify the first added Range PASS Range 4 [paras[1].firstChild, 0, paras[1].firstChild, 0] followed by Range 5 [paras[1].firstChild, 0, paras[1].firstChild, 1]: second addRange() must not throw exceptions or modify the range it's given PASS Range 4 [paras[1].firstChild, 0, paras[1].firstChild, 0] followed by Range 5 [paras[1].firstChild, 0, paras[1].firstChild, 1]: second addRange() must result in rangeCount being 1 -PASS Range 4 [paras[1].firstChild, 0, paras[1].firstChild, 0] followed by Range 5 [paras[1].firstChild, 0, paras[1].firstChild, 1]: second addRange() must result in the selection's last range having the specified endpoints -FAIL Range 4 [paras[1].firstChild, 0, paras[1].firstChild, 0] followed by Range 5 [paras[1].firstChild, 0, paras[1].firstChild, 1]: second addRange() must result in the selection's last range being the same object we added assert_equals: getRangeAt(rangeCount - 1) must return the same object we added expected object "I" but got object "I" -FAIL Range 4 [paras[1].firstChild, 0, paras[1].firstChild, 0] followed by Range 5 [paras[1].firstChild, 0, paras[1].firstChild, 1]: modifying the second added range must modify the Selection's last Range assert_equals: After mutating the second added Range, startContainer of the Selection's last Range must match the added Range expected Text node "Äb̈c̈d̈ëf̈g̈ḧ -" but got Text node "Ijklmnop +FAIL Range 4 [paras[1].firstChild, 0, paras[1].firstChild, 0] followed by Range 5 [paras[1].firstChild, 0, paras[1].firstChild, 1]: second addRange() must result in the selection's last range having the specified endpoints assert_equals: startContainer of the Selection's last Range must match the added Range expected Text node "Ijklmnop +" but got Text node "Äb̈c̈d̈ëf̈g̈ḧ " +FAIL Range 4 [paras[1].firstChild, 0, paras[1].firstChild, 0] followed by Range 5 [paras[1].firstChild, 0, paras[1].firstChild, 1]: second addRange() must result in the selection's last range being the same object we added assert_equals: getRangeAt(rangeCount - 1) must return the same object we added expected object "I" but got object "" +FAIL Range 4 [paras[1].firstChild, 0, paras[1].firstChild, 0] followed by Range 5 [paras[1].firstChild, 0, paras[1].firstChild, 1]: modifying the second added range must modify the Selection's last Range assert_equals: After mutating the second added Range, startOffset of the Selection's last Range must match the added Range expected 0 but got 6 FAIL Range 4 [paras[1].firstChild, 0, paras[1].firstChild, 0] followed by Range 5 [paras[1].firstChild, 0, paras[1].firstChild, 1]: modifying the Selection's last Range must modify the second added Range assert_equals: After second addRange(), after mutating the Selection's last Range, startOffset of the Selection's last Range must match the added Range expected 0 but got 6 PASS Range 4 [paras[1].firstChild, 0, paras[1].firstChild, 0] followed by Range 6 [paras[1].firstChild, 2, paras[1].firstChild, 8]: first addRange() must not throw exceptions or modify the range it's given PASS Range 4 [paras[1].firstChild, 0, paras[1].firstChild, 0] followed by Range 6 [paras[1].firstChild, 2, paras[1].firstChild, 8]: first addRange() must result in rangeCount being 1 @@ -473,12 +467,13 @@ PASS Range 4 [paras[1].firstChild, 0, paras[1].firstChild, 0] followed by Range 23 [paras[0], 0, paras[0], 1]: modifying the Selection's last Range must modify the first added Range PASS Range 4 [paras[1].firstChild, 0, paras[1].firstChild, 0] followed by Range 23 [paras[0], 0, paras[0], 1]: second addRange() must not throw exceptions or modify the range it's given PASS Range 4 [paras[1].firstChild, 0, paras[1].firstChild, 0] followed by Range 23 [paras[0], 0, paras[0], 1]: second addRange() must result in rangeCount being 1 -FAIL Range 4 [paras[1].firstChild, 0, paras[1].firstChild, 0] followed by Range 23 [paras[0], 0, paras[0], 1]: second addRange() must result in the selection's last range having the specified endpoints assert_equals: startContainer of the Selection's last Range must match the added Range expected Element node <p id="a">Äb̈c̈d̈ëf̈g̈ḧ -</p> but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" +PASS Range 4 [paras[1].firstChild, 0, paras[1].firstChild, 0] followed by Range 23 [paras[0], 0, paras[0], 1]: second addRange() must result in the selection's last range having the specified endpoints FAIL Range 4 [paras[1].firstChild, 0, paras[1].firstChild, 0] followed by Range 23 [paras[0], 0, paras[0], 1]: second addRange() must result in the selection's last range being the same object we added assert_equals: getRangeAt(rangeCount - 1) must return the same object we added expected object "Äb̈c̈d̈ëf̈g̈ḧ -" but got object "" -FAIL Range 4 [paras[1].firstChild, 0, paras[1].firstChild, 0] followed by Range 23 [paras[0], 0, paras[0], 1]: modifying the second added range must modify the Selection's last Range assert_equals: After mutating the second added Range, startOffset of the Selection's last Range must match the added Range expected 0 but got 6 +" but got object "Äb̈c̈d̈ëf̈g̈ḧ +" +FAIL Range 4 [paras[1].firstChild, 0, paras[1].firstChild, 0] followed by Range 23 [paras[0], 0, paras[0], 1]: modifying the second added range must modify the Selection's last Range assert_equals: After mutating the second added Range, startContainer of the Selection's last Range must match the added Range expected Text node "Äb̈c̈d̈ëf̈g̈ḧ +" but got Element node <p id="a">Äb̈c̈d̈ëf̈g̈ḧ +</p> FAIL Range 4 [paras[1].firstChild, 0, paras[1].firstChild, 0] followed by Range 23 [paras[0], 0, paras[0], 1]: modifying the Selection's last Range must modify the second added Range assert_equals: After second addRange(), after mutating the Selection's last Range, startOffset of the Selection's last Range must match the added Range expected 0 but got 6 PASS Range 4 [paras[1].firstChild, 0, paras[1].firstChild, 0] followed by Range 24 [detachedPara1, 0, detachedPara1, 0]: first addRange() must not throw exceptions or modify the range it's given PASS Range 4 [paras[1].firstChild, 0, paras[1].firstChild, 0] followed by Range 24 [detachedPara1, 0, detachedPara1, 0]: first addRange() must result in rangeCount being 1 @@ -562,11 +557,11 @@ PASS Range 4 [paras[1].firstChild, 0, paras[1].firstChild, 0] followed by Range 29 [paras[0], 0, paras[0].firstChild, 7]: modifying the Selection's last Range must modify the first added Range PASS Range 4 [paras[1].firstChild, 0, paras[1].firstChild, 0] followed by Range 29 [paras[0], 0, paras[0].firstChild, 7]: second addRange() must not throw exceptions or modify the range it's given PASS Range 4 [paras[1].firstChild, 0, paras[1].firstChild, 0] followed by Range 29 [paras[0], 0, paras[0].firstChild, 7]: second addRange() must result in rangeCount being 1 -FAIL Range 4 [paras[1].firstChild, 0, paras[1].firstChild, 0] followed by Range 29 [paras[0], 0, paras[0].firstChild, 7]: second addRange() must result in the selection's last range having the specified endpoints assert_equals: startContainer of the Selection's last Range must match the added Range expected Element node <p id="a">Äb̈c̈d̈ëf̈g̈ḧ -</p> but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -FAIL Range 4 [paras[1].firstChild, 0, paras[1].firstChild, 0] followed by Range 29 [paras[0], 0, paras[0].firstChild, 7]: second addRange() must result in the selection's last range being the same object we added assert_equals: getRangeAt(rangeCount - 1) must return the same object we added expected object "Äb̈c̈d" but got object "" -FAIL Range 4 [paras[1].firstChild, 0, paras[1].firstChild, 0] followed by Range 29 [paras[0], 0, paras[0].firstChild, 7]: modifying the second added range must modify the Selection's last Range assert_equals: After mutating the second added Range, startOffset of the Selection's last Range must match the added Range expected 0 but got 6 +PASS Range 4 [paras[1].firstChild, 0, paras[1].firstChild, 0] followed by Range 29 [paras[0], 0, paras[0].firstChild, 7]: second addRange() must result in the selection's last range having the specified endpoints +FAIL Range 4 [paras[1].firstChild, 0, paras[1].firstChild, 0] followed by Range 29 [paras[0], 0, paras[0].firstChild, 7]: second addRange() must result in the selection's last range being the same object we added assert_equals: getRangeAt(rangeCount - 1) must return the same object we added expected object "Äb̈c̈d" but got object "Äb̈c̈d" +FAIL Range 4 [paras[1].firstChild, 0, paras[1].firstChild, 0] followed by Range 29 [paras[0], 0, paras[0].firstChild, 7]: modifying the second added range must modify the Selection's last Range assert_equals: After mutating the second added Range, startContainer of the Selection's last Range must match the added Range expected Text node "Äb̈c̈d̈ëf̈g̈ḧ +" but got Element node <p id="a">Äb̈c̈d̈ëf̈g̈ḧ +</p> FAIL Range 4 [paras[1].firstChild, 0, paras[1].firstChild, 0] followed by Range 29 [paras[0], 0, paras[0].firstChild, 7]: modifying the Selection's last Range must modify the second added Range assert_equals: After second addRange(), after mutating the Selection's last Range, startOffset of the Selection's last Range must match the added Range expected 0 but got 6 PASS Range 4 [paras[1].firstChild, 0, paras[1].firstChild, 0] followed by Range 30 [testDiv, 2, paras[4], 1]: first addRange() must not throw exceptions or modify the range it's given PASS Range 4 [paras[1].firstChild, 0, paras[1].firstChild, 0] followed by Range 30 [testDiv, 2, paras[4], 1]: first addRange() must result in rangeCount being 1 @@ -590,13 +585,12 @@ PASS Range 4 [paras[1].firstChild, 0, paras[1].firstChild, 0] followed by Range 31 [testDiv, 1, paras[2].firstChild, 5]: modifying the Selection's last Range must modify the first added Range PASS Range 4 [paras[1].firstChild, 0, paras[1].firstChild, 0] followed by Range 31 [testDiv, 1, paras[2].firstChild, 5]: second addRange() must not throw exceptions or modify the range it's given PASS Range 4 [paras[1].firstChild, 0, paras[1].firstChild, 0] followed by Range 31 [testDiv, 1, paras[2].firstChild, 5]: second addRange() must result in rangeCount being 1 -PASS Range 4 [paras[1].firstChild, 0, paras[1].firstChild, 0] followed by Range 31 [testDiv, 1, paras[2].firstChild, 5]: second addRange() must result in the selection's last range having the specified endpoints +FAIL Range 4 [paras[1].firstChild, 0, paras[1].firstChild, 0] followed by Range 31 [testDiv, 1, paras[2].firstChild, 5]: second addRange() must result in the selection's last range having the specified endpoints assert_equals: startContainer of the Selection's last Range must match the added Range expected Element node <div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ +</p><p id="b" s... but got Text node "Äb̈c̈d̈ëf̈g̈ḧ +" FAIL Range 4 [paras[1].firstChild, 0, paras[1].firstChild, 0] followed by Range 31 [testDiv, 1, paras[2].firstChild, 5]: second addRange() must result in the selection's last range being the same object we added assert_equals: getRangeAt(rangeCount - 1) must return the same object we added expected object "Ijklmnop -Qrstu" but got object "Ijklmnop -Qrstu" -FAIL Range 4 [paras[1].firstChild, 0, paras[1].firstChild, 0] followed by Range 31 [testDiv, 1, paras[2].firstChild, 5]: modifying the second added range must modify the Selection's last Range assert_equals: After mutating the second added Range, startContainer of the Selection's last Range must match the added Range expected Text node "Äb̈c̈d̈ëf̈g̈ḧ -" but got Element node <div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ -</p><p id="b" s... +Qrstu" but got object "" +FAIL Range 4 [paras[1].firstChild, 0, paras[1].firstChild, 0] followed by Range 31 [testDiv, 1, paras[2].firstChild, 5]: modifying the second added range must modify the Selection's last Range assert_equals: After mutating the second added Range, startOffset of the Selection's last Range must match the added Range expected 0 but got 6 FAIL Range 4 [paras[1].firstChild, 0, paras[1].firstChild, 0] followed by Range 31 [testDiv, 1, paras[2].firstChild, 5]: modifying the Selection's last Range must modify the second added Range assert_equals: After second addRange(), after mutating the Selection's last Range, startOffset of the Selection's last Range must match the added Range expected 0 but got 6 PASS Range 4 [paras[1].firstChild, 0, paras[1].firstChild, 0] followed by Range 32 [document.documentElement, 1, document.body, 0]: first addRange() must not throw exceptions or modify the range it's given PASS Range 4 [paras[1].firstChild, 0, paras[1].firstChild, 0] followed by Range 32 [document.documentElement, 1, document.body, 0]: first addRange() must result in rangeCount being 1 @@ -1031,9 +1025,9 @@ PASS Range 5 [paras[1].firstChild, 0, paras[1].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 PASS Range 5 [paras[1].firstChild, 0, paras[1].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 5 [paras[1].firstChild, 0, paras[1].firstChild, 1] followed by Range 2 [paras[0].firstChild, 2, paras[0].firstChild, 8]: second addRange() must result in rangeCount being 1 -FAIL Range 5 [paras[1].firstChild, 0, paras[1].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 assert_equals: startOffset of the Selection's last Range must match the added Range expected 2 but got 6 -FAIL Range 5 [paras[1].firstChild, 0, paras[1].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 assert_equals: getRangeAt(rangeCount - 1) must return the same object we added expected object "b̈c̈d̈" but got object "" -FAIL Range 5 [paras[1].firstChild, 0, paras[1].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 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 +PASS Range 5 [paras[1].firstChild, 0, paras[1].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 +FAIL Range 5 [paras[1].firstChild, 0, paras[1].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 assert_equals: getRangeAt(rangeCount - 1) must return the same object we added expected object "b̈c̈d̈" but got object "b̈c̈d̈" +FAIL Range 5 [paras[1].firstChild, 0, paras[1].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 assert_equals: After mutating the second added Range, startOffset of the Selection's last Range must match the added Range expected 0 but got 2 FAIL Range 5 [paras[1].firstChild, 0, paras[1].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 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 5 [paras[1].firstChild, 0, paras[1].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 PASS Range 5 [paras[1].firstChild, 0, paras[1].firstChild, 1] followed by Range 3 [paras[0].firstChild, 2, paras[0].firstChild, 9]: first addRange() must result in rangeCount being 1 @@ -1043,9 +1037,9 @@ PASS Range 5 [paras[1].firstChild, 0, paras[1].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 PASS Range 5 [paras[1].firstChild, 0, paras[1].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 5 [paras[1].firstChild, 0, paras[1].firstChild, 1] followed by Range 3 [paras[0].firstChild, 2, paras[0].firstChild, 9]: second addRange() must result in rangeCount being 1 -FAIL Range 5 [paras[1].firstChild, 0, paras[1].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 assert_equals: startOffset of the Selection's last Range must match the added Range expected 2 but got 6 -FAIL Range 5 [paras[1].firstChild, 0, paras[1].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 assert_equals: getRangeAt(rangeCount - 1) must return the same object we added expected object "b̈c̈d̈e" but got object "" -FAIL Range 5 [paras[1].firstChild, 0, paras[1].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 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 +PASS Range 5 [paras[1].firstChild, 0, paras[1].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 +FAIL Range 5 [paras[1].firstChild, 0, paras[1].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 assert_equals: getRangeAt(rangeCount - 1) must return the same object we added expected object "b̈c̈d̈e" but got object "b̈c̈d̈e" +FAIL Range 5 [paras[1].firstChild, 0, paras[1].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 assert_equals: After mutating the second added Range, startOffset of the Selection's last Range must match the added Range expected 0 but got 2 FAIL Range 5 [paras[1].firstChild, 0, paras[1].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 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 5 [paras[1].firstChild, 0, paras[1].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 PASS Range 5 [paras[1].firstChild, 0, paras[1].firstChild, 1] followed by Range 4 [paras[1].firstChild, 0, paras[1].firstChild, 0]: first addRange() must result in rangeCount being 1 @@ -1055,11 +1049,11 @@ PASS Range 5 [paras[1].firstChild, 0, paras[1].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 PASS Range 5 [paras[1].firstChild, 0, paras[1].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 5 [paras[1].firstChild, 0, paras[1].firstChild, 1] followed by Range 4 [paras[1].firstChild, 0, paras[1].firstChild, 0]: second addRange() must result in rangeCount being 1 -FAIL Range 5 [paras[1].firstChild, 0, paras[1].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 assert_equals: endOffset of the Selection's last Range must match the added Range expected 0 but got 1 -FAIL Range 5 [paras[1].firstChild, 0, paras[1].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 assert_equals: getRangeAt(rangeCount - 1) must return the same object we added expected object "" but got object "I" -FAIL Range 5 [paras[1].firstChild, 0, paras[1].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 assert_equals: After mutating the second added Range, startContainer of the Selection's last Range must match the added Range expected Text node "Äb̈c̈d̈ëf̈g̈ḧ -" but got Text node "Ijklmnop +FAIL Range 5 [paras[1].firstChild, 0, paras[1].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 assert_equals: startContainer of the Selection's last Range must match the added Range expected Text node "Ijklmnop +" but got Text node "Äb̈c̈d̈ëf̈g̈ḧ " +FAIL Range 5 [paras[1].firstChild, 0, paras[1].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 assert_equals: getRangeAt(rangeCount - 1) must return the same object we added expected object "" but got object "" +FAIL Range 5 [paras[1].firstChild, 0, paras[1].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 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 5 [paras[1].firstChild, 0, paras[1].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 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 5 [paras[1].firstChild, 0, paras[1].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 PASS Range 5 [paras[1].firstChild, 0, paras[1].firstChild, 1] followed by Range 5 [paras[1].firstChild, 0, paras[1].firstChild, 1]: first addRange() must result in rangeCount being 1 @@ -1069,11 +1063,11 @@ PASS Range 5 [paras[1].firstChild, 0, paras[1].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 PASS Range 5 [paras[1].firstChild, 0, paras[1].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 5 [paras[1].firstChild, 0, paras[1].firstChild, 1] followed by Range 5 [paras[1].firstChild, 0, paras[1].firstChild, 1]: second addRange() must result in rangeCount being 1 -PASS Range 5 [paras[1].firstChild, 0, paras[1].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 -FAIL Range 5 [paras[1].firstChild, 0, paras[1].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 assert_equals: getRangeAt(rangeCount - 1) must return the same object we added expected object "I" but got object "I" -FAIL Range 5 [paras[1].firstChild, 0, paras[1].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 assert_equals: After mutating the second added Range, startContainer of the Selection's last Range must match the added Range expected Text node "Äb̈c̈d̈ëf̈g̈ḧ -" but got Text node "Ijklmnop +FAIL Range 5 [paras[1].firstChild, 0, paras[1].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 assert_equals: startContainer of the Selection's last Range must match the added Range expected Text node "Ijklmnop +" but got Text node "Äb̈c̈d̈ëf̈g̈ḧ " +FAIL Range 5 [paras[1].firstChild, 0, paras[1].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 assert_equals: getRangeAt(rangeCount - 1) must return the same object we added expected object "I" but got object "" +FAIL Range 5 [paras[1].firstChild, 0, paras[1].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 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 5 [paras[1].firstChild, 0, paras[1].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 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 5 [paras[1].firstChild, 0, paras[1].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 PASS Range 5 [paras[1].firstChild, 0, paras[1].firstChild, 1] followed by Range 6 [paras[1].firstChild, 2, paras[1].firstChild, 8]: first addRange() must result in rangeCount being 1 @@ -1371,12 +1365,13 @@ PASS Range 5 [paras[1].firstChild, 0, paras[1].firstChild, 1] followed by Range 23 [paras[0], 0, paras[0], 1]: modifying the Selection's last Range must modify the first added Range PASS Range 5 [paras[1].firstChild, 0, paras[1].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 5 [paras[1].firstChild, 0, paras[1].firstChild, 1] followed by Range 23 [paras[0], 0, paras[0], 1]: second addRange() must result in rangeCount being 1 -FAIL Range 5 [paras[1].firstChild, 0, paras[1].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 assert_equals: startContainer of the Selection's last Range must match the added Range expected Element node <p id="a">Äb̈c̈d̈ëf̈g̈ḧ -</p> but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" +PASS Range 5 [paras[1].firstChild, 0, paras[1].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 FAIL Range 5 [paras[1].firstChild, 0, paras[1].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 assert_equals: getRangeAt(rangeCount - 1) must return the same object we added expected object "Äb̈c̈d̈ëf̈g̈ḧ -" but got object "" -FAIL Range 5 [paras[1].firstChild, 0, paras[1].firstChild, 1] followed by Range 23 [paras[0], 0, paras[0], 1]: modifying the second added range must modify the Selection's last Range assert_equals: After mutating the second added Range, startOffset of the Selection's last Range must match the added Range expected 0 but got 6 +" but got object "Äb̈c̈d̈ëf̈g̈ḧ +" +FAIL Range 5 [paras[1].firstChild, 0, paras[1].firstChild, 1] followed by Range 23 [paras[0], 0, paras[0], 1]: modifying the second added range must modify the Selection's last Range assert_equals: After mutating the second added Range, startContainer of the Selection's last Range must match the added Range expected Text node "Äb̈c̈d̈ëf̈g̈ḧ +" but got Element node <p id="a">Äb̈c̈d̈ëf̈g̈ḧ +</p> FAIL Range 5 [paras[1].firstChild, 0, paras[1].firstChild, 1] followed by Range 23 [paras[0], 0, paras[0], 1]: modifying the Selection's last Range must modify the second added Range assert_equals: After second addRange(), after mutating the Selection's last Range, startOffset of the Selection's last Range must match the added Range expected 0 but got 6 PASS Range 5 [paras[1].firstChild, 0, paras[1].firstChild, 1] followed by Range 24 [detachedPara1, 0, detachedPara1, 0]: first addRange() must not throw exceptions or modify the range it's given PASS Range 5 [paras[1].firstChild, 0, paras[1].firstChild, 1] followed by Range 24 [detachedPara1, 0, detachedPara1, 0]: first addRange() must result in rangeCount being 1 @@ -1412,10 +1407,10 @@ PASS Range 5 [paras[1].firstChild, 0, paras[1].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 PASS Range 5 [paras[1].firstChild, 0, paras[1].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 5 [paras[1].firstChild, 0, paras[1].firstChild, 1] followed by Range 26 [paras[0].firstChild, 0, paras[1].firstChild, 0]: second addRange() must result in rangeCount being 1 -FAIL Range 5 [paras[1].firstChild, 0, paras[1].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 assert_equals: endOffset of the Selection's last Range must match the added Range expected 0 but got 1 +PASS Range 5 [paras[1].firstChild, 0, paras[1].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 FAIL Range 5 [paras[1].firstChild, 0, paras[1].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 assert_equals: getRangeAt(rangeCount - 1) must return the same object we added expected object "Äb̈c̈d̈ëf̈g̈ḧ " but got object "Äb̈c̈d̈ëf̈g̈ḧ -I" +" FAIL Range 5 [paras[1].firstChild, 0, paras[1].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 assert_equals: After mutating the second added Range, endContainer of the Selection's last Range must match the added Range expected Text node "Äb̈c̈d̈ëf̈g̈ḧ " but got Text node "Ijklmnop " @@ -1460,11 +1455,11 @@ PASS Range 5 [paras[1].firstChild, 0, paras[1].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 PASS Range 5 [paras[1].firstChild, 0, paras[1].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 5 [paras[1].firstChild, 0, paras[1].firstChild, 1] followed by Range 29 [paras[0], 0, paras[0].firstChild, 7]: second addRange() must result in rangeCount being 1 -FAIL Range 5 [paras[1].firstChild, 0, paras[1].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 assert_equals: startContainer of the Selection's last Range must match the added Range expected Element node <p id="a">Äb̈c̈d̈ëf̈g̈ḧ -</p> but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -FAIL Range 5 [paras[1].firstChild, 0, paras[1].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 assert_equals: getRangeAt(rangeCount - 1) must return the same object we added expected object "Äb̈c̈d" but got object "" -FAIL Range 5 [paras[1].firstChild, 0, paras[1].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 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 +PASS Range 5 [paras[1].firstChild, 0, paras[1].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 +FAIL Range 5 [paras[1].firstChild, 0, paras[1].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 assert_equals: getRangeAt(rangeCount - 1) must return the same object we added expected object "Äb̈c̈d" but got object "Äb̈c̈d" +FAIL Range 5 [paras[1].firstChild, 0, paras[1].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 assert_equals: After mutating the second added Range, startContainer of the Selection's last Range must match the added Range expected Text node "Äb̈c̈d̈ëf̈g̈ḧ +" but got Element node <p id="a">Äb̈c̈d̈ëf̈g̈ḧ +</p> FAIL Range 5 [paras[1].firstChild, 0, paras[1].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 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 5 [paras[1].firstChild, 0, paras[1].firstChild, 1] followed by Range 30 [testDiv, 2, paras[4], 1]: first addRange() must not throw exceptions or modify the range it's given PASS Range 5 [paras[1].firstChild, 0, paras[1].firstChild, 1] followed by Range 30 [testDiv, 2, paras[4], 1]: first addRange() must result in rangeCount being 1 @@ -1488,13 +1483,12 @@ PASS Range 5 [paras[1].firstChild, 0, paras[1].firstChild, 1] followed by Range 31 [testDiv, 1, paras[2].firstChild, 5]: modifying the Selection's last Range must modify the first added Range PASS Range 5 [paras[1].firstChild, 0, paras[1].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 5 [paras[1].firstChild, 0, paras[1].firstChild, 1] followed by Range 31 [testDiv, 1, paras[2].firstChild, 5]: second addRange() must result in rangeCount being 1 -PASS Range 5 [paras[1].firstChild, 0, paras[1].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 +FAIL Range 5 [paras[1].firstChild, 0, paras[1].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 assert_equals: startContainer of the Selection's last Range must match the added Range expected Element node <div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ +</p><p id="b" s... but got Text node "Äb̈c̈d̈ëf̈g̈ḧ +" FAIL Range 5 [paras[1].firstChild, 0, paras[1].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 assert_equals: getRangeAt(rangeCount - 1) must return the same object we added expected object "Ijklmnop -Qrstu" but got object "Ijklmnop -Qrstu" -FAIL Range 5 [paras[1].firstChild, 0, paras[1].firstChild, 1] followed by Range 31 [testDiv, 1, paras[2].firstChild, 5]: modifying the second added range must modify the Selection's last Range assert_equals: After mutating the second added Range, startContainer of the Selection's last Range must match the added Range expected Text node "Äb̈c̈d̈ëf̈g̈ḧ -" but got Element node <div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ -</p><p id="b" s... +Qrstu" but got object "" +FAIL Range 5 [paras[1].firstChild, 0, paras[1].firstChild, 1] followed by Range 31 [testDiv, 1, paras[2].firstChild, 5]: modifying the second added range must modify the Selection's last Range assert_equals: After mutating the second added Range, startOffset of the Selection's last Range must match the added Range expected 0 but got 6 FAIL Range 5 [paras[1].firstChild, 0, paras[1].firstChild, 1] followed by Range 31 [testDiv, 1, paras[2].firstChild, 5]: modifying the Selection's last Range must modify the second added Range assert_equals: After second addRange(), after mutating the Selection's last Range, startOffset of the Selection's last Range must match the added Range expected 0 but got 6 PASS Range 5 [paras[1].firstChild, 0, paras[1].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 PASS Range 5 [paras[1].firstChild, 0, paras[1].firstChild, 1] followed by Range 32 [document.documentElement, 1, document.body, 0]: first addRange() must result in rangeCount being 1 @@ -1929,9 +1923,9 @@ PASS Range 6 [paras[1].firstChild, 2, paras[1].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 PASS Range 6 [paras[1].firstChild, 2, paras[1].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 6 [paras[1].firstChild, 2, paras[1].firstChild, 8] followed by Range 2 [paras[0].firstChild, 2, paras[0].firstChild, 8]: second addRange() must result in rangeCount being 1 -FAIL Range 6 [paras[1].firstChild, 2, paras[1].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 assert_equals: startOffset of the Selection's last Range must match the added Range expected 2 but got 6 -FAIL Range 6 [paras[1].firstChild, 2, paras[1].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 assert_equals: getRangeAt(rangeCount - 1) must return the same object we added expected object "b̈c̈d̈" but got object "" -FAIL Range 6 [paras[1].firstChild, 2, paras[1].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 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 +PASS Range 6 [paras[1].firstChild, 2, paras[1].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 +FAIL Range 6 [paras[1].firstChild, 2, paras[1].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 assert_equals: getRangeAt(rangeCount - 1) must return the same object we added expected object "b̈c̈d̈" but got object "b̈c̈d̈" +FAIL Range 6 [paras[1].firstChild, 2, paras[1].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 assert_equals: After mutating the second added Range, startOffset of the Selection's last Range must match the added Range expected 0 but got 2 FAIL Range 6 [paras[1].firstChild, 2, paras[1].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 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 6 [paras[1].firstChild, 2, paras[1].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 PASS Range 6 [paras[1].firstChild, 2, paras[1].firstChild, 8] followed by Range 3 [paras[0].firstChild, 2, paras[0].firstChild, 9]: first addRange() must result in rangeCount being 1 @@ -1941,9 +1935,9 @@ PASS Range 6 [paras[1].firstChild, 2, paras[1].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 PASS Range 6 [paras[1].firstChild, 2, paras[1].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 6 [paras[1].firstChild, 2, paras[1].firstChild, 8] followed by Range 3 [paras[0].firstChild, 2, paras[0].firstChild, 9]: second addRange() must result in rangeCount being 1 -FAIL Range 6 [paras[1].firstChild, 2, paras[1].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 assert_equals: startOffset of the Selection's last Range must match the added Range expected 2 but got 6 -FAIL Range 6 [paras[1].firstChild, 2, paras[1].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 assert_equals: getRangeAt(rangeCount - 1) must return the same object we added expected object "b̈c̈d̈e" but got object "" -FAIL Range 6 [paras[1].firstChild, 2, paras[1].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 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 +PASS Range 6 [paras[1].firstChild, 2, paras[1].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 +FAIL Range 6 [paras[1].firstChild, 2, paras[1].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 assert_equals: getRangeAt(rangeCount - 1) must return the same object we added expected object "b̈c̈d̈e" but got object "b̈c̈d̈e" +FAIL Range 6 [paras[1].firstChild, 2, paras[1].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 assert_equals: After mutating the second added Range, startOffset of the Selection's last Range must match the added Range expected 0 but got 2 FAIL Range 6 [paras[1].firstChild, 2, paras[1].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 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 6 [paras[1].firstChild, 2, paras[1].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 PASS Range 6 [paras[1].firstChild, 2, paras[1].firstChild, 8] followed by Range 4 [paras[1].firstChild, 0, paras[1].firstChild, 0]: first addRange() must result in rangeCount being 1 @@ -1981,11 +1975,11 @@ PASS Range 6 [paras[1].firstChild, 2, paras[1].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 PASS Range 6 [paras[1].firstChild, 2, paras[1].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 6 [paras[1].firstChild, 2, paras[1].firstChild, 8] followed by Range 6 [paras[1].firstChild, 2, paras[1].firstChild, 8]: second addRange() must result in rangeCount being 1 -PASS Range 6 [paras[1].firstChild, 2, paras[1].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 -FAIL Range 6 [paras[1].firstChild, 2, paras[1].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 assert_equals: getRangeAt(rangeCount - 1) must return the same object we added expected object "klmnop" but got object "klmnop" -FAIL Range 6 [paras[1].firstChild, 2, paras[1].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 assert_equals: After mutating the second added Range, startContainer of the Selection's last Range must match the added Range expected Text node "Äb̈c̈d̈ëf̈g̈ḧ -" but got Text node "Ijklmnop +FAIL Range 6 [paras[1].firstChild, 2, paras[1].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 assert_equals: startContainer of the Selection's last Range must match the added Range expected Text node "Ijklmnop +" but got Text node "Äb̈c̈d̈ëf̈g̈ḧ " +FAIL Range 6 [paras[1].firstChild, 2, paras[1].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 assert_equals: getRangeAt(rangeCount - 1) must return the same object we added expected object "klmnop" but got object "" +FAIL Range 6 [paras[1].firstChild, 2, paras[1].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 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 6 [paras[1].firstChild, 2, paras[1].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 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 6 [paras[1].firstChild, 2, paras[1].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 PASS Range 6 [paras[1].firstChild, 2, paras[1].firstChild, 8] followed by Range 7 [paras[1].firstChild, 2, paras[1].firstChild, 9]: first addRange() must result in rangeCount being 1 @@ -1995,13 +1989,12 @@ PASS Range 6 [paras[1].firstChild, 2, paras[1].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 PASS Range 6 [paras[1].firstChild, 2, paras[1].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 6 [paras[1].firstChild, 2, paras[1].firstChild, 8] followed by Range 7 [paras[1].firstChild, 2, paras[1].firstChild, 9]: second addRange() must result in rangeCount being 1 -PASS Range 6 [paras[1].firstChild, 2, paras[1].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 +FAIL Range 6 [paras[1].firstChild, 2, paras[1].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 assert_equals: startContainer of the Selection's last Range must match the added Range expected Text node "Ijklmnop +" but got Text node "Äb̈c̈d̈ëf̈g̈ḧ +" FAIL Range 6 [paras[1].firstChild, 2, paras[1].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 assert_equals: getRangeAt(rangeCount - 1) must return the same object we added expected object "klmnop -" but got object "klmnop -" -FAIL Range 6 [paras[1].firstChild, 2, paras[1].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 assert_equals: After mutating the second added Range, startContainer of the Selection's last Range must match the added Range expected Text node "Äb̈c̈d̈ëf̈g̈ḧ -" but got Text node "Ijklmnop -" +" but got object "" +FAIL Range 6 [paras[1].firstChild, 2, paras[1].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 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 6 [paras[1].firstChild, 2, paras[1].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 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 6 [paras[1].firstChild, 2, paras[1].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 PASS Range 6 [paras[1].firstChild, 2, paras[1].firstChild, 8] followed by Range 8 [detachedPara1.firstChild, 0, detachedPara1.firstChild, 0]: first addRange() must result in rangeCount being 1 @@ -2270,12 +2263,13 @@ PASS Range 6 [paras[1].firstChild, 2, paras[1].firstChild, 8] followed by Range 23 [paras[0], 0, paras[0], 1]: modifying the Selection's last Range must modify the first added Range PASS Range 6 [paras[1].firstChild, 2, paras[1].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 6 [paras[1].firstChild, 2, paras[1].firstChild, 8] followed by Range 23 [paras[0], 0, paras[0], 1]: second addRange() must result in rangeCount being 1 -FAIL Range 6 [paras[1].firstChild, 2, paras[1].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 assert_equals: startContainer of the Selection's last Range must match the added Range expected Element node <p id="a">Äb̈c̈d̈ëf̈g̈ḧ -</p> but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" +PASS Range 6 [paras[1].firstChild, 2, paras[1].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 FAIL Range 6 [paras[1].firstChild, 2, paras[1].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 assert_equals: getRangeAt(rangeCount - 1) must return the same object we added expected object "Äb̈c̈d̈ëf̈g̈ḧ -" but got object "" -FAIL Range 6 [paras[1].firstChild, 2, paras[1].firstChild, 8] followed by Range 23 [paras[0], 0, paras[0], 1]: modifying the second added range must modify the Selection's last Range assert_equals: After mutating the second added Range, startOffset of the Selection's last Range must match the added Range expected 0 but got 6 +" but got object "Äb̈c̈d̈ëf̈g̈ḧ +" +FAIL Range 6 [paras[1].firstChild, 2, paras[1].firstChild, 8] followed by Range 23 [paras[0], 0, paras[0], 1]: modifying the second added range must modify the Selection's last Range assert_equals: After mutating the second added Range, startContainer of the Selection's last Range must match the added Range expected Text node "Äb̈c̈d̈ëf̈g̈ḧ +" but got Element node <p id="a">Äb̈c̈d̈ëf̈g̈ḧ +</p> FAIL Range 6 [paras[1].firstChild, 2, paras[1].firstChild, 8] followed by Range 23 [paras[0], 0, paras[0], 1]: modifying the Selection's last Range must modify the second added Range assert_equals: After second addRange(), after mutating the Selection's last Range, startOffset of the Selection's last Range must match the added Range expected 0 but got 6 PASS Range 6 [paras[1].firstChild, 2, paras[1].firstChild, 8] followed by Range 24 [detachedPara1, 0, detachedPara1, 0]: first addRange() must not throw exceptions or modify the range it's given PASS Range 6 [paras[1].firstChild, 2, paras[1].firstChild, 8] followed by Range 24 [detachedPara1, 0, detachedPara1, 0]: first addRange() must result in rangeCount being 1 @@ -2311,10 +2305,13 @@ PASS Range 6 [paras[1].firstChild, 2, paras[1].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 PASS Range 6 [paras[1].firstChild, 2, paras[1].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 6 [paras[1].firstChild, 2, paras[1].firstChild, 8] followed by Range 26 [paras[0].firstChild, 0, paras[1].firstChild, 0]: second addRange() must result in rangeCount being 1 -FAIL Range 6 [paras[1].firstChild, 2, paras[1].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 assert_equals: startOffset of the Selection's last Range must match the added Range expected 0 but got 6 +PASS Range 6 [paras[1].firstChild, 2, paras[1].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 FAIL Range 6 [paras[1].firstChild, 2, paras[1].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 assert_equals: getRangeAt(rangeCount - 1) must return the same object we added expected object "Äb̈c̈d̈ëf̈g̈ḧ -" but got object "" -FAIL Range 6 [paras[1].firstChild, 2, paras[1].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 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 +" but got object "Äb̈c̈d̈ëf̈g̈ḧ +" +FAIL Range 6 [paras[1].firstChild, 2, paras[1].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 assert_equals: After mutating the second added Range, endContainer of the Selection's last Range must match the added Range expected Text node "Äb̈c̈d̈ëf̈g̈ḧ +" but got Text node "Ijklmnop +" FAIL Range 6 [paras[1].firstChild, 2, paras[1].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 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 6 [paras[1].firstChild, 2, paras[1].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 PASS Range 6 [paras[1].firstChild, 2, paras[1].firstChild, 8] followed by Range 27 [paras[0].firstChild, 0, paras[1].firstChild, 8]: first addRange() must result in rangeCount being 1 @@ -2356,11 +2353,11 @@ PASS Range 6 [paras[1].firstChild, 2, paras[1].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 PASS Range 6 [paras[1].firstChild, 2, paras[1].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 6 [paras[1].firstChild, 2, paras[1].firstChild, 8] followed by Range 29 [paras[0], 0, paras[0].firstChild, 7]: second addRange() must result in rangeCount being 1 -FAIL Range 6 [paras[1].firstChild, 2, paras[1].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 assert_equals: startContainer of the Selection's last Range must match the added Range expected Element node <p id="a">Äb̈c̈d̈ëf̈g̈ḧ -</p> but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -FAIL Range 6 [paras[1].firstChild, 2, paras[1].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 assert_equals: getRangeAt(rangeCount - 1) must return the same object we added expected object "Äb̈c̈d" but got object "" -FAIL Range 6 [paras[1].firstChild, 2, paras[1].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 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 +PASS Range 6 [paras[1].firstChild, 2, paras[1].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 +FAIL Range 6 [paras[1].firstChild, 2, paras[1].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 assert_equals: getRangeAt(rangeCount - 1) must return the same object we added expected object "Äb̈c̈d" but got object "Äb̈c̈d" +FAIL Range 6 [paras[1].firstChild, 2, paras[1].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 assert_equals: After mutating the second added Range, startContainer of the Selection's last Range must match the added Range expected Text node "Äb̈c̈d̈ëf̈g̈ḧ +" but got Element node <p id="a">Äb̈c̈d̈ëf̈g̈ḧ +</p> FAIL Range 6 [paras[1].firstChild, 2, paras[1].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 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 6 [paras[1].firstChild, 2, paras[1].firstChild, 8] followed by Range 30 [testDiv, 2, paras[4], 1]: first addRange() must not throw exceptions or modify the range it's given PASS Range 6 [paras[1].firstChild, 2, paras[1].firstChild, 8] followed by Range 30 [testDiv, 2, paras[4], 1]: first addRange() must result in rangeCount being 1 @@ -2384,13 +2381,12 @@ PASS Range 6 [paras[1].firstChild, 2, paras[1].firstChild, 8] followed by Range 31 [testDiv, 1, paras[2].firstChild, 5]: modifying the Selection's last Range must modify the first added Range PASS Range 6 [paras[1].firstChild, 2, paras[1].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 6 [paras[1].firstChild, 2, paras[1].firstChild, 8] followed by Range 31 [testDiv, 1, paras[2].firstChild, 5]: second addRange() must result in rangeCount being 1 -PASS Range 6 [paras[1].firstChild, 2, paras[1].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 +FAIL Range 6 [paras[1].firstChild, 2, paras[1].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 assert_equals: startContainer of the Selection's last Range must match the added Range expected Element node <div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ +</p><p id="b" s... but got Text node "Äb̈c̈d̈ëf̈g̈ḧ +" FAIL Range 6 [paras[1].firstChild, 2, paras[1].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 assert_equals: getRangeAt(rangeCount - 1) must return the same object we added expected object "Ijklmnop -Qrstu" but got object "Ijklmnop -Qrstu" -FAIL Range 6 [paras[1].firstChild, 2, paras[1].firstChild, 8] followed by Range 31 [testDiv, 1, paras[2].firstChild, 5]: modifying the second added range must modify the Selection's last Range assert_equals: After mutating the second added Range, startContainer of the Selection's last Range must match the added Range expected Text node "Äb̈c̈d̈ëf̈g̈ḧ -" but got Element node <div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ -</p><p id="b" s... +Qrstu" but got object "" +FAIL Range 6 [paras[1].firstChild, 2, paras[1].firstChild, 8] followed by Range 31 [testDiv, 1, paras[2].firstChild, 5]: modifying the second added range must modify the Selection's last Range assert_equals: After mutating the second added Range, startOffset of the Selection's last Range must match the added Range expected 0 but got 6 FAIL Range 6 [paras[1].firstChild, 2, paras[1].firstChild, 8] followed by Range 31 [testDiv, 1, paras[2].firstChild, 5]: modifying the Selection's last Range must modify the second added Range assert_equals: After second addRange(), after mutating the Selection's last Range, startOffset of the Selection's last Range must match the added Range expected 0 but got 6 PASS Range 6 [paras[1].firstChild, 2, paras[1].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 PASS Range 6 [paras[1].firstChild, 2, paras[1].firstChild, 8] followed by Range 32 [document.documentElement, 1, document.body, 0]: first addRange() must result in rangeCount being 1 @@ -2825,9 +2821,9 @@ PASS Range 7 [paras[1].firstChild, 2, paras[1].firstChild, 9] followed by Range 2 [paras[0].firstChild, 2, paras[0].firstChild, 8]: modifying the Selection's last Range must modify the first added Range PASS Range 7 [paras[1].firstChild, 2, paras[1].firstChild, 9] 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 7 [paras[1].firstChild, 2, paras[1].firstChild, 9] followed by Range 2 [paras[0].firstChild, 2, paras[0].firstChild, 8]: second addRange() must result in rangeCount being 1 -FAIL Range 7 [paras[1].firstChild, 2, paras[1].firstChild, 9] followed by Range 2 [paras[0].firstChild, 2, paras[0].firstChild, 8]: second addRange() must result in the selection's last range having the specified endpoints assert_equals: startOffset of the Selection's last Range must match the added Range expected 2 but got 6 -FAIL Range 7 [paras[1].firstChild, 2, paras[1].firstChild, 9] followed by Range 2 [paras[0].firstChild, 2, paras[0].firstChild, 8]: second addRange() must result in the selection's last range being the same object we added assert_equals: getRangeAt(rangeCount - 1) must return the same object we added expected object "b̈c̈d̈" but got object "" -FAIL Range 7 [paras[1].firstChild, 2, paras[1].firstChild, 9] followed by Range 2 [paras[0].firstChild, 2, paras[0].firstChild, 8]: modifying the second added range must modify the Selection's last Range assert_equals: After mutating the second added Range, startOffset of the Selection's last Range must match the added Range expected 0 but got 6 +PASS Range 7 [paras[1].firstChild, 2, paras[1].firstChild, 9] followed by Range 2 [paras[0].firstChild, 2, paras[0].firstChild, 8]: second addRange() must result in the selection's last range having the specified endpoints +FAIL Range 7 [paras[1].firstChild, 2, paras[1].firstChild, 9] followed by Range 2 [paras[0].firstChild, 2, paras[0].firstChild, 8]: second addRange() must result in the selection's last range being the same object we added assert_equals: getRangeAt(rangeCount - 1) must return the same object we added expected object "b̈c̈d̈" but got object "b̈c̈d̈" +FAIL Range 7 [paras[1].firstChild, 2, paras[1].firstChild, 9] followed by Range 2 [paras[0].firstChild, 2, paras[0].firstChild, 8]: modifying the second added range must modify the Selection's last Range assert_equals: After mutating the second added Range, startOffset of the Selection's last Range must match the added Range expected 0 but got 2 FAIL Range 7 [paras[1].firstChild, 2, paras[1].firstChild, 9] followed by Range 2 [paras[0].firstChild, 2, paras[0].firstChild, 8]: modifying the Selection's last Range must modify the second added Range assert_equals: After second addRange(), after mutating the Selection's last Range, startOffset of the Selection's last Range must match the added Range expected 0 but got 6 PASS Range 7 [paras[1].firstChild, 2, paras[1].firstChild, 9] followed by Range 3 [paras[0].firstChild, 2, paras[0].firstChild, 9]: first addRange() must not throw exceptions or modify the range it's given PASS Range 7 [paras[1].firstChild, 2, paras[1].firstChild, 9] followed by Range 3 [paras[0].firstChild, 2, paras[0].firstChild, 9]: first addRange() must result in rangeCount being 1 @@ -2837,9 +2833,9 @@ PASS Range 7 [paras[1].firstChild, 2, paras[1].firstChild, 9] followed by Range 3 [paras[0].firstChild, 2, paras[0].firstChild, 9]: modifying the Selection's last Range must modify the first added Range PASS Range 7 [paras[1].firstChild, 2, paras[1].firstChild, 9] 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 7 [paras[1].firstChild, 2, paras[1].firstChild, 9] followed by Range 3 [paras[0].firstChild, 2, paras[0].firstChild, 9]: second addRange() must result in rangeCount being 1 -FAIL Range 7 [paras[1].firstChild, 2, paras[1].firstChild, 9] followed by Range 3 [paras[0].firstChild, 2, paras[0].firstChild, 9]: second addRange() must result in the selection's last range having the specified endpoints assert_equals: startOffset of the Selection's last Range must match the added Range expected 2 but got 6 -FAIL Range 7 [paras[1].firstChild, 2, paras[1].firstChild, 9] followed by Range 3 [paras[0].firstChild, 2, paras[0].firstChild, 9]: second addRange() must result in the selection's last range being the same object we added assert_equals: getRangeAt(rangeCount - 1) must return the same object we added expected object "b̈c̈d̈e" but got object "" -FAIL Range 7 [paras[1].firstChild, 2, paras[1].firstChild, 9] followed by Range 3 [paras[0].firstChild, 2, paras[0].firstChild, 9]: modifying the second added range must modify the Selection's last Range assert_equals: After mutating the second added Range, startOffset of the Selection's last Range must match the added Range expected 0 but got 6 +PASS Range 7 [paras[1].firstChild, 2, paras[1].firstChild, 9] followed by Range 3 [paras[0].firstChild, 2, paras[0].firstChild, 9]: second addRange() must result in the selection's last range having the specified endpoints +FAIL Range 7 [paras[1].firstChild, 2, paras[1].firstChild, 9] followed by Range 3 [paras[0].firstChild, 2, paras[0].firstChild, 9]: second addRange() must result in the selection's last range being the same object we added assert_equals: getRangeAt(rangeCount - 1) must return the same object we added expected object "b̈c̈d̈e" but got object "b̈c̈d̈e" +FAIL Range 7 [paras[1].firstChild, 2, paras[1].firstChild, 9] followed by Range 3 [paras[0].firstChild, 2, paras[0].firstChild, 9]: modifying the second added range must modify the Selection's last Range assert_equals: After mutating the second added Range, startOffset of the Selection's last Range must match the added Range expected 0 but got 2 FAIL Range 7 [paras[1].firstChild, 2, paras[1].firstChild, 9] followed by Range 3 [paras[0].firstChild, 2, paras[0].firstChild, 9]: modifying the Selection's last Range must modify the second added Range assert_equals: After second addRange(), after mutating the Selection's last Range, startOffset of the Selection's last Range must match the added Range expected 0 but got 6 PASS Range 7 [paras[1].firstChild, 2, paras[1].firstChild, 9] followed by Range 4 [paras[1].firstChild, 0, paras[1].firstChild, 0]: first addRange() must not throw exceptions or modify the range it's given PASS Range 7 [paras[1].firstChild, 2, paras[1].firstChild, 9] followed by Range 4 [paras[1].firstChild, 0, paras[1].firstChild, 0]: first addRange() must result in rangeCount being 1 @@ -2877,12 +2873,11 @@ PASS Range 7 [paras[1].firstChild, 2, paras[1].firstChild, 9] followed by Range 6 [paras[1].firstChild, 2, paras[1].firstChild, 8]: modifying the Selection's last Range must modify the first added Range PASS Range 7 [paras[1].firstChild, 2, paras[1].firstChild, 9] 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 7 [paras[1].firstChild, 2, paras[1].firstChild, 9] followed by Range 6 [paras[1].firstChild, 2, paras[1].firstChild, 8]: second addRange() must result in rangeCount being 1 -FAIL Range 7 [paras[1].firstChild, 2, paras[1].firstChild, 9] followed by Range 6 [paras[1].firstChild, 2, paras[1].firstChild, 8]: second addRange() must result in the selection's last range having the specified endpoints assert_equals: endOffset of the Selection's last Range must match the added Range expected 8 but got 9 -FAIL Range 7 [paras[1].firstChild, 2, paras[1].firstChild, 9] followed by Range 6 [paras[1].firstChild, 2, paras[1].firstChild, 8]: second addRange() must result in the selection's last range being the same object we added assert_equals: getRangeAt(rangeCount - 1) must return the same object we added expected object "klmnop" but got object "klmnop +FAIL Range 7 [paras[1].firstChild, 2, paras[1].firstChild, 9] followed by Range 6 [paras[1].firstChild, 2, paras[1].firstChild, 8]: second addRange() must result in the selection's last range having the specified endpoints assert_equals: startContainer of the Selection's last Range must match the added Range expected Text node "Ijklmnop +" but got Text node "Äb̈c̈d̈ëf̈g̈ḧ " -FAIL Range 7 [paras[1].firstChild, 2, paras[1].firstChild, 9] followed by Range 6 [paras[1].firstChild, 2, paras[1].firstChild, 8]: modifying the second added range must modify the Selection's last Range assert_equals: After mutating the second added Range, startContainer of the Selection's last Range must match the added Range expected Text node "Äb̈c̈d̈ëf̈g̈ḧ -" but got Text node "Ijklmnop -" +FAIL Range 7 [paras[1].firstChild, 2, paras[1].firstChild, 9] followed by Range 6 [paras[1].firstChild, 2, paras[1].firstChild, 8]: second addRange() must result in the selection's last range being the same object we added assert_equals: getRangeAt(rangeCount - 1) must return the same object we added expected object "klmnop" but got object "" +FAIL Range 7 [paras[1].firstChild, 2, paras[1].firstChild, 9] followed by Range 6 [paras[1].firstChild, 2, paras[1].firstChild, 8]: modifying the second added range must modify the Selection's last Range assert_equals: After mutating the second added Range, startOffset of the Selection's last Range must match the added Range expected 0 but got 6 FAIL Range 7 [paras[1].firstChild, 2, paras[1].firstChild, 9] followed by Range 6 [paras[1].firstChild, 2, paras[1].firstChild, 8]: modifying the Selection's last Range must modify the second added Range assert_equals: After second addRange(), after mutating the Selection's last Range, startOffset of the Selection's last Range must match the added Range expected 0 but got 6 PASS Range 7 [paras[1].firstChild, 2, paras[1].firstChild, 9] followed by Range 7 [paras[1].firstChild, 2, paras[1].firstChild, 9]: first addRange() must not throw exceptions or modify the range it's given PASS Range 7 [paras[1].firstChild, 2, paras[1].firstChild, 9] followed by Range 7 [paras[1].firstChild, 2, paras[1].firstChild, 9]: first addRange() must result in rangeCount being 1 @@ -2892,13 +2887,12 @@ PASS Range 7 [paras[1].firstChild, 2, paras[1].firstChild, 9] followed by Range 7 [paras[1].firstChild, 2, paras[1].firstChild, 9]: modifying the Selection's last Range must modify the first added Range PASS Range 7 [paras[1].firstChild, 2, paras[1].firstChild, 9] 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 7 [paras[1].firstChild, 2, paras[1].firstChild, 9] followed by Range 7 [paras[1].firstChild, 2, paras[1].firstChild, 9]: second addRange() must result in rangeCount being 1 -PASS Range 7 [paras[1].firstChild, 2, paras[1].firstChild, 9] followed by Range 7 [paras[1].firstChild, 2, paras[1].firstChild, 9]: second addRange() must result in the selection's last range having the specified endpoints +FAIL Range 7 [paras[1].firstChild, 2, paras[1].firstChild, 9] followed by Range 7 [paras[1].firstChild, 2, paras[1].firstChild, 9]: second addRange() must result in the selection's last range having the specified endpoints assert_equals: startContainer of the Selection's last Range must match the added Range expected Text node "Ijklmnop +" but got Text node "Äb̈c̈d̈ëf̈g̈ḧ +" FAIL Range 7 [paras[1].firstChild, 2, paras[1].firstChild, 9] followed by Range 7 [paras[1].firstChild, 2, paras[1].firstChild, 9]: second addRange() must result in the selection's last range being the same object we added assert_equals: getRangeAt(rangeCount - 1) must return the same object we added expected object "klmnop -" but got object "klmnop -" -FAIL Range 7 [paras[1].firstChild, 2, paras[1].firstChild, 9] followed by Range 7 [paras[1].firstChild, 2, paras[1].firstChild, 9]: modifying the second added range must modify the Selection's last Range assert_equals: After mutating the second added Range, startContainer of the Selection's last Range must match the added Range expected Text node "Äb̈c̈d̈ëf̈g̈ḧ -" but got Text node "Ijklmnop -" +" but got object "" +FAIL Range 7 [paras[1].firstChild, 2, paras[1].firstChild, 9] followed by Range 7 [paras[1].firstChild, 2, paras[1].firstChild, 9]: modifying the second added range must modify the Selection's last Range assert_equals: After mutating the second added Range, startOffset of the Selection's last Range must match the added Range expected 0 but got 6 FAIL Range 7 [paras[1].firstChild, 2, paras[1].firstChild, 9] followed by Range 7 [paras[1].firstChild, 2, paras[1].firstChild, 9]: modifying the Selection's last Range must modify the second added Range assert_equals: After second addRange(), after mutating the Selection's last Range, startOffset of the Selection's last Range must match the added Range expected 0 but got 6 PASS Range 7 [paras[1].firstChild, 2, paras[1].firstChild, 9] followed by Range 8 [detachedPara1.firstChild, 0, detachedPara1.firstChild, 0]: first addRange() must not throw exceptions or modify the range it's given PASS Range 7 [paras[1].firstChild, 2, paras[1].firstChild, 9] followed by Range 8 [detachedPara1.firstChild, 0, detachedPara1.firstChild, 0]: first addRange() must result in rangeCount being 1 @@ -3167,12 +3161,13 @@ PASS Range 7 [paras[1].firstChild, 2, paras[1].firstChild, 9] followed by Range 23 [paras[0], 0, paras[0], 1]: modifying the Selection's last Range must modify the first added Range PASS Range 7 [paras[1].firstChild, 2, paras[1].firstChild, 9] 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 7 [paras[1].firstChild, 2, paras[1].firstChild, 9] followed by Range 23 [paras[0], 0, paras[0], 1]: second addRange() must result in rangeCount being 1 -FAIL Range 7 [paras[1].firstChild, 2, paras[1].firstChild, 9] followed by Range 23 [paras[0], 0, paras[0], 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 id="a">Äb̈c̈d̈ëf̈g̈ḧ -</p> but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" +PASS Range 7 [paras[1].firstChild, 2, paras[1].firstChild, 9] followed by Range 23 [paras[0], 0, paras[0], 1]: second addRange() must result in the selection's last range having the specified endpoints FAIL Range 7 [paras[1].firstChild, 2, paras[1].firstChild, 9] followed by Range 23 [paras[0], 0, paras[0], 1]: second addRange() must result in the selection's last range being the same object we added assert_equals: getRangeAt(rangeCount - 1) must return the same object we added expected object "Äb̈c̈d̈ëf̈g̈ḧ -" but got object "" -FAIL Range 7 [paras[1].firstChild, 2, paras[1].firstChild, 9] followed by Range 23 [paras[0], 0, paras[0], 1]: modifying the second added range must modify the Selection's last Range assert_equals: After mutating the second added Range, startOffset of the Selection's last Range must match the added Range expected 0 but got 6 +" but got object "Äb̈c̈d̈ëf̈g̈ḧ +" +FAIL Range 7 [paras[1].firstChild, 2, paras[1].firstChild, 9] followed by Range 23 [paras[0], 0, paras[0], 1]: modifying the second added range must modify the Selection's last Range assert_equals: After mutating the second added Range, startContainer of the Selection's last Range must match the added Range expected Text node "Äb̈c̈d̈ëf̈g̈ḧ +" but got Element node <p id="a">Äb̈c̈d̈ëf̈g̈ḧ +</p> FAIL Range 7 [paras[1].firstChild, 2, paras[1].firstChild, 9] followed by Range 23 [paras[0], 0, paras[0], 1]: modifying the Selection's last Range must modify the second added Range assert_equals: After second addRange(), after mutating the Selection's last Range, startOffset of the Selection's last Range must match the added Range expected 0 but got 6 PASS Range 7 [paras[1].firstChild, 2, paras[1].firstChild, 9] followed by Range 24 [detachedPara1, 0, detachedPara1, 0]: first addRange() must not throw exceptions or modify the range it's given PASS Range 7 [paras[1].firstChild, 2, paras[1].firstChild, 9] followed by Range 24 [detachedPara1, 0, detachedPara1, 0]: first addRange() must result in rangeCount being 1 @@ -3208,10 +3203,13 @@ PASS Range 7 [paras[1].firstChild, 2, paras[1].firstChild, 9] followed by Range 26 [paras[0].firstChild, 0, paras[1].firstChild, 0]: modifying the Selection's last Range must modify the first added Range PASS Range 7 [paras[1].firstChild, 2, paras[1].firstChild, 9] 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 7 [paras[1].firstChild, 2, paras[1].firstChild, 9] followed by Range 26 [paras[0].firstChild, 0, paras[1].firstChild, 0]: second addRange() must result in rangeCount being 1 -FAIL Range 7 [paras[1].firstChild, 2, paras[1].firstChild, 9] followed by Range 26 [paras[0].firstChild, 0, paras[1].firstChild, 0]: second addRange() must result in the selection's last range having the specified endpoints assert_equals: startOffset of the Selection's last Range must match the added Range expected 0 but got 6 +PASS Range 7 [paras[1].firstChild, 2, paras[1].firstChild, 9] followed by Range 26 [paras[0].firstChild, 0, paras[1].firstChild, 0]: second addRange() must result in the selection's last range having the specified endpoints FAIL Range 7 [paras[1].firstChild, 2, paras[1].firstChild, 9] followed by Range 26 [paras[0].firstChild, 0, paras[1].firstChild, 0]: second addRange() must result in the selection's last range being the same object we added assert_equals: getRangeAt(rangeCount - 1) must return the same object we added expected object "Äb̈c̈d̈ëf̈g̈ḧ -" but got object "" -FAIL Range 7 [paras[1].firstChild, 2, paras[1].firstChild, 9] followed by Range 26 [paras[0].firstChild, 0, paras[1].firstChild, 0]: modifying the second added range must modify the Selection's last Range assert_equals: After mutating the second added Range, startOffset of the Selection's last Range must match the added Range expected 0 but got 6 +" but got object "Äb̈c̈d̈ëf̈g̈ḧ +" +FAIL Range 7 [paras[1].firstChild, 2, paras[1].firstChild, 9] followed by Range 26 [paras[0].firstChild, 0, paras[1].firstChild, 0]: modifying the second added range must modify the Selection's last Range assert_equals: After mutating the second added Range, endContainer of the Selection's last Range must match the added Range expected Text node "Äb̈c̈d̈ëf̈g̈ḧ +" but got Text node "Ijklmnop +" FAIL Range 7 [paras[1].firstChild, 2, paras[1].firstChild, 9] followed by Range 26 [paras[0].firstChild, 0, paras[1].firstChild, 0]: modifying the Selection's last Range must modify the second added Range assert_equals: After second addRange(), after mutating the Selection's last Range, startOffset of the Selection's last Range must match the added Range expected 0 but got 6 PASS Range 7 [paras[1].firstChild, 2, paras[1].firstChild, 9] followed by Range 27 [paras[0].firstChild, 0, paras[1].firstChild, 8]: first addRange() must not throw exceptions or modify the range it's given PASS Range 7 [paras[1].firstChild, 2, paras[1].firstChild, 9] followed by Range 27 [paras[0].firstChild, 0, paras[1].firstChild, 8]: first addRange() must result in rangeCount being 1 @@ -3221,11 +3219,10 @@ PASS Range 7 [paras[1].firstChild, 2, paras[1].firstChild, 9] followed by Range 27 [paras[0].firstChild, 0, paras[1].firstChild, 8]: modifying the Selection's last Range must modify the first added Range PASS Range 7 [paras[1].firstChild, 2, paras[1].firstChild, 9] 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 7 [paras[1].firstChild, 2, paras[1].firstChild, 9] followed by Range 27 [paras[0].firstChild, 0, paras[1].firstChild, 8]: second addRange() must result in rangeCount being 1 -FAIL Range 7 [paras[1].firstChild, 2, paras[1].firstChild, 9] followed by Range 27 [paras[0].firstChild, 0, paras[1].firstChild, 8]: second addRange() must result in the selection's last range having the specified endpoints assert_equals: endOffset of the Selection's last Range must match the added Range expected 8 but got 9 +PASS Range 7 [paras[1].firstChild, 2, paras[1].firstChild, 9] followed by Range 27 [paras[0].firstChild, 0, paras[1].firstChild, 8]: second addRange() must result in the selection's last range having the specified endpoints FAIL Range 7 [paras[1].firstChild, 2, paras[1].firstChild, 9] followed by Range 27 [paras[0].firstChild, 0, paras[1].firstChild, 8]: second addRange() must result in the selection's last range being the same object we added assert_equals: getRangeAt(rangeCount - 1) must return the same object we added expected object "Äb̈c̈d̈ëf̈g̈ḧ Ijklmnop" but got object "Äb̈c̈d̈ëf̈g̈ḧ -Ijklmnop -" +Ijklmnop" FAIL Range 7 [paras[1].firstChild, 2, paras[1].firstChild, 9] followed by Range 27 [paras[0].firstChild, 0, paras[1].firstChild, 8]: modifying the second added range must modify the Selection's last Range assert_equals: After mutating the second added Range, endContainer of the Selection's last Range must match the added Range expected Text node "Äb̈c̈d̈ëf̈g̈ḧ " but got Text node "Ijklmnop " @@ -3254,11 +3251,11 @@ PASS Range 7 [paras[1].firstChild, 2, paras[1].firstChild, 9] followed by Range 29 [paras[0], 0, paras[0].firstChild, 7]: modifying the Selection's last Range must modify the first added Range PASS Range 7 [paras[1].firstChild, 2, paras[1].firstChild, 9] 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 7 [paras[1].firstChild, 2, paras[1].firstChild, 9] followed by Range 29 [paras[0], 0, paras[0].firstChild, 7]: second addRange() must result in rangeCount being 1 -FAIL Range 7 [paras[1].firstChild, 2, paras[1].firstChild, 9] followed by Range 29 [paras[0], 0, paras[0].firstChild, 7]: second addRange() must result in the selection's last range having the specified endpoints assert_equals: startContainer of the Selection's last Range must match the added Range expected Element node <p id="a">Äb̈c̈d̈ëf̈g̈ḧ -</p> but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -FAIL Range 7 [paras[1].firstChild, 2, paras[1].firstChild, 9] followed by Range 29 [paras[0], 0, paras[0].firstChild, 7]: second addRange() must result in the selection's last range being the same object we added assert_equals: getRangeAt(rangeCount - 1) must return the same object we added expected object "Äb̈c̈d" but got object "" -FAIL Range 7 [paras[1].firstChild, 2, paras[1].firstChild, 9] followed by Range 29 [paras[0], 0, paras[0].firstChild, 7]: modifying the second added range must modify the Selection's last Range assert_equals: After mutating the second added Range, startOffset of the Selection's last Range must match the added Range expected 0 but got 6 +PASS Range 7 [paras[1].firstChild, 2, paras[1].firstChild, 9] followed by Range 29 [paras[0], 0, paras[0].firstChild, 7]: second addRange() must result in the selection's last range having the specified endpoints +FAIL Range 7 [paras[1].firstChild, 2, paras[1].firstChild, 9] followed by Range 29 [paras[0], 0, paras[0].firstChild, 7]: second addRange() must result in the selection's last range being the same object we added assert_equals: getRangeAt(rangeCount - 1) must return the same object we added expected object "Äb̈c̈d" but got object "Äb̈c̈d" +FAIL Range 7 [paras[1].firstChild, 2, paras[1].firstChild, 9] followed by Range 29 [paras[0], 0, paras[0].firstChild, 7]: modifying the second added range must modify the Selection's last Range assert_equals: After mutating the second added Range, startContainer of the Selection's last Range must match the added Range expected Text node "Äb̈c̈d̈ëf̈g̈ḧ +" but got Element node <p id="a">Äb̈c̈d̈ëf̈g̈ḧ +</p> FAIL Range 7 [paras[1].firstChild, 2, paras[1].firstChild, 9] followed by Range 29 [paras[0], 0, paras[0].firstChild, 7]: modifying the Selection's last Range must modify the second added Range assert_equals: After second addRange(), after mutating the Selection's last Range, startOffset of the Selection's last Range must match the added Range expected 0 but got 6 PASS Range 7 [paras[1].firstChild, 2, paras[1].firstChild, 9] followed by Range 30 [testDiv, 2, paras[4], 1]: first addRange() must not throw exceptions or modify the range it's given PASS Range 7 [paras[1].firstChild, 2, paras[1].firstChild, 9] followed by Range 30 [testDiv, 2, paras[4], 1]: first addRange() must result in rangeCount being 1 @@ -3282,13 +3279,12 @@ PASS Range 7 [paras[1].firstChild, 2, paras[1].firstChild, 9] followed by Range 31 [testDiv, 1, paras[2].firstChild, 5]: modifying the Selection's last Range must modify the first added Range PASS Range 7 [paras[1].firstChild, 2, paras[1].firstChild, 9] 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 7 [paras[1].firstChild, 2, paras[1].firstChild, 9] followed by Range 31 [testDiv, 1, paras[2].firstChild, 5]: second addRange() must result in rangeCount being 1 -PASS Range 7 [paras[1].firstChild, 2, paras[1].firstChild, 9] followed by Range 31 [testDiv, 1, paras[2].firstChild, 5]: second addRange() must result in the selection's last range having the specified endpoints +FAIL Range 7 [paras[1].firstChild, 2, paras[1].firstChild, 9] followed by Range 31 [testDiv, 1, paras[2].firstChild, 5]: second addRange() must result in the selection's last range having the specified endpoints assert_equals: startContainer of the Selection's last Range must match the added Range expected Element node <div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ +</p><p id="b" s... but got Text node "Äb̈c̈d̈ëf̈g̈ḧ +" FAIL Range 7 [paras[1].firstChild, 2, paras[1].firstChild, 9] followed by Range 31 [testDiv, 1, paras[2].firstChild, 5]: second addRange() must result in the selection's last range being the same object we added assert_equals: getRangeAt(rangeCount - 1) must return the same object we added expected object "Ijklmnop -Qrstu" but got object "Ijklmnop -Qrstu" -FAIL Range 7 [paras[1].firstChild, 2, paras[1].firstChild, 9] followed by Range 31 [testDiv, 1, paras[2].firstChild, 5]: modifying the second added range must modify the Selection's last Range assert_equals: After mutating the second added Range, startContainer of the Selection's last Range must match the added Range expected Text node "Äb̈c̈d̈ëf̈g̈ḧ -" but got Element node <div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ -</p><p id="b" s... +Qrstu" but got object "" +FAIL Range 7 [paras[1].firstChild, 2, paras[1].firstChild, 9] followed by Range 31 [testDiv, 1, paras[2].firstChild, 5]: modifying the second added range must modify the Selection's last Range assert_equals: After mutating the second added Range, startOffset of the Selection's last Range must match the added Range expected 0 but got 6 FAIL Range 7 [paras[1].firstChild, 2, paras[1].firstChild, 9] followed by Range 31 [testDiv, 1, paras[2].firstChild, 5]: modifying the Selection's last Range must modify the second added Range assert_equals: After second addRange(), after mutating the Selection's last Range, startOffset of the Selection's last Range must match the added Range expected 0 but got 6 PASS Range 7 [paras[1].firstChild, 2, paras[1].firstChild, 9] followed by Range 32 [document.documentElement, 1, document.body, 0]: first addRange() must not throw exceptions or modify the range it's given PASS Range 7 [paras[1].firstChild, 2, paras[1].firstChild, 9] followed by Range 32 [document.documentElement, 1, document.body, 0]: first addRange() must result in rangeCount being 1
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 c72fa8a0..8fe4645 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
@@ -22,6 +22,28 @@ 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. @@ -38,20 +60,6 @@ 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: 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: 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: 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. @@ -1481,9 +1489,9 @@ PASS Range 14 [document.documentElement, 0, document.documentElement, 1] followed by Range 2 [paras[0].firstChild, 2, paras[0].firstChild, 8]: modifying the Selection's last Range must modify the first added Range PASS Range 14 [document.documentElement, 0, document.documentElement, 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 14 [document.documentElement, 0, document.documentElement, 1] followed by Range 2 [paras[0].firstChild, 2, paras[0].firstChild, 8]: second addRange() must result in rangeCount being 1 -FAIL Range 14 [document.documentElement, 0, document.documentElement, 1] followed by Range 2 [paras[0].firstChild, 2, paras[0].firstChild, 8]: second addRange() must result in the selection's last range having the specified endpoints assert_equals: startOffset of the Selection's last Range must match the added Range expected 2 but got 6 -FAIL Range 14 [document.documentElement, 0, document.documentElement, 1] followed by Range 2 [paras[0].firstChild, 2, paras[0].firstChild, 8]: second addRange() must result in the selection's last range being the same object we added assert_equals: getRangeAt(rangeCount - 1) must return the same object we added expected object "b̈c̈d̈" but got object "" -FAIL Range 14 [document.documentElement, 0, document.documentElement, 1] followed by Range 2 [paras[0].firstChild, 2, paras[0].firstChild, 8]: modifying the second added range must modify the Selection's last Range assert_equals: After mutating the second added Range, startOffset of the Selection's last Range must match the added Range expected 0 but got 6 +PASS Range 14 [document.documentElement, 0, document.documentElement, 1] followed by Range 2 [paras[0].firstChild, 2, paras[0].firstChild, 8]: second addRange() must result in the selection's last range having the specified endpoints +FAIL Range 14 [document.documentElement, 0, document.documentElement, 1] followed by Range 2 [paras[0].firstChild, 2, paras[0].firstChild, 8]: second addRange() must result in the selection's last range being the same object we added assert_equals: getRangeAt(rangeCount - 1) must return the same object we added expected object "b̈c̈d̈" but got object "b̈c̈d̈" +FAIL Range 14 [document.documentElement, 0, document.documentElement, 1] followed by Range 2 [paras[0].firstChild, 2, paras[0].firstChild, 8]: modifying the second added range must modify the Selection's last Range assert_equals: After mutating the second added Range, startOffset of the Selection's last Range must match the added Range expected 0 but got 2 FAIL Range 14 [document.documentElement, 0, document.documentElement, 1] followed by Range 2 [paras[0].firstChild, 2, paras[0].firstChild, 8]: modifying the Selection's last Range must modify the second added Range assert_equals: After second addRange(), after mutating the Selection's last Range, startOffset of the Selection's last Range must match the added Range expected 0 but got 6 PASS Range 14 [document.documentElement, 0, document.documentElement, 1] followed by Range 3 [paras[0].firstChild, 2, paras[0].firstChild, 9]: first addRange() must not throw exceptions or modify the range it's given PASS Range 14 [document.documentElement, 0, document.documentElement, 1] followed by Range 3 [paras[0].firstChild, 2, paras[0].firstChild, 9]: first addRange() must result in rangeCount being 1 @@ -1493,9 +1501,9 @@ PASS Range 14 [document.documentElement, 0, document.documentElement, 1] followed by Range 3 [paras[0].firstChild, 2, paras[0].firstChild, 9]: modifying the Selection's last Range must modify the first added Range PASS Range 14 [document.documentElement, 0, document.documentElement, 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 14 [document.documentElement, 0, document.documentElement, 1] followed by Range 3 [paras[0].firstChild, 2, paras[0].firstChild, 9]: second addRange() must result in rangeCount being 1 -FAIL Range 14 [document.documentElement, 0, document.documentElement, 1] followed by Range 3 [paras[0].firstChild, 2, paras[0].firstChild, 9]: second addRange() must result in the selection's last range having the specified endpoints assert_equals: startOffset of the Selection's last Range must match the added Range expected 2 but got 6 -FAIL Range 14 [document.documentElement, 0, document.documentElement, 1] followed by Range 3 [paras[0].firstChild, 2, paras[0].firstChild, 9]: second addRange() must result in the selection's last range being the same object we added assert_equals: getRangeAt(rangeCount - 1) must return the same object we added expected object "b̈c̈d̈e" but got object "" -FAIL Range 14 [document.documentElement, 0, document.documentElement, 1] followed by Range 3 [paras[0].firstChild, 2, paras[0].firstChild, 9]: modifying the second added range must modify the Selection's last Range assert_equals: After mutating the second added Range, startOffset of the Selection's last Range must match the added Range expected 0 but got 6 +PASS Range 14 [document.documentElement, 0, document.documentElement, 1] followed by Range 3 [paras[0].firstChild, 2, paras[0].firstChild, 9]: second addRange() must result in the selection's last range having the specified endpoints +FAIL Range 14 [document.documentElement, 0, document.documentElement, 1] followed by Range 3 [paras[0].firstChild, 2, paras[0].firstChild, 9]: second addRange() must result in the selection's last range being the same object we added assert_equals: getRangeAt(rangeCount - 1) must return the same object we added expected object "b̈c̈d̈e" but got object "b̈c̈d̈e" +FAIL Range 14 [document.documentElement, 0, document.documentElement, 1] followed by Range 3 [paras[0].firstChild, 2, paras[0].firstChild, 9]: modifying the second added range must modify the Selection's last Range assert_equals: After mutating the second added Range, startOffset of the Selection's last Range must match the added Range expected 0 but got 2 FAIL Range 14 [document.documentElement, 0, document.documentElement, 1] followed by Range 3 [paras[0].firstChild, 2, paras[0].firstChild, 9]: modifying the Selection's last Range must modify the second added Range assert_equals: After second addRange(), after mutating the Selection's last Range, startOffset of the Selection's last Range must match the added Range expected 0 but got 6 PASS Range 14 [document.documentElement, 0, document.documentElement, 1] followed by Range 4 [paras[1].firstChild, 0, paras[1].firstChild, 0]: first addRange() must not throw exceptions or modify the range it's given PASS Range 14 [document.documentElement, 0, document.documentElement, 1] followed by Range 4 [paras[1].firstChild, 0, paras[1].firstChild, 0]: first addRange() must result in rangeCount being 1 @@ -1640,15 +1648,13 @@ PASS Range 14 [document.documentElement, 0, document.documentElement, 1] followed by Range 14 [document.documentElement, 0, document.documentElement, 1]: modifying the Selection's last Range must modify the first added Range PASS Range 14 [document.documentElement, 0, document.documentElement, 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 14 [document.documentElement, 0, document.documentElement, 1] followed by Range 14 [document.documentElement, 0, document.documentElement, 1]: second 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]: second addRange() must result in the selection's last range having the specified endpoints +FAIL Range 14 [document.documentElement, 0, document.documentElement, 1] followed by Range 14 [document.documentElement, 0, document.documentElement, 1]: second addRange() must result in the selection's last range having the specified endpoints assert_equals: startContainer of the Selection's last Range must match the added Range expected Element node <html><head><title>Selection.addRange() tests</title> +<me... but got Text node "Äb̈c̈d̈ëf̈g̈ḧ +" FAIL Range 14 [document.documentElement, 0, document.documentElement, 1] followed by Range 14 [document.documentElement, 0, document.documentElement, 1]: second addRange() must result in the selection's last range being the same object we added assert_equals: getRangeAt(rangeCount - 1) must return the same object we added expected object "Selection.addRange() tests -" but got object "Selection.addRange() tests - -" -FAIL Range 14 [document.documentElement, 0, document.documentElement, 1] followed by Range 14 [document.documentElement, 0, document.documentElement, 1]: modifying the second added range must modify the Selection's last Range assert_equals: After mutating the second added Range, startContainer of the Selection's last Range must match the added Range expected Text node "Äb̈c̈d̈ëf̈g̈ḧ -" but got Element node <html><head><title>Selection.addRange() tests</title> -<me... +" but got object "" +FAIL Range 14 [document.documentElement, 0, document.documentElement, 1] followed by Range 14 [document.documentElement, 0, document.documentElement, 1]: modifying the second added range must modify the Selection's last Range assert_equals: After mutating the second added Range, startOffset of the Selection's last Range must match the added Range expected 0 but got 6 FAIL Range 14 [document.documentElement, 0, document.documentElement, 1] followed by Range 14 [document.documentElement, 0, document.documentElement, 1]: modifying the Selection's last Range must modify the second added Range assert_equals: After second addRange(), after mutating the Selection's last Range, startOffset of the Selection's last Range must match the added Range expected 0 but got 6 PASS Range 14 [document.documentElement, 0, document.documentElement, 1] followed by Range 15 [document.documentElement, 0, document.documentElement, 2]: first addRange() must not throw exceptions or modify the range it's given PASS Range 14 [document.documentElement, 0, document.documentElement, 1] followed by Range 15 [document.documentElement, 0, document.documentElement, 2]: first addRange() must result in rangeCount being 1 @@ -1700,7 +1706,7 @@ PASS Range 14 [document.documentElement, 0, document.documentElement, 1] followed by Range 16 [document.documentElement, 1, document.documentElement, 2]: modifying the Selection's last Range must modify the first added Range PASS Range 14 [document.documentElement, 0, document.documentElement, 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 14 [document.documentElement, 0, document.documentElement, 1] followed by Range 16 [document.documentElement, 1, document.documentElement, 2]: second addRange() must result in rangeCount being 1 -FAIL Range 14 [document.documentElement, 0, document.documentElement, 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 assert_equals: startOffset of the Selection's last Range must match the added Range expected 1 but got 0 +PASS Range 14 [document.documentElement, 0, document.documentElement, 1] followed by Range 16 [document.documentElement, 1, document.documentElement, 2]: second addRange() must result in the selection's last range having the specified endpoints FAIL Range 14 [document.documentElement, 0, document.documentElement, 1] followed by Range 16 [document.documentElement, 1, document.documentElement, 2]: second addRange() must result in the selection's last range being the same object we added assert_equals: getRangeAt(rangeCount - 1) must return the same object we added expected object "Äb̈c̈d̈ëf̈g̈ḧ Ijklmnop QrstuvwxYzabcdefGhijklmn @@ -1713,9 +1719,7 @@ testAddRangeSubSet(12, 16); testDiv.style.display = "none"; -" but got object "Selection.addRange() tests - -Äb̈c̈d̈ëf̈g̈ḧ +" but got object "Äb̈c̈d̈ëf̈g̈ḧ Ijklmnop QrstuvwxYzabcdefGhijklmn @@ -1741,14 +1745,10 @@ PASS Range 14 [document.documentElement, 0, document.documentElement, 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 14 [document.documentElement, 0, document.documentElement, 1] followed by Range 17 [document.head, 1, document.head, 1]: second addRange() must result in rangeCount being 1 FAIL Range 14 [document.documentElement, 0, document.documentElement, 1] followed by Range 17 [document.head, 1, document.head, 1]: second addRange() must result in the selection's last range having the specified endpoints assert_equals: startContainer of the Selection's last Range must match the added Range expected Element node <head><title>Selection.addRange() tests</title> -<meta nam... but got Element node <html><head><title>Selection.addRange() tests</title> -<me... -FAIL Range 14 [document.documentElement, 0, document.documentElement, 1] followed by Range 17 [document.head, 1, document.head, 1]: second addRange() must result in the selection's last range being the same object we added assert_equals: getRangeAt(rangeCount - 1) must return the same object we added expected object "" but got object "Selection.addRange() tests - +<meta nam... but got Text node "Äb̈c̈d̈ëf̈g̈ḧ " -FAIL Range 14 [document.documentElement, 0, document.documentElement, 1] followed by Range 17 [document.head, 1, document.head, 1]: modifying the second added range must modify the Selection's last Range assert_equals: After mutating the second added Range, startContainer of the Selection's last Range must match the added Range expected Text node "Äb̈c̈d̈ëf̈g̈ḧ -" but got Element node <html><head><title>Selection.addRange() tests</title> -<me... +FAIL Range 14 [document.documentElement, 0, document.documentElement, 1] followed by Range 17 [document.head, 1, document.head, 1]: second addRange() must result in the selection's last range being the same object we added assert_equals: getRangeAt(rangeCount - 1) must return the same object we added expected object "" but got object "" +FAIL Range 14 [document.documentElement, 0, document.documentElement, 1] followed by Range 17 [document.head, 1, document.head, 1]: modifying the second added range must modify the Selection's last Range assert_equals: After mutating the second added Range, startOffset of the Selection's last Range must match the added Range expected 0 but got 6 FAIL Range 14 [document.documentElement, 0, document.documentElement, 1] followed by Range 17 [document.head, 1, document.head, 1]: modifying the Selection's last Range must modify the second added Range assert_equals: After second addRange(), after mutating the Selection's last Range, startOffset of the Selection's last Range must match the added Range expected 0 but got 6 PASS Range 14 [document.documentElement, 0, document.documentElement, 1] followed by Range 18 [document.body, 0, document.body, 1]: first addRange() must not throw exceptions or modify the range it's given PASS Range 14 [document.documentElement, 0, document.documentElement, 1] followed by Range 18 [document.body, 0, document.body, 1]: first addRange() must result in rangeCount being 1 @@ -1758,13 +1758,15 @@ PASS Range 14 [document.documentElement, 0, document.documentElement, 1] followed by Range 18 [document.body, 0, document.body, 1]: modifying the Selection's last Range must modify the first added Range PASS Range 14 [document.documentElement, 0, document.documentElement, 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 14 [document.documentElement, 0, document.documentElement, 1] followed by Range 18 [document.body, 0, document.body, 1]: second addRange() must result in rangeCount being 1 -FAIL Range 14 [document.documentElement, 0, document.documentElement, 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 assert_equals: startContainer of the Selection's last Range must match the added Range expected Element node <body><div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ -</p><p id... but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" +PASS Range 14 [document.documentElement, 0, document.documentElement, 1] followed by Range 18 [document.body, 0, document.body, 1]: second addRange() must result in the selection's last range having the specified endpoints FAIL Range 14 [document.documentElement, 0, document.documentElement, 1] followed by Range 18 [document.body, 0, document.body, 1]: second addRange() must result in the selection's last range being the same object we added assert_equals: getRangeAt(rangeCount - 1) must return the same object we added expected object "Äb̈c̈d̈ëf̈g̈ḧ Ijklmnop -QrstuvwxYzabcdefGhijklmn" but got object "" -FAIL Range 14 [document.documentElement, 0, document.documentElement, 1] followed by Range 18 [document.body, 0, document.body, 1]: modifying the second added range must modify the Selection's last Range assert_equals: After mutating the second added Range, startOffset of the Selection's last Range must match the added Range expected 0 but got 6 +QrstuvwxYzabcdefGhijklmn" but got object "Äb̈c̈d̈ëf̈g̈ḧ +Ijklmnop +QrstuvwxYzabcdefGhijklmn" +FAIL Range 14 [document.documentElement, 0, document.documentElement, 1] followed by Range 18 [document.body, 0, document.body, 1]: modifying the second added range must modify the Selection's last Range assert_equals: After mutating the second added Range, startContainer of the Selection's last Range must match the added Range expected Text node "Äb̈c̈d̈ëf̈g̈ḧ +" but got Element node <body><div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ +</p><p id... FAIL Range 14 [document.documentElement, 0, document.documentElement, 1] followed by Range 18 [document.body, 0, document.body, 1]: modifying the Selection's last Range must modify the second added Range assert_equals: After second addRange(), after mutating the Selection's last Range, startOffset of the Selection's last Range must match the added Range expected 0 but got 6 PASS Range 14 [document.documentElement, 0, document.documentElement, 1] followed by Range 19 [foreignDoc.documentElement, 0, foreignDoc.documentElement, 1]: first addRange() must not throw exceptions or modify the range it's given PASS Range 14 [document.documentElement, 0, document.documentElement, 1] followed by Range 19 [foreignDoc.documentElement, 0, foreignDoc.documentElement, 1]: first addRange() must result in rangeCount being 1 @@ -1827,12 +1829,13 @@ PASS Range 14 [document.documentElement, 0, document.documentElement, 1] followed by Range 23 [paras[0], 0, paras[0], 1]: modifying the Selection's last Range must modify the first added Range PASS Range 14 [document.documentElement, 0, document.documentElement, 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 14 [document.documentElement, 0, document.documentElement, 1] followed by Range 23 [paras[0], 0, paras[0], 1]: second addRange() must result in rangeCount being 1 -FAIL Range 14 [document.documentElement, 0, document.documentElement, 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 assert_equals: startContainer of the Selection's last Range must match the added Range expected Element node <p id="a">Äb̈c̈d̈ëf̈g̈ḧ -</p> but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" +PASS Range 14 [document.documentElement, 0, document.documentElement, 1] followed by Range 23 [paras[0], 0, paras[0], 1]: second addRange() must result in the selection's last range having the specified endpoints FAIL Range 14 [document.documentElement, 0, document.documentElement, 1] followed by Range 23 [paras[0], 0, paras[0], 1]: second addRange() must result in the selection's last range being the same object we added assert_equals: getRangeAt(rangeCount - 1) must return the same object we added expected object "Äb̈c̈d̈ëf̈g̈ḧ -" but got object "" -FAIL Range 14 [document.documentElement, 0, document.documentElement, 1] followed by Range 23 [paras[0], 0, paras[0], 1]: modifying the second added range must modify the Selection's last Range assert_equals: After mutating the second added Range, startOffset of the Selection's last Range must match the added Range expected 0 but got 6 +" but got object "Äb̈c̈d̈ëf̈g̈ḧ +" +FAIL Range 14 [document.documentElement, 0, document.documentElement, 1] followed by Range 23 [paras[0], 0, paras[0], 1]: modifying the second added range must modify the Selection's last Range assert_equals: After mutating the second added Range, startContainer of the Selection's last Range must match the added Range expected Text node "Äb̈c̈d̈ëf̈g̈ḧ +" but got Element node <p id="a">Äb̈c̈d̈ëf̈g̈ḧ +</p> FAIL Range 14 [document.documentElement, 0, document.documentElement, 1] followed by Range 23 [paras[0], 0, paras[0], 1]: modifying the Selection's last Range must modify the second added Range assert_equals: After second addRange(), after mutating the Selection's last Range, startOffset of the Selection's last Range must match the added Range expected 0 but got 6 PASS Range 14 [document.documentElement, 0, document.documentElement, 1] followed by Range 24 [detachedPara1, 0, detachedPara1, 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 24 [detachedPara1, 0, detachedPara1, 0]: first addRange() must result in rangeCount being 1 @@ -1868,10 +1871,13 @@ PASS Range 14 [document.documentElement, 0, document.documentElement, 1] followed by Range 26 [paras[0].firstChild, 0, paras[1].firstChild, 0]: modifying the Selection's last Range must modify the first added Range PASS Range 14 [document.documentElement, 0, document.documentElement, 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 14 [document.documentElement, 0, document.documentElement, 1] followed by Range 26 [paras[0].firstChild, 0, paras[1].firstChild, 0]: second addRange() must result in rangeCount being 1 -FAIL Range 14 [document.documentElement, 0, document.documentElement, 1] followed by Range 26 [paras[0].firstChild, 0, paras[1].firstChild, 0]: second addRange() must result in the selection's last range having the specified endpoints assert_equals: 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 26 [paras[0].firstChild, 0, paras[1].firstChild, 0]: second addRange() must result in the selection's last range having the specified endpoints FAIL Range 14 [document.documentElement, 0, document.documentElement, 1] followed by Range 26 [paras[0].firstChild, 0, paras[1].firstChild, 0]: second addRange() must result in the selection's last range being the same object we added assert_equals: getRangeAt(rangeCount - 1) must return the same object we added expected object "Äb̈c̈d̈ëf̈g̈ḧ -" but got object "" -FAIL Range 14 [document.documentElement, 0, document.documentElement, 1] followed by Range 26 [paras[0].firstChild, 0, paras[1].firstChild, 0]: modifying the second added range must modify the Selection's last Range assert_equals: After mutating the second added Range, startOffset of the Selection's last Range must match the added Range expected 0 but got 6 +" but got object "Äb̈c̈d̈ëf̈g̈ḧ +" +FAIL Range 14 [document.documentElement, 0, document.documentElement, 1] followed by Range 26 [paras[0].firstChild, 0, paras[1].firstChild, 0]: modifying the second added range must modify the Selection's last Range assert_equals: After mutating the second added Range, endContainer of the Selection's last Range must match the added Range expected Text node "Äb̈c̈d̈ëf̈g̈ḧ +" but got Text node "Ijklmnop +" FAIL Range 14 [document.documentElement, 0, document.documentElement, 1] followed by Range 26 [paras[0].firstChild, 0, paras[1].firstChild, 0]: modifying the Selection's last Range must modify the second added Range assert_equals: After second addRange(), after mutating the Selection's last Range, startOffset of the Selection's last Range must match the added Range expected 0 but got 6 PASS Range 14 [document.documentElement, 0, document.documentElement, 1] followed by Range 27 [paras[0].firstChild, 0, paras[1].firstChild, 8]: first addRange() must not throw exceptions or modify the range it's given PASS Range 14 [document.documentElement, 0, document.documentElement, 1] followed by Range 27 [paras[0].firstChild, 0, paras[1].firstChild, 8]: first addRange() must result in rangeCount being 1 @@ -1881,10 +1887,13 @@ PASS Range 14 [document.documentElement, 0, document.documentElement, 1] followed by Range 27 [paras[0].firstChild, 0, paras[1].firstChild, 8]: modifying the Selection's last Range must modify the first added Range PASS Range 14 [document.documentElement, 0, document.documentElement, 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 14 [document.documentElement, 0, document.documentElement, 1] followed by Range 27 [paras[0].firstChild, 0, paras[1].firstChild, 8]: second addRange() must result in rangeCount being 1 -FAIL Range 14 [document.documentElement, 0, document.documentElement, 1] followed by Range 27 [paras[0].firstChild, 0, paras[1].firstChild, 8]: second addRange() must result in the selection's last range having the specified endpoints assert_equals: 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 27 [paras[0].firstChild, 0, paras[1].firstChild, 8]: second addRange() must result in the selection's last range having the specified endpoints FAIL Range 14 [document.documentElement, 0, document.documentElement, 1] followed by Range 27 [paras[0].firstChild, 0, paras[1].firstChild, 8]: second addRange() must result in the selection's last range being the same object we added assert_equals: getRangeAt(rangeCount - 1) must return the same object we added expected object "Äb̈c̈d̈ëf̈g̈ḧ -Ijklmnop" but got object "" -FAIL Range 14 [document.documentElement, 0, document.documentElement, 1] followed by Range 27 [paras[0].firstChild, 0, paras[1].firstChild, 8]: modifying the second added range must modify the Selection's last Range assert_equals: After mutating the second added Range, startOffset of the Selection's last Range must match the added Range expected 0 but got 6 +Ijklmnop" but got object "Äb̈c̈d̈ëf̈g̈ḧ +Ijklmnop" +FAIL Range 14 [document.documentElement, 0, document.documentElement, 1] followed by Range 27 [paras[0].firstChild, 0, paras[1].firstChild, 8]: modifying the second added range must modify the Selection's last Range assert_equals: After mutating the second added Range, endContainer of the Selection's last Range must match the added Range expected Text node "Äb̈c̈d̈ëf̈g̈ḧ +" but got Text node "Ijklmnop +" FAIL Range 14 [document.documentElement, 0, document.documentElement, 1] followed by Range 27 [paras[0].firstChild, 0, paras[1].firstChild, 8]: modifying the Selection's last Range must modify the second added Range assert_equals: After second addRange(), after mutating the Selection's last Range, startOffset of the Selection's last Range must match the added Range expected 0 but got 6 PASS Range 14 [document.documentElement, 0, document.documentElement, 1] followed by Range 28 [paras[0].firstChild, 3, paras[3], 1]: first addRange() must not throw exceptions or modify the range it's given PASS Range 14 [document.documentElement, 0, document.documentElement, 1] followed by Range 28 [paras[0].firstChild, 3, paras[3], 1]: first addRange() must result in rangeCount being 1 @@ -1894,11 +1903,13 @@ PASS Range 14 [document.documentElement, 0, document.documentElement, 1] followed by Range 28 [paras[0].firstChild, 3, paras[3], 1]: modifying the Selection's last Range must modify the first added Range PASS Range 14 [document.documentElement, 0, document.documentElement, 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 14 [document.documentElement, 0, document.documentElement, 1] followed by Range 28 [paras[0].firstChild, 3, paras[3], 1]: second addRange() must result in rangeCount being 1 -FAIL Range 14 [document.documentElement, 0, document.documentElement, 1] followed by Range 28 [paras[0].firstChild, 3, paras[3], 1]: second addRange() must result in the selection's last range having the specified endpoints assert_equals: startOffset of the Selection's last Range must match the added Range expected 3 but got 6 +PASS Range 14 [document.documentElement, 0, document.documentElement, 1] followed by Range 28 [paras[0].firstChild, 3, paras[3], 1]: second addRange() must result in the selection's last range having the specified endpoints FAIL Range 14 [document.documentElement, 0, document.documentElement, 1] followed by Range 28 [paras[0].firstChild, 3, paras[3], 1]: second addRange() must result in the selection's last range being the same object we added assert_equals: getRangeAt(rangeCount - 1) must return the same object we added expected object "̈c̈d̈ëf̈g̈ḧ Ijklmnop -QrstuvwxYzabcdef" but got object "" -FAIL Range 14 [document.documentElement, 0, document.documentElement, 1] followed by Range 28 [paras[0].firstChild, 3, paras[3], 1]: modifying the second added range must modify the Selection's last Range assert_equals: After mutating the second added Range, startOffset of the Selection's last Range must match the added Range expected 0 but got 6 +QrstuvwxYzabcdef" but got object "̈c̈d̈ëf̈g̈ḧ +Ijklmnop +QrstuvwxYzabcdef" +FAIL Range 14 [document.documentElement, 0, document.documentElement, 1] followed by Range 28 [paras[0].firstChild, 3, paras[3], 1]: modifying the second added range must modify the Selection's last Range assert_equals: After mutating the second added Range, startOffset of the Selection's last Range must match the added Range expected 0 but got 3 FAIL Range 14 [document.documentElement, 0, document.documentElement, 1] followed by Range 28 [paras[0].firstChild, 3, paras[3], 1]: modifying the Selection's last Range must modify the second added Range assert_equals: After second addRange(), after mutating the Selection's last Range, startOffset of the Selection's last Range must match the added Range expected 0 but got 6 PASS Range 14 [document.documentElement, 0, document.documentElement, 1] followed by Range 29 [paras[0], 0, paras[0].firstChild, 7]: first addRange() must not throw exceptions or modify the range it's given PASS Range 14 [document.documentElement, 0, document.documentElement, 1] followed by Range 29 [paras[0], 0, paras[0].firstChild, 7]: first addRange() must result in rangeCount being 1 @@ -1908,11 +1919,11 @@ PASS Range 14 [document.documentElement, 0, document.documentElement, 1] followed by Range 29 [paras[0], 0, paras[0].firstChild, 7]: modifying the Selection's last Range must modify the first added Range PASS Range 14 [document.documentElement, 0, document.documentElement, 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 14 [document.documentElement, 0, document.documentElement, 1] followed by Range 29 [paras[0], 0, paras[0].firstChild, 7]: second addRange() must result in rangeCount being 1 -FAIL Range 14 [document.documentElement, 0, document.documentElement, 1] followed by Range 29 [paras[0], 0, paras[0].firstChild, 7]: second addRange() must result in the selection's last range having the specified endpoints assert_equals: startContainer of the Selection's last Range must match the added Range expected Element node <p id="a">Äb̈c̈d̈ëf̈g̈ḧ -</p> but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -FAIL Range 14 [document.documentElement, 0, document.documentElement, 1] followed by Range 29 [paras[0], 0, paras[0].firstChild, 7]: second addRange() must result in the selection's last range being the same object we added assert_equals: getRangeAt(rangeCount - 1) must return the same object we added expected object "Äb̈c̈d" but got object "" -FAIL Range 14 [document.documentElement, 0, document.documentElement, 1] followed by Range 29 [paras[0], 0, paras[0].firstChild, 7]: modifying the second added range must modify the Selection's last Range assert_equals: After mutating the second added Range, 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 29 [paras[0], 0, paras[0].firstChild, 7]: second addRange() must result in the selection's last range having the specified endpoints +FAIL Range 14 [document.documentElement, 0, document.documentElement, 1] followed by Range 29 [paras[0], 0, paras[0].firstChild, 7]: second addRange() must result in the selection's last range being the same object we added assert_equals: getRangeAt(rangeCount - 1) must return the same object we added expected object "Äb̈c̈d" but got object "Äb̈c̈d" +FAIL Range 14 [document.documentElement, 0, document.documentElement, 1] followed by Range 29 [paras[0], 0, paras[0].firstChild, 7]: modifying the second added range must modify the Selection's last Range assert_equals: After mutating the second added Range, startContainer of the Selection's last Range must match the added Range expected Text node "Äb̈c̈d̈ëf̈g̈ḧ +" but got Element node <p id="a">Äb̈c̈d̈ëf̈g̈ḧ +</p> FAIL Range 14 [document.documentElement, 0, document.documentElement, 1] followed by Range 29 [paras[0], 0, paras[0].firstChild, 7]: modifying the Selection's last Range must modify the second added Range assert_equals: After second addRange(), after mutating the Selection's last Range, startOffset of the Selection's last Range must match the added Range expected 0 but got 6 PASS Range 14 [document.documentElement, 0, document.documentElement, 1] followed by Range 30 [testDiv, 2, paras[4], 1]: first addRange() must not throw exceptions or modify the range it's given PASS Range 14 [document.documentElement, 0, document.documentElement, 1] followed by Range 30 [testDiv, 2, paras[4], 1]: first addRange() must result in rangeCount being 1 @@ -1951,13 +1962,11 @@ PASS Range 14 [document.documentElement, 0, document.documentElement, 1] followed by Range 32 [document.documentElement, 1, document.body, 0]: modifying the Selection's last Range must modify the first added Range PASS Range 14 [document.documentElement, 0, document.documentElement, 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 14 [document.documentElement, 0, document.documentElement, 1] followed by Range 32 [document.documentElement, 1, document.body, 0]: second addRange() must result in rangeCount being 1 -FAIL Range 14 [document.documentElement, 0, document.documentElement, 1] followed by Range 32 [document.documentElement, 1, document.body, 0]: second addRange() must result in the selection's last range having the specified endpoints assert_equals: startOffset of the Selection's last Range must match the added Range expected 1 but got 0 -FAIL Range 14 [document.documentElement, 0, document.documentElement, 1] followed by Range 32 [document.documentElement, 1, document.body, 0]: second addRange() must result in the selection's last range being the same object we added assert_equals: getRangeAt(rangeCount - 1) must return the same object we added expected object "" but got object "Selection.addRange() tests - +FAIL Range 14 [document.documentElement, 0, document.documentElement, 1] followed by Range 32 [document.documentElement, 1, document.body, 0]: second addRange() must result in the selection's last range having the specified endpoints assert_equals: startContainer of the Selection's last Range must match the added Range expected Element node <html><head><title>Selection.addRange() tests</title> +<me... but got Text node "Äb̈c̈d̈ëf̈g̈ḧ " -FAIL Range 14 [document.documentElement, 0, document.documentElement, 1] followed by Range 32 [document.documentElement, 1, document.body, 0]: modifying the second added range must modify the Selection's last Range assert_equals: After mutating the second added Range, startContainer of the Selection's last Range must match the added Range expected Text node "Äb̈c̈d̈ëf̈g̈ḧ -" but got Element node <html><head><title>Selection.addRange() tests</title> -<me... +FAIL Range 14 [document.documentElement, 0, document.documentElement, 1] followed by Range 32 [document.documentElement, 1, document.body, 0]: second addRange() must result in the selection's last range being the same object we added assert_equals: getRangeAt(rangeCount - 1) must return the same object we added expected object "" but got object "" +FAIL Range 14 [document.documentElement, 0, document.documentElement, 1] followed by Range 32 [document.documentElement, 1, document.body, 0]: modifying the second added range must modify the Selection's last Range assert_equals: After mutating the second added Range, startOffset of the Selection's last Range must match the added Range expected 0 but got 6 FAIL Range 14 [document.documentElement, 0, document.documentElement, 1] followed by Range 32 [document.documentElement, 1, document.body, 0]: modifying the Selection's last Range must modify the second added Range assert_equals: After second addRange(), after mutating the Selection's last Range, startOffset of the Selection's last Range must match the added Range expected 0 but got 6 PASS Range 14 [document.documentElement, 0, document.documentElement, 1] followed by Range 33 [foreignDoc.documentElement, 1, foreignDoc.body, 0]: first addRange() must not throw exceptions or modify the range it's given PASS Range 14 [document.documentElement, 0, document.documentElement, 1] followed by Range 33 [foreignDoc.documentElement, 1, foreignDoc.body, 0]: first addRange() must result in rangeCount being 1 @@ -2075,13 +2084,16 @@ PASS Range 14 [document.documentElement, 0, document.documentElement, 1] followed by Range 37 [testDiv, 0, comment, 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 37 [testDiv, 0, comment, 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 37 [testDiv, 0, comment, 5]: second addRange() must result in rangeCount being 1 -FAIL Range 14 [document.documentElement, 0, document.documentElement, 1] followed by Range 37 [testDiv, 0, comment, 5]: second addRange() must result in the selection's last range having the specified endpoints assert_equals: startContainer of the Selection's last Range must match the added Range expected Element node <div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ -</p><p id="b" s... but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" +FAIL Range 14 [document.documentElement, 0, document.documentElement, 1] followed by Range 37 [testDiv, 0, comment, 5]: second addRange() must result in the selection's last range having the specified endpoints assert_equals: endContainer of the Selection's last Range must match the added Range expected Comment node <!--Alphabet soup?--> but got Element node <div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ +</p><p id="b" s... FAIL Range 14 [document.documentElement, 0, document.documentElement, 1] followed by Range 37 [testDiv, 0, comment, 5]: second addRange() must result in the selection's last range being the same object we added assert_equals: getRangeAt(rangeCount - 1) must return the same object we added expected object "Äb̈c̈d̈ëf̈g̈ḧ Ijklmnop -QrstuvwxYzabcdefGhijklmn" but got object "" -FAIL Range 14 [document.documentElement, 0, document.documentElement, 1] followed by Range 37 [testDiv, 0, comment, 5]: modifying the second added range must modify the Selection's last Range assert_equals: After mutating the second added Range, startOffset of the Selection's last Range must match the added Range expected 0 but got 6 +QrstuvwxYzabcdefGhijklmn" but got object "Äb̈c̈d̈ëf̈g̈ḧ +Ijklmnop +QrstuvwxYzabcdefGhijklmn" +FAIL Range 14 [document.documentElement, 0, document.documentElement, 1] followed by Range 37 [testDiv, 0, comment, 5]: modifying the second added range must modify the Selection's last Range assert_equals: After mutating the second added Range, startContainer of the Selection's last Range must match the added Range expected Text node "Äb̈c̈d̈ëf̈g̈ḧ +" but got Element node <div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ +</p><p id="b" s... FAIL Range 14 [document.documentElement, 0, document.documentElement, 1] followed by Range 37 [testDiv, 0, comment, 5]: modifying the Selection's last Range must modify the second added Range assert_equals: After second addRange(), after mutating the Selection's last Range, startOffset of the Selection's last Range must match the added Range expected 0 but got 6 PASS Range 14 [document.documentElement, 0, document.documentElement, 1] followed by Range 38 [paras[2].firstChild, 4, comment, 2]: first addRange() must not throw exceptions or modify the range it's given PASS Range 14 [document.documentElement, 0, document.documentElement, 1] followed by Range 38 [paras[2].firstChild, 4, comment, 2]: first addRange() must result in rangeCount being 1 @@ -2351,27 +2363,9 @@ PASS Range 15 [document.documentElement, 0, document.documentElement, 2] followed by Range 0 [paras[0].firstChild, 0, paras[0].firstChild, 0]: modifying the Selection's last Range must modify the first added Range PASS Range 15 [document.documentElement, 0, document.documentElement, 2] 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 15 [document.documentElement, 0, document.documentElement, 2] followed by Range 0 [paras[0].firstChild, 0, paras[0].firstChild, 0]: second addRange() must result in rangeCount being 1 -FAIL Range 15 [document.documentElement, 0, document.documentElement, 2] followed by Range 0 [paras[0].firstChild, 0, paras[0].firstChild, 0]: second addRange() must result in the selection's last range having the specified endpoints assert_equals: startContainer of the Selection's last Range must match the added Range expected Text node "Äb̈c̈d̈ëf̈g̈ḧ -" but got Element node <html><head><title>Selection.addRange() tests</title> -<me... -FAIL Range 15 [document.documentElement, 0, document.documentElement, 2] followed by Range 0 [paras[0].firstChild, 0, paras[0].firstChild, 0]: second addRange() must result in the selection's last range being the same object we added assert_equals: getRangeAt(rangeCount - 1) must return the same object we added expected object "" but got object "Selection.addRange() tests - -Äb̈c̈d̈ëf̈g̈ḧ -Ijklmnop -QrstuvwxYzabcdefGhijklmn - - - - - -"use strict"; - -testAddRangeSubSet(12, 16); -testDiv.style.display = "none"; -" -FAIL Range 15 [document.documentElement, 0, document.documentElement, 2] followed by Range 0 [paras[0].firstChild, 0, paras[0].firstChild, 0]: modifying the second added range must modify the Selection's last Range assert_equals: After mutating the second added Range, startContainer of the Selection's last Range must match the added Range expected Text node "Äb̈c̈d̈ëf̈g̈ḧ -" but got Element node <html><head><title>Selection.addRange() tests</title> -<me... +FAIL Range 15 [document.documentElement, 0, document.documentElement, 2] followed by Range 0 [paras[0].firstChild, 0, paras[0].firstChild, 0]: second addRange() must result in the selection's last range having the specified endpoints assert_equals: startOffset of the Selection's last Range must match the added Range expected 0 but got 6 +FAIL Range 15 [document.documentElement, 0, document.documentElement, 2] followed by Range 0 [paras[0].firstChild, 0, paras[0].firstChild, 0]: second addRange() must result in the selection's last range being the same object we added assert_equals: getRangeAt(rangeCount - 1) must return the same object we added expected object "" but got object "" +FAIL Range 15 [document.documentElement, 0, document.documentElement, 2] followed by Range 0 [paras[0].firstChild, 0, paras[0].firstChild, 0]: modifying the second added range must modify the Selection's last Range assert_equals: After mutating the second added Range, startOffset of the Selection's last Range must match the added Range expected 0 but got 6 FAIL Range 15 [document.documentElement, 0, document.documentElement, 2] followed by Range 0 [paras[0].firstChild, 0, paras[0].firstChild, 0]: modifying the Selection's last Range must modify the second added Range assert_equals: After second addRange(), after mutating the Selection's last Range, startOffset of the Selection's last Range must match the added Range expected 0 but got 6 PASS Range 15 [document.documentElement, 0, document.documentElement, 2] followed by Range 1 [paras[0].firstChild, 0, paras[0].firstChild, 1]: first addRange() must not throw exceptions or modify the range it's given PASS Range 15 [document.documentElement, 0, document.documentElement, 2] followed by Range 1 [paras[0].firstChild, 0, paras[0].firstChild, 1]: first addRange() must result in rangeCount being 1 @@ -2381,27 +2375,9 @@ PASS Range 15 [document.documentElement, 0, document.documentElement, 2] followed by Range 1 [paras[0].firstChild, 0, paras[0].firstChild, 1]: modifying the Selection's last Range must modify the first added Range PASS Range 15 [document.documentElement, 0, document.documentElement, 2] 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 15 [document.documentElement, 0, document.documentElement, 2] followed by Range 1 [paras[0].firstChild, 0, paras[0].firstChild, 1]: second addRange() must result in rangeCount being 1 -FAIL Range 15 [document.documentElement, 0, document.documentElement, 2] followed by Range 1 [paras[0].firstChild, 0, paras[0].firstChild, 1]: second addRange() must result in the selection's last range having the specified endpoints assert_equals: startContainer of the Selection's last Range must match the added Range expected Text node "Äb̈c̈d̈ëf̈g̈ḧ -" but got Element node <html><head><title>Selection.addRange() tests</title> -<me... -FAIL Range 15 [document.documentElement, 0, document.documentElement, 2] followed by Range 1 [paras[0].firstChild, 0, paras[0].firstChild, 1]: second addRange() must result in the selection's last range being the same object we added assert_equals: getRangeAt(rangeCount - 1) must return the same object we added expected object "A" but got object "Selection.addRange() tests - -Äb̈c̈d̈ëf̈g̈ḧ -Ijklmnop -QrstuvwxYzabcdefGhijklmn - - - - - -"use strict"; - -testAddRangeSubSet(12, 16); -testDiv.style.display = "none"; -" -FAIL Range 15 [document.documentElement, 0, document.documentElement, 2] followed by Range 1 [paras[0].firstChild, 0, paras[0].firstChild, 1]: modifying the second added range must modify the Selection's last Range assert_equals: After mutating the second added Range, startContainer of the Selection's last Range must match the added Range expected Text node "Äb̈c̈d̈ëf̈g̈ḧ -" but got Element node <html><head><title>Selection.addRange() tests</title> -<me... +FAIL Range 15 [document.documentElement, 0, document.documentElement, 2] followed by Range 1 [paras[0].firstChild, 0, paras[0].firstChild, 1]: second addRange() must result in the selection's last range having the specified endpoints assert_equals: startOffset of the Selection's last Range must match the added Range expected 0 but got 6 +FAIL Range 15 [document.documentElement, 0, document.documentElement, 2] followed by Range 1 [paras[0].firstChild, 0, paras[0].firstChild, 1]: second addRange() must result in the selection's last range being the same object we added assert_equals: getRangeAt(rangeCount - 1) must return the same object we added expected object "A" but got object "" +FAIL Range 15 [document.documentElement, 0, document.documentElement, 2] followed by Range 1 [paras[0].firstChild, 0, paras[0].firstChild, 1]: modifying the second added range must modify the Selection's last Range assert_equals: After mutating the second added Range, startOffset of the Selection's last Range must match the added Range expected 0 but got 6 FAIL Range 15 [document.documentElement, 0, document.documentElement, 2] followed by Range 1 [paras[0].firstChild, 0, paras[0].firstChild, 1]: modifying the Selection's last Range must modify the second added Range assert_equals: After second addRange(), after mutating the Selection's last Range, startOffset of the Selection's last Range must match the added Range expected 0 but got 6 PASS Range 15 [document.documentElement, 0, document.documentElement, 2] followed by Range 2 [paras[0].firstChild, 2, paras[0].firstChild, 8]: first addRange() must not throw exceptions or modify the range it's given PASS Range 15 [document.documentElement, 0, document.documentElement, 2] followed by Range 2 [paras[0].firstChild, 2, paras[0].firstChild, 8]: first addRange() must result in rangeCount being 1 @@ -2411,27 +2387,9 @@ PASS Range 15 [document.documentElement, 0, document.documentElement, 2] followed by Range 2 [paras[0].firstChild, 2, paras[0].firstChild, 8]: modifying the Selection's last Range must modify the first added Range PASS Range 15 [document.documentElement, 0, document.documentElement, 2] 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 15 [document.documentElement, 0, document.documentElement, 2] followed by Range 2 [paras[0].firstChild, 2, paras[0].firstChild, 8]: second addRange() must result in rangeCount being 1 -FAIL Range 15 [document.documentElement, 0, document.documentElement, 2] followed by Range 2 [paras[0].firstChild, 2, paras[0].firstChild, 8]: second addRange() must result in the selection's last range having the specified endpoints assert_equals: startContainer of the Selection's last Range must match the added Range expected Text node "Äb̈c̈d̈ëf̈g̈ḧ -" but got Element node <html><head><title>Selection.addRange() tests</title> -<me... -FAIL Range 15 [document.documentElement, 0, document.documentElement, 2] followed by Range 2 [paras[0].firstChild, 2, paras[0].firstChild, 8]: second addRange() must result in the selection's last range being the same object we added assert_equals: getRangeAt(rangeCount - 1) must return the same object we added expected object "b̈c̈d̈" but got object "Selection.addRange() tests - -Äb̈c̈d̈ëf̈g̈ḧ -Ijklmnop -QrstuvwxYzabcdefGhijklmn - - - - - -"use strict"; - -testAddRangeSubSet(12, 16); -testDiv.style.display = "none"; -" -FAIL Range 15 [document.documentElement, 0, document.documentElement, 2] followed by Range 2 [paras[0].firstChild, 2, paras[0].firstChild, 8]: modifying the second added range must modify the Selection's last Range assert_equals: After mutating the second added Range, startContainer of the Selection's last Range must match the added Range expected Text node "Äb̈c̈d̈ëf̈g̈ḧ -" but got Element node <html><head><title>Selection.addRange() tests</title> -<me... +PASS Range 15 [document.documentElement, 0, document.documentElement, 2] followed by Range 2 [paras[0].firstChild, 2, paras[0].firstChild, 8]: second addRange() must result in the selection's last range having the specified endpoints +FAIL Range 15 [document.documentElement, 0, document.documentElement, 2] followed by Range 2 [paras[0].firstChild, 2, paras[0].firstChild, 8]: second addRange() must result in the selection's last range being the same object we added assert_equals: getRangeAt(rangeCount - 1) must return the same object we added expected object "b̈c̈d̈" but got object "b̈c̈d̈" +FAIL Range 15 [document.documentElement, 0, document.documentElement, 2] followed by Range 2 [paras[0].firstChild, 2, paras[0].firstChild, 8]: modifying the second added range must modify the Selection's last Range assert_equals: After mutating the second added Range, startOffset of the Selection's last Range must match the added Range expected 0 but got 2 FAIL Range 15 [document.documentElement, 0, document.documentElement, 2] followed by Range 2 [paras[0].firstChild, 2, paras[0].firstChild, 8]: modifying the Selection's last Range must modify the second added Range assert_equals: After second addRange(), after mutating the Selection's last Range, startOffset of the Selection's last Range must match the added Range expected 0 but got 6 PASS Range 15 [document.documentElement, 0, document.documentElement, 2] followed by Range 3 [paras[0].firstChild, 2, paras[0].firstChild, 9]: first addRange() must not throw exceptions or modify the range it's given PASS Range 15 [document.documentElement, 0, document.documentElement, 2] followed by Range 3 [paras[0].firstChild, 2, paras[0].firstChild, 9]: first addRange() must result in rangeCount being 1 @@ -2441,27 +2399,9 @@ PASS Range 15 [document.documentElement, 0, document.documentElement, 2] followed by Range 3 [paras[0].firstChild, 2, paras[0].firstChild, 9]: modifying the Selection's last Range must modify the first added Range PASS Range 15 [document.documentElement, 0, document.documentElement, 2] 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 15 [document.documentElement, 0, document.documentElement, 2] followed by Range 3 [paras[0].firstChild, 2, paras[0].firstChild, 9]: second addRange() must result in rangeCount being 1 -FAIL Range 15 [document.documentElement, 0, document.documentElement, 2] followed by Range 3 [paras[0].firstChild, 2, paras[0].firstChild, 9]: second addRange() must result in the selection's last range having the specified endpoints assert_equals: startContainer of the Selection's last Range must match the added Range expected Text node "Äb̈c̈d̈ëf̈g̈ḧ -" but got Element node <html><head><title>Selection.addRange() tests</title> -<me... -FAIL Range 15 [document.documentElement, 0, document.documentElement, 2] followed by Range 3 [paras[0].firstChild, 2, paras[0].firstChild, 9]: second addRange() must result in the selection's last range being the same object we added assert_equals: getRangeAt(rangeCount - 1) must return the same object we added expected object "b̈c̈d̈e" but got object "Selection.addRange() tests - -Äb̈c̈d̈ëf̈g̈ḧ -Ijklmnop -QrstuvwxYzabcdefGhijklmn - - - - - -"use strict"; - -testAddRangeSubSet(12, 16); -testDiv.style.display = "none"; -" -FAIL Range 15 [document.documentElement, 0, document.documentElement, 2] followed by Range 3 [paras[0].firstChild, 2, paras[0].firstChild, 9]: modifying the second added range must modify the Selection's last Range assert_equals: After mutating the second added Range, startContainer of the Selection's last Range must match the added Range expected Text node "Äb̈c̈d̈ëf̈g̈ḧ -" but got Element node <html><head><title>Selection.addRange() tests</title> -<me... +PASS Range 15 [document.documentElement, 0, document.documentElement, 2] followed by Range 3 [paras[0].firstChild, 2, paras[0].firstChild, 9]: second addRange() must result in the selection's last range having the specified endpoints +FAIL Range 15 [document.documentElement, 0, document.documentElement, 2] followed by Range 3 [paras[0].firstChild, 2, paras[0].firstChild, 9]: second addRange() must result in the selection's last range being the same object we added assert_equals: getRangeAt(rangeCount - 1) must return the same object we added expected object "b̈c̈d̈e" but got object "b̈c̈d̈e" +FAIL Range 15 [document.documentElement, 0, document.documentElement, 2] followed by Range 3 [paras[0].firstChild, 2, paras[0].firstChild, 9]: modifying the second added range must modify the Selection's last Range assert_equals: After mutating the second added Range, startOffset of the Selection's last Range must match the added Range expected 0 but got 2 FAIL Range 15 [document.documentElement, 0, document.documentElement, 2] followed by Range 3 [paras[0].firstChild, 2, paras[0].firstChild, 9]: modifying the Selection's last Range must modify the second added Range assert_equals: After second addRange(), after mutating the Selection's last Range, startOffset of the Selection's last Range must match the added Range expected 0 but got 6 PASS Range 15 [document.documentElement, 0, document.documentElement, 2] followed by Range 4 [paras[1].firstChild, 0, paras[1].firstChild, 0]: first addRange() must not throw exceptions or modify the range it's given PASS Range 15 [document.documentElement, 0, document.documentElement, 2] followed by Range 4 [paras[1].firstChild, 0, paras[1].firstChild, 0]: first addRange() must result in rangeCount being 1 @@ -2472,26 +2412,10 @@ PASS Range 15 [document.documentElement, 0, document.documentElement, 2] 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 15 [document.documentElement, 0, document.documentElement, 2] followed by Range 4 [paras[1].firstChild, 0, paras[1].firstChild, 0]: second addRange() must result in rangeCount being 1 FAIL Range 15 [document.documentElement, 0, document.documentElement, 2] followed by Range 4 [paras[1].firstChild, 0, paras[1].firstChild, 0]: second addRange() must result in the selection's last range having the specified endpoints assert_equals: startContainer of the Selection's last Range must match the added Range expected Text node "Ijklmnop -" but got Element node <html><head><title>Selection.addRange() tests</title> -<me... -FAIL Range 15 [document.documentElement, 0, document.documentElement, 2] followed by Range 4 [paras[1].firstChild, 0, paras[1].firstChild, 0]: second addRange() must result in the selection's last range being the same object we added assert_equals: getRangeAt(rangeCount - 1) must return the same object we added expected object "" but got object "Selection.addRange() tests - -Äb̈c̈d̈ëf̈g̈ḧ -Ijklmnop -QrstuvwxYzabcdefGhijklmn - - - - - -"use strict"; - -testAddRangeSubSet(12, 16); -testDiv.style.display = "none"; +" but got Text node "Äb̈c̈d̈ëf̈g̈ḧ " -FAIL Range 15 [document.documentElement, 0, document.documentElement, 2] followed by Range 4 [paras[1].firstChild, 0, paras[1].firstChild, 0]: modifying the second added range must modify the Selection's last Range assert_equals: After mutating the second added Range, startContainer of the Selection's last Range must match the added Range expected Text node "Äb̈c̈d̈ëf̈g̈ḧ -" but got Element node <html><head><title>Selection.addRange() tests</title> -<me... +FAIL Range 15 [document.documentElement, 0, document.documentElement, 2] followed by Range 4 [paras[1].firstChild, 0, paras[1].firstChild, 0]: second addRange() must result in the selection's last range being the same object we added assert_equals: getRangeAt(rangeCount - 1) must return the same object we added expected object "" but got object "" +FAIL Range 15 [document.documentElement, 0, document.documentElement, 2] followed by Range 4 [paras[1].firstChild, 0, paras[1].firstChild, 0]: modifying the second added range must modify the Selection's last Range assert_equals: After mutating the second added Range, startOffset of the Selection's last Range must match the added Range expected 0 but got 6 FAIL Range 15 [document.documentElement, 0, document.documentElement, 2] followed by Range 4 [paras[1].firstChild, 0, paras[1].firstChild, 0]: modifying the Selection's last Range must modify the second added Range assert_equals: After second addRange(), after mutating the Selection's last Range, startOffset of the Selection's last Range must match the added Range expected 0 but got 6 PASS Range 15 [document.documentElement, 0, document.documentElement, 2] followed by Range 5 [paras[1].firstChild, 0, paras[1].firstChild, 1]: first addRange() must not throw exceptions or modify the range it's given PASS Range 15 [document.documentElement, 0, document.documentElement, 2] followed by Range 5 [paras[1].firstChild, 0, paras[1].firstChild, 1]: first addRange() must result in rangeCount being 1 @@ -2502,26 +2426,10 @@ PASS Range 15 [document.documentElement, 0, document.documentElement, 2] 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 15 [document.documentElement, 0, document.documentElement, 2] followed by Range 5 [paras[1].firstChild, 0, paras[1].firstChild, 1]: second addRange() must result in rangeCount being 1 FAIL Range 15 [document.documentElement, 0, document.documentElement, 2] followed by Range 5 [paras[1].firstChild, 0, paras[1].firstChild, 1]: second addRange() must result in the selection's last range having the specified endpoints assert_equals: startContainer of the Selection's last Range must match the added Range expected Text node "Ijklmnop -" but got Element node <html><head><title>Selection.addRange() tests</title> -<me... -FAIL Range 15 [document.documentElement, 0, document.documentElement, 2] followed by Range 5 [paras[1].firstChild, 0, paras[1].firstChild, 1]: second addRange() must result in the selection's last range being the same object we added assert_equals: getRangeAt(rangeCount - 1) must return the same object we added expected object "I" but got object "Selection.addRange() tests - -Äb̈c̈d̈ëf̈g̈ḧ -Ijklmnop -QrstuvwxYzabcdefGhijklmn - - - - - -"use strict"; - -testAddRangeSubSet(12, 16); -testDiv.style.display = "none"; +" but got Text node "Äb̈c̈d̈ëf̈g̈ḧ " -FAIL Range 15 [document.documentElement, 0, document.documentElement, 2] followed by Range 5 [paras[1].firstChild, 0, paras[1].firstChild, 1]: modifying the second added range must modify the Selection's last Range assert_equals: After mutating the second added Range, startContainer of the Selection's last Range must match the added Range expected Text node "Äb̈c̈d̈ëf̈g̈ḧ -" but got Element node <html><head><title>Selection.addRange() tests</title> -<me... +FAIL Range 15 [document.documentElement, 0, document.documentElement, 2] followed by Range 5 [paras[1].firstChild, 0, paras[1].firstChild, 1]: second addRange() must result in the selection's last range being the same object we added assert_equals: getRangeAt(rangeCount - 1) must return the same object we added expected object "I" but got object "" +FAIL Range 15 [document.documentElement, 0, document.documentElement, 2] followed by Range 5 [paras[1].firstChild, 0, paras[1].firstChild, 1]: modifying the second added range must modify the Selection's last Range assert_equals: After mutating the second added Range, startOffset of the Selection's last Range must match the added Range expected 0 but got 6 FAIL Range 15 [document.documentElement, 0, document.documentElement, 2] followed by Range 5 [paras[1].firstChild, 0, paras[1].firstChild, 1]: modifying the Selection's last Range must modify the second added Range assert_equals: After second addRange(), after mutating the Selection's last Range, startOffset of the Selection's last Range must match the added Range expected 0 but got 6 PASS Range 15 [document.documentElement, 0, document.documentElement, 2] followed by Range 6 [paras[1].firstChild, 2, paras[1].firstChild, 8]: first addRange() must not throw exceptions or modify the range it's given PASS Range 15 [document.documentElement, 0, document.documentElement, 2] followed by Range 6 [paras[1].firstChild, 2, paras[1].firstChild, 8]: first addRange() must result in rangeCount being 1 @@ -2532,26 +2440,10 @@ PASS Range 15 [document.documentElement, 0, document.documentElement, 2] 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 15 [document.documentElement, 0, document.documentElement, 2] followed by Range 6 [paras[1].firstChild, 2, paras[1].firstChild, 8]: second addRange() must result in rangeCount being 1 FAIL Range 15 [document.documentElement, 0, document.documentElement, 2] followed by Range 6 [paras[1].firstChild, 2, paras[1].firstChild, 8]: second addRange() must result in the selection's last range having the specified endpoints assert_equals: startContainer of the Selection's last Range must match the added Range expected Text node "Ijklmnop -" but got Element node <html><head><title>Selection.addRange() tests</title> -<me... -FAIL Range 15 [document.documentElement, 0, document.documentElement, 2] followed by Range 6 [paras[1].firstChild, 2, paras[1].firstChild, 8]: second addRange() must result in the selection's last range being the same object we added assert_equals: getRangeAt(rangeCount - 1) must return the same object we added expected object "klmnop" but got object "Selection.addRange() tests - -Äb̈c̈d̈ëf̈g̈ḧ -Ijklmnop -QrstuvwxYzabcdefGhijklmn - - - - - -"use strict"; - -testAddRangeSubSet(12, 16); -testDiv.style.display = "none"; +" but got Text node "Äb̈c̈d̈ëf̈g̈ḧ " -FAIL Range 15 [document.documentElement, 0, document.documentElement, 2] followed by Range 6 [paras[1].firstChild, 2, paras[1].firstChild, 8]: modifying the second added range must modify the Selection's last Range assert_equals: After mutating the second added Range, startContainer of the Selection's last Range must match the added Range expected Text node "Äb̈c̈d̈ëf̈g̈ḧ -" but got Element node <html><head><title>Selection.addRange() tests</title> -<me... +FAIL Range 15 [document.documentElement, 0, document.documentElement, 2] followed by Range 6 [paras[1].firstChild, 2, paras[1].firstChild, 8]: second addRange() must result in the selection's last range being the same object we added assert_equals: getRangeAt(rangeCount - 1) must return the same object we added expected object "klmnop" but got object "" +FAIL Range 15 [document.documentElement, 0, document.documentElement, 2] followed by Range 6 [paras[1].firstChild, 2, paras[1].firstChild, 8]: modifying the second added range must modify the Selection's last Range assert_equals: After mutating the second added Range, startOffset of the Selection's last Range must match the added Range expected 0 but got 6 FAIL Range 15 [document.documentElement, 0, document.documentElement, 2] followed by Range 6 [paras[1].firstChild, 2, paras[1].firstChild, 8]: modifying the Selection's last Range must modify the second added Range assert_equals: After second addRange(), after mutating the Selection's last Range, startOffset of the Selection's last Range must match the added Range expected 0 but got 6 PASS Range 15 [document.documentElement, 0, document.documentElement, 2] followed by Range 7 [paras[1].firstChild, 2, paras[1].firstChild, 9]: first addRange() must not throw exceptions or modify the range it's given PASS Range 15 [document.documentElement, 0, document.documentElement, 2] followed by Range 7 [paras[1].firstChild, 2, paras[1].firstChild, 9]: first addRange() must result in rangeCount being 1 @@ -2562,27 +2454,11 @@ PASS Range 15 [document.documentElement, 0, document.documentElement, 2] 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 15 [document.documentElement, 0, document.documentElement, 2] followed by Range 7 [paras[1].firstChild, 2, paras[1].firstChild, 9]: second addRange() must result in rangeCount being 1 FAIL Range 15 [document.documentElement, 0, document.documentElement, 2] followed by Range 7 [paras[1].firstChild, 2, paras[1].firstChild, 9]: second addRange() must result in the selection's last range having the specified endpoints assert_equals: startContainer of the Selection's last Range must match the added Range expected Text node "Ijklmnop -" but got Element node <html><head><title>Selection.addRange() tests</title> -<me... -FAIL Range 15 [document.documentElement, 0, document.documentElement, 2] followed by Range 7 [paras[1].firstChild, 2, paras[1].firstChild, 9]: second addRange() must result in the selection's last range being the same object we added assert_equals: getRangeAt(rangeCount - 1) must return the same object we added expected object "klmnop -" but got object "Selection.addRange() tests - -Äb̈c̈d̈ëf̈g̈ḧ -Ijklmnop -QrstuvwxYzabcdefGhijklmn - - - - - -"use strict"; - -testAddRangeSubSet(12, 16); -testDiv.style.display = "none"; +" but got Text node "Äb̈c̈d̈ëf̈g̈ḧ " -FAIL Range 15 [document.documentElement, 0, document.documentElement, 2] followed by Range 7 [paras[1].firstChild, 2, paras[1].firstChild, 9]: modifying the second added range must modify the Selection's last Range assert_equals: After mutating the second added Range, startContainer of the Selection's last Range must match the added Range expected Text node "Äb̈c̈d̈ëf̈g̈ḧ -" but got Element node <html><head><title>Selection.addRange() tests</title> -<me... +FAIL Range 15 [document.documentElement, 0, document.documentElement, 2] followed by Range 7 [paras[1].firstChild, 2, paras[1].firstChild, 9]: second addRange() must result in the selection's last range being the same object we added assert_equals: getRangeAt(rangeCount - 1) must return the same object we added expected object "klmnop +" but got object "" +FAIL Range 15 [document.documentElement, 0, document.documentElement, 2] followed by Range 7 [paras[1].firstChild, 2, paras[1].firstChild, 9]: modifying the second added range must modify the Selection's last Range assert_equals: After mutating the second added Range, startOffset of the Selection's last Range must match the added Range expected 0 but got 6 FAIL Range 15 [document.documentElement, 0, document.documentElement, 2] followed by Range 7 [paras[1].firstChild, 2, paras[1].firstChild, 9]: modifying the Selection's last Range must modify the second added Range assert_equals: After second addRange(), after mutating the Selection's last Range, startOffset of the Selection's last Range must match the added Range expected 0 but got 6 PASS Range 15 [document.documentElement, 0, document.documentElement, 2] followed by Range 8 [detachedPara1.firstChild, 0, detachedPara1.firstChild, 0]: first addRange() must not throw exceptions or modify the range it's given PASS Range 15 [document.documentElement, 0, document.documentElement, 2] followed by Range 8 [detachedPara1.firstChild, 0, detachedPara1.firstChild, 0]: first addRange() must result in rangeCount being 1 @@ -2670,27 +2546,13 @@ PASS Range 15 [document.documentElement, 0, document.documentElement, 2] followed by Range 14 [document.documentElement, 0, document.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 14 [document.documentElement, 0, document.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 14 [document.documentElement, 0, document.documentElement, 1]: second addRange() must result in rangeCount being 1 -FAIL Range 15 [document.documentElement, 0, document.documentElement, 2] followed by Range 14 [document.documentElement, 0, document.documentElement, 1]: second addRange() must result in the selection's last range having the specified endpoints assert_equals: endOffset of the Selection's last Range must match the added Range expected 1 but got 2 +FAIL Range 15 [document.documentElement, 0, document.documentElement, 2] followed by Range 14 [document.documentElement, 0, document.documentElement, 1]: second addRange() must result in the selection's last range having the specified endpoints assert_equals: startContainer of the Selection's last Range must match the added Range expected Element node <html><head><title>Selection.addRange() tests</title> +<me... but got Text node "Äb̈c̈d̈ëf̈g̈ḧ +" FAIL Range 15 [document.documentElement, 0, document.documentElement, 2] followed by Range 14 [document.documentElement, 0, document.documentElement, 1]: second addRange() must result in the selection's last range being the same object we added assert_equals: getRangeAt(rangeCount - 1) must return the same object we added expected object "Selection.addRange() tests -" but got object "Selection.addRange() tests - -Äb̈c̈d̈ëf̈g̈ḧ -Ijklmnop -QrstuvwxYzabcdefGhijklmn - - - - - -"use strict"; - -testAddRangeSubSet(12, 16); -testDiv.style.display = "none"; -" -FAIL Range 15 [document.documentElement, 0, document.documentElement, 2] followed by Range 14 [document.documentElement, 0, document.documentElement, 1]: modifying the second added range must modify the Selection's last Range assert_equals: After mutating the second added Range, startContainer of the Selection's last Range must match the added Range expected Text node "Äb̈c̈d̈ëf̈g̈ḧ -" but got Element node <html><head><title>Selection.addRange() tests</title> -<me... +" but got object "" +FAIL Range 15 [document.documentElement, 0, document.documentElement, 2] followed by Range 14 [document.documentElement, 0, document.documentElement, 1]: modifying the second added range must modify the Selection's last Range assert_equals: After mutating the second added Range, startOffset of the Selection's last Range must match the added Range expected 0 but got 6 FAIL Range 15 [document.documentElement, 0, document.documentElement, 2] followed by Range 14 [document.documentElement, 0, document.documentElement, 1]: modifying the Selection's last Range must modify the second added Range assert_equals: After second addRange(), after mutating the Selection's last Range, startOffset of the Selection's last Range must match the added Range expected 0 but got 6 PASS Range 15 [document.documentElement, 0, document.documentElement, 2] followed by Range 15 [document.documentElement, 0, document.documentElement, 2]: first addRange() must not throw exceptions or modify the range it's given PASS Range 15 [document.documentElement, 0, document.documentElement, 2] followed by Range 15 [document.documentElement, 0, document.documentElement, 2]: first addRange() must result in rangeCount being 1 @@ -2742,7 +2604,7 @@ PASS Range 15 [document.documentElement, 0, document.documentElement, 2] followed by Range 16 [document.documentElement, 1, document.documentElement, 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 16 [document.documentElement, 1, document.documentElement, 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 16 [document.documentElement, 1, document.documentElement, 2]: second addRange() must result in rangeCount being 1 -FAIL Range 15 [document.documentElement, 0, document.documentElement, 2] followed by Range 16 [document.documentElement, 1, document.documentElement, 2]: second addRange() must result in the selection's last range having the specified endpoints assert_equals: startOffset of the Selection's last Range must match the added Range expected 1 but got 0 +PASS Range 15 [document.documentElement, 0, document.documentElement, 2] followed by Range 16 [document.documentElement, 1, document.documentElement, 2]: second addRange() must result in the selection's last range having the specified endpoints FAIL Range 15 [document.documentElement, 0, document.documentElement, 2] followed by Range 16 [document.documentElement, 1, document.documentElement, 2]: second addRange() must result in the selection's last range being the same object we added assert_equals: getRangeAt(rangeCount - 1) must return the same object we added expected object "Äb̈c̈d̈ëf̈g̈ḧ Ijklmnop QrstuvwxYzabcdefGhijklmn @@ -2755,9 +2617,7 @@ testAddRangeSubSet(12, 16); testDiv.style.display = "none"; -" but got object "Selection.addRange() tests - -Äb̈c̈d̈ëf̈g̈ḧ +" but got object "Äb̈c̈d̈ëf̈g̈ḧ Ijklmnop QrstuvwxYzabcdefGhijklmn @@ -2783,26 +2643,10 @@ PASS Range 15 [document.documentElement, 0, document.documentElement, 2] 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 15 [document.documentElement, 0, document.documentElement, 2] followed by Range 17 [document.head, 1, document.head, 1]: second addRange() must result in rangeCount being 1 FAIL Range 15 [document.documentElement, 0, document.documentElement, 2] followed by Range 17 [document.head, 1, document.head, 1]: second addRange() must result in the selection's last range having the specified endpoints assert_equals: startContainer of the Selection's last Range must match the added Range expected Element node <head><title>Selection.addRange() tests</title> -<meta nam... but got Element node <html><head><title>Selection.addRange() tests</title> -<me... -FAIL Range 15 [document.documentElement, 0, document.documentElement, 2] followed by Range 17 [document.head, 1, document.head, 1]: second addRange() must result in the selection's last range being the same object we added assert_equals: getRangeAt(rangeCount - 1) must return the same object we added expected object "" but got object "Selection.addRange() tests - -Äb̈c̈d̈ëf̈g̈ḧ -Ijklmnop -QrstuvwxYzabcdefGhijklmn - - - - - -"use strict"; - -testAddRangeSubSet(12, 16); -testDiv.style.display = "none"; +<meta nam... but got Text node "Äb̈c̈d̈ëf̈g̈ḧ " -FAIL Range 15 [document.documentElement, 0, document.documentElement, 2] followed by Range 17 [document.head, 1, document.head, 1]: modifying the second added range must modify the Selection's last Range assert_equals: After mutating the second added Range, startContainer of the Selection's last Range must match the added Range expected Text node "Äb̈c̈d̈ëf̈g̈ḧ -" but got Element node <html><head><title>Selection.addRange() tests</title> -<me... +FAIL Range 15 [document.documentElement, 0, document.documentElement, 2] followed by Range 17 [document.head, 1, document.head, 1]: second addRange() must result in the selection's last range being the same object we added assert_equals: getRangeAt(rangeCount - 1) must return the same object we added expected object "" but got object "" +FAIL Range 15 [document.documentElement, 0, document.documentElement, 2] followed by Range 17 [document.head, 1, document.head, 1]: modifying the second added range must modify the Selection's last Range assert_equals: After mutating the second added Range, startOffset of the Selection's last Range must match the added Range expected 0 but got 6 FAIL Range 15 [document.documentElement, 0, document.documentElement, 2] followed by Range 17 [document.head, 1, document.head, 1]: modifying the Selection's last Range must modify the second added Range assert_equals: After second addRange(), after mutating the Selection's last Range, startOffset of the Selection's last Range must match the added Range expected 0 but got 6 PASS Range 15 [document.documentElement, 0, document.documentElement, 2] followed by Range 18 [document.body, 0, document.body, 1]: first addRange() must not throw exceptions or modify the range it's given PASS Range 15 [document.documentElement, 0, document.documentElement, 2] followed by Range 18 [document.body, 0, document.body, 1]: first addRange() must result in rangeCount being 1 @@ -2812,29 +2656,15 @@ PASS Range 15 [document.documentElement, 0, document.documentElement, 2] followed by Range 18 [document.body, 0, document.body, 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 18 [document.body, 0, document.body, 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 18 [document.body, 0, document.body, 1]: second addRange() must result in rangeCount being 1 -FAIL Range 15 [document.documentElement, 0, document.documentElement, 2] followed by Range 18 [document.body, 0, document.body, 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 <body><div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ -</p><p id... but got Element node <html><head><title>Selection.addRange() tests</title> -<me... +PASS Range 15 [document.documentElement, 0, document.documentElement, 2] followed by Range 18 [document.body, 0, document.body, 1]: second addRange() must result in the selection's last range having the specified endpoints FAIL Range 15 [document.documentElement, 0, document.documentElement, 2] followed by Range 18 [document.body, 0, document.body, 1]: second addRange() must result in the selection's last range being the same object we added assert_equals: getRangeAt(rangeCount - 1) must return the same object we added expected object "Äb̈c̈d̈ëf̈g̈ḧ Ijklmnop -QrstuvwxYzabcdefGhijklmn" but got object "Selection.addRange() tests - -Äb̈c̈d̈ëf̈g̈ḧ +QrstuvwxYzabcdefGhijklmn" but got object "Äb̈c̈d̈ëf̈g̈ḧ Ijklmnop -QrstuvwxYzabcdefGhijklmn - - - - - -"use strict"; - -testAddRangeSubSet(12, 16); -testDiv.style.display = "none"; -" +QrstuvwxYzabcdefGhijklmn" FAIL Range 15 [document.documentElement, 0, document.documentElement, 2] followed by Range 18 [document.body, 0, document.body, 1]: modifying the second added range must modify the Selection's last Range assert_equals: After mutating the second added Range, startContainer of the Selection's last Range must match the added Range expected Text node "Äb̈c̈d̈ëf̈g̈ḧ -" but got Element node <html><head><title>Selection.addRange() tests</title> -<me... +" but got Element node <body><div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ +</p><p id... FAIL Range 15 [document.documentElement, 0, document.documentElement, 2] followed by Range 18 [document.body, 0, document.body, 1]: modifying the Selection's last Range must modify the second added Range assert_equals: After second addRange(), after mutating the Selection's last Range, startOffset of the Selection's last Range must match the added Range expected 0 but got 6 PASS Range 15 [document.documentElement, 0, document.documentElement, 2] followed by Range 19 [foreignDoc.documentElement, 0, foreignDoc.documentElement, 1]: first addRange() must not throw exceptions or modify the range it's given PASS Range 15 [document.documentElement, 0, document.documentElement, 2] followed by Range 19 [foreignDoc.documentElement, 0, foreignDoc.documentElement, 1]: first addRange() must result in rangeCount being 1 @@ -2884,26 +2714,10 @@ PASS Range 15 [document.documentElement, 0, document.documentElement, 2] 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 15 [document.documentElement, 0, document.documentElement, 2] followed by Range 22 [paras[0], 0, paras[0], 0]: second addRange() must result in rangeCount being 1 FAIL Range 15 [document.documentElement, 0, document.documentElement, 2] followed by Range 22 [paras[0], 0, paras[0], 0]: second addRange() must result in the selection's last range having the specified endpoints assert_equals: startContainer of the Selection's last Range must match the added Range expected Element node <p id="a">Äb̈c̈d̈ëf̈g̈ḧ -</p> but got Element node <html><head><title>Selection.addRange() tests</title> -<me... -FAIL Range 15 [document.documentElement, 0, document.documentElement, 2] followed by Range 22 [paras[0], 0, paras[0], 0]: second addRange() must result in the selection's last range being the same object we added assert_equals: getRangeAt(rangeCount - 1) must return the same object we added expected object "" but got object "Selection.addRange() tests - -Äb̈c̈d̈ëf̈g̈ḧ -Ijklmnop -QrstuvwxYzabcdefGhijklmn - - - - - -"use strict"; - -testAddRangeSubSet(12, 16); -testDiv.style.display = "none"; +</p> but got Text node "Äb̈c̈d̈ëf̈g̈ḧ " -FAIL Range 15 [document.documentElement, 0, document.documentElement, 2] followed by Range 22 [paras[0], 0, paras[0], 0]: modifying the second added range must modify the Selection's last Range assert_equals: After mutating the second added Range, startContainer of the Selection's last Range must match the added Range expected Text node "Äb̈c̈d̈ëf̈g̈ḧ -" but got Element node <html><head><title>Selection.addRange() tests</title> -<me... +FAIL Range 15 [document.documentElement, 0, document.documentElement, 2] followed by Range 22 [paras[0], 0, paras[0], 0]: second addRange() must result in the selection's last range being the same object we added assert_equals: getRangeAt(rangeCount - 1) must return the same object we added expected object "" but got object "" +FAIL Range 15 [document.documentElement, 0, document.documentElement, 2] followed by Range 22 [paras[0], 0, paras[0], 0]: modifying the second added range must modify the Selection's last Range assert_equals: After mutating the second added Range, 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 22 [paras[0], 0, paras[0], 0]: modifying the Selection's last Range must modify the second added Range assert_equals: After second addRange(), after mutating the Selection's last Range, startOffset of the Selection's last Range must match the added Range expected 0 but got 6 PASS Range 15 [document.documentElement, 0, document.documentElement, 2] followed by Range 23 [paras[0], 0, paras[0], 1]: first addRange() must not throw exceptions or modify the range it's given PASS Range 15 [document.documentElement, 0, document.documentElement, 2] followed by Range 23 [paras[0], 0, paras[0], 1]: first addRange() must result in rangeCount being 1 @@ -2913,28 +2727,13 @@ PASS Range 15 [document.documentElement, 0, document.documentElement, 2] followed by Range 23 [paras[0], 0, paras[0], 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 23 [paras[0], 0, paras[0], 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 23 [paras[0], 0, paras[0], 1]: second addRange() must result in rangeCount being 1 -FAIL Range 15 [document.documentElement, 0, document.documentElement, 2] followed by Range 23 [paras[0], 0, paras[0], 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 id="a">Äb̈c̈d̈ëf̈g̈ḧ -</p> but got Element node <html><head><title>Selection.addRange() tests</title> -<me... +PASS Range 15 [document.documentElement, 0, document.documentElement, 2] followed by Range 23 [paras[0], 0, paras[0], 1]: second addRange() must result in the selection's last range having the specified endpoints FAIL Range 15 [document.documentElement, 0, document.documentElement, 2] followed by Range 23 [paras[0], 0, paras[0], 1]: second addRange() must result in the selection's last range being the same object we added assert_equals: getRangeAt(rangeCount - 1) must return the same object we added expected object "Äb̈c̈d̈ëf̈g̈ḧ -" but got object "Selection.addRange() tests - -Äb̈c̈d̈ëf̈g̈ḧ -Ijklmnop -QrstuvwxYzabcdefGhijklmn - - - - - -"use strict"; - -testAddRangeSubSet(12, 16); -testDiv.style.display = "none"; +" but got object "Äb̈c̈d̈ëf̈g̈ḧ " FAIL Range 15 [document.documentElement, 0, document.documentElement, 2] followed by Range 23 [paras[0], 0, paras[0], 1]: modifying the second added range must modify the Selection's last Range assert_equals: After mutating the second added Range, startContainer of the Selection's last Range must match the added Range expected Text node "Äb̈c̈d̈ëf̈g̈ḧ -" but got Element node <html><head><title>Selection.addRange() tests</title> -<me... +" but got Element node <p id="a">Äb̈c̈d̈ëf̈g̈ḧ +</p> FAIL Range 15 [document.documentElement, 0, document.documentElement, 2] followed by Range 23 [paras[0], 0, paras[0], 1]: modifying the Selection's last Range must modify the second added Range assert_equals: After second addRange(), after mutating the Selection's last Range, startOffset of the Selection's last Range must match the added Range expected 0 but got 6 PASS Range 15 [document.documentElement, 0, document.documentElement, 2] followed by Range 24 [detachedPara1, 0, detachedPara1, 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 24 [detachedPara1, 0, detachedPara1, 0]: first addRange() must result in rangeCount being 1 @@ -2970,28 +2769,13 @@ PASS Range 15 [document.documentElement, 0, document.documentElement, 2] followed by Range 26 [paras[0].firstChild, 0, paras[1].firstChild, 0]: modifying the Selection's last Range must modify the first added Range PASS Range 15 [document.documentElement, 0, document.documentElement, 2] 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 15 [document.documentElement, 0, document.documentElement, 2] followed by Range 26 [paras[0].firstChild, 0, paras[1].firstChild, 0]: second addRange() must result in rangeCount being 1 -FAIL Range 15 [document.documentElement, 0, document.documentElement, 2] followed by Range 26 [paras[0].firstChild, 0, paras[1].firstChild, 0]: second addRange() must result in the selection's last range having the specified endpoints assert_equals: startContainer of the Selection's last Range must match the added Range expected Text node "Äb̈c̈d̈ëf̈g̈ḧ -" but got Element node <html><head><title>Selection.addRange() tests</title> -<me... +PASS Range 15 [document.documentElement, 0, document.documentElement, 2] followed by Range 26 [paras[0].firstChild, 0, paras[1].firstChild, 0]: second addRange() must result in the selection's last range having the specified endpoints FAIL Range 15 [document.documentElement, 0, document.documentElement, 2] followed by Range 26 [paras[0].firstChild, 0, paras[1].firstChild, 0]: second addRange() must result in the selection's last range being the same object we added assert_equals: getRangeAt(rangeCount - 1) must return the same object we added expected object "Äb̈c̈d̈ëf̈g̈ḧ -" but got object "Selection.addRange() tests - -Äb̈c̈d̈ëf̈g̈ḧ -Ijklmnop -QrstuvwxYzabcdefGhijklmn - - - - - -"use strict"; - -testAddRangeSubSet(12, 16); -testDiv.style.display = "none"; +" but got object "Äb̈c̈d̈ëf̈g̈ḧ " -FAIL Range 15 [document.documentElement, 0, document.documentElement, 2] followed by Range 26 [paras[0].firstChild, 0, paras[1].firstChild, 0]: modifying the second added range must modify the Selection's last Range assert_equals: After mutating the second added Range, startContainer of the Selection's last Range must match the added Range expected Text node "Äb̈c̈d̈ëf̈g̈ḧ -" but got Element node <html><head><title>Selection.addRange() tests</title> -<me... +FAIL Range 15 [document.documentElement, 0, document.documentElement, 2] followed by Range 26 [paras[0].firstChild, 0, paras[1].firstChild, 0]: modifying the second added range must modify the Selection's last Range assert_equals: After mutating the second added Range, endContainer of the Selection's last Range must match the added Range expected Text node "Äb̈c̈d̈ëf̈g̈ḧ +" but got Text node "Ijklmnop +" FAIL Range 15 [document.documentElement, 0, document.documentElement, 2] followed by Range 26 [paras[0].firstChild, 0, paras[1].firstChild, 0]: modifying the Selection's last Range must modify the second added Range assert_equals: After second addRange(), after mutating the Selection's last Range, startOffset of the Selection's last Range must match the added Range expected 0 but got 6 PASS Range 15 [document.documentElement, 0, document.documentElement, 2] followed by Range 27 [paras[0].firstChild, 0, paras[1].firstChild, 8]: first addRange() must not throw exceptions or modify the range it's given PASS Range 15 [document.documentElement, 0, document.documentElement, 2] followed by Range 27 [paras[0].firstChild, 0, paras[1].firstChild, 8]: first addRange() must result in rangeCount being 1 @@ -3001,28 +2785,13 @@ PASS Range 15 [document.documentElement, 0, document.documentElement, 2] followed by Range 27 [paras[0].firstChild, 0, paras[1].firstChild, 8]: modifying the Selection's last Range must modify the first added Range PASS Range 15 [document.documentElement, 0, document.documentElement, 2] 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 15 [document.documentElement, 0, document.documentElement, 2] followed by Range 27 [paras[0].firstChild, 0, paras[1].firstChild, 8]: second addRange() must result in rangeCount being 1 -FAIL Range 15 [document.documentElement, 0, document.documentElement, 2] followed by Range 27 [paras[0].firstChild, 0, paras[1].firstChild, 8]: second addRange() must result in the selection's last range having the specified endpoints assert_equals: startContainer of the Selection's last Range must match the added Range expected Text node "Äb̈c̈d̈ëf̈g̈ḧ -" but got Element node <html><head><title>Selection.addRange() tests</title> -<me... +PASS Range 15 [document.documentElement, 0, document.documentElement, 2] followed by Range 27 [paras[0].firstChild, 0, paras[1].firstChild, 8]: second addRange() must result in the selection's last range having the specified endpoints FAIL Range 15 [document.documentElement, 0, document.documentElement, 2] followed by Range 27 [paras[0].firstChild, 0, paras[1].firstChild, 8]: second addRange() must result in the selection's last range being the same object we added assert_equals: getRangeAt(rangeCount - 1) must return the same object we added expected object "Äb̈c̈d̈ëf̈g̈ḧ -Ijklmnop" but got object "Selection.addRange() tests - -Äb̈c̈d̈ëf̈g̈ḧ -Ijklmnop -QrstuvwxYzabcdefGhijklmn - - - - - -"use strict"; - -testAddRangeSubSet(12, 16); -testDiv.style.display = "none"; +Ijklmnop" but got object "Äb̈c̈d̈ëf̈g̈ḧ +Ijklmnop" +FAIL Range 15 [document.documentElement, 0, document.documentElement, 2] followed by Range 27 [paras[0].firstChild, 0, paras[1].firstChild, 8]: modifying the second added range must modify the Selection's last Range assert_equals: After mutating the second added Range, endContainer of the Selection's last Range must match the added Range expected Text node "Äb̈c̈d̈ëf̈g̈ḧ +" but got Text node "Ijklmnop " -FAIL Range 15 [document.documentElement, 0, document.documentElement, 2] followed by Range 27 [paras[0].firstChild, 0, paras[1].firstChild, 8]: modifying the second added range must modify the Selection's last Range assert_equals: After mutating the second added Range, startContainer of the Selection's last Range must match the added Range expected Text node "Äb̈c̈d̈ëf̈g̈ḧ -" but got Element node <html><head><title>Selection.addRange() tests</title> -<me... FAIL Range 15 [document.documentElement, 0, document.documentElement, 2] followed by Range 27 [paras[0].firstChild, 0, paras[1].firstChild, 8]: modifying the Selection's last Range must modify the second added Range assert_equals: After second addRange(), after mutating the Selection's last Range, startOffset of the Selection's last Range must match the added Range expected 0 but got 6 PASS Range 15 [document.documentElement, 0, document.documentElement, 2] followed by Range 28 [paras[0].firstChild, 3, paras[3], 1]: first addRange() must not throw exceptions or modify the range it's given PASS Range 15 [document.documentElement, 0, document.documentElement, 2] followed by Range 28 [paras[0].firstChild, 3, paras[3], 1]: first addRange() must result in rangeCount being 1 @@ -3032,29 +2801,13 @@ PASS Range 15 [document.documentElement, 0, document.documentElement, 2] followed by Range 28 [paras[0].firstChild, 3, paras[3], 1]: modifying the Selection's last Range must modify the first added Range PASS Range 15 [document.documentElement, 0, document.documentElement, 2] 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 15 [document.documentElement, 0, document.documentElement, 2] followed by Range 28 [paras[0].firstChild, 3, paras[3], 1]: second addRange() must result in rangeCount being 1 -FAIL Range 15 [document.documentElement, 0, document.documentElement, 2] followed by Range 28 [paras[0].firstChild, 3, paras[3], 1]: second addRange() must result in the selection's last range having the specified endpoints assert_equals: startContainer of the Selection's last Range must match the added Range expected Text node "Äb̈c̈d̈ëf̈g̈ḧ -" but got Element node <html><head><title>Selection.addRange() tests</title> -<me... +PASS Range 15 [document.documentElement, 0, document.documentElement, 2] followed by Range 28 [paras[0].firstChild, 3, paras[3], 1]: second addRange() must result in the selection's last range having the specified endpoints FAIL Range 15 [document.documentElement, 0, document.documentElement, 2] followed by Range 28 [paras[0].firstChild, 3, paras[3], 1]: second addRange() must result in the selection's last range being the same object we added assert_equals: getRangeAt(rangeCount - 1) must return the same object we added expected object "̈c̈d̈ëf̈g̈ḧ Ijklmnop -QrstuvwxYzabcdef" but got object "Selection.addRange() tests - -Äb̈c̈d̈ëf̈g̈ḧ +QrstuvwxYzabcdef" but got object "̈c̈d̈ëf̈g̈ḧ Ijklmnop -QrstuvwxYzabcdefGhijklmn - - - - - -"use strict"; - -testAddRangeSubSet(12, 16); -testDiv.style.display = "none"; -" -FAIL Range 15 [document.documentElement, 0, document.documentElement, 2] followed by Range 28 [paras[0].firstChild, 3, paras[3], 1]: modifying the second added range must modify the Selection's last Range assert_equals: After mutating the second added Range, startContainer of the Selection's last Range must match the added Range expected Text node "Äb̈c̈d̈ëf̈g̈ḧ -" but got Element node <html><head><title>Selection.addRange() tests</title> -<me... +QrstuvwxYzabcdef" +FAIL Range 15 [document.documentElement, 0, document.documentElement, 2] followed by Range 28 [paras[0].firstChild, 3, paras[3], 1]: modifying the second added range must modify the Selection's last Range assert_equals: After mutating the second added Range, startOffset of the Selection's last Range must match the added Range expected 0 but got 3 FAIL Range 15 [document.documentElement, 0, document.documentElement, 2] followed by Range 28 [paras[0].firstChild, 3, paras[3], 1]: modifying the Selection's last Range must modify the second added Range assert_equals: After second addRange(), after mutating the Selection's last Range, startOffset of the Selection's last Range must match the added Range expected 0 but got 6 PASS Range 15 [document.documentElement, 0, document.documentElement, 2] followed by Range 29 [paras[0], 0, paras[0].firstChild, 7]: first addRange() must not throw exceptions or modify the range it's given PASS Range 15 [document.documentElement, 0, document.documentElement, 2] followed by Range 29 [paras[0], 0, paras[0].firstChild, 7]: first addRange() must result in rangeCount being 1 @@ -3064,27 +2817,11 @@ PASS Range 15 [document.documentElement, 0, document.documentElement, 2] followed by Range 29 [paras[0], 0, paras[0].firstChild, 7]: modifying the Selection's last Range must modify the first added Range PASS Range 15 [document.documentElement, 0, document.documentElement, 2] 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 15 [document.documentElement, 0, document.documentElement, 2] followed by Range 29 [paras[0], 0, paras[0].firstChild, 7]: second addRange() must result in rangeCount being 1 -FAIL Range 15 [document.documentElement, 0, document.documentElement, 2] followed by Range 29 [paras[0], 0, paras[0].firstChild, 7]: second addRange() must result in the selection's last range having the specified endpoints assert_equals: startContainer of the Selection's last Range must match the added Range expected Element node <p id="a">Äb̈c̈d̈ëf̈g̈ḧ -</p> but got Element node <html><head><title>Selection.addRange() tests</title> -<me... -FAIL Range 15 [document.documentElement, 0, document.documentElement, 2] followed by Range 29 [paras[0], 0, paras[0].firstChild, 7]: second addRange() must result in the selection's last range being the same object we added assert_equals: getRangeAt(rangeCount - 1) must return the same object we added expected object "Äb̈c̈d" but got object "Selection.addRange() tests - -Äb̈c̈d̈ëf̈g̈ḧ -Ijklmnop -QrstuvwxYzabcdefGhijklmn - - - - - -"use strict"; - -testAddRangeSubSet(12, 16); -testDiv.style.display = "none"; -" +PASS Range 15 [document.documentElement, 0, document.documentElement, 2] followed by Range 29 [paras[0], 0, paras[0].firstChild, 7]: second addRange() must result in the selection's last range having the specified endpoints +FAIL Range 15 [document.documentElement, 0, document.documentElement, 2] followed by Range 29 [paras[0], 0, paras[0].firstChild, 7]: second addRange() must result in the selection's last range being the same object we added assert_equals: getRangeAt(rangeCount - 1) must return the same object we added expected object "Äb̈c̈d" but got object "Äb̈c̈d" FAIL Range 15 [document.documentElement, 0, document.documentElement, 2] followed by Range 29 [paras[0], 0, paras[0].firstChild, 7]: modifying the second added range must modify the Selection's last Range assert_equals: After mutating the second added Range, startContainer of the Selection's last Range must match the added Range expected Text node "Äb̈c̈d̈ëf̈g̈ḧ -" but got Element node <html><head><title>Selection.addRange() tests</title> -<me... +" but got Element node <p id="a">Äb̈c̈d̈ëf̈g̈ḧ +</p> FAIL Range 15 [document.documentElement, 0, document.documentElement, 2] followed by Range 29 [paras[0], 0, paras[0].firstChild, 7]: modifying the Selection's last Range must modify the second added Range assert_equals: After second addRange(), after mutating the Selection's last Range, startOffset of the Selection's last Range must match the added Range expected 0 but got 6 PASS Range 15 [document.documentElement, 0, document.documentElement, 2] followed by Range 30 [testDiv, 2, paras[4], 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 30 [testDiv, 2, paras[4], 1]: first addRange() must result in rangeCount being 1 @@ -3095,26 +2832,10 @@ PASS Range 15 [document.documentElement, 0, document.documentElement, 2] followed by Range 30 [testDiv, 2, paras[4], 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 30 [testDiv, 2, paras[4], 1]: second addRange() must result in rangeCount being 1 FAIL Range 15 [document.documentElement, 0, document.documentElement, 2] followed by Range 30 [testDiv, 2, paras[4], 1]: second addRange() must result in the selection's last range having the specified endpoints assert_equals: startContainer of the Selection's last Range must match the added Range expected Element node <div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ -</p><p id="b" s... but got Element node <html><head><title>Selection.addRange() tests</title> -<me... -FAIL Range 15 [document.documentElement, 0, document.documentElement, 2] followed by Range 30 [testDiv, 2, paras[4], 1]: second addRange() must result in the selection's last range being the same object we added assert_equals: getRangeAt(rangeCount - 1) must return the same object we added expected object "QrstuvwxYzabcdefGhijklmn" but got object "Selection.addRange() tests - -Äb̈c̈d̈ëf̈g̈ḧ -Ijklmnop -QrstuvwxYzabcdefGhijklmn - - - - - -"use strict"; - -testAddRangeSubSet(12, 16); -testDiv.style.display = "none"; +</p><p id="b" s... but got Text node "Äb̈c̈d̈ëf̈g̈ḧ " -FAIL Range 15 [document.documentElement, 0, document.documentElement, 2] followed by Range 30 [testDiv, 2, paras[4], 1]: modifying the second added range must modify the Selection's last Range assert_equals: After mutating the second added Range, startContainer of the Selection's last Range must match the added Range expected Text node "Äb̈c̈d̈ëf̈g̈ḧ -" but got Element node <html><head><title>Selection.addRange() tests</title> -<me... +FAIL Range 15 [document.documentElement, 0, document.documentElement, 2] followed by Range 30 [testDiv, 2, paras[4], 1]: second addRange() must result in the selection's last range being the same object we added assert_equals: getRangeAt(rangeCount - 1) must return the same object we added expected object "QrstuvwxYzabcdefGhijklmn" but got object "" +FAIL Range 15 [document.documentElement, 0, document.documentElement, 2] followed by Range 30 [testDiv, 2, paras[4], 1]: modifying the second added range must modify the Selection's last Range assert_equals: After mutating the second added Range, startOffset of the Selection's last Range must match the added Range expected 0 but got 6 FAIL Range 15 [document.documentElement, 0, document.documentElement, 2] followed by Range 30 [testDiv, 2, paras[4], 1]: modifying the Selection's last Range must modify the second added Range assert_equals: After second addRange(), after mutating the Selection's last Range, startOffset of the Selection's last Range must match the added Range expected 0 but got 6 PASS Range 15 [document.documentElement, 0, document.documentElement, 2] followed by Range 31 [testDiv, 1, paras[2].firstChild, 5]: first addRange() must not throw exceptions or modify the range it's given PASS Range 15 [document.documentElement, 0, document.documentElement, 2] followed by Range 31 [testDiv, 1, paras[2].firstChild, 5]: first addRange() must result in rangeCount being 1 @@ -3125,27 +2846,11 @@ PASS Range 15 [document.documentElement, 0, document.documentElement, 2] 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 15 [document.documentElement, 0, document.documentElement, 2] followed by Range 31 [testDiv, 1, paras[2].firstChild, 5]: second addRange() must result in rangeCount being 1 FAIL Range 15 [document.documentElement, 0, document.documentElement, 2] followed by Range 31 [testDiv, 1, paras[2].firstChild, 5]: second addRange() must result in the selection's last range having the specified endpoints assert_equals: startContainer of the Selection's last Range must match the added Range expected Element node <div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ -</p><p id="b" s... but got Element node <html><head><title>Selection.addRange() tests</title> -<me... -FAIL Range 15 [document.documentElement, 0, document.documentElement, 2] followed by Range 31 [testDiv, 1, paras[2].firstChild, 5]: second addRange() must result in the selection's last range being the same object we added assert_equals: getRangeAt(rangeCount - 1) must return the same object we added expected object "Ijklmnop -Qrstu" but got object "Selection.addRange() tests - -Äb̈c̈d̈ëf̈g̈ḧ -Ijklmnop -QrstuvwxYzabcdefGhijklmn - - - - - -"use strict"; - -testAddRangeSubSet(12, 16); -testDiv.style.display = "none"; +</p><p id="b" s... but got Text node "Äb̈c̈d̈ëf̈g̈ḧ " -FAIL Range 15 [document.documentElement, 0, document.documentElement, 2] followed by Range 31 [testDiv, 1, paras[2].firstChild, 5]: modifying the second added range must modify the Selection's last Range assert_equals: After mutating the second added Range, startContainer of the Selection's last Range must match the added Range expected Text node "Äb̈c̈d̈ëf̈g̈ḧ -" but got Element node <html><head><title>Selection.addRange() tests</title> -<me... +FAIL Range 15 [document.documentElement, 0, document.documentElement, 2] followed by Range 31 [testDiv, 1, paras[2].firstChild, 5]: second addRange() must result in the selection's last range being the same object we added assert_equals: getRangeAt(rangeCount - 1) must return the same object we added expected object "Ijklmnop +Qrstu" but got object "" +FAIL Range 15 [document.documentElement, 0, document.documentElement, 2] followed by Range 31 [testDiv, 1, paras[2].firstChild, 5]: modifying the second added range must modify the Selection's last Range assert_equals: After mutating the second added Range, startOffset of the Selection's last Range must match the added Range expected 0 but got 6 FAIL Range 15 [document.documentElement, 0, document.documentElement, 2] followed by Range 31 [testDiv, 1, paras[2].firstChild, 5]: modifying the Selection's last Range must modify the second added Range assert_equals: After second addRange(), after mutating the Selection's last Range, startOffset of the Selection's last Range must match the added Range expected 0 but got 6 PASS Range 15 [document.documentElement, 0, document.documentElement, 2] followed by Range 32 [document.documentElement, 1, document.body, 0]: first addRange() must not throw exceptions or modify the range it's given PASS Range 15 [document.documentElement, 0, document.documentElement, 2] followed by Range 32 [document.documentElement, 1, document.body, 0]: first addRange() must result in rangeCount being 1 @@ -3155,25 +2860,11 @@ PASS Range 15 [document.documentElement, 0, document.documentElement, 2] followed by Range 32 [document.documentElement, 1, document.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 32 [document.documentElement, 1, document.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 32 [document.documentElement, 1, document.body, 0]: second addRange() must result in rangeCount being 1 -FAIL Range 15 [document.documentElement, 0, document.documentElement, 2] followed by Range 32 [document.documentElement, 1, document.body, 0]: second addRange() must result in the selection's last range having the specified endpoints assert_equals: startOffset of the Selection's last Range must match the added Range expected 1 but got 0 -FAIL Range 15 [document.documentElement, 0, document.documentElement, 2] followed by Range 32 [document.documentElement, 1, document.body, 0]: second addRange() must result in the selection's last range being the same object we added assert_equals: getRangeAt(rangeCount - 1) must return the same object we added expected object "" but got object "Selection.addRange() tests - -Äb̈c̈d̈ëf̈g̈ḧ -Ijklmnop -QrstuvwxYzabcdefGhijklmn - - - - - -"use strict"; - -testAddRangeSubSet(12, 16); -testDiv.style.display = "none"; +FAIL Range 15 [document.documentElement, 0, document.documentElement, 2] followed by Range 32 [document.documentElement, 1, document.body, 0]: second addRange() must result in the selection's last range having the specified endpoints assert_equals: startContainer of the Selection's last Range must match the added Range expected Element node <html><head><title>Selection.addRange() tests</title> +<me... but got Text node "Äb̈c̈d̈ëf̈g̈ḧ " -FAIL Range 15 [document.documentElement, 0, document.documentElement, 2] followed by Range 32 [document.documentElement, 1, document.body, 0]: modifying the second added range must modify the Selection's last Range assert_equals: After mutating the second added Range, startContainer of the Selection's last Range must match the added Range expected Text node "Äb̈c̈d̈ëf̈g̈ḧ -" but got Element node <html><head><title>Selection.addRange() tests</title> -<me... +FAIL Range 15 [document.documentElement, 0, document.documentElement, 2] followed by Range 32 [document.documentElement, 1, document.body, 0]: second addRange() must result in the selection's last range being the same object we added assert_equals: getRangeAt(rangeCount - 1) must return the same object we added expected object "" but got object "" +FAIL Range 15 [document.documentElement, 0, document.documentElement, 2] followed by Range 32 [document.documentElement, 1, document.body, 0]: modifying the second added range must modify the Selection's last Range assert_equals: After mutating the second added Range, startOffset of the Selection's last Range must match the added Range expected 0 but got 6 FAIL Range 15 [document.documentElement, 0, document.documentElement, 2] followed by Range 32 [document.documentElement, 1, document.body, 0]: modifying the Selection's last Range must modify the second added Range assert_equals: After second addRange(), after mutating the Selection's last Range, startOffset of the Selection's last Range must match the added Range expected 0 but got 6 PASS Range 15 [document.documentElement, 0, document.documentElement, 2] followed by Range 33 [foreignDoc.documentElement, 1, foreignDoc.body, 0]: first addRange() must not throw exceptions or modify the range it's given PASS Range 15 [document.documentElement, 0, document.documentElement, 2] followed by Range 33 [foreignDoc.documentElement, 1, foreignDoc.body, 0]: first addRange() must result in rangeCount being 1 @@ -3291,29 +2982,16 @@ PASS Range 15 [document.documentElement, 0, document.documentElement, 2] followed by Range 37 [testDiv, 0, comment, 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 37 [testDiv, 0, comment, 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 37 [testDiv, 0, comment, 5]: second addRange() must result in rangeCount being 1 -FAIL Range 15 [document.documentElement, 0, document.documentElement, 2] followed by Range 37 [testDiv, 0, comment, 5]: second addRange() must result in the selection's last range having the specified endpoints assert_equals: startContainer of the Selection's last Range must match the added Range expected Element node <div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ -</p><p id="b" s... but got Element node <html><head><title>Selection.addRange() tests</title> -<me... +FAIL Range 15 [document.documentElement, 0, document.documentElement, 2] followed by Range 37 [testDiv, 0, comment, 5]: second addRange() must result in the selection's last range having the specified endpoints assert_equals: endContainer of the Selection's last Range must match the added Range expected Comment node <!--Alphabet soup?--> but got Element node <div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ +</p><p id="b" s... FAIL Range 15 [document.documentElement, 0, document.documentElement, 2] followed by Range 37 [testDiv, 0, comment, 5]: second addRange() must result in the selection's last range being the same object we added assert_equals: getRangeAt(rangeCount - 1) must return the same object we added expected object "Äb̈c̈d̈ëf̈g̈ḧ Ijklmnop -QrstuvwxYzabcdefGhijklmn" but got object "Selection.addRange() tests - -Äb̈c̈d̈ëf̈g̈ḧ +QrstuvwxYzabcdefGhijklmn" but got object "Äb̈c̈d̈ëf̈g̈ḧ Ijklmnop -QrstuvwxYzabcdefGhijklmn - - - - - -"use strict"; - -testAddRangeSubSet(12, 16); -testDiv.style.display = "none"; -" +QrstuvwxYzabcdefGhijklmn" FAIL Range 15 [document.documentElement, 0, document.documentElement, 2] followed by Range 37 [testDiv, 0, comment, 5]: modifying the second added range must modify the Selection's last Range assert_equals: After mutating the second added Range, startContainer of the Selection's last Range must match the added Range expected Text node "Äb̈c̈d̈ëf̈g̈ḧ -" but got Element node <html><head><title>Selection.addRange() tests</title> -<me... +" but got Element node <div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ +</p><p id="b" s... FAIL Range 15 [document.documentElement, 0, document.documentElement, 2] followed by Range 37 [testDiv, 0, comment, 5]: modifying the Selection's last Range must modify the second added Range assert_equals: After second addRange(), after mutating the Selection's last Range, startOffset of the Selection's last Range must match the added Range expected 0 but got 6 PASS Range 15 [document.documentElement, 0, document.documentElement, 2] followed by Range 38 [paras[2].firstChild, 4, comment, 2]: first addRange() must not throw exceptions or modify the range it's given PASS Range 15 [document.documentElement, 0, document.documentElement, 2] followed by Range 38 [paras[2].firstChild, 4, comment, 2]: first addRange() must result in rangeCount being 1 @@ -3323,26 +3001,10 @@ PASS Range 15 [document.documentElement, 0, document.documentElement, 2] followed by Range 38 [paras[2].firstChild, 4, comment, 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 38 [paras[2].firstChild, 4, comment, 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 38 [paras[2].firstChild, 4, comment, 2]: second addRange() must result in rangeCount being 1 -FAIL Range 15 [document.documentElement, 0, document.documentElement, 2] followed by Range 38 [paras[2].firstChild, 4, comment, 2]: second addRange() must result in the selection's last range having the specified endpoints assert_equals: startContainer of the Selection's last Range must match the added Range expected Text node "Qrstuvwx" but got Element node <html><head><title>Selection.addRange() tests</title> -<me... -FAIL Range 15 [document.documentElement, 0, document.documentElement, 2] followed by Range 38 [paras[2].firstChild, 4, comment, 2]: second addRange() must result in the selection's last range being the same object we added assert_equals: getRangeAt(rangeCount - 1) must return the same object we added expected object "uvwxYzabcdefGhijklmn" but got object "Selection.addRange() tests - -Äb̈c̈d̈ëf̈g̈ḧ -Ijklmnop -QrstuvwxYzabcdefGhijklmn - - - - - -"use strict"; - -testAddRangeSubSet(12, 16); -testDiv.style.display = "none"; +FAIL Range 15 [document.documentElement, 0, document.documentElement, 2] followed by Range 38 [paras[2].firstChild, 4, comment, 2]: second addRange() must result in the selection's last range having the specified endpoints assert_equals: startContainer of the Selection's last Range must match the added Range expected Text node "Qrstuvwx" but got Text node "Äb̈c̈d̈ëf̈g̈ḧ " -FAIL Range 15 [document.documentElement, 0, document.documentElement, 2] followed by Range 38 [paras[2].firstChild, 4, comment, 2]: modifying the second added range must modify the Selection's last Range assert_equals: After mutating the second added Range, startContainer of the Selection's last Range must match the added Range expected Text node "Äb̈c̈d̈ëf̈g̈ḧ -" but got Element node <html><head><title>Selection.addRange() tests</title> -<me... +FAIL Range 15 [document.documentElement, 0, document.documentElement, 2] followed by Range 38 [paras[2].firstChild, 4, comment, 2]: second addRange() must result in the selection's last range being the same object we added assert_equals: getRangeAt(rangeCount - 1) must return the same object we added expected object "uvwxYzabcdefGhijklmn" but got object "" +FAIL Range 15 [document.documentElement, 0, document.documentElement, 2] followed by Range 38 [paras[2].firstChild, 4, comment, 2]: modifying the second added range must modify the Selection's last Range assert_equals: After mutating the second added Range, startOffset of the Selection's last Range must match the added Range expected 0 but got 6 FAIL Range 15 [document.documentElement, 0, document.documentElement, 2] followed by Range 38 [paras[2].firstChild, 4, comment, 2]: modifying the Selection's last Range must modify the second added Range assert_equals: After second addRange(), after mutating the Selection's last Range, startOffset of the Selection's last Range must match the added Range expected 0 but got 6 PASS Range 15 [document.documentElement, 0, document.documentElement, 2] followed by Range 39 [paras[3], 1, comment, 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 39 [paras[3], 1, comment, 8]: first addRange() must result in rangeCount being 1 @@ -3352,26 +3014,10 @@ PASS Range 15 [document.documentElement, 0, document.documentElement, 2] followed by Range 39 [paras[3], 1, comment, 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 39 [paras[3], 1, comment, 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 39 [paras[3], 1, comment, 8]: second addRange() must result in rangeCount being 1 -FAIL Range 15 [document.documentElement, 0, document.documentElement, 2] followed by Range 39 [paras[3], 1, comment, 8]: second addRange() must result in the selection's last range having the specified endpoints assert_equals: startContainer of the Selection's last Range must match the added Range expected Element node <p id="d" style="display:none">Yzabcdef</p> but got Element node <html><head><title>Selection.addRange() tests</title> -<me... -FAIL Range 15 [document.documentElement, 0, document.documentElement, 2] followed by Range 39 [paras[3], 1, comment, 8]: second addRange() must result in the selection's last range being the same object we added assert_equals: getRangeAt(rangeCount - 1) must return the same object we added expected object "Ghijklmn" but got object "Selection.addRange() tests - -Äb̈c̈d̈ëf̈g̈ḧ -Ijklmnop -QrstuvwxYzabcdefGhijklmn - - - - - -"use strict"; - -testAddRangeSubSet(12, 16); -testDiv.style.display = "none"; +FAIL Range 15 [document.documentElement, 0, document.documentElement, 2] followed by Range 39 [paras[3], 1, comment, 8]: second addRange() must result in the selection's last range having the specified endpoints assert_equals: startContainer of the Selection's last Range must match the added Range expected Element node <p id="d" style="display:none">Yzabcdef</p> but got Text node "Äb̈c̈d̈ëf̈g̈ḧ " -FAIL Range 15 [document.documentElement, 0, document.documentElement, 2] followed by Range 39 [paras[3], 1, comment, 8]: modifying the second added range must modify the Selection's last Range assert_equals: After mutating the second added Range, startContainer of the Selection's last Range must match the added Range expected Text node "Äb̈c̈d̈ëf̈g̈ḧ -" but got Element node <html><head><title>Selection.addRange() tests</title> -<me... +FAIL Range 15 [document.documentElement, 0, document.documentElement, 2] followed by Range 39 [paras[3], 1, comment, 8]: second addRange() must result in the selection's last range being the same object we added assert_equals: getRangeAt(rangeCount - 1) must return the same object we added expected object "Ghijklmn" but got object "" +FAIL Range 15 [document.documentElement, 0, document.documentElement, 2] followed by Range 39 [paras[3], 1, comment, 8]: modifying the second added range must modify the Selection's last Range assert_equals: After mutating the second added Range, startOffset of the Selection's last Range must match the added Range expected 0 but got 6 FAIL Range 15 [document.documentElement, 0, document.documentElement, 2] followed by Range 39 [paras[3], 1, comment, 8]: modifying the Selection's last Range must modify the second added Range assert_equals: After second addRange(), after mutating the Selection's last Range, startOffset of the Selection's last Range must match the added Range expected 0 but got 6 PASS Range 15 [document.documentElement, 0, document.documentElement, 2] followed by Range 40 [foreignDoc, 0, foreignDoc, 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 40 [foreignDoc, 0, foreignDoc, 0]: first addRange() must result in rangeCount being 1
diff --git a/third_party/WebKit/LayoutTests/external/wpt/selection/addRange-16-expected.txt b/third_party/WebKit/LayoutTests/external/wpt/selection/addRange-16-expected.txt index 3641707..059dde7 100644 --- a/third_party/WebKit/LayoutTests/external/wpt/selection/addRange-16-expected.txt +++ b/third_party/WebKit/LayoutTests/external/wpt/selection/addRange-16-expected.txt
@@ -1,16 +1,3 @@ -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: 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: 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. @@ -23,7 +10,6 @@ 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: Discontiguous selection is not supported. @@ -32,23 +18,54 @@ 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: 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 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. @@ -71,25 +88,9 @@ PASS Range 16 [document.documentElement, 1, document.documentElement, 2] followed by Range 0 [paras[0].firstChild, 0, paras[0].firstChild, 0]: modifying the Selection's last Range must modify the first added Range PASS Range 16 [document.documentElement, 1, document.documentElement, 2] 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 16 [document.documentElement, 1, document.documentElement, 2] followed by Range 0 [paras[0].firstChild, 0, paras[0].firstChild, 0]: second addRange() must result in rangeCount being 1 -FAIL Range 16 [document.documentElement, 1, document.documentElement, 2] followed by Range 0 [paras[0].firstChild, 0, paras[0].firstChild, 0]: second addRange() must result in the selection's last range having the specified endpoints assert_equals: startContainer of the Selection's last Range must match the added Range expected Text node "Äb̈c̈d̈ëf̈g̈ḧ -" but got Element node <html><head><title>Selection.addRange() tests</title> -<me... -FAIL Range 16 [document.documentElement, 1, document.documentElement, 2] followed by Range 0 [paras[0].firstChild, 0, paras[0].firstChild, 0]: second addRange() must result in the selection's last range being the same object we added assert_equals: getRangeAt(rangeCount - 1) must return the same object we added expected object "" but got object "Äb̈c̈d̈ëf̈g̈ḧ -Ijklmnop -QrstuvwxYzabcdefGhijklmn - - - - - -"use strict"; - -testAddRangeSubSet(16, 20); -testDiv.style.display = "none"; -" -FAIL Range 16 [document.documentElement, 1, document.documentElement, 2] followed by Range 0 [paras[0].firstChild, 0, paras[0].firstChild, 0]: modifying the second added range must modify the Selection's last Range assert_equals: After mutating the second added Range, startContainer of the Selection's last Range must match the added Range expected Text node "Äb̈c̈d̈ëf̈g̈ḧ -" but got Element node <html><head><title>Selection.addRange() tests</title> -<me... +FAIL Range 16 [document.documentElement, 1, document.documentElement, 2] followed by Range 0 [paras[0].firstChild, 0, paras[0].firstChild, 0]: second addRange() must result in the selection's last range having the specified endpoints assert_equals: startOffset of the Selection's last Range must match the added Range expected 0 but got 6 +FAIL Range 16 [document.documentElement, 1, document.documentElement, 2] followed by Range 0 [paras[0].firstChild, 0, paras[0].firstChild, 0]: second addRange() must result in the selection's last range being the same object we added assert_equals: getRangeAt(rangeCount - 1) must return the same object we added expected object "" but got object "" +FAIL Range 16 [document.documentElement, 1, document.documentElement, 2] followed by Range 0 [paras[0].firstChild, 0, paras[0].firstChild, 0]: modifying the second added range must modify the Selection's last Range assert_equals: After mutating the second added Range, startOffset of the Selection's last Range must match the added Range expected 0 but got 6 FAIL Range 16 [document.documentElement, 1, document.documentElement, 2] followed by Range 0 [paras[0].firstChild, 0, paras[0].firstChild, 0]: modifying the Selection's last Range must modify the second added Range assert_equals: After second addRange(), after mutating the Selection's last Range, startOffset of the Selection's last Range must match the added Range expected 0 but got 6 PASS Range 16 [document.documentElement, 1, document.documentElement, 2] followed by Range 1 [paras[0].firstChild, 0, paras[0].firstChild, 1]: first addRange() must not throw exceptions or modify the range it's given PASS Range 16 [document.documentElement, 1, document.documentElement, 2] followed by Range 1 [paras[0].firstChild, 0, paras[0].firstChild, 1]: first addRange() must result in rangeCount being 1 @@ -99,25 +100,9 @@ PASS Range 16 [document.documentElement, 1, document.documentElement, 2] followed by Range 1 [paras[0].firstChild, 0, paras[0].firstChild, 1]: modifying the Selection's last Range must modify the first added Range PASS Range 16 [document.documentElement, 1, document.documentElement, 2] 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 16 [document.documentElement, 1, document.documentElement, 2] followed by Range 1 [paras[0].firstChild, 0, paras[0].firstChild, 1]: second addRange() must result in rangeCount being 1 -FAIL Range 16 [document.documentElement, 1, document.documentElement, 2] followed by Range 1 [paras[0].firstChild, 0, paras[0].firstChild, 1]: second addRange() must result in the selection's last range having the specified endpoints assert_equals: startContainer of the Selection's last Range must match the added Range expected Text node "Äb̈c̈d̈ëf̈g̈ḧ -" but got Element node <html><head><title>Selection.addRange() tests</title> -<me... -FAIL Range 16 [document.documentElement, 1, document.documentElement, 2] followed by Range 1 [paras[0].firstChild, 0, paras[0].firstChild, 1]: second addRange() must result in the selection's last range being the same object we added assert_equals: getRangeAt(rangeCount - 1) must return the same object we added expected object "A" but got object "Äb̈c̈d̈ëf̈g̈ḧ -Ijklmnop -QrstuvwxYzabcdefGhijklmn - - - - - -"use strict"; - -testAddRangeSubSet(16, 20); -testDiv.style.display = "none"; -" -FAIL Range 16 [document.documentElement, 1, document.documentElement, 2] followed by Range 1 [paras[0].firstChild, 0, paras[0].firstChild, 1]: modifying the second added range must modify the Selection's last Range assert_equals: After mutating the second added Range, startContainer of the Selection's last Range must match the added Range expected Text node "Äb̈c̈d̈ëf̈g̈ḧ -" but got Element node <html><head><title>Selection.addRange() tests</title> -<me... +FAIL Range 16 [document.documentElement, 1, document.documentElement, 2] followed by Range 1 [paras[0].firstChild, 0, paras[0].firstChild, 1]: second addRange() must result in the selection's last range having the specified endpoints assert_equals: startOffset of the Selection's last Range must match the added Range expected 0 but got 6 +FAIL Range 16 [document.documentElement, 1, document.documentElement, 2] followed by Range 1 [paras[0].firstChild, 0, paras[0].firstChild, 1]: second addRange() must result in the selection's last range being the same object we added assert_equals: getRangeAt(rangeCount - 1) must return the same object we added expected object "A" but got object "" +FAIL Range 16 [document.documentElement, 1, document.documentElement, 2] followed by Range 1 [paras[0].firstChild, 0, paras[0].firstChild, 1]: modifying the second added range must modify the Selection's last Range assert_equals: After mutating the second added Range, startOffset of the Selection's last Range must match the added Range expected 0 but got 6 FAIL Range 16 [document.documentElement, 1, document.documentElement, 2] followed by Range 1 [paras[0].firstChild, 0, paras[0].firstChild, 1]: modifying the Selection's last Range must modify the second added Range assert_equals: After second addRange(), after mutating the Selection's last Range, startOffset of the Selection's last Range must match the added Range expected 0 but got 6 PASS Range 16 [document.documentElement, 1, document.documentElement, 2] followed by Range 2 [paras[0].firstChild, 2, paras[0].firstChild, 8]: first addRange() must not throw exceptions or modify the range it's given PASS Range 16 [document.documentElement, 1, document.documentElement, 2] followed by Range 2 [paras[0].firstChild, 2, paras[0].firstChild, 8]: first addRange() must result in rangeCount being 1 @@ -127,25 +112,9 @@ PASS Range 16 [document.documentElement, 1, document.documentElement, 2] followed by Range 2 [paras[0].firstChild, 2, paras[0].firstChild, 8]: modifying the Selection's last Range must modify the first added Range PASS Range 16 [document.documentElement, 1, document.documentElement, 2] 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 16 [document.documentElement, 1, document.documentElement, 2] followed by Range 2 [paras[0].firstChild, 2, paras[0].firstChild, 8]: second addRange() must result in rangeCount being 1 -FAIL Range 16 [document.documentElement, 1, document.documentElement, 2] followed by Range 2 [paras[0].firstChild, 2, paras[0].firstChild, 8]: second addRange() must result in the selection's last range having the specified endpoints assert_equals: startContainer of the Selection's last Range must match the added Range expected Text node "Äb̈c̈d̈ëf̈g̈ḧ -" but got Element node <html><head><title>Selection.addRange() tests</title> -<me... -FAIL Range 16 [document.documentElement, 1, document.documentElement, 2] followed by Range 2 [paras[0].firstChild, 2, paras[0].firstChild, 8]: second addRange() must result in the selection's last range being the same object we added assert_equals: getRangeAt(rangeCount - 1) must return the same object we added expected object "b̈c̈d̈" but got object "Äb̈c̈d̈ëf̈g̈ḧ -Ijklmnop -QrstuvwxYzabcdefGhijklmn - - - - - -"use strict"; - -testAddRangeSubSet(16, 20); -testDiv.style.display = "none"; -" -FAIL Range 16 [document.documentElement, 1, document.documentElement, 2] followed by Range 2 [paras[0].firstChild, 2, paras[0].firstChild, 8]: modifying the second added range must modify the Selection's last Range assert_equals: After mutating the second added Range, startContainer of the Selection's last Range must match the added Range expected Text node "Äb̈c̈d̈ëf̈g̈ḧ -" but got Element node <html><head><title>Selection.addRange() tests</title> -<me... +PASS Range 16 [document.documentElement, 1, document.documentElement, 2] followed by Range 2 [paras[0].firstChild, 2, paras[0].firstChild, 8]: second addRange() must result in the selection's last range having the specified endpoints +FAIL Range 16 [document.documentElement, 1, document.documentElement, 2] followed by Range 2 [paras[0].firstChild, 2, paras[0].firstChild, 8]: second addRange() must result in the selection's last range being the same object we added assert_equals: getRangeAt(rangeCount - 1) must return the same object we added expected object "b̈c̈d̈" but got object "b̈c̈d̈" +FAIL Range 16 [document.documentElement, 1, document.documentElement, 2] followed by Range 2 [paras[0].firstChild, 2, paras[0].firstChild, 8]: modifying the second added range must modify the Selection's last Range assert_equals: After mutating the second added Range, startOffset of the Selection's last Range must match the added Range expected 0 but got 2 FAIL Range 16 [document.documentElement, 1, document.documentElement, 2] followed by Range 2 [paras[0].firstChild, 2, paras[0].firstChild, 8]: modifying the Selection's last Range must modify the second added Range assert_equals: After second addRange(), after mutating the Selection's last Range, startOffset of the Selection's last Range must match the added Range expected 0 but got 6 PASS Range 16 [document.documentElement, 1, document.documentElement, 2] followed by Range 3 [paras[0].firstChild, 2, paras[0].firstChild, 9]: first addRange() must not throw exceptions or modify the range it's given PASS Range 16 [document.documentElement, 1, document.documentElement, 2] followed by Range 3 [paras[0].firstChild, 2, paras[0].firstChild, 9]: first addRange() must result in rangeCount being 1 @@ -155,25 +124,9 @@ PASS Range 16 [document.documentElement, 1, document.documentElement, 2] followed by Range 3 [paras[0].firstChild, 2, paras[0].firstChild, 9]: modifying the Selection's last Range must modify the first added Range PASS Range 16 [document.documentElement, 1, document.documentElement, 2] 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 16 [document.documentElement, 1, document.documentElement, 2] followed by Range 3 [paras[0].firstChild, 2, paras[0].firstChild, 9]: second addRange() must result in rangeCount being 1 -FAIL Range 16 [document.documentElement, 1, document.documentElement, 2] followed by Range 3 [paras[0].firstChild, 2, paras[0].firstChild, 9]: second addRange() must result in the selection's last range having the specified endpoints assert_equals: startContainer of the Selection's last Range must match the added Range expected Text node "Äb̈c̈d̈ëf̈g̈ḧ -" but got Element node <html><head><title>Selection.addRange() tests</title> -<me... -FAIL Range 16 [document.documentElement, 1, document.documentElement, 2] followed by Range 3 [paras[0].firstChild, 2, paras[0].firstChild, 9]: second addRange() must result in the selection's last range being the same object we added assert_equals: getRangeAt(rangeCount - 1) must return the same object we added expected object "b̈c̈d̈e" but got object "Äb̈c̈d̈ëf̈g̈ḧ -Ijklmnop -QrstuvwxYzabcdefGhijklmn - - - - - -"use strict"; - -testAddRangeSubSet(16, 20); -testDiv.style.display = "none"; -" -FAIL Range 16 [document.documentElement, 1, document.documentElement, 2] followed by Range 3 [paras[0].firstChild, 2, paras[0].firstChild, 9]: modifying the second added range must modify the Selection's last Range assert_equals: After mutating the second added Range, startContainer of the Selection's last Range must match the added Range expected Text node "Äb̈c̈d̈ëf̈g̈ḧ -" but got Element node <html><head><title>Selection.addRange() tests</title> -<me... +PASS Range 16 [document.documentElement, 1, document.documentElement, 2] followed by Range 3 [paras[0].firstChild, 2, paras[0].firstChild, 9]: second addRange() must result in the selection's last range having the specified endpoints +FAIL Range 16 [document.documentElement, 1, document.documentElement, 2] followed by Range 3 [paras[0].firstChild, 2, paras[0].firstChild, 9]: second addRange() must result in the selection's last range being the same object we added assert_equals: getRangeAt(rangeCount - 1) must return the same object we added expected object "b̈c̈d̈e" but got object "b̈c̈d̈e" +FAIL Range 16 [document.documentElement, 1, document.documentElement, 2] followed by Range 3 [paras[0].firstChild, 2, paras[0].firstChild, 9]: modifying the second added range must modify the Selection's last Range assert_equals: After mutating the second added Range, startOffset of the Selection's last Range must match the added Range expected 0 but got 2 FAIL Range 16 [document.documentElement, 1, document.documentElement, 2] followed by Range 3 [paras[0].firstChild, 2, paras[0].firstChild, 9]: modifying the Selection's last Range must modify the second added Range assert_equals: After second addRange(), after mutating the Selection's last Range, startOffset of the Selection's last Range must match the added Range expected 0 but got 6 PASS Range 16 [document.documentElement, 1, document.documentElement, 2] followed by Range 4 [paras[1].firstChild, 0, paras[1].firstChild, 0]: first addRange() must not throw exceptions or modify the range it's given PASS Range 16 [document.documentElement, 1, document.documentElement, 2] followed by Range 4 [paras[1].firstChild, 0, paras[1].firstChild, 0]: first addRange() must result in rangeCount being 1 @@ -184,24 +137,10 @@ PASS Range 16 [document.documentElement, 1, document.documentElement, 2] 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 16 [document.documentElement, 1, document.documentElement, 2] followed by Range 4 [paras[1].firstChild, 0, paras[1].firstChild, 0]: second addRange() must result in rangeCount being 1 FAIL Range 16 [document.documentElement, 1, document.documentElement, 2] followed by Range 4 [paras[1].firstChild, 0, paras[1].firstChild, 0]: second addRange() must result in the selection's last range having the specified endpoints assert_equals: startContainer of the Selection's last Range must match the added Range expected Text node "Ijklmnop -" but got Element node <html><head><title>Selection.addRange() tests</title> -<me... -FAIL Range 16 [document.documentElement, 1, document.documentElement, 2] followed by Range 4 [paras[1].firstChild, 0, paras[1].firstChild, 0]: second addRange() must result in the selection's last range being the same object we added assert_equals: getRangeAt(rangeCount - 1) must return the same object we added expected object "" but got object "Äb̈c̈d̈ëf̈g̈ḧ -Ijklmnop -QrstuvwxYzabcdefGhijklmn - - - - - -"use strict"; - -testAddRangeSubSet(16, 20); -testDiv.style.display = "none"; +" but got Text node "Äb̈c̈d̈ëf̈g̈ḧ " -FAIL Range 16 [document.documentElement, 1, document.documentElement, 2] followed by Range 4 [paras[1].firstChild, 0, paras[1].firstChild, 0]: modifying the second added range must modify the Selection's last Range assert_equals: After mutating the second added Range, startContainer of the Selection's last Range must match the added Range expected Text node "Äb̈c̈d̈ëf̈g̈ḧ -" but got Element node <html><head><title>Selection.addRange() tests</title> -<me... +FAIL Range 16 [document.documentElement, 1, document.documentElement, 2] followed by Range 4 [paras[1].firstChild, 0, paras[1].firstChild, 0]: second addRange() must result in the selection's last range being the same object we added assert_equals: getRangeAt(rangeCount - 1) must return the same object we added expected object "" but got object "" +FAIL Range 16 [document.documentElement, 1, document.documentElement, 2] followed by Range 4 [paras[1].firstChild, 0, paras[1].firstChild, 0]: modifying the second added range must modify the Selection's last Range assert_equals: After mutating the second added Range, startOffset of the Selection's last Range must match the added Range expected 0 but got 6 FAIL Range 16 [document.documentElement, 1, document.documentElement, 2] followed by Range 4 [paras[1].firstChild, 0, paras[1].firstChild, 0]: modifying the Selection's last Range must modify the second added Range assert_equals: After second addRange(), after mutating the Selection's last Range, startOffset of the Selection's last Range must match the added Range expected 0 but got 6 PASS Range 16 [document.documentElement, 1, document.documentElement, 2] followed by Range 5 [paras[1].firstChild, 0, paras[1].firstChild, 1]: first addRange() must not throw exceptions or modify the range it's given PASS Range 16 [document.documentElement, 1, document.documentElement, 2] followed by Range 5 [paras[1].firstChild, 0, paras[1].firstChild, 1]: first addRange() must result in rangeCount being 1 @@ -212,24 +151,10 @@ PASS Range 16 [document.documentElement, 1, document.documentElement, 2] 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 16 [document.documentElement, 1, document.documentElement, 2] followed by Range 5 [paras[1].firstChild, 0, paras[1].firstChild, 1]: second addRange() must result in rangeCount being 1 FAIL Range 16 [document.documentElement, 1, document.documentElement, 2] followed by Range 5 [paras[1].firstChild, 0, paras[1].firstChild, 1]: second addRange() must result in the selection's last range having the specified endpoints assert_equals: startContainer of the Selection's last Range must match the added Range expected Text node "Ijklmnop -" but got Element node <html><head><title>Selection.addRange() tests</title> -<me... -FAIL Range 16 [document.documentElement, 1, document.documentElement, 2] followed by Range 5 [paras[1].firstChild, 0, paras[1].firstChild, 1]: second addRange() must result in the selection's last range being the same object we added assert_equals: getRangeAt(rangeCount - 1) must return the same object we added expected object "I" but got object "Äb̈c̈d̈ëf̈g̈ḧ -Ijklmnop -QrstuvwxYzabcdefGhijklmn - - - - - -"use strict"; - -testAddRangeSubSet(16, 20); -testDiv.style.display = "none"; +" but got Text node "Äb̈c̈d̈ëf̈g̈ḧ " -FAIL Range 16 [document.documentElement, 1, document.documentElement, 2] followed by Range 5 [paras[1].firstChild, 0, paras[1].firstChild, 1]: modifying the second added range must modify the Selection's last Range assert_equals: After mutating the second added Range, startContainer of the Selection's last Range must match the added Range expected Text node "Äb̈c̈d̈ëf̈g̈ḧ -" but got Element node <html><head><title>Selection.addRange() tests</title> -<me... +FAIL Range 16 [document.documentElement, 1, document.documentElement, 2] followed by Range 5 [paras[1].firstChild, 0, paras[1].firstChild, 1]: second addRange() must result in the selection's last range being the same object we added assert_equals: getRangeAt(rangeCount - 1) must return the same object we added expected object "I" but got object "" +FAIL Range 16 [document.documentElement, 1, document.documentElement, 2] followed by Range 5 [paras[1].firstChild, 0, paras[1].firstChild, 1]: modifying the second added range must modify the Selection's last Range assert_equals: After mutating the second added Range, startOffset of the Selection's last Range must match the added Range expected 0 but got 6 FAIL Range 16 [document.documentElement, 1, document.documentElement, 2] followed by Range 5 [paras[1].firstChild, 0, paras[1].firstChild, 1]: modifying the Selection's last Range must modify the second added Range assert_equals: After second addRange(), after mutating the Selection's last Range, startOffset of the Selection's last Range must match the added Range expected 0 but got 6 PASS Range 16 [document.documentElement, 1, document.documentElement, 2] followed by Range 6 [paras[1].firstChild, 2, paras[1].firstChild, 8]: first addRange() must not throw exceptions or modify the range it's given PASS Range 16 [document.documentElement, 1, document.documentElement, 2] followed by Range 6 [paras[1].firstChild, 2, paras[1].firstChild, 8]: first addRange() must result in rangeCount being 1 @@ -240,24 +165,10 @@ PASS Range 16 [document.documentElement, 1, document.documentElement, 2] 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 16 [document.documentElement, 1, document.documentElement, 2] followed by Range 6 [paras[1].firstChild, 2, paras[1].firstChild, 8]: second addRange() must result in rangeCount being 1 FAIL Range 16 [document.documentElement, 1, document.documentElement, 2] followed by Range 6 [paras[1].firstChild, 2, paras[1].firstChild, 8]: second addRange() must result in the selection's last range having the specified endpoints assert_equals: startContainer of the Selection's last Range must match the added Range expected Text node "Ijklmnop -" but got Element node <html><head><title>Selection.addRange() tests</title> -<me... -FAIL Range 16 [document.documentElement, 1, document.documentElement, 2] followed by Range 6 [paras[1].firstChild, 2, paras[1].firstChild, 8]: second addRange() must result in the selection's last range being the same object we added assert_equals: getRangeAt(rangeCount - 1) must return the same object we added expected object "klmnop" but got object "Äb̈c̈d̈ëf̈g̈ḧ -Ijklmnop -QrstuvwxYzabcdefGhijklmn - - - - - -"use strict"; - -testAddRangeSubSet(16, 20); -testDiv.style.display = "none"; +" but got Text node "Äb̈c̈d̈ëf̈g̈ḧ " -FAIL Range 16 [document.documentElement, 1, document.documentElement, 2] followed by Range 6 [paras[1].firstChild, 2, paras[1].firstChild, 8]: modifying the second added range must modify the Selection's last Range assert_equals: After mutating the second added Range, startContainer of the Selection's last Range must match the added Range expected Text node "Äb̈c̈d̈ëf̈g̈ḧ -" but got Element node <html><head><title>Selection.addRange() tests</title> -<me... +FAIL Range 16 [document.documentElement, 1, document.documentElement, 2] followed by Range 6 [paras[1].firstChild, 2, paras[1].firstChild, 8]: second addRange() must result in the selection's last range being the same object we added assert_equals: getRangeAt(rangeCount - 1) must return the same object we added expected object "klmnop" but got object "" +FAIL Range 16 [document.documentElement, 1, document.documentElement, 2] followed by Range 6 [paras[1].firstChild, 2, paras[1].firstChild, 8]: modifying the second added range must modify the Selection's last Range assert_equals: After mutating the second added Range, startOffset of the Selection's last Range must match the added Range expected 0 but got 6 FAIL Range 16 [document.documentElement, 1, document.documentElement, 2] followed by Range 6 [paras[1].firstChild, 2, paras[1].firstChild, 8]: modifying the Selection's last Range must modify the second added Range assert_equals: After second addRange(), after mutating the Selection's last Range, startOffset of the Selection's last Range must match the added Range expected 0 but got 6 PASS Range 16 [document.documentElement, 1, document.documentElement, 2] followed by Range 7 [paras[1].firstChild, 2, paras[1].firstChild, 9]: first addRange() must not throw exceptions or modify the range it's given PASS Range 16 [document.documentElement, 1, document.documentElement, 2] followed by Range 7 [paras[1].firstChild, 2, paras[1].firstChild, 9]: first addRange() must result in rangeCount being 1 @@ -268,25 +179,11 @@ PASS Range 16 [document.documentElement, 1, document.documentElement, 2] 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 16 [document.documentElement, 1, document.documentElement, 2] followed by Range 7 [paras[1].firstChild, 2, paras[1].firstChild, 9]: second addRange() must result in rangeCount being 1 FAIL Range 16 [document.documentElement, 1, document.documentElement, 2] followed by Range 7 [paras[1].firstChild, 2, paras[1].firstChild, 9]: second addRange() must result in the selection's last range having the specified endpoints assert_equals: startContainer of the Selection's last Range must match the added Range expected Text node "Ijklmnop -" but got Element node <html><head><title>Selection.addRange() tests</title> -<me... -FAIL Range 16 [document.documentElement, 1, document.documentElement, 2] followed by Range 7 [paras[1].firstChild, 2, paras[1].firstChild, 9]: second addRange() must result in the selection's last range being the same object we added assert_equals: getRangeAt(rangeCount - 1) must return the same object we added expected object "klmnop -" but got object "Äb̈c̈d̈ëf̈g̈ḧ -Ijklmnop -QrstuvwxYzabcdefGhijklmn - - - - - -"use strict"; - -testAddRangeSubSet(16, 20); -testDiv.style.display = "none"; +" but got Text node "Äb̈c̈d̈ëf̈g̈ḧ " -FAIL Range 16 [document.documentElement, 1, document.documentElement, 2] followed by Range 7 [paras[1].firstChild, 2, paras[1].firstChild, 9]: modifying the second added range must modify the Selection's last Range assert_equals: After mutating the second added Range, startContainer of the Selection's last Range must match the added Range expected Text node "Äb̈c̈d̈ëf̈g̈ḧ -" but got Element node <html><head><title>Selection.addRange() tests</title> -<me... +FAIL Range 16 [document.documentElement, 1, document.documentElement, 2] followed by Range 7 [paras[1].firstChild, 2, paras[1].firstChild, 9]: second addRange() must result in the selection's last range being the same object we added assert_equals: getRangeAt(rangeCount - 1) must return the same object we added expected object "klmnop +" but got object "" +FAIL Range 16 [document.documentElement, 1, document.documentElement, 2] followed by Range 7 [paras[1].firstChild, 2, paras[1].firstChild, 9]: modifying the second added range must modify the Selection's last Range assert_equals: After mutating the second added Range, startOffset of the Selection's last Range must match the added Range expected 0 but got 6 FAIL Range 16 [document.documentElement, 1, document.documentElement, 2] followed by Range 7 [paras[1].firstChild, 2, paras[1].firstChild, 9]: modifying the Selection's last Range must modify the second added Range assert_equals: After second addRange(), after mutating the Selection's last Range, startOffset of the Selection's last Range must match the added Range expected 0 but got 6 PASS Range 16 [document.documentElement, 1, document.documentElement, 2] followed by Range 8 [detachedPara1.firstChild, 0, detachedPara1.firstChild, 0]: first addRange() must not throw exceptions or modify the range it's given PASS Range 16 [document.documentElement, 1, document.documentElement, 2] followed by Range 8 [detachedPara1.firstChild, 0, detachedPara1.firstChild, 0]: first addRange() must result in rangeCount being 1 @@ -374,27 +271,13 @@ PASS Range 16 [document.documentElement, 1, document.documentElement, 2] followed by Range 14 [document.documentElement, 0, document.documentElement, 1]: modifying the Selection's last Range must modify the first added Range PASS Range 16 [document.documentElement, 1, document.documentElement, 2] 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 16 [document.documentElement, 1, document.documentElement, 2] followed by Range 14 [document.documentElement, 0, document.documentElement, 1]: second addRange() must result in rangeCount being 1 -FAIL Range 16 [document.documentElement, 1, document.documentElement, 2] followed by Range 14 [document.documentElement, 0, document.documentElement, 1]: second addRange() must result in the selection's last range having the specified endpoints assert_equals: endOffset of the Selection's last Range must match the added Range expected 1 but got 2 +FAIL Range 16 [document.documentElement, 1, document.documentElement, 2] followed by Range 14 [document.documentElement, 0, document.documentElement, 1]: second addRange() must result in the selection's last range having the specified endpoints assert_equals: startContainer of the Selection's last Range must match the added Range expected Element node <html><head><title>Selection.addRange() tests</title> +<me... but got Text node "Äb̈c̈d̈ëf̈g̈ḧ +" FAIL Range 16 [document.documentElement, 1, document.documentElement, 2] followed by Range 14 [document.documentElement, 0, document.documentElement, 1]: second addRange() must result in the selection's last range being the same object we added assert_equals: getRangeAt(rangeCount - 1) must return the same object we added expected object "Selection.addRange() tests -" but got object "Selection.addRange() tests - -Äb̈c̈d̈ëf̈g̈ḧ -Ijklmnop -QrstuvwxYzabcdefGhijklmn - - - - - -"use strict"; - -testAddRangeSubSet(16, 20); -testDiv.style.display = "none"; -" -FAIL Range 16 [document.documentElement, 1, document.documentElement, 2] followed by Range 14 [document.documentElement, 0, document.documentElement, 1]: modifying the second added range must modify the Selection's last Range assert_equals: After mutating the second added Range, startContainer of the Selection's last Range must match the added Range expected Text node "Äb̈c̈d̈ëf̈g̈ḧ -" but got Element node <html><head><title>Selection.addRange() tests</title> -<me... +" but got object "" +FAIL Range 16 [document.documentElement, 1, document.documentElement, 2] followed by Range 14 [document.documentElement, 0, document.documentElement, 1]: modifying the second added range must modify the Selection's last Range assert_equals: After mutating the second added Range, startOffset of the Selection's last Range must match the added Range expected 0 but got 6 FAIL Range 16 [document.documentElement, 1, document.documentElement, 2] followed by Range 14 [document.documentElement, 0, document.documentElement, 1]: modifying the Selection's last Range must modify the second added Range assert_equals: After second addRange(), after mutating the Selection's last Range, startOffset of the Selection's last Range must match the added Range expected 0 but got 6 PASS Range 16 [document.documentElement, 1, document.documentElement, 2] followed by Range 15 [document.documentElement, 0, document.documentElement, 2]: first addRange() must not throw exceptions or modify the range it's given PASS Range 16 [document.documentElement, 1, document.documentElement, 2] followed by Range 15 [document.documentElement, 0, document.documentElement, 2]: first addRange() must result in rangeCount being 1 @@ -498,27 +381,15 @@ PASS Range 16 [document.documentElement, 1, document.documentElement, 2] followed by Range 18 [document.body, 0, document.body, 1]: modifying the Selection's last Range must modify the first added Range PASS Range 16 [document.documentElement, 1, document.documentElement, 2] 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 16 [document.documentElement, 1, document.documentElement, 2] followed by Range 18 [document.body, 0, document.body, 1]: second addRange() must result in rangeCount being 1 -FAIL Range 16 [document.documentElement, 1, document.documentElement, 2] followed by Range 18 [document.body, 0, document.body, 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 <body><div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ -</p><p id... but got Element node <html><head><title>Selection.addRange() tests</title> -<me... +PASS Range 16 [document.documentElement, 1, document.documentElement, 2] followed by Range 18 [document.body, 0, document.body, 1]: second addRange() must result in the selection's last range having the specified endpoints FAIL Range 16 [document.documentElement, 1, document.documentElement, 2] followed by Range 18 [document.body, 0, document.body, 1]: second addRange() must result in the selection's last range being the same object we added assert_equals: getRangeAt(rangeCount - 1) must return the same object we added expected object "Äb̈c̈d̈ëf̈g̈ḧ Ijklmnop QrstuvwxYzabcdefGhijklmn" but got object "Äb̈c̈d̈ëf̈g̈ḧ Ijklmnop -QrstuvwxYzabcdefGhijklmn - - - - - -"use strict"; - -testAddRangeSubSet(16, 20); -testDiv.style.display = "none"; -" +QrstuvwxYzabcdefGhijklmn" FAIL Range 16 [document.documentElement, 1, document.documentElement, 2] followed by Range 18 [document.body, 0, document.body, 1]: modifying the second added range must modify the Selection's last Range assert_equals: After mutating the second added Range, startContainer of the Selection's last Range must match the added Range expected Text node "Äb̈c̈d̈ëf̈g̈ḧ -" but got Element node <html><head><title>Selection.addRange() tests</title> -<me... +" but got Element node <body><div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ +</p><p id... FAIL Range 16 [document.documentElement, 1, document.documentElement, 2] followed by Range 18 [document.body, 0, document.body, 1]: modifying the Selection's last Range must modify the second added Range assert_equals: After second addRange(), after mutating the Selection's last Range, startOffset of the Selection's last Range must match the added Range expected 0 but got 6 PASS Range 16 [document.documentElement, 1, document.documentElement, 2] followed by Range 19 [foreignDoc.documentElement, 0, foreignDoc.documentElement, 1]: first addRange() must not throw exceptions or modify the range it's given PASS Range 16 [document.documentElement, 1, document.documentElement, 2] followed by Range 19 [foreignDoc.documentElement, 0, foreignDoc.documentElement, 1]: first addRange() must result in rangeCount being 1 @@ -568,24 +439,10 @@ PASS Range 16 [document.documentElement, 1, document.documentElement, 2] 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 16 [document.documentElement, 1, document.documentElement, 2] followed by Range 22 [paras[0], 0, paras[0], 0]: second addRange() must result in rangeCount being 1 FAIL Range 16 [document.documentElement, 1, document.documentElement, 2] followed by Range 22 [paras[0], 0, paras[0], 0]: second addRange() must result in the selection's last range having the specified endpoints assert_equals: startContainer of the Selection's last Range must match the added Range expected Element node <p id="a">Äb̈c̈d̈ëf̈g̈ḧ -</p> but got Element node <html><head><title>Selection.addRange() tests</title> -<me... -FAIL Range 16 [document.documentElement, 1, document.documentElement, 2] followed by Range 22 [paras[0], 0, paras[0], 0]: second addRange() must result in the selection's last range being the same object we added assert_equals: getRangeAt(rangeCount - 1) must return the same object we added expected object "" but got object "Äb̈c̈d̈ëf̈g̈ḧ -Ijklmnop -QrstuvwxYzabcdefGhijklmn - - - - - -"use strict"; - -testAddRangeSubSet(16, 20); -testDiv.style.display = "none"; +</p> but got Text node "Äb̈c̈d̈ëf̈g̈ḧ " -FAIL Range 16 [document.documentElement, 1, document.documentElement, 2] followed by Range 22 [paras[0], 0, paras[0], 0]: modifying the second added range must modify the Selection's last Range assert_equals: After mutating the second added Range, startContainer of the Selection's last Range must match the added Range expected Text node "Äb̈c̈d̈ëf̈g̈ḧ -" but got Element node <html><head><title>Selection.addRange() tests</title> -<me... +FAIL Range 16 [document.documentElement, 1, document.documentElement, 2] followed by Range 22 [paras[0], 0, paras[0], 0]: second addRange() must result in the selection's last range being the same object we added assert_equals: getRangeAt(rangeCount - 1) must return the same object we added expected object "" but got object "" +FAIL Range 16 [document.documentElement, 1, document.documentElement, 2] followed by Range 22 [paras[0], 0, paras[0], 0]: modifying the second added range must modify the Selection's last Range assert_equals: After mutating the second added Range, startOffset of the Selection's last Range must match the added Range expected 0 but got 6 FAIL Range 16 [document.documentElement, 1, document.documentElement, 2] followed by Range 22 [paras[0], 0, paras[0], 0]: modifying the Selection's last Range must modify the second added Range assert_equals: After second addRange(), after mutating the Selection's last Range, startOffset of the Selection's last Range must match the added Range expected 0 but got 6 PASS Range 16 [document.documentElement, 1, document.documentElement, 2] followed by Range 23 [paras[0], 0, paras[0], 1]: first addRange() must not throw exceptions or modify the range it's given PASS Range 16 [document.documentElement, 1, document.documentElement, 2] followed by Range 23 [paras[0], 0, paras[0], 1]: first addRange() must result in rangeCount being 1 @@ -595,26 +452,13 @@ PASS Range 16 [document.documentElement, 1, document.documentElement, 2] followed by Range 23 [paras[0], 0, paras[0], 1]: modifying the Selection's last Range must modify the first added Range PASS Range 16 [document.documentElement, 1, document.documentElement, 2] 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 16 [document.documentElement, 1, document.documentElement, 2] followed by Range 23 [paras[0], 0, paras[0], 1]: second addRange() must result in rangeCount being 1 -FAIL Range 16 [document.documentElement, 1, document.documentElement, 2] followed by Range 23 [paras[0], 0, paras[0], 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 id="a">Äb̈c̈d̈ëf̈g̈ḧ -</p> but got Element node <html><head><title>Selection.addRange() tests</title> -<me... +PASS Range 16 [document.documentElement, 1, document.documentElement, 2] followed by Range 23 [paras[0], 0, paras[0], 1]: second addRange() must result in the selection's last range having the specified endpoints FAIL Range 16 [document.documentElement, 1, document.documentElement, 2] followed by Range 23 [paras[0], 0, paras[0], 1]: second addRange() must result in the selection's last range being the same object we added assert_equals: getRangeAt(rangeCount - 1) must return the same object we added expected object "Äb̈c̈d̈ëf̈g̈ḧ " but got object "Äb̈c̈d̈ëf̈g̈ḧ -Ijklmnop -QrstuvwxYzabcdefGhijklmn - - - - - -"use strict"; - -testAddRangeSubSet(16, 20); -testDiv.style.display = "none"; " FAIL Range 16 [document.documentElement, 1, document.documentElement, 2] followed by Range 23 [paras[0], 0, paras[0], 1]: modifying the second added range must modify the Selection's last Range assert_equals: After mutating the second added Range, startContainer of the Selection's last Range must match the added Range expected Text node "Äb̈c̈d̈ëf̈g̈ḧ -" but got Element node <html><head><title>Selection.addRange() tests</title> -<me... +" but got Element node <p id="a">Äb̈c̈d̈ëf̈g̈ḧ +</p> FAIL Range 16 [document.documentElement, 1, document.documentElement, 2] followed by Range 23 [paras[0], 0, paras[0], 1]: modifying the Selection's last Range must modify the second added Range assert_equals: After second addRange(), after mutating the Selection's last Range, startOffset of the Selection's last Range must match the added Range expected 0 but got 6 PASS Range 16 [document.documentElement, 1, document.documentElement, 2] followed by Range 24 [detachedPara1, 0, detachedPara1, 0]: first addRange() must not throw exceptions or modify the range it's given PASS Range 16 [document.documentElement, 1, document.documentElement, 2] followed by Range 24 [detachedPara1, 0, detachedPara1, 0]: first addRange() must result in rangeCount being 1 @@ -650,26 +494,13 @@ PASS Range 16 [document.documentElement, 1, document.documentElement, 2] followed by Range 26 [paras[0].firstChild, 0, paras[1].firstChild, 0]: modifying the Selection's last Range must modify the first added Range PASS Range 16 [document.documentElement, 1, document.documentElement, 2] 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 16 [document.documentElement, 1, document.documentElement, 2] followed by Range 26 [paras[0].firstChild, 0, paras[1].firstChild, 0]: second addRange() must result in rangeCount being 1 -FAIL Range 16 [document.documentElement, 1, document.documentElement, 2] followed by Range 26 [paras[0].firstChild, 0, paras[1].firstChild, 0]: second addRange() must result in the selection's last range having the specified endpoints assert_equals: startContainer of the Selection's last Range must match the added Range expected Text node "Äb̈c̈d̈ëf̈g̈ḧ -" but got Element node <html><head><title>Selection.addRange() tests</title> -<me... +PASS Range 16 [document.documentElement, 1, document.documentElement, 2] followed by Range 26 [paras[0].firstChild, 0, paras[1].firstChild, 0]: second addRange() must result in the selection's last range having the specified endpoints FAIL Range 16 [document.documentElement, 1, document.documentElement, 2] followed by Range 26 [paras[0].firstChild, 0, paras[1].firstChild, 0]: second addRange() must result in the selection's last range being the same object we added assert_equals: getRangeAt(rangeCount - 1) must return the same object we added expected object "Äb̈c̈d̈ëf̈g̈ḧ " but got object "Äb̈c̈d̈ëf̈g̈ḧ -Ijklmnop -QrstuvwxYzabcdefGhijklmn - - - - - -"use strict"; - -testAddRangeSubSet(16, 20); -testDiv.style.display = "none"; " -FAIL Range 16 [document.documentElement, 1, document.documentElement, 2] followed by Range 26 [paras[0].firstChild, 0, paras[1].firstChild, 0]: modifying the second added range must modify the Selection's last Range assert_equals: After mutating the second added Range, startContainer of the Selection's last Range must match the added Range expected Text node "Äb̈c̈d̈ëf̈g̈ḧ -" but got Element node <html><head><title>Selection.addRange() tests</title> -<me... +FAIL Range 16 [document.documentElement, 1, document.documentElement, 2] followed by Range 26 [paras[0].firstChild, 0, paras[1].firstChild, 0]: modifying the second added range must modify the Selection's last Range assert_equals: After mutating the second added Range, endContainer of the Selection's last Range must match the added Range expected Text node "Äb̈c̈d̈ëf̈g̈ḧ +" but got Text node "Ijklmnop +" FAIL Range 16 [document.documentElement, 1, document.documentElement, 2] followed by Range 26 [paras[0].firstChild, 0, paras[1].firstChild, 0]: modifying the Selection's last Range must modify the second added Range assert_equals: After second addRange(), after mutating the Selection's last Range, startOffset of the Selection's last Range must match the added Range expected 0 but got 6 PASS Range 16 [document.documentElement, 1, document.documentElement, 2] followed by Range 27 [paras[0].firstChild, 0, paras[1].firstChild, 8]: first addRange() must not throw exceptions or modify the range it's given PASS Range 16 [document.documentElement, 1, document.documentElement, 2] followed by Range 27 [paras[0].firstChild, 0, paras[1].firstChild, 8]: first addRange() must result in rangeCount being 1 @@ -679,26 +510,13 @@ PASS Range 16 [document.documentElement, 1, document.documentElement, 2] followed by Range 27 [paras[0].firstChild, 0, paras[1].firstChild, 8]: modifying the Selection's last Range must modify the first added Range PASS Range 16 [document.documentElement, 1, document.documentElement, 2] 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 16 [document.documentElement, 1, document.documentElement, 2] followed by Range 27 [paras[0].firstChild, 0, paras[1].firstChild, 8]: second addRange() must result in rangeCount being 1 -FAIL Range 16 [document.documentElement, 1, document.documentElement, 2] followed by Range 27 [paras[0].firstChild, 0, paras[1].firstChild, 8]: second addRange() must result in the selection's last range having the specified endpoints assert_equals: startContainer of the Selection's last Range must match the added Range expected Text node "Äb̈c̈d̈ëf̈g̈ḧ -" but got Element node <html><head><title>Selection.addRange() tests</title> -<me... +PASS Range 16 [document.documentElement, 1, document.documentElement, 2] followed by Range 27 [paras[0].firstChild, 0, paras[1].firstChild, 8]: second addRange() must result in the selection's last range having the specified endpoints FAIL Range 16 [document.documentElement, 1, document.documentElement, 2] followed by Range 27 [paras[0].firstChild, 0, paras[1].firstChild, 8]: second addRange() must result in the selection's last range being the same object we added assert_equals: getRangeAt(rangeCount - 1) must return the same object we added expected object "Äb̈c̈d̈ëf̈g̈ḧ Ijklmnop" but got object "Äb̈c̈d̈ëf̈g̈ḧ -Ijklmnop -QrstuvwxYzabcdefGhijklmn - - - - - -"use strict"; - -testAddRangeSubSet(16, 20); -testDiv.style.display = "none"; +Ijklmnop" +FAIL Range 16 [document.documentElement, 1, document.documentElement, 2] followed by Range 27 [paras[0].firstChild, 0, paras[1].firstChild, 8]: modifying the second added range must modify the Selection's last Range assert_equals: After mutating the second added Range, endContainer of the Selection's last Range must match the added Range expected Text node "Äb̈c̈d̈ëf̈g̈ḧ +" but got Text node "Ijklmnop " -FAIL Range 16 [document.documentElement, 1, document.documentElement, 2] followed by Range 27 [paras[0].firstChild, 0, paras[1].firstChild, 8]: modifying the second added range must modify the Selection's last Range assert_equals: After mutating the second added Range, startContainer of the Selection's last Range must match the added Range expected Text node "Äb̈c̈d̈ëf̈g̈ḧ -" but got Element node <html><head><title>Selection.addRange() tests</title> -<me... FAIL Range 16 [document.documentElement, 1, document.documentElement, 2] followed by Range 27 [paras[0].firstChild, 0, paras[1].firstChild, 8]: modifying the Selection's last Range must modify the second added Range assert_equals: After second addRange(), after mutating the Selection's last Range, startOffset of the Selection's last Range must match the added Range expected 0 but got 6 PASS Range 16 [document.documentElement, 1, document.documentElement, 2] followed by Range 28 [paras[0].firstChild, 3, paras[3], 1]: first addRange() must not throw exceptions or modify the range it's given PASS Range 16 [document.documentElement, 1, document.documentElement, 2] followed by Range 28 [paras[0].firstChild, 3, paras[3], 1]: first addRange() must result in rangeCount being 1 @@ -708,27 +526,13 @@ PASS Range 16 [document.documentElement, 1, document.documentElement, 2] followed by Range 28 [paras[0].firstChild, 3, paras[3], 1]: modifying the Selection's last Range must modify the first added Range PASS Range 16 [document.documentElement, 1, document.documentElement, 2] 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 16 [document.documentElement, 1, document.documentElement, 2] followed by Range 28 [paras[0].firstChild, 3, paras[3], 1]: second addRange() must result in rangeCount being 1 -FAIL Range 16 [document.documentElement, 1, document.documentElement, 2] followed by Range 28 [paras[0].firstChild, 3, paras[3], 1]: second addRange() must result in the selection's last range having the specified endpoints assert_equals: startContainer of the Selection's last Range must match the added Range expected Text node "Äb̈c̈d̈ëf̈g̈ḧ -" but got Element node <html><head><title>Selection.addRange() tests</title> -<me... +PASS Range 16 [document.documentElement, 1, document.documentElement, 2] followed by Range 28 [paras[0].firstChild, 3, paras[3], 1]: second addRange() must result in the selection's last range having the specified endpoints FAIL Range 16 [document.documentElement, 1, document.documentElement, 2] followed by Range 28 [paras[0].firstChild, 3, paras[3], 1]: second addRange() must result in the selection's last range being the same object we added assert_equals: getRangeAt(rangeCount - 1) must return the same object we added expected object "̈c̈d̈ëf̈g̈ḧ Ijklmnop -QrstuvwxYzabcdef" but got object "Äb̈c̈d̈ëf̈g̈ḧ +QrstuvwxYzabcdef" but got object "̈c̈d̈ëf̈g̈ḧ Ijklmnop -QrstuvwxYzabcdefGhijklmn - - - - - -"use strict"; - -testAddRangeSubSet(16, 20); -testDiv.style.display = "none"; -" -FAIL Range 16 [document.documentElement, 1, document.documentElement, 2] followed by Range 28 [paras[0].firstChild, 3, paras[3], 1]: modifying the second added range must modify the Selection's last Range assert_equals: After mutating the second added Range, startContainer of the Selection's last Range must match the added Range expected Text node "Äb̈c̈d̈ëf̈g̈ḧ -" but got Element node <html><head><title>Selection.addRange() tests</title> -<me... +QrstuvwxYzabcdef" +FAIL Range 16 [document.documentElement, 1, document.documentElement, 2] followed by Range 28 [paras[0].firstChild, 3, paras[3], 1]: modifying the second added range must modify the Selection's last Range assert_equals: After mutating the second added Range, startOffset of the Selection's last Range must match the added Range expected 0 but got 3 FAIL Range 16 [document.documentElement, 1, document.documentElement, 2] followed by Range 28 [paras[0].firstChild, 3, paras[3], 1]: modifying the Selection's last Range must modify the second added Range assert_equals: After second addRange(), after mutating the Selection's last Range, startOffset of the Selection's last Range must match the added Range expected 0 but got 6 PASS Range 16 [document.documentElement, 1, document.documentElement, 2] followed by Range 29 [paras[0], 0, paras[0].firstChild, 7]: first addRange() must not throw exceptions or modify the range it's given PASS Range 16 [document.documentElement, 1, document.documentElement, 2] followed by Range 29 [paras[0], 0, paras[0].firstChild, 7]: first addRange() must result in rangeCount being 1 @@ -738,25 +542,11 @@ PASS Range 16 [document.documentElement, 1, document.documentElement, 2] followed by Range 29 [paras[0], 0, paras[0].firstChild, 7]: modifying the Selection's last Range must modify the first added Range PASS Range 16 [document.documentElement, 1, document.documentElement, 2] 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 16 [document.documentElement, 1, document.documentElement, 2] followed by Range 29 [paras[0], 0, paras[0].firstChild, 7]: second addRange() must result in rangeCount being 1 -FAIL Range 16 [document.documentElement, 1, document.documentElement, 2] followed by Range 29 [paras[0], 0, paras[0].firstChild, 7]: second addRange() must result in the selection's last range having the specified endpoints assert_equals: startContainer of the Selection's last Range must match the added Range expected Element node <p id="a">Äb̈c̈d̈ëf̈g̈ḧ -</p> but got Element node <html><head><title>Selection.addRange() tests</title> -<me... -FAIL Range 16 [document.documentElement, 1, document.documentElement, 2] followed by Range 29 [paras[0], 0, paras[0].firstChild, 7]: second addRange() must result in the selection's last range being the same object we added assert_equals: getRangeAt(rangeCount - 1) must return the same object we added expected object "Äb̈c̈d" but got object "Äb̈c̈d̈ëf̈g̈ḧ -Ijklmnop -QrstuvwxYzabcdefGhijklmn - - - - - -"use strict"; - -testAddRangeSubSet(16, 20); -testDiv.style.display = "none"; -" +PASS Range 16 [document.documentElement, 1, document.documentElement, 2] followed by Range 29 [paras[0], 0, paras[0].firstChild, 7]: second addRange() must result in the selection's last range having the specified endpoints +FAIL Range 16 [document.documentElement, 1, document.documentElement, 2] followed by Range 29 [paras[0], 0, paras[0].firstChild, 7]: second addRange() must result in the selection's last range being the same object we added assert_equals: getRangeAt(rangeCount - 1) must return the same object we added expected object "Äb̈c̈d" but got object "Äb̈c̈d" FAIL Range 16 [document.documentElement, 1, document.documentElement, 2] followed by Range 29 [paras[0], 0, paras[0].firstChild, 7]: modifying the second added range must modify the Selection's last Range assert_equals: After mutating the second added Range, startContainer of the Selection's last Range must match the added Range expected Text node "Äb̈c̈d̈ëf̈g̈ḧ -" but got Element node <html><head><title>Selection.addRange() tests</title> -<me... +" but got Element node <p id="a">Äb̈c̈d̈ëf̈g̈ḧ +</p> FAIL Range 16 [document.documentElement, 1, document.documentElement, 2] followed by Range 29 [paras[0], 0, paras[0].firstChild, 7]: modifying the Selection's last Range must modify the second added Range assert_equals: After second addRange(), after mutating the Selection's last Range, startOffset of the Selection's last Range must match the added Range expected 0 but got 6 PASS Range 16 [document.documentElement, 1, document.documentElement, 2] followed by Range 30 [testDiv, 2, paras[4], 1]: first addRange() must not throw exceptions or modify the range it's given PASS Range 16 [document.documentElement, 1, document.documentElement, 2] followed by Range 30 [testDiv, 2, paras[4], 1]: first addRange() must result in rangeCount being 1 @@ -767,24 +557,10 @@ PASS Range 16 [document.documentElement, 1, document.documentElement, 2] followed by Range 30 [testDiv, 2, paras[4], 1]: second addRange() must not throw exceptions or modify the range it's given PASS Range 16 [document.documentElement, 1, document.documentElement, 2] followed by Range 30 [testDiv, 2, paras[4], 1]: second addRange() must result in rangeCount being 1 FAIL Range 16 [document.documentElement, 1, document.documentElement, 2] followed by Range 30 [testDiv, 2, paras[4], 1]: second addRange() must result in the selection's last range having the specified endpoints assert_equals: startContainer of the Selection's last Range must match the added Range expected Element node <div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ -</p><p id="b" s... but got Element node <html><head><title>Selection.addRange() tests</title> -<me... -FAIL Range 16 [document.documentElement, 1, document.documentElement, 2] followed by Range 30 [testDiv, 2, paras[4], 1]: second addRange() must result in the selection's last range being the same object we added assert_equals: getRangeAt(rangeCount - 1) must return the same object we added expected object "QrstuvwxYzabcdefGhijklmn" but got object "Äb̈c̈d̈ëf̈g̈ḧ -Ijklmnop -QrstuvwxYzabcdefGhijklmn - - - - - -"use strict"; - -testAddRangeSubSet(16, 20); -testDiv.style.display = "none"; +</p><p id="b" s... but got Text node "Äb̈c̈d̈ëf̈g̈ḧ " -FAIL Range 16 [document.documentElement, 1, document.documentElement, 2] followed by Range 30 [testDiv, 2, paras[4], 1]: modifying the second added range must modify the Selection's last Range assert_equals: After mutating the second added Range, startContainer of the Selection's last Range must match the added Range expected Text node "Äb̈c̈d̈ëf̈g̈ḧ -" but got Element node <html><head><title>Selection.addRange() tests</title> -<me... +FAIL Range 16 [document.documentElement, 1, document.documentElement, 2] followed by Range 30 [testDiv, 2, paras[4], 1]: second addRange() must result in the selection's last range being the same object we added assert_equals: getRangeAt(rangeCount - 1) must return the same object we added expected object "QrstuvwxYzabcdefGhijklmn" but got object "" +FAIL Range 16 [document.documentElement, 1, document.documentElement, 2] followed by Range 30 [testDiv, 2, paras[4], 1]: modifying the second added range must modify the Selection's last Range assert_equals: After mutating the second added Range, startOffset of the Selection's last Range must match the added Range expected 0 but got 6 FAIL Range 16 [document.documentElement, 1, document.documentElement, 2] followed by Range 30 [testDiv, 2, paras[4], 1]: modifying the Selection's last Range must modify the second added Range assert_equals: After second addRange(), after mutating the Selection's last Range, startOffset of the Selection's last Range must match the added Range expected 0 but got 6 PASS Range 16 [document.documentElement, 1, document.documentElement, 2] followed by Range 31 [testDiv, 1, paras[2].firstChild, 5]: first addRange() must not throw exceptions or modify the range it's given PASS Range 16 [document.documentElement, 1, document.documentElement, 2] followed by Range 31 [testDiv, 1, paras[2].firstChild, 5]: first addRange() must result in rangeCount being 1 @@ -795,25 +571,11 @@ PASS Range 16 [document.documentElement, 1, document.documentElement, 2] 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 16 [document.documentElement, 1, document.documentElement, 2] followed by Range 31 [testDiv, 1, paras[2].firstChild, 5]: second addRange() must result in rangeCount being 1 FAIL Range 16 [document.documentElement, 1, document.documentElement, 2] followed by Range 31 [testDiv, 1, paras[2].firstChild, 5]: second addRange() must result in the selection's last range having the specified endpoints assert_equals: startContainer of the Selection's last Range must match the added Range expected Element node <div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ -</p><p id="b" s... but got Element node <html><head><title>Selection.addRange() tests</title> -<me... -FAIL Range 16 [document.documentElement, 1, document.documentElement, 2] followed by Range 31 [testDiv, 1, paras[2].firstChild, 5]: second addRange() must result in the selection's last range being the same object we added assert_equals: getRangeAt(rangeCount - 1) must return the same object we added expected object "Ijklmnop -Qrstu" but got object "Äb̈c̈d̈ëf̈g̈ḧ -Ijklmnop -QrstuvwxYzabcdefGhijklmn - - - - - -"use strict"; - -testAddRangeSubSet(16, 20); -testDiv.style.display = "none"; +</p><p id="b" s... but got Text node "Äb̈c̈d̈ëf̈g̈ḧ " -FAIL Range 16 [document.documentElement, 1, document.documentElement, 2] followed by Range 31 [testDiv, 1, paras[2].firstChild, 5]: modifying the second added range must modify the Selection's last Range assert_equals: After mutating the second added Range, startContainer of the Selection's last Range must match the added Range expected Text node "Äb̈c̈d̈ëf̈g̈ḧ -" but got Element node <html><head><title>Selection.addRange() tests</title> -<me... +FAIL Range 16 [document.documentElement, 1, document.documentElement, 2] followed by Range 31 [testDiv, 1, paras[2].firstChild, 5]: second addRange() must result in the selection's last range being the same object we added assert_equals: getRangeAt(rangeCount - 1) must return the same object we added expected object "Ijklmnop +Qrstu" but got object "" +FAIL Range 16 [document.documentElement, 1, document.documentElement, 2] followed by Range 31 [testDiv, 1, paras[2].firstChild, 5]: modifying the second added range must modify the Selection's last Range assert_equals: After mutating the second added Range, startOffset of the Selection's last Range must match the added Range expected 0 but got 6 FAIL Range 16 [document.documentElement, 1, document.documentElement, 2] followed by Range 31 [testDiv, 1, paras[2].firstChild, 5]: modifying the Selection's last Range must modify the second added Range assert_equals: After second addRange(), after mutating the Selection's last Range, startOffset of the Selection's last Range must match the added Range expected 0 but got 6 PASS Range 16 [document.documentElement, 1, document.documentElement, 2] followed by Range 32 [document.documentElement, 1, document.body, 0]: first addRange() must not throw exceptions or modify the range it's given PASS Range 16 [document.documentElement, 1, document.documentElement, 2] followed by Range 32 [document.documentElement, 1, document.body, 0]: first addRange() must result in rangeCount being 1 @@ -823,25 +585,11 @@ PASS Range 16 [document.documentElement, 1, document.documentElement, 2] followed by Range 32 [document.documentElement, 1, document.body, 0]: modifying the Selection's last Range must modify the first added Range PASS Range 16 [document.documentElement, 1, document.documentElement, 2] 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 16 [document.documentElement, 1, document.documentElement, 2] followed by Range 32 [document.documentElement, 1, document.body, 0]: second addRange() must result in rangeCount being 1 -FAIL Range 16 [document.documentElement, 1, document.documentElement, 2] followed by Range 32 [document.documentElement, 1, document.body, 0]: second addRange() must result in the selection's last range having the specified endpoints assert_equals: endContainer of the Selection's last Range must match the added Range expected Element node <body><div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ -</p><p id... but got Element node <html><head><title>Selection.addRange() tests</title> -<me... -FAIL Range 16 [document.documentElement, 1, document.documentElement, 2] followed by Range 32 [document.documentElement, 1, document.body, 0]: second addRange() must result in the selection's last range being the same object we added assert_equals: getRangeAt(rangeCount - 1) must return the same object we added expected object "" but got object "Äb̈c̈d̈ëf̈g̈ḧ -Ijklmnop -QrstuvwxYzabcdefGhijklmn - - - - - -"use strict"; - -testAddRangeSubSet(16, 20); -testDiv.style.display = "none"; +FAIL Range 16 [document.documentElement, 1, document.documentElement, 2] followed by Range 32 [document.documentElement, 1, document.body, 0]: second addRange() must result in the selection's last range having the specified endpoints assert_equals: startContainer of the Selection's last Range must match the added Range expected Element node <html><head><title>Selection.addRange() tests</title> +<me... but got Text node "Äb̈c̈d̈ëf̈g̈ḧ " -FAIL Range 16 [document.documentElement, 1, document.documentElement, 2] followed by Range 32 [document.documentElement, 1, document.body, 0]: modifying the second added range must modify the Selection's last Range assert_equals: After mutating the second added Range, startContainer of the Selection's last Range must match the added Range expected Text node "Äb̈c̈d̈ëf̈g̈ḧ -" but got Element node <html><head><title>Selection.addRange() tests</title> -<me... +FAIL Range 16 [document.documentElement, 1, document.documentElement, 2] followed by Range 32 [document.documentElement, 1, document.body, 0]: second addRange() must result in the selection's last range being the same object we added assert_equals: getRangeAt(rangeCount - 1) must return the same object we added expected object "" but got object "" +FAIL Range 16 [document.documentElement, 1, document.documentElement, 2] followed by Range 32 [document.documentElement, 1, document.body, 0]: modifying the second added range must modify the Selection's last Range assert_equals: After mutating the second added Range, startOffset of the Selection's last Range must match the added Range expected 0 but got 6 FAIL Range 16 [document.documentElement, 1, document.documentElement, 2] followed by Range 32 [document.documentElement, 1, document.body, 0]: modifying the Selection's last Range must modify the second added Range assert_equals: After second addRange(), after mutating the Selection's last Range, startOffset of the Selection's last Range must match the added Range expected 0 but got 6 PASS Range 16 [document.documentElement, 1, document.documentElement, 2] followed by Range 33 [foreignDoc.documentElement, 1, foreignDoc.body, 0]: first addRange() must not throw exceptions or modify the range it's given PASS Range 16 [document.documentElement, 1, document.documentElement, 2] followed by Range 33 [foreignDoc.documentElement, 1, foreignDoc.body, 0]: first addRange() must result in rangeCount being 1 @@ -959,27 +707,16 @@ PASS Range 16 [document.documentElement, 1, document.documentElement, 2] followed by Range 37 [testDiv, 0, comment, 5]: modifying the Selection's last Range must modify the first added Range PASS Range 16 [document.documentElement, 1, document.documentElement, 2] followed by Range 37 [testDiv, 0, comment, 5]: second addRange() must not throw exceptions or modify the range it's given PASS Range 16 [document.documentElement, 1, document.documentElement, 2] followed by Range 37 [testDiv, 0, comment, 5]: second addRange() must result in rangeCount being 1 -FAIL Range 16 [document.documentElement, 1, document.documentElement, 2] followed by Range 37 [testDiv, 0, comment, 5]: second addRange() must result in the selection's last range having the specified endpoints assert_equals: startContainer of the Selection's last Range must match the added Range expected Element node <div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ -</p><p id="b" s... but got Element node <html><head><title>Selection.addRange() tests</title> -<me... +FAIL Range 16 [document.documentElement, 1, document.documentElement, 2] followed by Range 37 [testDiv, 0, comment, 5]: second addRange() must result in the selection's last range having the specified endpoints assert_equals: endContainer of the Selection's last Range must match the added Range expected Comment node <!--Alphabet soup?--> but got Element node <div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ +</p><p id="b" s... FAIL Range 16 [document.documentElement, 1, document.documentElement, 2] followed by Range 37 [testDiv, 0, comment, 5]: second addRange() must result in the selection's last range being the same object we added assert_equals: getRangeAt(rangeCount - 1) must return the same object we added expected object "Äb̈c̈d̈ëf̈g̈ḧ Ijklmnop QrstuvwxYzabcdefGhijklmn" but got object "Äb̈c̈d̈ëf̈g̈ḧ Ijklmnop -QrstuvwxYzabcdefGhijklmn - - - - - -"use strict"; - -testAddRangeSubSet(16, 20); -testDiv.style.display = "none"; -" +QrstuvwxYzabcdefGhijklmn" FAIL Range 16 [document.documentElement, 1, document.documentElement, 2] followed by Range 37 [testDiv, 0, comment, 5]: modifying the second added range must modify the Selection's last Range assert_equals: After mutating the second added Range, startContainer of the Selection's last Range must match the added Range expected Text node "Äb̈c̈d̈ëf̈g̈ḧ -" but got Element node <html><head><title>Selection.addRange() tests</title> -<me... +" but got Element node <div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ +</p><p id="b" s... FAIL Range 16 [document.documentElement, 1, document.documentElement, 2] followed by Range 37 [testDiv, 0, comment, 5]: modifying the Selection's last Range must modify the second added Range assert_equals: After second addRange(), after mutating the Selection's last Range, startOffset of the Selection's last Range must match the added Range expected 0 but got 6 PASS Range 16 [document.documentElement, 1, document.documentElement, 2] followed by Range 38 [paras[2].firstChild, 4, comment, 2]: first addRange() must not throw exceptions or modify the range it's given PASS Range 16 [document.documentElement, 1, document.documentElement, 2] followed by Range 38 [paras[2].firstChild, 4, comment, 2]: first addRange() must result in rangeCount being 1 @@ -989,24 +726,10 @@ PASS Range 16 [document.documentElement, 1, document.documentElement, 2] followed by Range 38 [paras[2].firstChild, 4, comment, 2]: modifying the Selection's last Range must modify the first added Range PASS Range 16 [document.documentElement, 1, document.documentElement, 2] 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 16 [document.documentElement, 1, document.documentElement, 2] followed by Range 38 [paras[2].firstChild, 4, comment, 2]: second addRange() must result in rangeCount being 1 -FAIL Range 16 [document.documentElement, 1, document.documentElement, 2] followed by Range 38 [paras[2].firstChild, 4, comment, 2]: second addRange() must result in the selection's last range having the specified endpoints assert_equals: startContainer of the Selection's last Range must match the added Range expected Text node "Qrstuvwx" but got Element node <html><head><title>Selection.addRange() tests</title> -<me... -FAIL Range 16 [document.documentElement, 1, document.documentElement, 2] followed by Range 38 [paras[2].firstChild, 4, comment, 2]: second addRange() must result in the selection's last range being the same object we added assert_equals: getRangeAt(rangeCount - 1) must return the same object we added expected object "uvwxYzabcdefGhijklmn" but got object "Äb̈c̈d̈ëf̈g̈ḧ -Ijklmnop -QrstuvwxYzabcdefGhijklmn - - - - - -"use strict"; - -testAddRangeSubSet(16, 20); -testDiv.style.display = "none"; +FAIL Range 16 [document.documentElement, 1, document.documentElement, 2] followed by Range 38 [paras[2].firstChild, 4, comment, 2]: second addRange() must result in the selection's last range having the specified endpoints assert_equals: startContainer of the Selection's last Range must match the added Range expected Text node "Qrstuvwx" but got Text node "Äb̈c̈d̈ëf̈g̈ḧ " -FAIL Range 16 [document.documentElement, 1, document.documentElement, 2] followed by Range 38 [paras[2].firstChild, 4, comment, 2]: modifying the second added range must modify the Selection's last Range assert_equals: After mutating the second added Range, startContainer of the Selection's last Range must match the added Range expected Text node "Äb̈c̈d̈ëf̈g̈ḧ -" but got Element node <html><head><title>Selection.addRange() tests</title> -<me... +FAIL Range 16 [document.documentElement, 1, document.documentElement, 2] followed by Range 38 [paras[2].firstChild, 4, comment, 2]: second addRange() must result in the selection's last range being the same object we added assert_equals: getRangeAt(rangeCount - 1) must return the same object we added expected object "uvwxYzabcdefGhijklmn" but got object "" +FAIL Range 16 [document.documentElement, 1, document.documentElement, 2] followed by Range 38 [paras[2].firstChild, 4, comment, 2]: modifying the second added range must modify the Selection's last Range assert_equals: After mutating the second added Range, startOffset of the Selection's last Range must match the added Range expected 0 but got 6 FAIL Range 16 [document.documentElement, 1, document.documentElement, 2] followed by Range 38 [paras[2].firstChild, 4, comment, 2]: modifying the Selection's last Range must modify the second added Range assert_equals: After second addRange(), after mutating the Selection's last Range, startOffset of the Selection's last Range must match the added Range expected 0 but got 6 PASS Range 16 [document.documentElement, 1, document.documentElement, 2] followed by Range 39 [paras[3], 1, comment, 8]: first addRange() must not throw exceptions or modify the range it's given PASS Range 16 [document.documentElement, 1, document.documentElement, 2] followed by Range 39 [paras[3], 1, comment, 8]: first addRange() must result in rangeCount being 1 @@ -1016,24 +739,10 @@ PASS Range 16 [document.documentElement, 1, document.documentElement, 2] followed by Range 39 [paras[3], 1, comment, 8]: modifying the Selection's last Range must modify the first added Range PASS Range 16 [document.documentElement, 1, document.documentElement, 2] followed by Range 39 [paras[3], 1, comment, 8]: second addRange() must not throw exceptions or modify the range it's given PASS Range 16 [document.documentElement, 1, document.documentElement, 2] followed by Range 39 [paras[3], 1, comment, 8]: second addRange() must result in rangeCount being 1 -FAIL Range 16 [document.documentElement, 1, document.documentElement, 2] followed by Range 39 [paras[3], 1, comment, 8]: second addRange() must result in the selection's last range having the specified endpoints assert_equals: startContainer of the Selection's last Range must match the added Range expected Element node <p id="d" style="display:none">Yzabcdef</p> but got Element node <html><head><title>Selection.addRange() tests</title> -<me... -FAIL Range 16 [document.documentElement, 1, document.documentElement, 2] followed by Range 39 [paras[3], 1, comment, 8]: second addRange() must result in the selection's last range being the same object we added assert_equals: getRangeAt(rangeCount - 1) must return the same object we added expected object "Ghijklmn" but got object "Äb̈c̈d̈ëf̈g̈ḧ -Ijklmnop -QrstuvwxYzabcdefGhijklmn - - - - - -"use strict"; - -testAddRangeSubSet(16, 20); -testDiv.style.display = "none"; +FAIL Range 16 [document.documentElement, 1, document.documentElement, 2] followed by Range 39 [paras[3], 1, comment, 8]: second addRange() must result in the selection's last range having the specified endpoints assert_equals: startContainer of the Selection's last Range must match the added Range expected Element node <p id="d" style="display:none">Yzabcdef</p> but got Text node "Äb̈c̈d̈ëf̈g̈ḧ " -FAIL Range 16 [document.documentElement, 1, document.documentElement, 2] followed by Range 39 [paras[3], 1, comment, 8]: modifying the second added range must modify the Selection's last Range assert_equals: After mutating the second added Range, startContainer of the Selection's last Range must match the added Range expected Text node "Äb̈c̈d̈ëf̈g̈ḧ -" but got Element node <html><head><title>Selection.addRange() tests</title> -<me... +FAIL Range 16 [document.documentElement, 1, document.documentElement, 2] followed by Range 39 [paras[3], 1, comment, 8]: second addRange() must result in the selection's last range being the same object we added assert_equals: getRangeAt(rangeCount - 1) must return the same object we added expected object "Ghijklmn" but got object "" +FAIL Range 16 [document.documentElement, 1, document.documentElement, 2] followed by Range 39 [paras[3], 1, comment, 8]: modifying the second added range must modify the Selection's last Range assert_equals: After mutating the second added Range, startOffset of the Selection's last Range must match the added Range expected 0 but got 6 FAIL Range 16 [document.documentElement, 1, document.documentElement, 2] followed by Range 39 [paras[3], 1, comment, 8]: modifying the Selection's last Range must modify the second added Range assert_equals: After second addRange(), after mutating the Selection's last Range, startOffset of the Selection's last Range must match the added Range expected 0 but got 6 PASS Range 16 [document.documentElement, 1, document.documentElement, 2] followed by Range 40 [foreignDoc, 0, foreignDoc, 0]: first addRange() must not throw exceptions or modify the range it's given PASS Range 16 [document.documentElement, 1, document.documentElement, 2] followed by Range 40 [foreignDoc, 0, foreignDoc, 0]: first addRange() must result in rangeCount being 1 @@ -1301,9 +1010,9 @@ PASS Range 17 [document.head, 1, document.head, 1] followed by Range 2 [paras[0].firstChild, 2, paras[0].firstChild, 8]: modifying the Selection's last Range must modify the first added Range PASS Range 17 [document.head, 1, document.head, 1] followed by Range 2 [paras[0].firstChild, 2, paras[0].firstChild, 8]: second addRange() must not throw exceptions or modify the range it's given PASS Range 17 [document.head, 1, document.head, 1] followed by Range 2 [paras[0].firstChild, 2, paras[0].firstChild, 8]: second addRange() must result in rangeCount being 1 -FAIL Range 17 [document.head, 1, document.head, 1] followed by Range 2 [paras[0].firstChild, 2, paras[0].firstChild, 8]: second addRange() must result in the selection's last range having the specified endpoints assert_equals: startOffset of the Selection's last Range must match the added Range expected 2 but got 6 -FAIL Range 17 [document.head, 1, document.head, 1] followed by Range 2 [paras[0].firstChild, 2, paras[0].firstChild, 8]: second addRange() must result in the selection's last range being the same object we added assert_equals: getRangeAt(rangeCount - 1) must return the same object we added expected object "b̈c̈d̈" but got object "" -FAIL Range 17 [document.head, 1, document.head, 1] followed by Range 2 [paras[0].firstChild, 2, paras[0].firstChild, 8]: modifying the second added range must modify the Selection's last Range assert_equals: After mutating the second added Range, startOffset of the Selection's last Range must match the added Range expected 0 but got 6 +PASS Range 17 [document.head, 1, document.head, 1] followed by Range 2 [paras[0].firstChild, 2, paras[0].firstChild, 8]: second addRange() must result in the selection's last range having the specified endpoints +FAIL Range 17 [document.head, 1, document.head, 1] followed by Range 2 [paras[0].firstChild, 2, paras[0].firstChild, 8]: second addRange() must result in the selection's last range being the same object we added assert_equals: getRangeAt(rangeCount - 1) must return the same object we added expected object "b̈c̈d̈" but got object "b̈c̈d̈" +FAIL Range 17 [document.head, 1, document.head, 1] followed by Range 2 [paras[0].firstChild, 2, paras[0].firstChild, 8]: modifying the second added range must modify the Selection's last Range assert_equals: After mutating the second added Range, startOffset of the Selection's last Range must match the added Range expected 0 but got 2 FAIL Range 17 [document.head, 1, document.head, 1] followed by Range 2 [paras[0].firstChild, 2, paras[0].firstChild, 8]: modifying the Selection's last Range must modify the second added Range assert_equals: After second addRange(), after mutating the Selection's last Range, startOffset of the Selection's last Range must match the added Range expected 0 but got 6 PASS Range 17 [document.head, 1, document.head, 1] followed by Range 3 [paras[0].firstChild, 2, paras[0].firstChild, 9]: first addRange() must not throw exceptions or modify the range it's given PASS Range 17 [document.head, 1, document.head, 1] followed by Range 3 [paras[0].firstChild, 2, paras[0].firstChild, 9]: first addRange() must result in rangeCount being 1 @@ -1313,9 +1022,9 @@ PASS Range 17 [document.head, 1, document.head, 1] followed by Range 3 [paras[0].firstChild, 2, paras[0].firstChild, 9]: modifying the Selection's last Range must modify the first added Range PASS Range 17 [document.head, 1, document.head, 1] followed by Range 3 [paras[0].firstChild, 2, paras[0].firstChild, 9]: second addRange() must not throw exceptions or modify the range it's given PASS Range 17 [document.head, 1, document.head, 1] followed by Range 3 [paras[0].firstChild, 2, paras[0].firstChild, 9]: second addRange() must result in rangeCount being 1 -FAIL Range 17 [document.head, 1, document.head, 1] followed by Range 3 [paras[0].firstChild, 2, paras[0].firstChild, 9]: second addRange() must result in the selection's last range having the specified endpoints assert_equals: startOffset of the Selection's last Range must match the added Range expected 2 but got 6 -FAIL Range 17 [document.head, 1, document.head, 1] followed by Range 3 [paras[0].firstChild, 2, paras[0].firstChild, 9]: second addRange() must result in the selection's last range being the same object we added assert_equals: getRangeAt(rangeCount - 1) must return the same object we added expected object "b̈c̈d̈e" but got object "" -FAIL Range 17 [document.head, 1, document.head, 1] followed by Range 3 [paras[0].firstChild, 2, paras[0].firstChild, 9]: modifying the second added range must modify the Selection's last Range assert_equals: After mutating the second added Range, startOffset of the Selection's last Range must match the added Range expected 0 but got 6 +PASS Range 17 [document.head, 1, document.head, 1] followed by Range 3 [paras[0].firstChild, 2, paras[0].firstChild, 9]: second addRange() must result in the selection's last range having the specified endpoints +FAIL Range 17 [document.head, 1, document.head, 1] followed by Range 3 [paras[0].firstChild, 2, paras[0].firstChild, 9]: second addRange() must result in the selection's last range being the same object we added assert_equals: getRangeAt(rangeCount - 1) must return the same object we added expected object "b̈c̈d̈e" but got object "b̈c̈d̈e" +FAIL Range 17 [document.head, 1, document.head, 1] followed by Range 3 [paras[0].firstChild, 2, paras[0].firstChild, 9]: modifying the second added range must modify the Selection's last Range assert_equals: After mutating the second added Range, startOffset of the Selection's last Range must match the added Range expected 0 but got 2 FAIL Range 17 [document.head, 1, document.head, 1] followed by Range 3 [paras[0].firstChild, 2, paras[0].firstChild, 9]: modifying the Selection's last Range must modify the second added Range assert_equals: After second addRange(), after mutating the Selection's last Range, startOffset of the Selection's last Range must match the added Range expected 0 but got 6 PASS Range 17 [document.head, 1, document.head, 1] followed by Range 4 [paras[1].firstChild, 0, paras[1].firstChild, 0]: first addRange() must not throw exceptions or modify the range it's given PASS Range 17 [document.head, 1, document.head, 1] followed by Range 4 [paras[1].firstChild, 0, paras[1].firstChild, 0]: first addRange() must result in rangeCount being 1 @@ -1460,15 +1169,13 @@ PASS Range 17 [document.head, 1, document.head, 1] followed by Range 14 [document.documentElement, 0, document.documentElement, 1]: modifying the Selection's last Range must modify the first added Range PASS Range 17 [document.head, 1, document.head, 1] followed by Range 14 [document.documentElement, 0, document.documentElement, 1]: second addRange() must not throw exceptions or modify the range it's given PASS Range 17 [document.head, 1, document.head, 1] followed by Range 14 [document.documentElement, 0, document.documentElement, 1]: second addRange() must result in rangeCount being 1 -PASS Range 17 [document.head, 1, document.head, 1] followed by Range 14 [document.documentElement, 0, document.documentElement, 1]: second addRange() must result in the selection's last range having the specified endpoints +FAIL Range 17 [document.head, 1, document.head, 1] followed by Range 14 [document.documentElement, 0, document.documentElement, 1]: second addRange() must result in the selection's last range having the specified endpoints assert_equals: startContainer of the Selection's last Range must match the added Range expected Element node <html><head><title>Selection.addRange() tests</title> +<me... but got Text node "Äb̈c̈d̈ëf̈g̈ḧ +" FAIL Range 17 [document.head, 1, document.head, 1] followed by Range 14 [document.documentElement, 0, document.documentElement, 1]: second addRange() must result in the selection's last range being the same object we added assert_equals: getRangeAt(rangeCount - 1) must return the same object we added expected object "Selection.addRange() tests -" but got object "Selection.addRange() tests - -" -FAIL Range 17 [document.head, 1, document.head, 1] followed by Range 14 [document.documentElement, 0, document.documentElement, 1]: modifying the second added range must modify the Selection's last Range assert_equals: After mutating the second added Range, startContainer of the Selection's last Range must match the added Range expected Text node "Äb̈c̈d̈ëf̈g̈ḧ -" but got Element node <html><head><title>Selection.addRange() tests</title> -<me... +" but got object "" +FAIL Range 17 [document.head, 1, document.head, 1] followed by Range 14 [document.documentElement, 0, document.documentElement, 1]: modifying the second added range must modify the Selection's last Range assert_equals: After mutating the second added Range, startOffset of the Selection's last Range must match the added Range expected 0 but got 6 FAIL Range 17 [document.head, 1, document.head, 1] followed by Range 14 [document.documentElement, 0, document.documentElement, 1]: modifying the Selection's last Range must modify the second added Range assert_equals: After second addRange(), after mutating the Selection's last Range, startOffset of the Selection's last Range must match the added Range expected 0 but got 6 PASS Range 17 [document.head, 1, document.head, 1] followed by Range 15 [document.documentElement, 0, document.documentElement, 2]: first addRange() must not throw exceptions or modify the range it's given PASS Range 17 [document.head, 1, document.head, 1] followed by Range 15 [document.documentElement, 0, document.documentElement, 2]: first addRange() must result in rangeCount being 1 @@ -1520,9 +1227,7 @@ PASS Range 17 [document.head, 1, document.head, 1] followed by Range 16 [document.documentElement, 1, document.documentElement, 2]: modifying the Selection's last Range must modify the first added Range PASS Range 17 [document.head, 1, document.head, 1] followed by Range 16 [document.documentElement, 1, document.documentElement, 2]: second addRange() must not throw exceptions or modify the range it's given PASS Range 17 [document.head, 1, document.head, 1] followed by Range 16 [document.documentElement, 1, document.documentElement, 2]: second addRange() must result in rangeCount being 1 -FAIL Range 17 [document.head, 1, document.head, 1] followed by Range 16 [document.documentElement, 1, document.documentElement, 2]: second addRange() must result in the selection's last range having the specified endpoints assert_equals: startContainer of the Selection's last Range must match the added Range expected Element node <html><head><title>Selection.addRange() tests</title> -<me... but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" +PASS Range 17 [document.head, 1, document.head, 1] followed by Range 16 [document.documentElement, 1, document.documentElement, 2]: second addRange() must result in the selection's last range having the specified endpoints FAIL Range 17 [document.head, 1, document.head, 1] followed by Range 16 [document.documentElement, 1, document.documentElement, 2]: second addRange() must result in the selection's last range being the same object we added assert_equals: getRangeAt(rangeCount - 1) must return the same object we added expected object "Äb̈c̈d̈ëf̈g̈ḧ Ijklmnop QrstuvwxYzabcdefGhijklmn @@ -1535,8 +1240,22 @@ testAddRangeSubSet(16, 20); testDiv.style.display = "none"; -" but got object "" -FAIL Range 17 [document.head, 1, document.head, 1] followed by Range 16 [document.documentElement, 1, document.documentElement, 2]: modifying the second added range must modify the Selection's last Range assert_equals: After mutating the second added Range, startOffset of the Selection's last Range must match the added Range expected 0 but got 6 +" but got object "Äb̈c̈d̈ëf̈g̈ḧ +Ijklmnop +QrstuvwxYzabcdefGhijklmn + + + + + +"use strict"; + +testAddRangeSubSet(16, 20); +testDiv.style.display = "none"; +" +FAIL Range 17 [document.head, 1, document.head, 1] followed by Range 16 [document.documentElement, 1, document.documentElement, 2]: modifying the second added range must modify the Selection's last Range assert_equals: After mutating the second added Range, startContainer of the Selection's last Range must match the added Range expected Text node "Äb̈c̈d̈ëf̈g̈ḧ +" but got Element node <html><head><title>Selection.addRange() tests</title> +<me... FAIL Range 17 [document.head, 1, document.head, 1] followed by Range 16 [document.documentElement, 1, document.documentElement, 2]: modifying the Selection's last Range must modify the second added Range assert_equals: After second addRange(), after mutating the Selection's last Range, startOffset of the Selection's last Range must match the added Range expected 0 but got 6 PASS Range 17 [document.head, 1, document.head, 1] followed by Range 17 [document.head, 1, document.head, 1]: first addRange() must not throw exceptions or modify the range it's given PASS Range 17 [document.head, 1, document.head, 1] followed by Range 17 [document.head, 1, document.head, 1]: first addRange() must result in rangeCount being 1 @@ -1546,11 +1265,11 @@ PASS Range 17 [document.head, 1, document.head, 1] followed by Range 17 [document.head, 1, document.head, 1]: modifying the Selection's last Range must modify the first added Range PASS Range 17 [document.head, 1, document.head, 1] followed by Range 17 [document.head, 1, document.head, 1]: second addRange() must not throw exceptions or modify the range it's given PASS Range 17 [document.head, 1, document.head, 1] followed by Range 17 [document.head, 1, document.head, 1]: second addRange() must result in rangeCount being 1 -PASS Range 17 [document.head, 1, document.head, 1] followed by Range 17 [document.head, 1, document.head, 1]: second addRange() must result in the selection's last range having the specified endpoints +FAIL Range 17 [document.head, 1, document.head, 1] followed by Range 17 [document.head, 1, document.head, 1]: second addRange() must result in the selection's last range having the specified endpoints assert_equals: startContainer of the Selection's last Range must match the added Range expected Element node <head><title>Selection.addRange() tests</title> +<meta nam... but got Text node "Äb̈c̈d̈ëf̈g̈ḧ +" FAIL Range 17 [document.head, 1, document.head, 1] followed by Range 17 [document.head, 1, document.head, 1]: second addRange() must result in the selection's last range being the same object we added assert_equals: getRangeAt(rangeCount - 1) must return the same object we added expected object "" but got object "" -FAIL Range 17 [document.head, 1, document.head, 1] followed by Range 17 [document.head, 1, document.head, 1]: modifying the second added range must modify the Selection's last Range assert_equals: After mutating the second added Range, startContainer of the Selection's last Range must match the added Range expected Text node "Äb̈c̈d̈ëf̈g̈ḧ -" but got Element node <head><title>Selection.addRange() tests</title> -<meta nam... +FAIL Range 17 [document.head, 1, document.head, 1] followed by Range 17 [document.head, 1, document.head, 1]: modifying the second added range must modify the Selection's last Range assert_equals: After mutating the second added Range, startOffset of the Selection's last Range must match the added Range expected 0 but got 6 FAIL Range 17 [document.head, 1, document.head, 1] followed by Range 17 [document.head, 1, document.head, 1]: modifying the Selection's last Range must modify the second added Range assert_equals: After second addRange(), after mutating the Selection's last Range, startOffset of the Selection's last Range must match the added Range expected 0 but got 6 PASS Range 17 [document.head, 1, document.head, 1] followed by Range 18 [document.body, 0, document.body, 1]: first addRange() must not throw exceptions or modify the range it's given PASS Range 17 [document.head, 1, document.head, 1] followed by Range 18 [document.body, 0, document.body, 1]: first addRange() must result in rangeCount being 1 @@ -1560,13 +1279,15 @@ PASS Range 17 [document.head, 1, document.head, 1] followed by Range 18 [document.body, 0, document.body, 1]: modifying the Selection's last Range must modify the first added Range PASS Range 17 [document.head, 1, document.head, 1] followed by Range 18 [document.body, 0, document.body, 1]: second addRange() must not throw exceptions or modify the range it's given PASS Range 17 [document.head, 1, document.head, 1] followed by Range 18 [document.body, 0, document.body, 1]: second addRange() must result in rangeCount being 1 -FAIL Range 17 [document.head, 1, document.head, 1] followed by Range 18 [document.body, 0, document.body, 1]: second addRange() must result in the selection's last range having the specified endpoints assert_equals: startContainer of the Selection's last Range must match the added Range expected Element node <body><div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ -</p><p id... but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" +PASS Range 17 [document.head, 1, document.head, 1] followed by Range 18 [document.body, 0, document.body, 1]: second addRange() must result in the selection's last range having the specified endpoints FAIL Range 17 [document.head, 1, document.head, 1] followed by Range 18 [document.body, 0, document.body, 1]: second addRange() must result in the selection's last range being the same object we added assert_equals: getRangeAt(rangeCount - 1) must return the same object we added expected object "Äb̈c̈d̈ëf̈g̈ḧ Ijklmnop -QrstuvwxYzabcdefGhijklmn" but got object "" -FAIL Range 17 [document.head, 1, document.head, 1] followed by Range 18 [document.body, 0, document.body, 1]: modifying the second added range must modify the Selection's last Range assert_equals: After mutating the second added Range, startOffset of the Selection's last Range must match the added Range expected 0 but got 6 +QrstuvwxYzabcdefGhijklmn" but got object "Äb̈c̈d̈ëf̈g̈ḧ +Ijklmnop +QrstuvwxYzabcdefGhijklmn" +FAIL Range 17 [document.head, 1, document.head, 1] followed by Range 18 [document.body, 0, document.body, 1]: modifying the second added range must modify the Selection's last Range assert_equals: After mutating the second added Range, startContainer of the Selection's last Range must match the added Range expected Text node "Äb̈c̈d̈ëf̈g̈ḧ +" but got Element node <body><div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ +</p><p id... FAIL Range 17 [document.head, 1, document.head, 1] followed by Range 18 [document.body, 0, document.body, 1]: modifying the Selection's last Range must modify the second added Range assert_equals: After second addRange(), after mutating the Selection's last Range, startOffset of the Selection's last Range must match the added Range expected 0 but got 6 PASS Range 17 [document.head, 1, document.head, 1] followed by Range 19 [foreignDoc.documentElement, 0, foreignDoc.documentElement, 1]: first addRange() must not throw exceptions or modify the range it's given PASS Range 17 [document.head, 1, document.head, 1] followed by Range 19 [foreignDoc.documentElement, 0, foreignDoc.documentElement, 1]: first addRange() must result in rangeCount being 1 @@ -1629,12 +1350,13 @@ PASS Range 17 [document.head, 1, document.head, 1] followed by Range 23 [paras[0], 0, paras[0], 1]: modifying the Selection's last Range must modify the first added Range PASS Range 17 [document.head, 1, document.head, 1] followed by Range 23 [paras[0], 0, paras[0], 1]: second addRange() must not throw exceptions or modify the range it's given PASS Range 17 [document.head, 1, document.head, 1] followed by Range 23 [paras[0], 0, paras[0], 1]: second addRange() must result in rangeCount being 1 -FAIL Range 17 [document.head, 1, document.head, 1] followed by Range 23 [paras[0], 0, paras[0], 1]: second addRange() must result in the selection's last range having the specified endpoints assert_equals: startContainer of the Selection's last Range must match the added Range expected Element node <p id="a">Äb̈c̈d̈ëf̈g̈ḧ -</p> but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" +PASS Range 17 [document.head, 1, document.head, 1] followed by Range 23 [paras[0], 0, paras[0], 1]: second addRange() must result in the selection's last range having the specified endpoints FAIL Range 17 [document.head, 1, document.head, 1] followed by Range 23 [paras[0], 0, paras[0], 1]: second addRange() must result in the selection's last range being the same object we added assert_equals: getRangeAt(rangeCount - 1) must return the same object we added expected object "Äb̈c̈d̈ëf̈g̈ḧ -" but got object "" -FAIL Range 17 [document.head, 1, document.head, 1] followed by Range 23 [paras[0], 0, paras[0], 1]: modifying the second added range must modify the Selection's last Range assert_equals: After mutating the second added Range, startOffset of the Selection's last Range must match the added Range expected 0 but got 6 +" but got object "Äb̈c̈d̈ëf̈g̈ḧ +" +FAIL Range 17 [document.head, 1, document.head, 1] followed by Range 23 [paras[0], 0, paras[0], 1]: modifying the second added range must modify the Selection's last Range assert_equals: After mutating the second added Range, startContainer of the Selection's last Range must match the added Range expected Text node "Äb̈c̈d̈ëf̈g̈ḧ +" but got Element node <p id="a">Äb̈c̈d̈ëf̈g̈ḧ +</p> FAIL Range 17 [document.head, 1, document.head, 1] followed by Range 23 [paras[0], 0, paras[0], 1]: modifying the Selection's last Range must modify the second added Range assert_equals: After second addRange(), after mutating the Selection's last Range, startOffset of the Selection's last Range must match the added Range expected 0 but got 6 PASS Range 17 [document.head, 1, document.head, 1] followed by Range 24 [detachedPara1, 0, detachedPara1, 0]: first addRange() must not throw exceptions or modify the range it's given PASS Range 17 [document.head, 1, document.head, 1] followed by Range 24 [detachedPara1, 0, detachedPara1, 0]: first addRange() must result in rangeCount being 1 @@ -1670,10 +1392,13 @@ PASS Range 17 [document.head, 1, document.head, 1] followed by Range 26 [paras[0].firstChild, 0, paras[1].firstChild, 0]: modifying the Selection's last Range must modify the first added Range PASS Range 17 [document.head, 1, document.head, 1] followed by Range 26 [paras[0].firstChild, 0, paras[1].firstChild, 0]: second addRange() must not throw exceptions or modify the range it's given PASS Range 17 [document.head, 1, document.head, 1] followed by Range 26 [paras[0].firstChild, 0, paras[1].firstChild, 0]: second addRange() must result in rangeCount being 1 -FAIL Range 17 [document.head, 1, document.head, 1] followed by Range 26 [paras[0].firstChild, 0, paras[1].firstChild, 0]: second addRange() must result in the selection's last range having the specified endpoints assert_equals: startOffset of the Selection's last Range must match the added Range expected 0 but got 6 +PASS Range 17 [document.head, 1, document.head, 1] followed by Range 26 [paras[0].firstChild, 0, paras[1].firstChild, 0]: second addRange() must result in the selection's last range having the specified endpoints FAIL Range 17 [document.head, 1, document.head, 1] followed by Range 26 [paras[0].firstChild, 0, paras[1].firstChild, 0]: second addRange() must result in the selection's last range being the same object we added assert_equals: getRangeAt(rangeCount - 1) must return the same object we added expected object "Äb̈c̈d̈ëf̈g̈ḧ -" but got object "" -FAIL Range 17 [document.head, 1, document.head, 1] followed by Range 26 [paras[0].firstChild, 0, paras[1].firstChild, 0]: modifying the second added range must modify the Selection's last Range assert_equals: After mutating the second added Range, startOffset of the Selection's last Range must match the added Range expected 0 but got 6 +" but got object "Äb̈c̈d̈ëf̈g̈ḧ +" +FAIL Range 17 [document.head, 1, document.head, 1] followed by Range 26 [paras[0].firstChild, 0, paras[1].firstChild, 0]: modifying the second added range must modify the Selection's last Range assert_equals: After mutating the second added Range, endContainer of the Selection's last Range must match the added Range expected Text node "Äb̈c̈d̈ëf̈g̈ḧ +" but got Text node "Ijklmnop +" FAIL Range 17 [document.head, 1, document.head, 1] followed by Range 26 [paras[0].firstChild, 0, paras[1].firstChild, 0]: modifying the Selection's last Range must modify the second added Range assert_equals: After second addRange(), after mutating the Selection's last Range, startOffset of the Selection's last Range must match the added Range expected 0 but got 6 PASS Range 17 [document.head, 1, document.head, 1] followed by Range 27 [paras[0].firstChild, 0, paras[1].firstChild, 8]: first addRange() must not throw exceptions or modify the range it's given PASS Range 17 [document.head, 1, document.head, 1] followed by Range 27 [paras[0].firstChild, 0, paras[1].firstChild, 8]: first addRange() must result in rangeCount being 1 @@ -1683,10 +1408,13 @@ PASS Range 17 [document.head, 1, document.head, 1] followed by Range 27 [paras[0].firstChild, 0, paras[1].firstChild, 8]: modifying the Selection's last Range must modify the first added Range PASS Range 17 [document.head, 1, document.head, 1] followed by Range 27 [paras[0].firstChild, 0, paras[1].firstChild, 8]: second addRange() must not throw exceptions or modify the range it's given PASS Range 17 [document.head, 1, document.head, 1] followed by Range 27 [paras[0].firstChild, 0, paras[1].firstChild, 8]: second addRange() must result in rangeCount being 1 -FAIL Range 17 [document.head, 1, document.head, 1] followed by Range 27 [paras[0].firstChild, 0, paras[1].firstChild, 8]: second addRange() must result in the selection's last range having the specified endpoints assert_equals: startOffset of the Selection's last Range must match the added Range expected 0 but got 6 +PASS Range 17 [document.head, 1, document.head, 1] followed by Range 27 [paras[0].firstChild, 0, paras[1].firstChild, 8]: second addRange() must result in the selection's last range having the specified endpoints FAIL Range 17 [document.head, 1, document.head, 1] followed by Range 27 [paras[0].firstChild, 0, paras[1].firstChild, 8]: second addRange() must result in the selection's last range being the same object we added assert_equals: getRangeAt(rangeCount - 1) must return the same object we added expected object "Äb̈c̈d̈ëf̈g̈ḧ -Ijklmnop" but got object "" -FAIL Range 17 [document.head, 1, document.head, 1] followed by Range 27 [paras[0].firstChild, 0, paras[1].firstChild, 8]: modifying the second added range must modify the Selection's last Range assert_equals: After mutating the second added Range, startOffset of the Selection's last Range must match the added Range expected 0 but got 6 +Ijklmnop" but got object "Äb̈c̈d̈ëf̈g̈ḧ +Ijklmnop" +FAIL Range 17 [document.head, 1, document.head, 1] followed by Range 27 [paras[0].firstChild, 0, paras[1].firstChild, 8]: modifying the second added range must modify the Selection's last Range assert_equals: After mutating the second added Range, endContainer of the Selection's last Range must match the added Range expected Text node "Äb̈c̈d̈ëf̈g̈ḧ +" but got Text node "Ijklmnop +" FAIL Range 17 [document.head, 1, document.head, 1] followed by Range 27 [paras[0].firstChild, 0, paras[1].firstChild, 8]: modifying the Selection's last Range must modify the second added Range assert_equals: After second addRange(), after mutating the Selection's last Range, startOffset of the Selection's last Range must match the added Range expected 0 but got 6 PASS Range 17 [document.head, 1, document.head, 1] followed by Range 28 [paras[0].firstChild, 3, paras[3], 1]: first addRange() must not throw exceptions or modify the range it's given PASS Range 17 [document.head, 1, document.head, 1] followed by Range 28 [paras[0].firstChild, 3, paras[3], 1]: first addRange() must result in rangeCount being 1 @@ -1696,11 +1424,13 @@ PASS Range 17 [document.head, 1, document.head, 1] followed by Range 28 [paras[0].firstChild, 3, paras[3], 1]: modifying the Selection's last Range must modify the first added Range PASS Range 17 [document.head, 1, document.head, 1] followed by Range 28 [paras[0].firstChild, 3, paras[3], 1]: second addRange() must not throw exceptions or modify the range it's given PASS Range 17 [document.head, 1, document.head, 1] followed by Range 28 [paras[0].firstChild, 3, paras[3], 1]: second addRange() must result in rangeCount being 1 -FAIL Range 17 [document.head, 1, document.head, 1] followed by Range 28 [paras[0].firstChild, 3, paras[3], 1]: second addRange() must result in the selection's last range having the specified endpoints assert_equals: startOffset of the Selection's last Range must match the added Range expected 3 but got 6 +PASS Range 17 [document.head, 1, document.head, 1] followed by Range 28 [paras[0].firstChild, 3, paras[3], 1]: second addRange() must result in the selection's last range having the specified endpoints FAIL Range 17 [document.head, 1, document.head, 1] followed by Range 28 [paras[0].firstChild, 3, paras[3], 1]: second addRange() must result in the selection's last range being the same object we added assert_equals: getRangeAt(rangeCount - 1) must return the same object we added expected object "̈c̈d̈ëf̈g̈ḧ Ijklmnop -QrstuvwxYzabcdef" but got object "" -FAIL Range 17 [document.head, 1, document.head, 1] followed by Range 28 [paras[0].firstChild, 3, paras[3], 1]: modifying the second added range must modify the Selection's last Range assert_equals: After mutating the second added Range, startOffset of the Selection's last Range must match the added Range expected 0 but got 6 +QrstuvwxYzabcdef" but got object "̈c̈d̈ëf̈g̈ḧ +Ijklmnop +QrstuvwxYzabcdef" +FAIL Range 17 [document.head, 1, document.head, 1] followed by Range 28 [paras[0].firstChild, 3, paras[3], 1]: modifying the second added range must modify the Selection's last Range assert_equals: After mutating the second added Range, startOffset of the Selection's last Range must match the added Range expected 0 but got 3 FAIL Range 17 [document.head, 1, document.head, 1] followed by Range 28 [paras[0].firstChild, 3, paras[3], 1]: modifying the Selection's last Range must modify the second added Range assert_equals: After second addRange(), after mutating the Selection's last Range, startOffset of the Selection's last Range must match the added Range expected 0 but got 6 PASS Range 17 [document.head, 1, document.head, 1] followed by Range 29 [paras[0], 0, paras[0].firstChild, 7]: first addRange() must not throw exceptions or modify the range it's given PASS Range 17 [document.head, 1, document.head, 1] followed by Range 29 [paras[0], 0, paras[0].firstChild, 7]: first addRange() must result in rangeCount being 1 @@ -1710,11 +1440,11 @@ PASS Range 17 [document.head, 1, document.head, 1] followed by Range 29 [paras[0], 0, paras[0].firstChild, 7]: modifying the Selection's last Range must modify the first added Range PASS Range 17 [document.head, 1, document.head, 1] followed by Range 29 [paras[0], 0, paras[0].firstChild, 7]: second addRange() must not throw exceptions or modify the range it's given PASS Range 17 [document.head, 1, document.head, 1] followed by Range 29 [paras[0], 0, paras[0].firstChild, 7]: second addRange() must result in rangeCount being 1 -FAIL Range 17 [document.head, 1, document.head, 1] followed by Range 29 [paras[0], 0, paras[0].firstChild, 7]: second addRange() must result in the selection's last range having the specified endpoints assert_equals: startContainer of the Selection's last Range must match the added Range expected Element node <p id="a">Äb̈c̈d̈ëf̈g̈ḧ -</p> but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -FAIL Range 17 [document.head, 1, document.head, 1] followed by Range 29 [paras[0], 0, paras[0].firstChild, 7]: second addRange() must result in the selection's last range being the same object we added assert_equals: getRangeAt(rangeCount - 1) must return the same object we added expected object "Äb̈c̈d" but got object "" -FAIL Range 17 [document.head, 1, document.head, 1] followed by Range 29 [paras[0], 0, paras[0].firstChild, 7]: modifying the second added range must modify the Selection's last Range assert_equals: After mutating the second added Range, startOffset of the Selection's last Range must match the added Range expected 0 but got 6 +PASS Range 17 [document.head, 1, document.head, 1] followed by Range 29 [paras[0], 0, paras[0].firstChild, 7]: second addRange() must result in the selection's last range having the specified endpoints +FAIL Range 17 [document.head, 1, document.head, 1] followed by Range 29 [paras[0], 0, paras[0].firstChild, 7]: second addRange() must result in the selection's last range being the same object we added assert_equals: getRangeAt(rangeCount - 1) must return the same object we added expected object "Äb̈c̈d" but got object "Äb̈c̈d" +FAIL Range 17 [document.head, 1, document.head, 1] followed by Range 29 [paras[0], 0, paras[0].firstChild, 7]: modifying the second added range must modify the Selection's last Range assert_equals: After mutating the second added Range, startContainer of the Selection's last Range must match the added Range expected Text node "Äb̈c̈d̈ëf̈g̈ḧ +" but got Element node <p id="a">Äb̈c̈d̈ëf̈g̈ḧ +</p> FAIL Range 17 [document.head, 1, document.head, 1] followed by Range 29 [paras[0], 0, paras[0].firstChild, 7]: modifying the Selection's last Range must modify the second added Range assert_equals: After second addRange(), after mutating the Selection's last Range, startOffset of the Selection's last Range must match the added Range expected 0 but got 6 PASS Range 17 [document.head, 1, document.head, 1] followed by Range 30 [testDiv, 2, paras[4], 1]: first addRange() must not throw exceptions or modify the range it's given PASS Range 17 [document.head, 1, document.head, 1] followed by Range 30 [testDiv, 2, paras[4], 1]: first addRange() must result in rangeCount being 1 @@ -1875,13 +1605,16 @@ PASS Range 17 [document.head, 1, document.head, 1] followed by Range 37 [testDiv, 0, comment, 5]: modifying the Selection's last Range must modify the first added Range PASS Range 17 [document.head, 1, document.head, 1] followed by Range 37 [testDiv, 0, comment, 5]: second addRange() must not throw exceptions or modify the range it's given PASS Range 17 [document.head, 1, document.head, 1] followed by Range 37 [testDiv, 0, comment, 5]: second addRange() must result in rangeCount being 1 -FAIL Range 17 [document.head, 1, document.head, 1] followed by Range 37 [testDiv, 0, comment, 5]: second addRange() must result in the selection's last range having the specified endpoints assert_equals: startContainer of the Selection's last Range must match the added Range expected Element node <div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ -</p><p id="b" s... but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" +FAIL Range 17 [document.head, 1, document.head, 1] followed by Range 37 [testDiv, 0, comment, 5]: second addRange() must result in the selection's last range having the specified endpoints assert_equals: endContainer of the Selection's last Range must match the added Range expected Comment node <!--Alphabet soup?--> but got Element node <div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ +</p><p id="b" s... FAIL Range 17 [document.head, 1, document.head, 1] followed by Range 37 [testDiv, 0, comment, 5]: second addRange() must result in the selection's last range being the same object we added assert_equals: getRangeAt(rangeCount - 1) must return the same object we added expected object "Äb̈c̈d̈ëf̈g̈ḧ Ijklmnop -QrstuvwxYzabcdefGhijklmn" but got object "" -FAIL Range 17 [document.head, 1, document.head, 1] followed by Range 37 [testDiv, 0, comment, 5]: modifying the second added range must modify the Selection's last Range assert_equals: After mutating the second added Range, startOffset of the Selection's last Range must match the added Range expected 0 but got 6 +QrstuvwxYzabcdefGhijklmn" but got object "Äb̈c̈d̈ëf̈g̈ḧ +Ijklmnop +QrstuvwxYzabcdefGhijklmn" +FAIL Range 17 [document.head, 1, document.head, 1] followed by Range 37 [testDiv, 0, comment, 5]: modifying the second added range must modify the Selection's last Range assert_equals: After mutating the second added Range, startContainer of the Selection's last Range must match the added Range expected Text node "Äb̈c̈d̈ëf̈g̈ḧ +" but got Element node <div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ +</p><p id="b" s... FAIL Range 17 [document.head, 1, document.head, 1] followed by Range 37 [testDiv, 0, comment, 5]: modifying the Selection's last Range must modify the second added Range assert_equals: After second addRange(), after mutating the Selection's last Range, startOffset of the Selection's last Range must match the added Range expected 0 but got 6 PASS Range 17 [document.head, 1, document.head, 1] followed by Range 38 [paras[2].firstChild, 4, comment, 2]: first addRange() must not throw exceptions or modify the range it's given PASS Range 17 [document.head, 1, document.head, 1] followed by Range 38 [paras[2].firstChild, 4, comment, 2]: first addRange() must result in rangeCount being 1 @@ -2151,15 +1884,9 @@ PASS Range 18 [document.body, 0, document.body, 1] followed by Range 0 [paras[0].firstChild, 0, paras[0].firstChild, 0]: modifying the Selection's last Range must modify the first added Range PASS Range 18 [document.body, 0, document.body, 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 18 [document.body, 0, document.body, 1] followed by Range 0 [paras[0].firstChild, 0, paras[0].firstChild, 0]: second addRange() must result in rangeCount being 1 -FAIL Range 18 [document.body, 0, document.body, 1] followed by Range 0 [paras[0].firstChild, 0, paras[0].firstChild, 0]: second addRange() must result in the selection's last range having the specified endpoints assert_equals: startContainer of the Selection's last Range must match the added Range expected Text node "Äb̈c̈d̈ëf̈g̈ḧ -" but got Element node <body><div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ -</p><p id... -FAIL Range 18 [document.body, 0, document.body, 1] followed by Range 0 [paras[0].firstChild, 0, paras[0].firstChild, 0]: second addRange() must result in the selection's last range being the same object we added assert_equals: getRangeAt(rangeCount - 1) must return the same object we added expected object "" but got object "Äb̈c̈d̈ëf̈g̈ḧ -Ijklmnop -QrstuvwxYzabcdefGhijklmn" -FAIL Range 18 [document.body, 0, document.body, 1] followed by Range 0 [paras[0].firstChild, 0, paras[0].firstChild, 0]: modifying the second added range must modify the Selection's last Range assert_equals: After mutating the second added Range, startContainer of the Selection's last Range must match the added Range expected Text node "Äb̈c̈d̈ëf̈g̈ḧ -" but got Element node <body><div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ -</p><p id... +FAIL Range 18 [document.body, 0, document.body, 1] followed by Range 0 [paras[0].firstChild, 0, paras[0].firstChild, 0]: second addRange() must result in the selection's last range having the specified endpoints assert_equals: startOffset of the Selection's last Range must match the added Range expected 0 but got 6 +FAIL Range 18 [document.body, 0, document.body, 1] followed by Range 0 [paras[0].firstChild, 0, paras[0].firstChild, 0]: second addRange() must result in the selection's last range being the same object we added assert_equals: getRangeAt(rangeCount - 1) must return the same object we added expected object "" but got object "" +FAIL Range 18 [document.body, 0, document.body, 1] followed by Range 0 [paras[0].firstChild, 0, paras[0].firstChild, 0]: modifying the second added range must modify the Selection's last Range assert_equals: After mutating the second added Range, startOffset of the Selection's last Range must match the added Range expected 0 but got 6 FAIL Range 18 [document.body, 0, document.body, 1] followed by Range 0 [paras[0].firstChild, 0, paras[0].firstChild, 0]: modifying the Selection's last Range must modify the second added Range assert_equals: After second addRange(), after mutating the Selection's last Range, startOffset of the Selection's last Range must match the added Range expected 0 but got 6 PASS Range 18 [document.body, 0, document.body, 1] followed by Range 1 [paras[0].firstChild, 0, paras[0].firstChild, 1]: first addRange() must not throw exceptions or modify the range it's given PASS Range 18 [document.body, 0, document.body, 1] followed by Range 1 [paras[0].firstChild, 0, paras[0].firstChild, 1]: first addRange() must result in rangeCount being 1 @@ -2169,15 +1896,9 @@ PASS Range 18 [document.body, 0, document.body, 1] followed by Range 1 [paras[0].firstChild, 0, paras[0].firstChild, 1]: modifying the Selection's last Range must modify the first added Range PASS Range 18 [document.body, 0, document.body, 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 18 [document.body, 0, document.body, 1] followed by Range 1 [paras[0].firstChild, 0, paras[0].firstChild, 1]: second addRange() must result in rangeCount being 1 -FAIL Range 18 [document.body, 0, document.body, 1] followed by Range 1 [paras[0].firstChild, 0, paras[0].firstChild, 1]: second addRange() must result in the selection's last range having the specified endpoints assert_equals: startContainer of the Selection's last Range must match the added Range expected Text node "Äb̈c̈d̈ëf̈g̈ḧ -" but got Element node <body><div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ -</p><p id... -FAIL Range 18 [document.body, 0, document.body, 1] followed by Range 1 [paras[0].firstChild, 0, paras[0].firstChild, 1]: second addRange() must result in the selection's last range being the same object we added assert_equals: getRangeAt(rangeCount - 1) must return the same object we added expected object "A" but got object "Äb̈c̈d̈ëf̈g̈ḧ -Ijklmnop -QrstuvwxYzabcdefGhijklmn" -FAIL Range 18 [document.body, 0, document.body, 1] followed by Range 1 [paras[0].firstChild, 0, paras[0].firstChild, 1]: modifying the second added range must modify the Selection's last Range assert_equals: After mutating the second added Range, startContainer of the Selection's last Range must match the added Range expected Text node "Äb̈c̈d̈ëf̈g̈ḧ -" but got Element node <body><div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ -</p><p id... +FAIL Range 18 [document.body, 0, document.body, 1] followed by Range 1 [paras[0].firstChild, 0, paras[0].firstChild, 1]: second addRange() must result in the selection's last range having the specified endpoints assert_equals: startOffset of the Selection's last Range must match the added Range expected 0 but got 6 +FAIL Range 18 [document.body, 0, document.body, 1] followed by Range 1 [paras[0].firstChild, 0, paras[0].firstChild, 1]: second addRange() must result in the selection's last range being the same object we added assert_equals: getRangeAt(rangeCount - 1) must return the same object we added expected object "A" but got object "" +FAIL Range 18 [document.body, 0, document.body, 1] followed by Range 1 [paras[0].firstChild, 0, paras[0].firstChild, 1]: modifying the second added range must modify the Selection's last Range assert_equals: After mutating the second added Range, startOffset of the Selection's last Range must match the added Range expected 0 but got 6 FAIL Range 18 [document.body, 0, document.body, 1] followed by Range 1 [paras[0].firstChild, 0, paras[0].firstChild, 1]: modifying the Selection's last Range must modify the second added Range assert_equals: After second addRange(), after mutating the Selection's last Range, startOffset of the Selection's last Range must match the added Range expected 0 but got 6 PASS Range 18 [document.body, 0, document.body, 1] followed by Range 2 [paras[0].firstChild, 2, paras[0].firstChild, 8]: first addRange() must not throw exceptions or modify the range it's given PASS Range 18 [document.body, 0, document.body, 1] followed by Range 2 [paras[0].firstChild, 2, paras[0].firstChild, 8]: first addRange() must result in rangeCount being 1 @@ -2187,15 +1908,9 @@ PASS Range 18 [document.body, 0, document.body, 1] followed by Range 2 [paras[0].firstChild, 2, paras[0].firstChild, 8]: modifying the Selection's last Range must modify the first added Range PASS Range 18 [document.body, 0, document.body, 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 18 [document.body, 0, document.body, 1] followed by Range 2 [paras[0].firstChild, 2, paras[0].firstChild, 8]: second addRange() must result in rangeCount being 1 -FAIL Range 18 [document.body, 0, document.body, 1] followed by Range 2 [paras[0].firstChild, 2, paras[0].firstChild, 8]: second addRange() must result in the selection's last range having the specified endpoints assert_equals: startContainer of the Selection's last Range must match the added Range expected Text node "Äb̈c̈d̈ëf̈g̈ḧ -" but got Element node <body><div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ -</p><p id... -FAIL Range 18 [document.body, 0, document.body, 1] followed by Range 2 [paras[0].firstChild, 2, paras[0].firstChild, 8]: second addRange() must result in the selection's last range being the same object we added assert_equals: getRangeAt(rangeCount - 1) must return the same object we added expected object "b̈c̈d̈" but got object "Äb̈c̈d̈ëf̈g̈ḧ -Ijklmnop -QrstuvwxYzabcdefGhijklmn" -FAIL Range 18 [document.body, 0, document.body, 1] followed by Range 2 [paras[0].firstChild, 2, paras[0].firstChild, 8]: modifying the second added range must modify the Selection's last Range assert_equals: After mutating the second added Range, startContainer of the Selection's last Range must match the added Range expected Text node "Äb̈c̈d̈ëf̈g̈ḧ -" but got Element node <body><div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ -</p><p id... +PASS Range 18 [document.body, 0, document.body, 1] followed by Range 2 [paras[0].firstChild, 2, paras[0].firstChild, 8]: second addRange() must result in the selection's last range having the specified endpoints +FAIL Range 18 [document.body, 0, document.body, 1] followed by Range 2 [paras[0].firstChild, 2, paras[0].firstChild, 8]: second addRange() must result in the selection's last range being the same object we added assert_equals: getRangeAt(rangeCount - 1) must return the same object we added expected object "b̈c̈d̈" but got object "b̈c̈d̈" +FAIL Range 18 [document.body, 0, document.body, 1] followed by Range 2 [paras[0].firstChild, 2, paras[0].firstChild, 8]: modifying the second added range must modify the Selection's last Range assert_equals: After mutating the second added Range, startOffset of the Selection's last Range must match the added Range expected 0 but got 2 FAIL Range 18 [document.body, 0, document.body, 1] followed by Range 2 [paras[0].firstChild, 2, paras[0].firstChild, 8]: modifying the Selection's last Range must modify the second added Range assert_equals: After second addRange(), after mutating the Selection's last Range, startOffset of the Selection's last Range must match the added Range expected 0 but got 6 PASS Range 18 [document.body, 0, document.body, 1] followed by Range 3 [paras[0].firstChild, 2, paras[0].firstChild, 9]: first addRange() must not throw exceptions or modify the range it's given PASS Range 18 [document.body, 0, document.body, 1] followed by Range 3 [paras[0].firstChild, 2, paras[0].firstChild, 9]: first addRange() must result in rangeCount being 1 @@ -2205,15 +1920,9 @@ PASS Range 18 [document.body, 0, document.body, 1] followed by Range 3 [paras[0].firstChild, 2, paras[0].firstChild, 9]: modifying the Selection's last Range must modify the first added Range PASS Range 18 [document.body, 0, document.body, 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 18 [document.body, 0, document.body, 1] followed by Range 3 [paras[0].firstChild, 2, paras[0].firstChild, 9]: second addRange() must result in rangeCount being 1 -FAIL Range 18 [document.body, 0, document.body, 1] followed by Range 3 [paras[0].firstChild, 2, paras[0].firstChild, 9]: second addRange() must result in the selection's last range having the specified endpoints assert_equals: startContainer of the Selection's last Range must match the added Range expected Text node "Äb̈c̈d̈ëf̈g̈ḧ -" but got Element node <body><div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ -</p><p id... -FAIL Range 18 [document.body, 0, document.body, 1] followed by Range 3 [paras[0].firstChild, 2, paras[0].firstChild, 9]: second addRange() must result in the selection's last range being the same object we added assert_equals: getRangeAt(rangeCount - 1) must return the same object we added expected object "b̈c̈d̈e" but got object "Äb̈c̈d̈ëf̈g̈ḧ -Ijklmnop -QrstuvwxYzabcdefGhijklmn" -FAIL Range 18 [document.body, 0, document.body, 1] followed by Range 3 [paras[0].firstChild, 2, paras[0].firstChild, 9]: modifying the second added range must modify the Selection's last Range assert_equals: After mutating the second added Range, startContainer of the Selection's last Range must match the added Range expected Text node "Äb̈c̈d̈ëf̈g̈ḧ -" but got Element node <body><div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ -</p><p id... +PASS Range 18 [document.body, 0, document.body, 1] followed by Range 3 [paras[0].firstChild, 2, paras[0].firstChild, 9]: second addRange() must result in the selection's last range having the specified endpoints +FAIL Range 18 [document.body, 0, document.body, 1] followed by Range 3 [paras[0].firstChild, 2, paras[0].firstChild, 9]: second addRange() must result in the selection's last range being the same object we added assert_equals: getRangeAt(rangeCount - 1) must return the same object we added expected object "b̈c̈d̈e" but got object "b̈c̈d̈e" +FAIL Range 18 [document.body, 0, document.body, 1] followed by Range 3 [paras[0].firstChild, 2, paras[0].firstChild, 9]: modifying the second added range must modify the Selection's last Range assert_equals: After mutating the second added Range, startOffset of the Selection's last Range must match the added Range expected 0 but got 2 FAIL Range 18 [document.body, 0, document.body, 1] followed by Range 3 [paras[0].firstChild, 2, paras[0].firstChild, 9]: modifying the Selection's last Range must modify the second added Range assert_equals: After second addRange(), after mutating the Selection's last Range, startOffset of the Selection's last Range must match the added Range expected 0 but got 6 PASS Range 18 [document.body, 0, document.body, 1] followed by Range 4 [paras[1].firstChild, 0, paras[1].firstChild, 0]: first addRange() must not throw exceptions or modify the range it's given PASS Range 18 [document.body, 0, document.body, 1] followed by Range 4 [paras[1].firstChild, 0, paras[1].firstChild, 0]: first addRange() must result in rangeCount being 1 @@ -2224,14 +1933,10 @@ PASS Range 18 [document.body, 0, document.body, 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 18 [document.body, 0, document.body, 1] followed by Range 4 [paras[1].firstChild, 0, paras[1].firstChild, 0]: second addRange() must result in rangeCount being 1 FAIL Range 18 [document.body, 0, document.body, 1] followed by Range 4 [paras[1].firstChild, 0, paras[1].firstChild, 0]: second addRange() must result in the selection's last range having the specified endpoints assert_equals: startContainer of the Selection's last Range must match the added Range expected Text node "Ijklmnop -" but got Element node <body><div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ -</p><p id... -FAIL Range 18 [document.body, 0, document.body, 1] followed by Range 4 [paras[1].firstChild, 0, paras[1].firstChild, 0]: second addRange() must result in the selection's last range being the same object we added assert_equals: getRangeAt(rangeCount - 1) must return the same object we added expected object "" but got object "Äb̈c̈d̈ëf̈g̈ḧ -Ijklmnop -QrstuvwxYzabcdefGhijklmn" -FAIL Range 18 [document.body, 0, document.body, 1] followed by Range 4 [paras[1].firstChild, 0, paras[1].firstChild, 0]: modifying the second added range must modify the Selection's last Range assert_equals: After mutating the second added Range, startContainer of the Selection's last Range must match the added Range expected Text node "Äb̈c̈d̈ëf̈g̈ḧ -" but got Element node <body><div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ -</p><p id... +" but got Text node "Äb̈c̈d̈ëf̈g̈ḧ +" +FAIL Range 18 [document.body, 0, document.body, 1] followed by Range 4 [paras[1].firstChild, 0, paras[1].firstChild, 0]: second addRange() must result in the selection's last range being the same object we added assert_equals: getRangeAt(rangeCount - 1) must return the same object we added expected object "" but got object "" +FAIL Range 18 [document.body, 0, document.body, 1] followed by Range 4 [paras[1].firstChild, 0, paras[1].firstChild, 0]: modifying the second added range must modify the Selection's last Range assert_equals: After mutating the second added Range, startOffset of the Selection's last Range must match the added Range expected 0 but got 6 FAIL Range 18 [document.body, 0, document.body, 1] followed by Range 4 [paras[1].firstChild, 0, paras[1].firstChild, 0]: modifying the Selection's last Range must modify the second added Range assert_equals: After second addRange(), after mutating the Selection's last Range, startOffset of the Selection's last Range must match the added Range expected 0 but got 6 PASS Range 18 [document.body, 0, document.body, 1] followed by Range 5 [paras[1].firstChild, 0, paras[1].firstChild, 1]: first addRange() must not throw exceptions or modify the range it's given PASS Range 18 [document.body, 0, document.body, 1] followed by Range 5 [paras[1].firstChild, 0, paras[1].firstChild, 1]: first addRange() must result in rangeCount being 1 @@ -2242,14 +1947,10 @@ PASS Range 18 [document.body, 0, document.body, 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 18 [document.body, 0, document.body, 1] followed by Range 5 [paras[1].firstChild, 0, paras[1].firstChild, 1]: second addRange() must result in rangeCount being 1 FAIL Range 18 [document.body, 0, document.body, 1] followed by Range 5 [paras[1].firstChild, 0, paras[1].firstChild, 1]: second addRange() must result in the selection's last range having the specified endpoints assert_equals: startContainer of the Selection's last Range must match the added Range expected Text node "Ijklmnop -" but got Element node <body><div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ -</p><p id... -FAIL Range 18 [document.body, 0, document.body, 1] followed by Range 5 [paras[1].firstChild, 0, paras[1].firstChild, 1]: second addRange() must result in the selection's last range being the same object we added assert_equals: getRangeAt(rangeCount - 1) must return the same object we added expected object "I" but got object "Äb̈c̈d̈ëf̈g̈ḧ -Ijklmnop -QrstuvwxYzabcdefGhijklmn" -FAIL Range 18 [document.body, 0, document.body, 1] followed by Range 5 [paras[1].firstChild, 0, paras[1].firstChild, 1]: modifying the second added range must modify the Selection's last Range assert_equals: After mutating the second added Range, startContainer of the Selection's last Range must match the added Range expected Text node "Äb̈c̈d̈ëf̈g̈ḧ -" but got Element node <body><div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ -</p><p id... +" but got Text node "Äb̈c̈d̈ëf̈g̈ḧ +" +FAIL Range 18 [document.body, 0, document.body, 1] followed by Range 5 [paras[1].firstChild, 0, paras[1].firstChild, 1]: second addRange() must result in the selection's last range being the same object we added assert_equals: getRangeAt(rangeCount - 1) must return the same object we added expected object "I" but got object "" +FAIL Range 18 [document.body, 0, document.body, 1] followed by Range 5 [paras[1].firstChild, 0, paras[1].firstChild, 1]: modifying the second added range must modify the Selection's last Range assert_equals: After mutating the second added Range, startOffset of the Selection's last Range must match the added Range expected 0 but got 6 FAIL Range 18 [document.body, 0, document.body, 1] followed by Range 5 [paras[1].firstChild, 0, paras[1].firstChild, 1]: modifying the Selection's last Range must modify the second added Range assert_equals: After second addRange(), after mutating the Selection's last Range, startOffset of the Selection's last Range must match the added Range expected 0 but got 6 PASS Range 18 [document.body, 0, document.body, 1] followed by Range 6 [paras[1].firstChild, 2, paras[1].firstChild, 8]: first addRange() must not throw exceptions or modify the range it's given PASS Range 18 [document.body, 0, document.body, 1] followed by Range 6 [paras[1].firstChild, 2, paras[1].firstChild, 8]: first addRange() must result in rangeCount being 1 @@ -2260,14 +1961,10 @@ PASS Range 18 [document.body, 0, document.body, 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 18 [document.body, 0, document.body, 1] followed by Range 6 [paras[1].firstChild, 2, paras[1].firstChild, 8]: second addRange() must result in rangeCount being 1 FAIL Range 18 [document.body, 0, document.body, 1] followed by Range 6 [paras[1].firstChild, 2, paras[1].firstChild, 8]: second addRange() must result in the selection's last range having the specified endpoints assert_equals: startContainer of the Selection's last Range must match the added Range expected Text node "Ijklmnop -" but got Element node <body><div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ -</p><p id... -FAIL Range 18 [document.body, 0, document.body, 1] followed by Range 6 [paras[1].firstChild, 2, paras[1].firstChild, 8]: second addRange() must result in the selection's last range being the same object we added assert_equals: getRangeAt(rangeCount - 1) must return the same object we added expected object "klmnop" but got object "Äb̈c̈d̈ëf̈g̈ḧ -Ijklmnop -QrstuvwxYzabcdefGhijklmn" -FAIL Range 18 [document.body, 0, document.body, 1] followed by Range 6 [paras[1].firstChild, 2, paras[1].firstChild, 8]: modifying the second added range must modify the Selection's last Range assert_equals: After mutating the second added Range, startContainer of the Selection's last Range must match the added Range expected Text node "Äb̈c̈d̈ëf̈g̈ḧ -" but got Element node <body><div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ -</p><p id... +" but got Text node "Äb̈c̈d̈ëf̈g̈ḧ +" +FAIL Range 18 [document.body, 0, document.body, 1] followed by Range 6 [paras[1].firstChild, 2, paras[1].firstChild, 8]: second addRange() must result in the selection's last range being the same object we added assert_equals: getRangeAt(rangeCount - 1) must return the same object we added expected object "klmnop" but got object "" +FAIL Range 18 [document.body, 0, document.body, 1] followed by Range 6 [paras[1].firstChild, 2, paras[1].firstChild, 8]: modifying the second added range must modify the Selection's last Range assert_equals: After mutating the second added Range, startOffset of the Selection's last Range must match the added Range expected 0 but got 6 FAIL Range 18 [document.body, 0, document.body, 1] followed by Range 6 [paras[1].firstChild, 2, paras[1].firstChild, 8]: modifying the Selection's last Range must modify the second added Range assert_equals: After second addRange(), after mutating the Selection's last Range, startOffset of the Selection's last Range must match the added Range expected 0 but got 6 PASS Range 18 [document.body, 0, document.body, 1] followed by Range 7 [paras[1].firstChild, 2, paras[1].firstChild, 9]: first addRange() must not throw exceptions or modify the range it's given PASS Range 18 [document.body, 0, document.body, 1] followed by Range 7 [paras[1].firstChild, 2, paras[1].firstChild, 9]: first addRange() must result in rangeCount being 1 @@ -2278,15 +1975,11 @@ PASS Range 18 [document.body, 0, document.body, 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 18 [document.body, 0, document.body, 1] followed by Range 7 [paras[1].firstChild, 2, paras[1].firstChild, 9]: second addRange() must result in rangeCount being 1 FAIL Range 18 [document.body, 0, document.body, 1] followed by Range 7 [paras[1].firstChild, 2, paras[1].firstChild, 9]: second addRange() must result in the selection's last range having the specified endpoints assert_equals: startContainer of the Selection's last Range must match the added Range expected Text node "Ijklmnop -" but got Element node <body><div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ -</p><p id... +" but got Text node "Äb̈c̈d̈ëf̈g̈ḧ +" FAIL Range 18 [document.body, 0, document.body, 1] followed by Range 7 [paras[1].firstChild, 2, paras[1].firstChild, 9]: second addRange() must result in the selection's last range being the same object we added assert_equals: getRangeAt(rangeCount - 1) must return the same object we added expected object "klmnop -" but got object "Äb̈c̈d̈ëf̈g̈ḧ -Ijklmnop -QrstuvwxYzabcdefGhijklmn" -FAIL Range 18 [document.body, 0, document.body, 1] followed by Range 7 [paras[1].firstChild, 2, paras[1].firstChild, 9]: modifying the second added range must modify the Selection's last Range assert_equals: After mutating the second added Range, startContainer of the Selection's last Range must match the added Range expected Text node "Äb̈c̈d̈ëf̈g̈ḧ -" but got Element node <body><div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ -</p><p id... +" but got object "" +FAIL Range 18 [document.body, 0, document.body, 1] followed by Range 7 [paras[1].firstChild, 2, paras[1].firstChild, 9]: modifying the second added range must modify the Selection's last Range assert_equals: After mutating the second added Range, startOffset of the Selection's last Range must match the added Range expected 0 but got 6 FAIL Range 18 [document.body, 0, document.body, 1] followed by Range 7 [paras[1].firstChild, 2, paras[1].firstChild, 9]: modifying the Selection's last Range must modify the second added Range assert_equals: After second addRange(), after mutating the Selection's last Range, startOffset of the Selection's last Range must match the added Range expected 0 but got 6 PASS Range 18 [document.body, 0, document.body, 1] followed by Range 8 [detachedPara1.firstChild, 0, detachedPara1.firstChild, 0]: first addRange() must not throw exceptions or modify the range it's given PASS Range 18 [document.body, 0, document.body, 1] followed by Range 8 [detachedPara1.firstChild, 0, detachedPara1.firstChild, 0]: first addRange() must result in rangeCount being 1 @@ -2542,14 +2235,10 @@ PASS Range 18 [document.body, 0, document.body, 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 18 [document.body, 0, document.body, 1] followed by Range 22 [paras[0], 0, paras[0], 0]: second addRange() must result in rangeCount being 1 FAIL Range 18 [document.body, 0, document.body, 1] followed by Range 22 [paras[0], 0, paras[0], 0]: second addRange() must result in the selection's last range having the specified endpoints assert_equals: startContainer of the Selection's last Range must match the added Range expected Element node <p id="a">Äb̈c̈d̈ëf̈g̈ḧ -</p> but got Element node <body><div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ -</p><p id... -FAIL Range 18 [document.body, 0, document.body, 1] followed by Range 22 [paras[0], 0, paras[0], 0]: second addRange() must result in the selection's last range being the same object we added assert_equals: getRangeAt(rangeCount - 1) must return the same object we added expected object "" but got object "Äb̈c̈d̈ëf̈g̈ḧ -Ijklmnop -QrstuvwxYzabcdefGhijklmn" -FAIL Range 18 [document.body, 0, document.body, 1] followed by Range 22 [paras[0], 0, paras[0], 0]: modifying the second added range must modify the Selection's last Range assert_equals: After mutating the second added Range, startContainer of the Selection's last Range must match the added Range expected Text node "Äb̈c̈d̈ëf̈g̈ḧ -" but got Element node <body><div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ -</p><p id... +</p> but got Text node "Äb̈c̈d̈ëf̈g̈ḧ +" +FAIL Range 18 [document.body, 0, document.body, 1] followed by Range 22 [paras[0], 0, paras[0], 0]: second addRange() must result in the selection's last range being the same object we added assert_equals: getRangeAt(rangeCount - 1) must return the same object we added expected object "" but got object "" +FAIL Range 18 [document.body, 0, document.body, 1] followed by Range 22 [paras[0], 0, paras[0], 0]: modifying the second added range must modify the Selection's last Range assert_equals: After mutating the second added Range, startOffset of the Selection's last Range must match the added Range expected 0 but got 6 FAIL Range 18 [document.body, 0, document.body, 1] followed by Range 22 [paras[0], 0, paras[0], 0]: modifying the Selection's last Range must modify the second added Range assert_equals: After second addRange(), after mutating the Selection's last Range, startOffset of the Selection's last Range must match the added Range expected 0 but got 6 PASS Range 18 [document.body, 0, document.body, 1] followed by Range 23 [paras[0], 0, paras[0], 1]: first addRange() must not throw exceptions or modify the range it's given PASS Range 18 [document.body, 0, document.body, 1] followed by Range 23 [paras[0], 0, paras[0], 1]: first addRange() must result in rangeCount being 1 @@ -2559,16 +2248,13 @@ PASS Range 18 [document.body, 0, document.body, 1] followed by Range 23 [paras[0], 0, paras[0], 1]: modifying the Selection's last Range must modify the first added Range PASS Range 18 [document.body, 0, document.body, 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 18 [document.body, 0, document.body, 1] followed by Range 23 [paras[0], 0, paras[0], 1]: second addRange() must result in rangeCount being 1 -FAIL Range 18 [document.body, 0, document.body, 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 assert_equals: startContainer of the Selection's last Range must match the added Range expected Element node <p id="a">Äb̈c̈d̈ëf̈g̈ḧ -</p> but got Element node <body><div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ -</p><p id... +PASS Range 18 [document.body, 0, document.body, 1] followed by Range 23 [paras[0], 0, paras[0], 1]: second addRange() must result in the selection's last range having the specified endpoints FAIL Range 18 [document.body, 0, document.body, 1] followed by Range 23 [paras[0], 0, paras[0], 1]: second addRange() must result in the selection's last range being the same object we added assert_equals: getRangeAt(rangeCount - 1) must return the same object we added expected object "Äb̈c̈d̈ëf̈g̈ḧ " but got object "Äb̈c̈d̈ëf̈g̈ḧ -Ijklmnop -QrstuvwxYzabcdefGhijklmn" +" FAIL Range 18 [document.body, 0, document.body, 1] followed by Range 23 [paras[0], 0, paras[0], 1]: modifying the second added range must modify the Selection's last Range assert_equals: After mutating the second added Range, startContainer of the Selection's last Range must match the added Range expected Text node "Äb̈c̈d̈ëf̈g̈ḧ -" but got Element node <body><div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ -</p><p id... +" but got Element node <p id="a">Äb̈c̈d̈ëf̈g̈ḧ +</p> FAIL Range 18 [document.body, 0, document.body, 1] followed by Range 23 [paras[0], 0, paras[0], 1]: modifying the Selection's last Range must modify the second added Range assert_equals: After second addRange(), after mutating the Selection's last Range, startOffset of the Selection's last Range must match the added Range expected 0 but got 6 PASS Range 18 [document.body, 0, document.body, 1] followed by Range 24 [detachedPara1, 0, detachedPara1, 0]: first addRange() must not throw exceptions or modify the range it's given PASS Range 18 [document.body, 0, document.body, 1] followed by Range 24 [detachedPara1, 0, detachedPara1, 0]: first addRange() must result in rangeCount being 1 @@ -2604,16 +2290,13 @@ PASS Range 18 [document.body, 0, document.body, 1] followed by Range 26 [paras[0].firstChild, 0, paras[1].firstChild, 0]: modifying the Selection's last Range must modify the first added Range PASS Range 18 [document.body, 0, document.body, 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 18 [document.body, 0, document.body, 1] followed by Range 26 [paras[0].firstChild, 0, paras[1].firstChild, 0]: second addRange() must result in rangeCount being 1 -FAIL Range 18 [document.body, 0, document.body, 1] followed by Range 26 [paras[0].firstChild, 0, paras[1].firstChild, 0]: second addRange() must result in the selection's last range having the specified endpoints assert_equals: startContainer of the Selection's last Range must match the added Range expected Text node "Äb̈c̈d̈ëf̈g̈ḧ -" but got Element node <body><div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ -</p><p id... +PASS Range 18 [document.body, 0, document.body, 1] followed by Range 26 [paras[0].firstChild, 0, paras[1].firstChild, 0]: second addRange() must result in the selection's last range having the specified endpoints FAIL Range 18 [document.body, 0, document.body, 1] followed by Range 26 [paras[0].firstChild, 0, paras[1].firstChild, 0]: second addRange() must result in the selection's last range being the same object we added assert_equals: getRangeAt(rangeCount - 1) must return the same object we added expected object "Äb̈c̈d̈ëf̈g̈ḧ " but got object "Äb̈c̈d̈ëf̈g̈ḧ -Ijklmnop -QrstuvwxYzabcdefGhijklmn" -FAIL Range 18 [document.body, 0, document.body, 1] followed by Range 26 [paras[0].firstChild, 0, paras[1].firstChild, 0]: modifying the second added range must modify the Selection's last Range assert_equals: After mutating the second added Range, startContainer of the Selection's last Range must match the added Range expected Text node "Äb̈c̈d̈ëf̈g̈ḧ -" but got Element node <body><div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ -</p><p id... +" +FAIL Range 18 [document.body, 0, document.body, 1] followed by Range 26 [paras[0].firstChild, 0, paras[1].firstChild, 0]: modifying the second added range must modify the Selection's last Range assert_equals: After mutating the second added Range, endContainer of the Selection's last Range must match the added Range expected Text node "Äb̈c̈d̈ëf̈g̈ḧ +" but got Text node "Ijklmnop +" FAIL Range 18 [document.body, 0, document.body, 1] followed by Range 26 [paras[0].firstChild, 0, paras[1].firstChild, 0]: modifying the Selection's last Range must modify the second added Range assert_equals: After second addRange(), after mutating the Selection's last Range, startOffset of the Selection's last Range must match the added Range expected 0 but got 6 PASS Range 18 [document.body, 0, document.body, 1] followed by Range 27 [paras[0].firstChild, 0, paras[1].firstChild, 8]: first addRange() must not throw exceptions or modify the range it's given PASS Range 18 [document.body, 0, document.body, 1] followed by Range 27 [paras[0].firstChild, 0, paras[1].firstChild, 8]: first addRange() must result in rangeCount being 1 @@ -2623,16 +2306,13 @@ PASS Range 18 [document.body, 0, document.body, 1] followed by Range 27 [paras[0].firstChild, 0, paras[1].firstChild, 8]: modifying the Selection's last Range must modify the first added Range PASS Range 18 [document.body, 0, document.body, 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 18 [document.body, 0, document.body, 1] followed by Range 27 [paras[0].firstChild, 0, paras[1].firstChild, 8]: second addRange() must result in rangeCount being 1 -FAIL Range 18 [document.body, 0, document.body, 1] followed by Range 27 [paras[0].firstChild, 0, paras[1].firstChild, 8]: second addRange() must result in the selection's last range having the specified endpoints assert_equals: startContainer of the Selection's last Range must match the added Range expected Text node "Äb̈c̈d̈ëf̈g̈ḧ -" but got Element node <body><div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ -</p><p id... +PASS Range 18 [document.body, 0, document.body, 1] followed by Range 27 [paras[0].firstChild, 0, paras[1].firstChild, 8]: second addRange() must result in the selection's last range having the specified endpoints FAIL Range 18 [document.body, 0, document.body, 1] followed by Range 27 [paras[0].firstChild, 0, paras[1].firstChild, 8]: second addRange() must result in the selection's last range being the same object we added assert_equals: getRangeAt(rangeCount - 1) must return the same object we added expected object "Äb̈c̈d̈ëf̈g̈ḧ Ijklmnop" but got object "Äb̈c̈d̈ëf̈g̈ḧ -Ijklmnop -QrstuvwxYzabcdefGhijklmn" -FAIL Range 18 [document.body, 0, document.body, 1] followed by Range 27 [paras[0].firstChild, 0, paras[1].firstChild, 8]: modifying the second added range must modify the Selection's last Range assert_equals: After mutating the second added Range, startContainer of the Selection's last Range must match the added Range expected Text node "Äb̈c̈d̈ëf̈g̈ḧ -" but got Element node <body><div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ -</p><p id... +Ijklmnop" +FAIL Range 18 [document.body, 0, document.body, 1] followed by Range 27 [paras[0].firstChild, 0, paras[1].firstChild, 8]: modifying the second added range must modify the Selection's last Range assert_equals: After mutating the second added Range, endContainer of the Selection's last Range must match the added Range expected Text node "Äb̈c̈d̈ëf̈g̈ḧ +" but got Text node "Ijklmnop +" FAIL Range 18 [document.body, 0, document.body, 1] followed by Range 27 [paras[0].firstChild, 0, paras[1].firstChild, 8]: modifying the Selection's last Range must modify the second added Range assert_equals: After second addRange(), after mutating the Selection's last Range, startOffset of the Selection's last Range must match the added Range expected 0 but got 6 PASS Range 18 [document.body, 0, document.body, 1] followed by Range 28 [paras[0].firstChild, 3, paras[3], 1]: first addRange() must not throw exceptions or modify the range it's given PASS Range 18 [document.body, 0, document.body, 1] followed by Range 28 [paras[0].firstChild, 3, paras[3], 1]: first addRange() must result in rangeCount being 1 @@ -2642,17 +2322,13 @@ PASS Range 18 [document.body, 0, document.body, 1] followed by Range 28 [paras[0].firstChild, 3, paras[3], 1]: modifying the Selection's last Range must modify the first added Range PASS Range 18 [document.body, 0, document.body, 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 18 [document.body, 0, document.body, 1] followed by Range 28 [paras[0].firstChild, 3, paras[3], 1]: second addRange() must result in rangeCount being 1 -FAIL Range 18 [document.body, 0, document.body, 1] followed by Range 28 [paras[0].firstChild, 3, paras[3], 1]: second addRange() must result in the selection's last range having the specified endpoints assert_equals: startContainer of the Selection's last Range must match the added Range expected Text node "Äb̈c̈d̈ëf̈g̈ḧ -" but got Element node <body><div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ -</p><p id... +PASS Range 18 [document.body, 0, document.body, 1] followed by Range 28 [paras[0].firstChild, 3, paras[3], 1]: second addRange() must result in the selection's last range having the specified endpoints FAIL Range 18 [document.body, 0, document.body, 1] followed by Range 28 [paras[0].firstChild, 3, paras[3], 1]: second addRange() must result in the selection's last range being the same object we added assert_equals: getRangeAt(rangeCount - 1) must return the same object we added expected object "̈c̈d̈ëf̈g̈ḧ Ijklmnop -QrstuvwxYzabcdef" but got object "Äb̈c̈d̈ëf̈g̈ḧ +QrstuvwxYzabcdef" but got object "̈c̈d̈ëf̈g̈ḧ Ijklmnop -QrstuvwxYzabcdefGhijklmn" -FAIL Range 18 [document.body, 0, document.body, 1] followed by Range 28 [paras[0].firstChild, 3, paras[3], 1]: modifying the second added range must modify the Selection's last Range assert_equals: After mutating the second added Range, startContainer of the Selection's last Range must match the added Range expected Text node "Äb̈c̈d̈ëf̈g̈ḧ -" but got Element node <body><div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ -</p><p id... +QrstuvwxYzabcdef" +FAIL Range 18 [document.body, 0, document.body, 1] followed by Range 28 [paras[0].firstChild, 3, paras[3], 1]: modifying the second added range must modify the Selection's last Range assert_equals: After mutating the second added Range, startOffset of the Selection's last Range must match the added Range expected 0 but got 3 FAIL Range 18 [document.body, 0, document.body, 1] followed by Range 28 [paras[0].firstChild, 3, paras[3], 1]: modifying the Selection's last Range must modify the second added Range assert_equals: After second addRange(), after mutating the Selection's last Range, startOffset of the Selection's last Range must match the added Range expected 0 but got 6 PASS Range 18 [document.body, 0, document.body, 1] followed by Range 29 [paras[0], 0, paras[0].firstChild, 7]: first addRange() must not throw exceptions or modify the range it's given PASS Range 18 [document.body, 0, document.body, 1] followed by Range 29 [paras[0], 0, paras[0].firstChild, 7]: first addRange() must result in rangeCount being 1 @@ -2662,15 +2338,11 @@ PASS Range 18 [document.body, 0, document.body, 1] followed by Range 29 [paras[0], 0, paras[0].firstChild, 7]: modifying the Selection's last Range must modify the first added Range PASS Range 18 [document.body, 0, document.body, 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 18 [document.body, 0, document.body, 1] followed by Range 29 [paras[0], 0, paras[0].firstChild, 7]: second addRange() must result in rangeCount being 1 -FAIL Range 18 [document.body, 0, document.body, 1] followed by Range 29 [paras[0], 0, paras[0].firstChild, 7]: second addRange() must result in the selection's last range having the specified endpoints assert_equals: startContainer of the Selection's last Range must match the added Range expected Element node <p id="a">Äb̈c̈d̈ëf̈g̈ḧ -</p> but got Element node <body><div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ -</p><p id... -FAIL Range 18 [document.body, 0, document.body, 1] followed by Range 29 [paras[0], 0, paras[0].firstChild, 7]: second addRange() must result in the selection's last range being the same object we added assert_equals: getRangeAt(rangeCount - 1) must return the same object we added expected object "Äb̈c̈d" but got object "Äb̈c̈d̈ëf̈g̈ḧ -Ijklmnop -QrstuvwxYzabcdefGhijklmn" +PASS Range 18 [document.body, 0, document.body, 1] followed by Range 29 [paras[0], 0, paras[0].firstChild, 7]: second addRange() must result in the selection's last range having the specified endpoints +FAIL Range 18 [document.body, 0, document.body, 1] followed by Range 29 [paras[0], 0, paras[0].firstChild, 7]: second addRange() must result in the selection's last range being the same object we added assert_equals: getRangeAt(rangeCount - 1) must return the same object we added expected object "Äb̈c̈d" but got object "Äb̈c̈d" FAIL Range 18 [document.body, 0, document.body, 1] followed by Range 29 [paras[0], 0, paras[0].firstChild, 7]: modifying the second added range must modify the Selection's last Range assert_equals: After mutating the second added Range, startContainer of the Selection's last Range must match the added Range expected Text node "Äb̈c̈d̈ëf̈g̈ḧ -" but got Element node <body><div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ -</p><p id... +" but got Element node <p id="a">Äb̈c̈d̈ëf̈g̈ḧ +</p> FAIL Range 18 [document.body, 0, document.body, 1] followed by Range 29 [paras[0], 0, paras[0].firstChild, 7]: modifying the Selection's last Range must modify the second added Range assert_equals: After second addRange(), after mutating the Selection's last Range, startOffset of the Selection's last Range must match the added Range expected 0 but got 6 PASS Range 18 [document.body, 0, document.body, 1] followed by Range 30 [testDiv, 2, paras[4], 1]: first addRange() must not throw exceptions or modify the range it's given PASS Range 18 [document.body, 0, document.body, 1] followed by Range 30 [testDiv, 2, paras[4], 1]: first addRange() must result in rangeCount being 1 @@ -2681,14 +2353,10 @@ PASS Range 18 [document.body, 0, document.body, 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 18 [document.body, 0, document.body, 1] followed by Range 30 [testDiv, 2, paras[4], 1]: second addRange() must result in rangeCount being 1 FAIL Range 18 [document.body, 0, document.body, 1] followed by Range 30 [testDiv, 2, paras[4], 1]: second addRange() must result in the selection's last range having the specified endpoints assert_equals: startContainer of the Selection's last Range must match the added Range expected Element node <div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ -</p><p id="b" s... but got Element node <body><div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ -</p><p id... -FAIL Range 18 [document.body, 0, document.body, 1] followed by Range 30 [testDiv, 2, paras[4], 1]: second addRange() must result in the selection's last range being the same object we added assert_equals: getRangeAt(rangeCount - 1) must return the same object we added expected object "QrstuvwxYzabcdefGhijklmn" but got object "Äb̈c̈d̈ëf̈g̈ḧ -Ijklmnop -QrstuvwxYzabcdefGhijklmn" -FAIL Range 18 [document.body, 0, document.body, 1] followed by Range 30 [testDiv, 2, paras[4], 1]: modifying the second added range must modify the Selection's last Range assert_equals: After mutating the second added Range, startContainer of the Selection's last Range must match the added Range expected Text node "Äb̈c̈d̈ëf̈g̈ḧ -" but got Element node <body><div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ -</p><p id... +</p><p id="b" s... but got Text node "Äb̈c̈d̈ëf̈g̈ḧ +" +FAIL Range 18 [document.body, 0, document.body, 1] followed by Range 30 [testDiv, 2, paras[4], 1]: second addRange() must result in the selection's last range being the same object we added assert_equals: getRangeAt(rangeCount - 1) must return the same object we added expected object "QrstuvwxYzabcdefGhijklmn" but got object "" +FAIL Range 18 [document.body, 0, document.body, 1] followed by Range 30 [testDiv, 2, paras[4], 1]: modifying the second added range must modify the Selection's last Range assert_equals: After mutating the second added Range, startOffset of the Selection's last Range must match the added Range expected 0 but got 6 FAIL Range 18 [document.body, 0, document.body, 1] followed by Range 30 [testDiv, 2, paras[4], 1]: modifying the Selection's last Range must modify the second added Range assert_equals: After second addRange(), after mutating the Selection's last Range, startOffset of the Selection's last Range must match the added Range expected 0 but got 6 PASS Range 18 [document.body, 0, document.body, 1] followed by Range 31 [testDiv, 1, paras[2].firstChild, 5]: first addRange() must not throw exceptions or modify the range it's given PASS Range 18 [document.body, 0, document.body, 1] followed by Range 31 [testDiv, 1, paras[2].firstChild, 5]: first addRange() must result in rangeCount being 1 @@ -2699,15 +2367,11 @@ PASS Range 18 [document.body, 0, document.body, 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 18 [document.body, 0, document.body, 1] followed by Range 31 [testDiv, 1, paras[2].firstChild, 5]: second addRange() must result in rangeCount being 1 FAIL Range 18 [document.body, 0, document.body, 1] followed by Range 31 [testDiv, 1, paras[2].firstChild, 5]: second addRange() must result in the selection's last range having the specified endpoints assert_equals: startContainer of the Selection's last Range must match the added Range expected Element node <div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ -</p><p id="b" s... but got Element node <body><div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ -</p><p id... +</p><p id="b" s... but got Text node "Äb̈c̈d̈ëf̈g̈ḧ +" FAIL Range 18 [document.body, 0, document.body, 1] followed by Range 31 [testDiv, 1, paras[2].firstChild, 5]: second addRange() must result in the selection's last range being the same object we added assert_equals: getRangeAt(rangeCount - 1) must return the same object we added expected object "Ijklmnop -Qrstu" but got object "Äb̈c̈d̈ëf̈g̈ḧ -Ijklmnop -QrstuvwxYzabcdefGhijklmn" -FAIL Range 18 [document.body, 0, document.body, 1] followed by Range 31 [testDiv, 1, paras[2].firstChild, 5]: modifying the second added range must modify the Selection's last Range assert_equals: After mutating the second added Range, startContainer of the Selection's last Range must match the added Range expected Text node "Äb̈c̈d̈ëf̈g̈ḧ -" but got Element node <body><div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ -</p><p id... +Qrstu" but got object "" +FAIL Range 18 [document.body, 0, document.body, 1] followed by Range 31 [testDiv, 1, paras[2].firstChild, 5]: modifying the second added range must modify the Selection's last Range assert_equals: After mutating the second added Range, startOffset of the Selection's last Range must match the added Range expected 0 but got 6 FAIL Range 18 [document.body, 0, document.body, 1] followed by Range 31 [testDiv, 1, paras[2].firstChild, 5]: modifying the Selection's last Range must modify the second added Range assert_equals: After second addRange(), after mutating the Selection's last Range, startOffset of the Selection's last Range must match the added Range expected 0 but got 6 PASS Range 18 [document.body, 0, document.body, 1] followed by Range 32 [document.documentElement, 1, document.body, 0]: first addRange() must not throw exceptions or modify the range it's given PASS Range 18 [document.body, 0, document.body, 1] followed by Range 32 [document.documentElement, 1, document.body, 0]: first addRange() must result in rangeCount being 1 @@ -2717,13 +2381,11 @@ PASS Range 18 [document.body, 0, document.body, 1] followed by Range 32 [document.documentElement, 1, document.body, 0]: modifying the Selection's last Range must modify the first added Range PASS Range 18 [document.body, 0, document.body, 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 18 [document.body, 0, document.body, 1] followed by Range 32 [document.documentElement, 1, document.body, 0]: second addRange() must result in rangeCount being 1 -FAIL Range 18 [document.body, 0, document.body, 1] followed by Range 32 [document.documentElement, 1, document.body, 0]: second addRange() must result in the selection's last range having the specified endpoints assert_equals: endOffset of the Selection's last Range must match the added Range expected 0 but got 1 -FAIL Range 18 [document.body, 0, document.body, 1] followed by Range 32 [document.documentElement, 1, document.body, 0]: second addRange() must result in the selection's last range being the same object we added assert_equals: getRangeAt(rangeCount - 1) must return the same object we added expected object "" but got object "Äb̈c̈d̈ëf̈g̈ḧ -Ijklmnop -QrstuvwxYzabcdefGhijklmn" -FAIL Range 18 [document.body, 0, document.body, 1] followed by Range 32 [document.documentElement, 1, document.body, 0]: modifying the second added range must modify the Selection's last Range assert_equals: After mutating the second added Range, startContainer of the Selection's last Range must match the added Range expected Text node "Äb̈c̈d̈ëf̈g̈ḧ -" but got Element node <html><head><title>Selection.addRange() tests</title> -<me... +FAIL Range 18 [document.body, 0, document.body, 1] followed by Range 32 [document.documentElement, 1, document.body, 0]: second addRange() must result in the selection's last range having the specified endpoints assert_equals: startContainer of the Selection's last Range must match the added Range expected Element node <html><head><title>Selection.addRange() tests</title> +<me... but got Text node "Äb̈c̈d̈ëf̈g̈ḧ +" +FAIL Range 18 [document.body, 0, document.body, 1] followed by Range 32 [document.documentElement, 1, document.body, 0]: second addRange() must result in the selection's last range being the same object we added assert_equals: getRangeAt(rangeCount - 1) must return the same object we added expected object "" but got object "" +FAIL Range 18 [document.body, 0, document.body, 1] followed by Range 32 [document.documentElement, 1, document.body, 0]: modifying the second added range must modify the Selection's last Range assert_equals: After mutating the second added Range, startOffset of the Selection's last Range must match the added Range expected 0 but got 6 FAIL Range 18 [document.body, 0, document.body, 1] followed by Range 32 [document.documentElement, 1, document.body, 0]: modifying the Selection's last Range must modify the second added Range assert_equals: After second addRange(), after mutating the Selection's last Range, startOffset of the Selection's last Range must match the added Range expected 0 but got 6 PASS Range 18 [document.body, 0, document.body, 1] followed by Range 33 [foreignDoc.documentElement, 1, foreignDoc.body, 0]: first addRange() must not throw exceptions or modify the range it's given PASS Range 18 [document.body, 0, document.body, 1] followed by Range 33 [foreignDoc.documentElement, 1, foreignDoc.body, 0]: first addRange() must result in rangeCount being 1 @@ -2841,17 +2503,16 @@ PASS Range 18 [document.body, 0, document.body, 1] followed by Range 37 [testDiv, 0, comment, 5]: modifying the Selection's last Range must modify the first added Range PASS Range 18 [document.body, 0, document.body, 1] followed by Range 37 [testDiv, 0, comment, 5]: second addRange() must not throw exceptions or modify the range it's given PASS Range 18 [document.body, 0, document.body, 1] followed by Range 37 [testDiv, 0, comment, 5]: second addRange() must result in rangeCount being 1 -FAIL Range 18 [document.body, 0, document.body, 1] followed by Range 37 [testDiv, 0, comment, 5]: second addRange() must result in the selection's last range having the specified endpoints assert_equals: startContainer of the Selection's last Range must match the added Range expected Element node <div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ -</p><p id="b" s... but got Element node <body><div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ -</p><p id... +FAIL Range 18 [document.body, 0, document.body, 1] followed by Range 37 [testDiv, 0, comment, 5]: second addRange() must result in the selection's last range having the specified endpoints assert_equals: endContainer of the Selection's last Range must match the added Range expected Comment node <!--Alphabet soup?--> but got Element node <div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ +</p><p id="b" s... FAIL Range 18 [document.body, 0, document.body, 1] followed by Range 37 [testDiv, 0, comment, 5]: second addRange() must result in the selection's last range being the same object we added assert_equals: getRangeAt(rangeCount - 1) must return the same object we added expected object "Äb̈c̈d̈ëf̈g̈ḧ Ijklmnop QrstuvwxYzabcdefGhijklmn" but got object "Äb̈c̈d̈ëf̈g̈ḧ Ijklmnop QrstuvwxYzabcdefGhijklmn" FAIL Range 18 [document.body, 0, document.body, 1] followed by Range 37 [testDiv, 0, comment, 5]: modifying the second added range must modify the Selection's last Range assert_equals: After mutating the second added Range, startContainer of the Selection's last Range must match the added Range expected Text node "Äb̈c̈d̈ëf̈g̈ḧ -" but got Element node <body><div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ -</p><p id... +" but got Element node <div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ +</p><p id="b" s... FAIL Range 18 [document.body, 0, document.body, 1] followed by Range 37 [testDiv, 0, comment, 5]: modifying the Selection's last Range must modify the second added Range assert_equals: After second addRange(), after mutating the Selection's last Range, startOffset of the Selection's last Range must match the added Range expected 0 but got 6 PASS Range 18 [document.body, 0, document.body, 1] followed by Range 38 [paras[2].firstChild, 4, comment, 2]: first addRange() must not throw exceptions or modify the range it's given PASS Range 18 [document.body, 0, document.body, 1] followed by Range 38 [paras[2].firstChild, 4, comment, 2]: first addRange() must result in rangeCount being 1 @@ -2861,14 +2522,10 @@ PASS Range 18 [document.body, 0, document.body, 1] followed by Range 38 [paras[2].firstChild, 4, comment, 2]: modifying the Selection's last Range must modify the first added Range PASS Range 18 [document.body, 0, document.body, 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 18 [document.body, 0, document.body, 1] followed by Range 38 [paras[2].firstChild, 4, comment, 2]: second addRange() must result in rangeCount being 1 -FAIL Range 18 [document.body, 0, document.body, 1] followed by Range 38 [paras[2].firstChild, 4, comment, 2]: second addRange() must result in the selection's last range having the specified endpoints assert_equals: startContainer of the Selection's last Range must match the added Range expected Text node "Qrstuvwx" but got Element node <body><div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ -</p><p id... -FAIL Range 18 [document.body, 0, document.body, 1] followed by Range 38 [paras[2].firstChild, 4, comment, 2]: second addRange() must result in the selection's last range being the same object we added assert_equals: getRangeAt(rangeCount - 1) must return the same object we added expected object "uvwxYzabcdefGhijklmn" but got object "Äb̈c̈d̈ëf̈g̈ḧ -Ijklmnop -QrstuvwxYzabcdefGhijklmn" -FAIL Range 18 [document.body, 0, document.body, 1] followed by Range 38 [paras[2].firstChild, 4, comment, 2]: modifying the second added range must modify the Selection's last Range assert_equals: After mutating the second added Range, startContainer of the Selection's last Range must match the added Range expected Text node "Äb̈c̈d̈ëf̈g̈ḧ -" but got Element node <body><div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ -</p><p id... +FAIL Range 18 [document.body, 0, document.body, 1] followed by Range 38 [paras[2].firstChild, 4, comment, 2]: second addRange() must result in the selection's last range having the specified endpoints assert_equals: startContainer of the Selection's last Range must match the added Range expected Text node "Qrstuvwx" but got Text node "Äb̈c̈d̈ëf̈g̈ḧ +" +FAIL Range 18 [document.body, 0, document.body, 1] followed by Range 38 [paras[2].firstChild, 4, comment, 2]: second addRange() must result in the selection's last range being the same object we added assert_equals: getRangeAt(rangeCount - 1) must return the same object we added expected object "uvwxYzabcdefGhijklmn" but got object "" +FAIL Range 18 [document.body, 0, document.body, 1] followed by Range 38 [paras[2].firstChild, 4, comment, 2]: modifying the second added range must modify the Selection's last Range assert_equals: After mutating the second added Range, startOffset of the Selection's last Range must match the added Range expected 0 but got 6 FAIL Range 18 [document.body, 0, document.body, 1] followed by Range 38 [paras[2].firstChild, 4, comment, 2]: modifying the Selection's last Range must modify the second added Range assert_equals: After second addRange(), after mutating the Selection's last Range, startOffset of the Selection's last Range must match the added Range expected 0 but got 6 PASS Range 18 [document.body, 0, document.body, 1] followed by Range 39 [paras[3], 1, comment, 8]: first addRange() must not throw exceptions or modify the range it's given PASS Range 18 [document.body, 0, document.body, 1] followed by Range 39 [paras[3], 1, comment, 8]: first addRange() must result in rangeCount being 1 @@ -2878,14 +2535,10 @@ PASS Range 18 [document.body, 0, document.body, 1] followed by Range 39 [paras[3], 1, comment, 8]: modifying the Selection's last Range must modify the first added Range PASS Range 18 [document.body, 0, document.body, 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 18 [document.body, 0, document.body, 1] followed by Range 39 [paras[3], 1, comment, 8]: second addRange() must result in rangeCount being 1 -FAIL Range 18 [document.body, 0, document.body, 1] followed by Range 39 [paras[3], 1, comment, 8]: second addRange() must result in the selection's last range having the specified endpoints assert_equals: startContainer of the Selection's last Range must match the added Range expected Element node <p id="d" style="display:none">Yzabcdef</p> but got Element node <body><div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ -</p><p id... -FAIL Range 18 [document.body, 0, document.body, 1] followed by Range 39 [paras[3], 1, comment, 8]: second addRange() must result in the selection's last range being the same object we added assert_equals: getRangeAt(rangeCount - 1) must return the same object we added expected object "Ghijklmn" but got object "Äb̈c̈d̈ëf̈g̈ḧ -Ijklmnop -QrstuvwxYzabcdefGhijklmn" -FAIL Range 18 [document.body, 0, document.body, 1] followed by Range 39 [paras[3], 1, comment, 8]: modifying the second added range must modify the Selection's last Range assert_equals: After mutating the second added Range, startContainer of the Selection's last Range must match the added Range expected Text node "Äb̈c̈d̈ëf̈g̈ḧ -" but got Element node <body><div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ -</p><p id... +FAIL Range 18 [document.body, 0, document.body, 1] followed by Range 39 [paras[3], 1, comment, 8]: second addRange() must result in the selection's last range having the specified endpoints assert_equals: startContainer of the Selection's last Range must match the added Range expected Element node <p id="d" style="display:none">Yzabcdef</p> but got Text node "Äb̈c̈d̈ëf̈g̈ḧ +" +FAIL Range 18 [document.body, 0, document.body, 1] followed by Range 39 [paras[3], 1, comment, 8]: second addRange() must result in the selection's last range being the same object we added assert_equals: getRangeAt(rangeCount - 1) must return the same object we added expected object "Ghijklmn" but got object "" +FAIL Range 18 [document.body, 0, document.body, 1] followed by Range 39 [paras[3], 1, comment, 8]: modifying the second added range must modify the Selection's last Range assert_equals: After mutating the second added Range, startOffset of the Selection's last Range must match the added Range expected 0 but got 6 FAIL Range 18 [document.body, 0, document.body, 1] followed by Range 39 [paras[3], 1, comment, 8]: modifying the Selection's last Range must modify the second added Range assert_equals: After second addRange(), after mutating the Selection's last Range, startOffset of the Selection's last Range must match the added Range expected 0 but got 6 PASS Range 18 [document.body, 0, document.body, 1] followed by Range 40 [foreignDoc, 0, foreignDoc, 0]: first addRange() must not throw exceptions or modify the range it's given PASS Range 18 [document.body, 0, document.body, 1] followed by Range 40 [foreignDoc, 0, foreignDoc, 0]: first addRange() must result in rangeCount being 1
diff --git a/third_party/WebKit/LayoutTests/external/wpt/selection/addRange-20-expected.txt b/third_party/WebKit/LayoutTests/external/wpt/selection/addRange-20-expected.txt index df22d1d..0ef25b0 100644 --- a/third_party/WebKit/LayoutTests/external/wpt/selection/addRange-20-expected.txt +++ b/third_party/WebKit/LayoutTests/external/wpt/selection/addRange-20-expected.txt
@@ -22,13 +22,12 @@ 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. @@ -37,9 +36,6 @@ 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. @@ -48,11 +44,14 @@ 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. @@ -1490,9 +1489,9 @@ PASS Range 22 [paras[0], 0, paras[0], 0] followed by Range 2 [paras[0].firstChild, 2, paras[0].firstChild, 8]: modifying the Selection's last Range must modify the first added Range PASS Range 22 [paras[0], 0, paras[0], 0] followed by Range 2 [paras[0].firstChild, 2, paras[0].firstChild, 8]: second addRange() must not throw exceptions or modify the range it's given PASS Range 22 [paras[0], 0, paras[0], 0] followed by Range 2 [paras[0].firstChild, 2, paras[0].firstChild, 8]: second addRange() must result in rangeCount being 1 -FAIL Range 22 [paras[0], 0, paras[0], 0] followed by Range 2 [paras[0].firstChild, 2, paras[0].firstChild, 8]: second addRange() must result in the selection's last range having the specified endpoints assert_equals: startOffset of the Selection's last Range must match the added Range expected 2 but got 6 -FAIL Range 22 [paras[0], 0, paras[0], 0] followed by Range 2 [paras[0].firstChild, 2, paras[0].firstChild, 8]: second addRange() must result in the selection's last range being the same object we added assert_equals: getRangeAt(rangeCount - 1) must return the same object we added expected object "b̈c̈d̈" but got object "" -FAIL Range 22 [paras[0], 0, paras[0], 0] followed by Range 2 [paras[0].firstChild, 2, paras[0].firstChild, 8]: modifying the second added range must modify the Selection's last Range assert_equals: After mutating the second added Range, startOffset of the Selection's last Range must match the added Range expected 0 but got 6 +PASS Range 22 [paras[0], 0, paras[0], 0] followed by Range 2 [paras[0].firstChild, 2, paras[0].firstChild, 8]: second addRange() must result in the selection's last range having the specified endpoints +FAIL Range 22 [paras[0], 0, paras[0], 0] followed by Range 2 [paras[0].firstChild, 2, paras[0].firstChild, 8]: second addRange() must result in the selection's last range being the same object we added assert_equals: getRangeAt(rangeCount - 1) must return the same object we added expected object "b̈c̈d̈" but got object "b̈c̈d̈" +FAIL Range 22 [paras[0], 0, paras[0], 0] followed by Range 2 [paras[0].firstChild, 2, paras[0].firstChild, 8]: modifying the second added range must modify the Selection's last Range assert_equals: After mutating the second added Range, startOffset of the Selection's last Range must match the added Range expected 0 but got 2 FAIL Range 22 [paras[0], 0, paras[0], 0] followed by Range 2 [paras[0].firstChild, 2, paras[0].firstChild, 8]: modifying the Selection's last Range must modify the second added Range assert_equals: After second addRange(), after mutating the Selection's last Range, startOffset of the Selection's last Range must match the added Range expected 0 but got 6 PASS Range 22 [paras[0], 0, paras[0], 0] followed by Range 3 [paras[0].firstChild, 2, paras[0].firstChild, 9]: first addRange() must not throw exceptions or modify the range it's given PASS Range 22 [paras[0], 0, paras[0], 0] followed by Range 3 [paras[0].firstChild, 2, paras[0].firstChild, 9]: first addRange() must result in rangeCount being 1 @@ -1502,9 +1501,9 @@ PASS Range 22 [paras[0], 0, paras[0], 0] followed by Range 3 [paras[0].firstChild, 2, paras[0].firstChild, 9]: modifying the Selection's last Range must modify the first added Range PASS Range 22 [paras[0], 0, paras[0], 0] followed by Range 3 [paras[0].firstChild, 2, paras[0].firstChild, 9]: second addRange() must not throw exceptions or modify the range it's given PASS Range 22 [paras[0], 0, paras[0], 0] followed by Range 3 [paras[0].firstChild, 2, paras[0].firstChild, 9]: second addRange() must result in rangeCount being 1 -FAIL Range 22 [paras[0], 0, paras[0], 0] followed by Range 3 [paras[0].firstChild, 2, paras[0].firstChild, 9]: second addRange() must result in the selection's last range having the specified endpoints assert_equals: startOffset of the Selection's last Range must match the added Range expected 2 but got 6 -FAIL Range 22 [paras[0], 0, paras[0], 0] followed by Range 3 [paras[0].firstChild, 2, paras[0].firstChild, 9]: second addRange() must result in the selection's last range being the same object we added assert_equals: getRangeAt(rangeCount - 1) must return the same object we added expected object "b̈c̈d̈e" but got object "" -FAIL Range 22 [paras[0], 0, paras[0], 0] followed by Range 3 [paras[0].firstChild, 2, paras[0].firstChild, 9]: modifying the second added range must modify the Selection's last Range assert_equals: After mutating the second added Range, startOffset of the Selection's last Range must match the added Range expected 0 but got 6 +PASS Range 22 [paras[0], 0, paras[0], 0] followed by Range 3 [paras[0].firstChild, 2, paras[0].firstChild, 9]: second addRange() must result in the selection's last range having the specified endpoints +FAIL Range 22 [paras[0], 0, paras[0], 0] followed by Range 3 [paras[0].firstChild, 2, paras[0].firstChild, 9]: second addRange() must result in the selection's last range being the same object we added assert_equals: getRangeAt(rangeCount - 1) must return the same object we added expected object "b̈c̈d̈e" but got object "b̈c̈d̈e" +FAIL Range 22 [paras[0], 0, paras[0], 0] followed by Range 3 [paras[0].firstChild, 2, paras[0].firstChild, 9]: modifying the second added range must modify the Selection's last Range assert_equals: After mutating the second added Range, startOffset of the Selection's last Range must match the added Range expected 0 but got 2 FAIL Range 22 [paras[0], 0, paras[0], 0] followed by Range 3 [paras[0].firstChild, 2, paras[0].firstChild, 9]: modifying the Selection's last Range must modify the second added Range assert_equals: After second addRange(), after mutating the Selection's last Range, startOffset of the Selection's last Range must match the added Range expected 0 but got 6 PASS Range 22 [paras[0], 0, paras[0], 0] followed by Range 4 [paras[1].firstChild, 0, paras[1].firstChild, 0]: first addRange() must not throw exceptions or modify the range it's given PASS Range 22 [paras[0], 0, paras[0], 0] followed by Range 4 [paras[1].firstChild, 0, paras[1].firstChild, 0]: first addRange() must result in rangeCount being 1 @@ -1816,11 +1815,11 @@ PASS Range 22 [paras[0], 0, paras[0], 0] followed by Range 22 [paras[0], 0, paras[0], 0]: modifying the Selection's last Range must modify the first added Range PASS Range 22 [paras[0], 0, paras[0], 0] followed by Range 22 [paras[0], 0, paras[0], 0]: second addRange() must not throw exceptions or modify the range it's given PASS Range 22 [paras[0], 0, paras[0], 0] followed by Range 22 [paras[0], 0, paras[0], 0]: second addRange() must result in rangeCount being 1 -PASS Range 22 [paras[0], 0, paras[0], 0] followed by Range 22 [paras[0], 0, paras[0], 0]: second addRange() must result in the selection's last range having the specified endpoints +FAIL Range 22 [paras[0], 0, paras[0], 0] followed by Range 22 [paras[0], 0, paras[0], 0]: second addRange() must result in the selection's last range having the specified endpoints assert_equals: startContainer of the Selection's last Range must match the added Range expected Element node <p id="a">Äb̈c̈d̈ëf̈g̈ḧ +</p> but got Text node "Äb̈c̈d̈ëf̈g̈ḧ +" FAIL Range 22 [paras[0], 0, paras[0], 0] followed by Range 22 [paras[0], 0, paras[0], 0]: second addRange() must result in the selection's last range being the same object we added assert_equals: getRangeAt(rangeCount - 1) must return the same object we added expected object "" but got object "" -FAIL Range 22 [paras[0], 0, paras[0], 0] followed by Range 22 [paras[0], 0, paras[0], 0]: modifying the second added range must modify the Selection's last Range assert_equals: After mutating the second added Range, startContainer of the Selection's last Range must match the added Range expected Text node "Äb̈c̈d̈ëf̈g̈ḧ -" but got Element node <p id="a">Äb̈c̈d̈ëf̈g̈ḧ -</p> +FAIL Range 22 [paras[0], 0, paras[0], 0] followed by Range 22 [paras[0], 0, paras[0], 0]: modifying the second added range must modify the Selection's last Range assert_equals: After mutating the second added Range, startOffset of the Selection's last Range must match the added Range expected 0 but got 6 FAIL Range 22 [paras[0], 0, paras[0], 0] followed by Range 22 [paras[0], 0, paras[0], 0]: modifying the Selection's last Range must modify the second added Range assert_equals: After second addRange(), after mutating the Selection's last Range, startOffset of the Selection's last Range must match the added Range expected 0 but got 6 PASS Range 22 [paras[0], 0, paras[0], 0] followed by Range 23 [paras[0], 0, paras[0], 1]: first addRange() must not throw exceptions or modify the range it's given PASS Range 22 [paras[0], 0, paras[0], 0] followed by Range 23 [paras[0], 0, paras[0], 1]: first addRange() must result in rangeCount being 1 @@ -1872,10 +1871,13 @@ PASS Range 22 [paras[0], 0, paras[0], 0] followed by Range 26 [paras[0].firstChild, 0, paras[1].firstChild, 0]: modifying the Selection's last Range must modify the first added Range PASS Range 22 [paras[0], 0, paras[0], 0] followed by Range 26 [paras[0].firstChild, 0, paras[1].firstChild, 0]: second addRange() must not throw exceptions or modify the range it's given PASS Range 22 [paras[0], 0, paras[0], 0] followed by Range 26 [paras[0].firstChild, 0, paras[1].firstChild, 0]: second addRange() must result in rangeCount being 1 -FAIL Range 22 [paras[0], 0, paras[0], 0] followed by Range 26 [paras[0].firstChild, 0, paras[1].firstChild, 0]: second addRange() must result in the selection's last range having the specified endpoints assert_equals: startOffset of the Selection's last Range must match the added Range expected 0 but got 6 +PASS Range 22 [paras[0], 0, paras[0], 0] followed by Range 26 [paras[0].firstChild, 0, paras[1].firstChild, 0]: second addRange() must result in the selection's last range having the specified endpoints FAIL Range 22 [paras[0], 0, paras[0], 0] followed by Range 26 [paras[0].firstChild, 0, paras[1].firstChild, 0]: second addRange() must result in the selection's last range being the same object we added assert_equals: getRangeAt(rangeCount - 1) must return the same object we added expected object "Äb̈c̈d̈ëf̈g̈ḧ -" but got object "" -FAIL Range 22 [paras[0], 0, paras[0], 0] followed by Range 26 [paras[0].firstChild, 0, paras[1].firstChild, 0]: modifying the second added range must modify the Selection's last Range assert_equals: After mutating the second added Range, startOffset of the Selection's last Range must match the added Range expected 0 but got 6 +" but got object "Äb̈c̈d̈ëf̈g̈ḧ +" +FAIL Range 22 [paras[0], 0, paras[0], 0] followed by Range 26 [paras[0].firstChild, 0, paras[1].firstChild, 0]: modifying the second added range must modify the Selection's last Range assert_equals: After mutating the second added Range, endContainer of the Selection's last Range must match the added Range expected Text node "Äb̈c̈d̈ëf̈g̈ḧ +" but got Text node "Ijklmnop +" FAIL Range 22 [paras[0], 0, paras[0], 0] followed by Range 26 [paras[0].firstChild, 0, paras[1].firstChild, 0]: modifying the Selection's last Range must modify the second added Range assert_equals: After second addRange(), after mutating the Selection's last Range, startOffset of the Selection's last Range must match the added Range expected 0 but got 6 PASS Range 22 [paras[0], 0, paras[0], 0] followed by Range 27 [paras[0].firstChild, 0, paras[1].firstChild, 8]: first addRange() must not throw exceptions or modify the range it's given PASS Range 22 [paras[0], 0, paras[0], 0] followed by Range 27 [paras[0].firstChild, 0, paras[1].firstChild, 8]: first addRange() must result in rangeCount being 1 @@ -1885,10 +1887,13 @@ PASS Range 22 [paras[0], 0, paras[0], 0] followed by Range 27 [paras[0].firstChild, 0, paras[1].firstChild, 8]: modifying the Selection's last Range must modify the first added Range PASS Range 22 [paras[0], 0, paras[0], 0] followed by Range 27 [paras[0].firstChild, 0, paras[1].firstChild, 8]: second addRange() must not throw exceptions or modify the range it's given PASS Range 22 [paras[0], 0, paras[0], 0] followed by Range 27 [paras[0].firstChild, 0, paras[1].firstChild, 8]: second addRange() must result in rangeCount being 1 -FAIL Range 22 [paras[0], 0, paras[0], 0] followed by Range 27 [paras[0].firstChild, 0, paras[1].firstChild, 8]: second addRange() must result in the selection's last range having the specified endpoints assert_equals: startOffset of the Selection's last Range must match the added Range expected 0 but got 6 +PASS Range 22 [paras[0], 0, paras[0], 0] followed by Range 27 [paras[0].firstChild, 0, paras[1].firstChild, 8]: second addRange() must result in the selection's last range having the specified endpoints FAIL Range 22 [paras[0], 0, paras[0], 0] followed by Range 27 [paras[0].firstChild, 0, paras[1].firstChild, 8]: second addRange() must result in the selection's last range being the same object we added assert_equals: getRangeAt(rangeCount - 1) must return the same object we added expected object "Äb̈c̈d̈ëf̈g̈ḧ -Ijklmnop" but got object "" -FAIL Range 22 [paras[0], 0, paras[0], 0] followed by Range 27 [paras[0].firstChild, 0, paras[1].firstChild, 8]: modifying the second added range must modify the Selection's last Range assert_equals: After mutating the second added Range, startOffset of the Selection's last Range must match the added Range expected 0 but got 6 +Ijklmnop" but got object "Äb̈c̈d̈ëf̈g̈ḧ +Ijklmnop" +FAIL Range 22 [paras[0], 0, paras[0], 0] followed by Range 27 [paras[0].firstChild, 0, paras[1].firstChild, 8]: modifying the second added range must modify the Selection's last Range assert_equals: After mutating the second added Range, endContainer of the Selection's last Range must match the added Range expected Text node "Äb̈c̈d̈ëf̈g̈ḧ +" but got Text node "Ijklmnop +" FAIL Range 22 [paras[0], 0, paras[0], 0] followed by Range 27 [paras[0].firstChild, 0, paras[1].firstChild, 8]: modifying the Selection's last Range must modify the second added Range assert_equals: After second addRange(), after mutating the Selection's last Range, startOffset of the Selection's last Range must match the added Range expected 0 but got 6 PASS Range 22 [paras[0], 0, paras[0], 0] followed by Range 28 [paras[0].firstChild, 3, paras[3], 1]: first addRange() must not throw exceptions or modify the range it's given PASS Range 22 [paras[0], 0, paras[0], 0] followed by Range 28 [paras[0].firstChild, 3, paras[3], 1]: first addRange() must result in rangeCount being 1 @@ -1898,11 +1903,13 @@ PASS Range 22 [paras[0], 0, paras[0], 0] followed by Range 28 [paras[0].firstChild, 3, paras[3], 1]: modifying the Selection's last Range must modify the first added Range PASS Range 22 [paras[0], 0, paras[0], 0] followed by Range 28 [paras[0].firstChild, 3, paras[3], 1]: second addRange() must not throw exceptions or modify the range it's given PASS Range 22 [paras[0], 0, paras[0], 0] followed by Range 28 [paras[0].firstChild, 3, paras[3], 1]: second addRange() must result in rangeCount being 1 -FAIL Range 22 [paras[0], 0, paras[0], 0] followed by Range 28 [paras[0].firstChild, 3, paras[3], 1]: second addRange() must result in the selection's last range having the specified endpoints assert_equals: startOffset of the Selection's last Range must match the added Range expected 3 but got 6 +PASS Range 22 [paras[0], 0, paras[0], 0] followed by Range 28 [paras[0].firstChild, 3, paras[3], 1]: second addRange() must result in the selection's last range having the specified endpoints FAIL Range 22 [paras[0], 0, paras[0], 0] followed by Range 28 [paras[0].firstChild, 3, paras[3], 1]: second addRange() must result in the selection's last range being the same object we added assert_equals: getRangeAt(rangeCount - 1) must return the same object we added expected object "̈c̈d̈ëf̈g̈ḧ Ijklmnop -QrstuvwxYzabcdef" but got object "" -FAIL Range 22 [paras[0], 0, paras[0], 0] followed by Range 28 [paras[0].firstChild, 3, paras[3], 1]: modifying the second added range must modify the Selection's last Range assert_equals: After mutating the second added Range, startOffset of the Selection's last Range must match the added Range expected 0 but got 6 +QrstuvwxYzabcdef" but got object "̈c̈d̈ëf̈g̈ḧ +Ijklmnop +QrstuvwxYzabcdef" +FAIL Range 22 [paras[0], 0, paras[0], 0] followed by Range 28 [paras[0].firstChild, 3, paras[3], 1]: modifying the second added range must modify the Selection's last Range assert_equals: After mutating the second added Range, startOffset of the Selection's last Range must match the added Range expected 0 but got 3 FAIL Range 22 [paras[0], 0, paras[0], 0] followed by Range 28 [paras[0].firstChild, 3, paras[3], 1]: modifying the Selection's last Range must modify the second added Range assert_equals: After second addRange(), after mutating the Selection's last Range, startOffset of the Selection's last Range must match the added Range expected 0 but got 6 PASS Range 22 [paras[0], 0, paras[0], 0] followed by Range 29 [paras[0], 0, paras[0].firstChild, 7]: first addRange() must not throw exceptions or modify the range it's given PASS Range 22 [paras[0], 0, paras[0], 0] followed by Range 29 [paras[0], 0, paras[0].firstChild, 7]: first addRange() must result in rangeCount being 1 @@ -2356,14 +2363,9 @@ PASS Range 23 [paras[0], 0, paras[0], 1] followed by Range 0 [paras[0].firstChild, 0, paras[0].firstChild, 0]: modifying the Selection's last Range must modify the first added Range PASS Range 23 [paras[0], 0, paras[0], 1] followed by Range 0 [paras[0].firstChild, 0, paras[0].firstChild, 0]: second addRange() must not throw exceptions or modify the range it's given PASS Range 23 [paras[0], 0, paras[0], 1] followed by Range 0 [paras[0].firstChild, 0, paras[0].firstChild, 0]: second addRange() must result in rangeCount being 1 -FAIL Range 23 [paras[0], 0, paras[0], 1] followed by Range 0 [paras[0].firstChild, 0, paras[0].firstChild, 0]: second addRange() must result in the selection's last range having the specified endpoints assert_equals: startContainer of the Selection's last Range must match the added Range expected Text node "Äb̈c̈d̈ëf̈g̈ḧ -" but got Element node <p id="a">Äb̈c̈d̈ëf̈g̈ḧ -</p> -FAIL Range 23 [paras[0], 0, paras[0], 1] followed by Range 0 [paras[0].firstChild, 0, paras[0].firstChild, 0]: second addRange() must result in the selection's last range being the same object we added assert_equals: getRangeAt(rangeCount - 1) must return the same object we added expected object "" but got object "Äb̈c̈d̈ëf̈g̈ḧ -" -FAIL Range 23 [paras[0], 0, paras[0], 1] followed by Range 0 [paras[0].firstChild, 0, paras[0].firstChild, 0]: modifying the second added range must modify the Selection's last Range assert_equals: After mutating the second added Range, startContainer of the Selection's last Range must match the added Range expected Text node "Äb̈c̈d̈ëf̈g̈ḧ -" but got Element node <p id="a">Äb̈c̈d̈ëf̈g̈ḧ -</p> +FAIL Range 23 [paras[0], 0, paras[0], 1] followed by Range 0 [paras[0].firstChild, 0, paras[0].firstChild, 0]: second addRange() must result in the selection's last range having the specified endpoints assert_equals: startOffset of the Selection's last Range must match the added Range expected 0 but got 6 +FAIL Range 23 [paras[0], 0, paras[0], 1] followed by Range 0 [paras[0].firstChild, 0, paras[0].firstChild, 0]: second addRange() must result in the selection's last range being the same object we added assert_equals: getRangeAt(rangeCount - 1) must return the same object we added expected object "" but got object "" +FAIL Range 23 [paras[0], 0, paras[0], 1] followed by Range 0 [paras[0].firstChild, 0, paras[0].firstChild, 0]: modifying the second added range must modify the Selection's last Range assert_equals: After mutating the second added Range, startOffset of the Selection's last Range must match the added Range expected 0 but got 6 FAIL Range 23 [paras[0], 0, paras[0], 1] followed by Range 0 [paras[0].firstChild, 0, paras[0].firstChild, 0]: modifying the Selection's last Range must modify the second added Range assert_equals: After second addRange(), after mutating the Selection's last Range, startOffset of the Selection's last Range must match the added Range expected 0 but got 6 PASS Range 23 [paras[0], 0, paras[0], 1] followed by Range 1 [paras[0].firstChild, 0, paras[0].firstChild, 1]: first addRange() must not throw exceptions or modify the range it's given PASS Range 23 [paras[0], 0, paras[0], 1] followed by Range 1 [paras[0].firstChild, 0, paras[0].firstChild, 1]: first addRange() must result in rangeCount being 1 @@ -2373,14 +2375,9 @@ PASS Range 23 [paras[0], 0, paras[0], 1] followed by Range 1 [paras[0].firstChild, 0, paras[0].firstChild, 1]: modifying the Selection's last Range must modify the first added Range PASS Range 23 [paras[0], 0, paras[0], 1] followed by Range 1 [paras[0].firstChild, 0, paras[0].firstChild, 1]: second addRange() must not throw exceptions or modify the range it's given PASS Range 23 [paras[0], 0, paras[0], 1] followed by Range 1 [paras[0].firstChild, 0, paras[0].firstChild, 1]: second addRange() must result in rangeCount being 1 -FAIL Range 23 [paras[0], 0, paras[0], 1] followed by Range 1 [paras[0].firstChild, 0, paras[0].firstChild, 1]: second addRange() must result in the selection's last range having the specified endpoints assert_equals: startContainer of the Selection's last Range must match the added Range expected Text node "Äb̈c̈d̈ëf̈g̈ḧ -" but got Element node <p id="a">Äb̈c̈d̈ëf̈g̈ḧ -</p> -FAIL Range 23 [paras[0], 0, paras[0], 1] followed by Range 1 [paras[0].firstChild, 0, paras[0].firstChild, 1]: second addRange() must result in the selection's last range being the same object we added assert_equals: getRangeAt(rangeCount - 1) must return the same object we added expected object "A" but got object "Äb̈c̈d̈ëf̈g̈ḧ -" -FAIL Range 23 [paras[0], 0, paras[0], 1] followed by Range 1 [paras[0].firstChild, 0, paras[0].firstChild, 1]: modifying the second added range must modify the Selection's last Range assert_equals: After mutating the second added Range, startContainer of the Selection's last Range must match the added Range expected Text node "Äb̈c̈d̈ëf̈g̈ḧ -" but got Element node <p id="a">Äb̈c̈d̈ëf̈g̈ḧ -</p> +FAIL Range 23 [paras[0], 0, paras[0], 1] followed by Range 1 [paras[0].firstChild, 0, paras[0].firstChild, 1]: second addRange() must result in the selection's last range having the specified endpoints assert_equals: startOffset of the Selection's last Range must match the added Range expected 0 but got 6 +FAIL Range 23 [paras[0], 0, paras[0], 1] followed by Range 1 [paras[0].firstChild, 0, paras[0].firstChild, 1]: second addRange() must result in the selection's last range being the same object we added assert_equals: getRangeAt(rangeCount - 1) must return the same object we added expected object "A" but got object "" +FAIL Range 23 [paras[0], 0, paras[0], 1] followed by Range 1 [paras[0].firstChild, 0, paras[0].firstChild, 1]: modifying the second added range must modify the Selection's last Range assert_equals: After mutating the second added Range, startOffset of the Selection's last Range must match the added Range expected 0 but got 6 FAIL Range 23 [paras[0], 0, paras[0], 1] followed by Range 1 [paras[0].firstChild, 0, paras[0].firstChild, 1]: modifying the Selection's last Range must modify the second added Range assert_equals: After second addRange(), after mutating the Selection's last Range, startOffset of the Selection's last Range must match the added Range expected 0 but got 6 PASS Range 23 [paras[0], 0, paras[0], 1] followed by Range 2 [paras[0].firstChild, 2, paras[0].firstChild, 8]: first addRange() must not throw exceptions or modify the range it's given PASS Range 23 [paras[0], 0, paras[0], 1] followed by Range 2 [paras[0].firstChild, 2, paras[0].firstChild, 8]: first addRange() must result in rangeCount being 1 @@ -2390,14 +2387,9 @@ PASS Range 23 [paras[0], 0, paras[0], 1] followed by Range 2 [paras[0].firstChild, 2, paras[0].firstChild, 8]: modifying the Selection's last Range must modify the first added Range PASS Range 23 [paras[0], 0, paras[0], 1] followed by Range 2 [paras[0].firstChild, 2, paras[0].firstChild, 8]: second addRange() must not throw exceptions or modify the range it's given PASS Range 23 [paras[0], 0, paras[0], 1] followed by Range 2 [paras[0].firstChild, 2, paras[0].firstChild, 8]: second addRange() must result in rangeCount being 1 -FAIL Range 23 [paras[0], 0, paras[0], 1] followed by Range 2 [paras[0].firstChild, 2, paras[0].firstChild, 8]: second addRange() must result in the selection's last range having the specified endpoints assert_equals: startContainer of the Selection's last Range must match the added Range expected Text node "Äb̈c̈d̈ëf̈g̈ḧ -" but got Element node <p id="a">Äb̈c̈d̈ëf̈g̈ḧ -</p> -FAIL Range 23 [paras[0], 0, paras[0], 1] followed by Range 2 [paras[0].firstChild, 2, paras[0].firstChild, 8]: second addRange() must result in the selection's last range being the same object we added assert_equals: getRangeAt(rangeCount - 1) must return the same object we added expected object "b̈c̈d̈" but got object "Äb̈c̈d̈ëf̈g̈ḧ -" -FAIL Range 23 [paras[0], 0, paras[0], 1] followed by Range 2 [paras[0].firstChild, 2, paras[0].firstChild, 8]: modifying the second added range must modify the Selection's last Range assert_equals: After mutating the second added Range, startContainer of the Selection's last Range must match the added Range expected Text node "Äb̈c̈d̈ëf̈g̈ḧ -" but got Element node <p id="a">Äb̈c̈d̈ëf̈g̈ḧ -</p> +PASS Range 23 [paras[0], 0, paras[0], 1] followed by Range 2 [paras[0].firstChild, 2, paras[0].firstChild, 8]: second addRange() must result in the selection's last range having the specified endpoints +FAIL Range 23 [paras[0], 0, paras[0], 1] followed by Range 2 [paras[0].firstChild, 2, paras[0].firstChild, 8]: second addRange() must result in the selection's last range being the same object we added assert_equals: getRangeAt(rangeCount - 1) must return the same object we added expected object "b̈c̈d̈" but got object "b̈c̈d̈" +FAIL Range 23 [paras[0], 0, paras[0], 1] followed by Range 2 [paras[0].firstChild, 2, paras[0].firstChild, 8]: modifying the second added range must modify the Selection's last Range assert_equals: After mutating the second added Range, startOffset of the Selection's last Range must match the added Range expected 0 but got 2 FAIL Range 23 [paras[0], 0, paras[0], 1] followed by Range 2 [paras[0].firstChild, 2, paras[0].firstChild, 8]: modifying the Selection's last Range must modify the second added Range assert_equals: After second addRange(), after mutating the Selection's last Range, startOffset of the Selection's last Range must match the added Range expected 0 but got 6 PASS Range 23 [paras[0], 0, paras[0], 1] followed by Range 3 [paras[0].firstChild, 2, paras[0].firstChild, 9]: first addRange() must not throw exceptions or modify the range it's given PASS Range 23 [paras[0], 0, paras[0], 1] followed by Range 3 [paras[0].firstChild, 2, paras[0].firstChild, 9]: first addRange() must result in rangeCount being 1 @@ -2407,14 +2399,9 @@ PASS Range 23 [paras[0], 0, paras[0], 1] followed by Range 3 [paras[0].firstChild, 2, paras[0].firstChild, 9]: modifying the Selection's last Range must modify the first added Range PASS Range 23 [paras[0], 0, paras[0], 1] followed by Range 3 [paras[0].firstChild, 2, paras[0].firstChild, 9]: second addRange() must not throw exceptions or modify the range it's given PASS Range 23 [paras[0], 0, paras[0], 1] followed by Range 3 [paras[0].firstChild, 2, paras[0].firstChild, 9]: second addRange() must result in rangeCount being 1 -FAIL Range 23 [paras[0], 0, paras[0], 1] followed by Range 3 [paras[0].firstChild, 2, paras[0].firstChild, 9]: second addRange() must result in the selection's last range having the specified endpoints assert_equals: startContainer of the Selection's last Range must match the added Range expected Text node "Äb̈c̈d̈ëf̈g̈ḧ -" but got Element node <p id="a">Äb̈c̈d̈ëf̈g̈ḧ -</p> -FAIL Range 23 [paras[0], 0, paras[0], 1] followed by Range 3 [paras[0].firstChild, 2, paras[0].firstChild, 9]: second addRange() must result in the selection's last range being the same object we added assert_equals: getRangeAt(rangeCount - 1) must return the same object we added expected object "b̈c̈d̈e" but got object "Äb̈c̈d̈ëf̈g̈ḧ -" -FAIL Range 23 [paras[0], 0, paras[0], 1] followed by Range 3 [paras[0].firstChild, 2, paras[0].firstChild, 9]: modifying the second added range must modify the Selection's last Range assert_equals: After mutating the second added Range, startContainer of the Selection's last Range must match the added Range expected Text node "Äb̈c̈d̈ëf̈g̈ḧ -" but got Element node <p id="a">Äb̈c̈d̈ëf̈g̈ḧ -</p> +PASS Range 23 [paras[0], 0, paras[0], 1] followed by Range 3 [paras[0].firstChild, 2, paras[0].firstChild, 9]: second addRange() must result in the selection's last range having the specified endpoints +FAIL Range 23 [paras[0], 0, paras[0], 1] followed by Range 3 [paras[0].firstChild, 2, paras[0].firstChild, 9]: second addRange() must result in the selection's last range being the same object we added assert_equals: getRangeAt(rangeCount - 1) must return the same object we added expected object "b̈c̈d̈e" but got object "b̈c̈d̈e" +FAIL Range 23 [paras[0], 0, paras[0], 1] followed by Range 3 [paras[0].firstChild, 2, paras[0].firstChild, 9]: modifying the second added range must modify the Selection's last Range assert_equals: After mutating the second added Range, startOffset of the Selection's last Range must match the added Range expected 0 but got 2 FAIL Range 23 [paras[0], 0, paras[0], 1] followed by Range 3 [paras[0].firstChild, 2, paras[0].firstChild, 9]: modifying the Selection's last Range must modify the second added Range assert_equals: After second addRange(), after mutating the Selection's last Range, startOffset of the Selection's last Range must match the added Range expected 0 but got 6 PASS Range 23 [paras[0], 0, paras[0], 1] followed by Range 4 [paras[1].firstChild, 0, paras[1].firstChild, 0]: first addRange() must not throw exceptions or modify the range it's given PASS Range 23 [paras[0], 0, paras[0], 1] followed by Range 4 [paras[1].firstChild, 0, paras[1].firstChild, 0]: first addRange() must result in rangeCount being 1 @@ -2726,12 +2713,11 @@ PASS Range 23 [paras[0], 0, paras[0], 1] followed by Range 22 [paras[0], 0, paras[0], 0]: modifying the Selection's last Range must modify the first added Range PASS Range 23 [paras[0], 0, paras[0], 1] followed by Range 22 [paras[0], 0, paras[0], 0]: second addRange() must not throw exceptions or modify the range it's given PASS Range 23 [paras[0], 0, paras[0], 1] followed by Range 22 [paras[0], 0, paras[0], 0]: second addRange() must result in rangeCount being 1 -FAIL Range 23 [paras[0], 0, paras[0], 1] followed by Range 22 [paras[0], 0, paras[0], 0]: second addRange() must result in the selection's last range having the specified endpoints assert_equals: endOffset of the Selection's last Range must match the added Range expected 0 but got 1 -FAIL Range 23 [paras[0], 0, paras[0], 1] followed by Range 22 [paras[0], 0, paras[0], 0]: second addRange() must result in the selection's last range being the same object we added assert_equals: getRangeAt(rangeCount - 1) must return the same object we added expected object "" but got object "Äb̈c̈d̈ëf̈g̈ḧ +FAIL Range 23 [paras[0], 0, paras[0], 1] followed by Range 22 [paras[0], 0, paras[0], 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 id="a">Äb̈c̈d̈ëf̈g̈ḧ +</p> but got Text node "Äb̈c̈d̈ëf̈g̈ḧ " -FAIL Range 23 [paras[0], 0, paras[0], 1] followed by Range 22 [paras[0], 0, paras[0], 0]: modifying the second added range must modify the Selection's last Range assert_equals: After mutating the second added Range, startContainer of the Selection's last Range must match the added Range expected Text node "Äb̈c̈d̈ëf̈g̈ḧ -" but got Element node <p id="a">Äb̈c̈d̈ëf̈g̈ḧ -</p> +FAIL Range 23 [paras[0], 0, paras[0], 1] followed by Range 22 [paras[0], 0, paras[0], 0]: second addRange() must result in the selection's last range being the same object we added assert_equals: getRangeAt(rangeCount - 1) must return the same object we added expected object "" but got object "" +FAIL Range 23 [paras[0], 0, paras[0], 1] followed by Range 22 [paras[0], 0, paras[0], 0]: modifying the second added range must modify the Selection's last Range assert_equals: After mutating the second added Range, startOffset of the Selection's last Range must match the added Range expected 0 but got 6 FAIL Range 23 [paras[0], 0, paras[0], 1] followed by Range 22 [paras[0], 0, paras[0], 0]: modifying the Selection's last Range must modify the second added Range assert_equals: After second addRange(), after mutating the Selection's last Range, startOffset of the Selection's last Range must match the added Range expected 0 but got 6 PASS Range 23 [paras[0], 0, paras[0], 1] followed by Range 23 [paras[0], 0, paras[0], 1]: first addRange() must not throw exceptions or modify the range it's given PASS Range 23 [paras[0], 0, paras[0], 1] followed by Range 23 [paras[0], 0, paras[0], 1]: first addRange() must result in rangeCount being 1 @@ -2783,15 +2769,13 @@ PASS Range 23 [paras[0], 0, paras[0], 1] followed by Range 26 [paras[0].firstChild, 0, paras[1].firstChild, 0]: modifying the Selection's last Range must modify the first added Range PASS Range 23 [paras[0], 0, paras[0], 1] followed by Range 26 [paras[0].firstChild, 0, paras[1].firstChild, 0]: second addRange() must not throw exceptions or modify the range it's given PASS Range 23 [paras[0], 0, paras[0], 1] followed by Range 26 [paras[0].firstChild, 0, paras[1].firstChild, 0]: second addRange() must result in rangeCount being 1 -FAIL Range 23 [paras[0], 0, paras[0], 1] followed by Range 26 [paras[0].firstChild, 0, paras[1].firstChild, 0]: second addRange() must result in the selection's last range having the specified endpoints assert_equals: startContainer of the Selection's last Range must match the added Range expected Text node "Äb̈c̈d̈ëf̈g̈ḧ -" but got Element node <p id="a">Äb̈c̈d̈ëf̈g̈ḧ -</p> +PASS Range 23 [paras[0], 0, paras[0], 1] followed by Range 26 [paras[0].firstChild, 0, paras[1].firstChild, 0]: second addRange() must result in the selection's last range having the specified endpoints FAIL Range 23 [paras[0], 0, paras[0], 1] followed by Range 26 [paras[0].firstChild, 0, paras[1].firstChild, 0]: second addRange() must result in the selection's last range being the same object we added assert_equals: getRangeAt(rangeCount - 1) must return the same object we added expected object "Äb̈c̈d̈ëf̈g̈ḧ " but got object "Äb̈c̈d̈ëf̈g̈ḧ " -FAIL Range 23 [paras[0], 0, paras[0], 1] followed by Range 26 [paras[0].firstChild, 0, paras[1].firstChild, 0]: modifying the second added range must modify the Selection's last Range assert_equals: After mutating the second added Range, startContainer of the Selection's last Range must match the added Range expected Text node "Äb̈c̈d̈ëf̈g̈ḧ -" but got Element node <p id="a">Äb̈c̈d̈ëf̈g̈ḧ -</p> +FAIL Range 23 [paras[0], 0, paras[0], 1] followed by Range 26 [paras[0].firstChild, 0, paras[1].firstChild, 0]: modifying the second added range must modify the Selection's last Range assert_equals: After mutating the second added Range, endContainer of the Selection's last Range must match the added Range expected Text node "Äb̈c̈d̈ëf̈g̈ḧ +" but got Text node "Ijklmnop +" FAIL Range 23 [paras[0], 0, paras[0], 1] followed by Range 26 [paras[0].firstChild, 0, paras[1].firstChild, 0]: modifying the Selection's last Range must modify the second added Range assert_equals: After second addRange(), after mutating the Selection's last Range, startOffset of the Selection's last Range must match the added Range expected 0 but got 6 PASS Range 23 [paras[0], 0, paras[0], 1] followed by Range 27 [paras[0].firstChild, 0, paras[1].firstChild, 8]: first addRange() must not throw exceptions or modify the range it's given PASS Range 23 [paras[0], 0, paras[0], 1] followed by Range 27 [paras[0].firstChild, 0, paras[1].firstChild, 8]: first addRange() must result in rangeCount being 1 @@ -2801,15 +2785,13 @@ PASS Range 23 [paras[0], 0, paras[0], 1] followed by Range 27 [paras[0].firstChild, 0, paras[1].firstChild, 8]: modifying the Selection's last Range must modify the first added Range PASS Range 23 [paras[0], 0, paras[0], 1] followed by Range 27 [paras[0].firstChild, 0, paras[1].firstChild, 8]: second addRange() must not throw exceptions or modify the range it's given PASS Range 23 [paras[0], 0, paras[0], 1] followed by Range 27 [paras[0].firstChild, 0, paras[1].firstChild, 8]: second addRange() must result in rangeCount being 1 -FAIL Range 23 [paras[0], 0, paras[0], 1] followed by Range 27 [paras[0].firstChild, 0, paras[1].firstChild, 8]: second addRange() must result in the selection's last range having the specified endpoints assert_equals: startContainer of the Selection's last Range must match the added Range expected Text node "Äb̈c̈d̈ëf̈g̈ḧ -" but got Element node <p id="a">Äb̈c̈d̈ëf̈g̈ḧ -</p> +PASS Range 23 [paras[0], 0, paras[0], 1] followed by Range 27 [paras[0].firstChild, 0, paras[1].firstChild, 8]: second addRange() must result in the selection's last range having the specified endpoints FAIL Range 23 [paras[0], 0, paras[0], 1] followed by Range 27 [paras[0].firstChild, 0, paras[1].firstChild, 8]: second addRange() must result in the selection's last range being the same object we added assert_equals: getRangeAt(rangeCount - 1) must return the same object we added expected object "Äb̈c̈d̈ëf̈g̈ḧ Ijklmnop" but got object "Äb̈c̈d̈ëf̈g̈ḧ Ijklmnop" -FAIL Range 23 [paras[0], 0, paras[0], 1] followed by Range 27 [paras[0].firstChild, 0, paras[1].firstChild, 8]: modifying the second added range must modify the Selection's last Range assert_equals: After mutating the second added Range, startContainer of the Selection's last Range must match the added Range expected Text node "Äb̈c̈d̈ëf̈g̈ḧ -" but got Element node <p id="a">Äb̈c̈d̈ëf̈g̈ḧ -</p> +FAIL Range 23 [paras[0], 0, paras[0], 1] followed by Range 27 [paras[0].firstChild, 0, paras[1].firstChild, 8]: modifying the second added range must modify the Selection's last Range assert_equals: After mutating the second added Range, endContainer of the Selection's last Range must match the added Range expected Text node "Äb̈c̈d̈ëf̈g̈ḧ +" but got Text node "Ijklmnop +" FAIL Range 23 [paras[0], 0, paras[0], 1] followed by Range 27 [paras[0].firstChild, 0, paras[1].firstChild, 8]: modifying the Selection's last Range must modify the second added Range assert_equals: After second addRange(), after mutating the Selection's last Range, startOffset of the Selection's last Range must match the added Range expected 0 but got 6 PASS Range 23 [paras[0], 0, paras[0], 1] followed by Range 28 [paras[0].firstChild, 3, paras[3], 1]: first addRange() must not throw exceptions or modify the range it's given PASS Range 23 [paras[0], 0, paras[0], 1] followed by Range 28 [paras[0].firstChild, 3, paras[3], 1]: first addRange() must result in rangeCount being 1 @@ -2819,17 +2801,13 @@ PASS Range 23 [paras[0], 0, paras[0], 1] followed by Range 28 [paras[0].firstChild, 3, paras[3], 1]: modifying the Selection's last Range must modify the first added Range PASS Range 23 [paras[0], 0, paras[0], 1] followed by Range 28 [paras[0].firstChild, 3, paras[3], 1]: second addRange() must not throw exceptions or modify the range it's given PASS Range 23 [paras[0], 0, paras[0], 1] followed by Range 28 [paras[0].firstChild, 3, paras[3], 1]: second addRange() must result in rangeCount being 1 -FAIL Range 23 [paras[0], 0, paras[0], 1] followed by Range 28 [paras[0].firstChild, 3, paras[3], 1]: second addRange() must result in the selection's last range having the specified endpoints assert_equals: startContainer of the Selection's last Range must match the added Range expected Text node "Äb̈c̈d̈ëf̈g̈ḧ -" but got Element node <p id="a">Äb̈c̈d̈ëf̈g̈ḧ -</p> +PASS Range 23 [paras[0], 0, paras[0], 1] followed by Range 28 [paras[0].firstChild, 3, paras[3], 1]: second addRange() must result in the selection's last range having the specified endpoints FAIL Range 23 [paras[0], 0, paras[0], 1] followed by Range 28 [paras[0].firstChild, 3, paras[3], 1]: second addRange() must result in the selection's last range being the same object we added assert_equals: getRangeAt(rangeCount - 1) must return the same object we added expected object "̈c̈d̈ëf̈g̈ḧ Ijklmnop -QrstuvwxYzabcdef" but got object "Äb̈c̈d̈ëf̈g̈ḧ +QrstuvwxYzabcdef" but got object "̈c̈d̈ëf̈g̈ḧ Ijklmnop QrstuvwxYzabcdef" -FAIL Range 23 [paras[0], 0, paras[0], 1] followed by Range 28 [paras[0].firstChild, 3, paras[3], 1]: modifying the second added range must modify the Selection's last Range assert_equals: After mutating the second added Range, startContainer of the Selection's last Range must match the added Range expected Text node "Äb̈c̈d̈ëf̈g̈ḧ -" but got Element node <p id="a">Äb̈c̈d̈ëf̈g̈ḧ -</p> +FAIL Range 23 [paras[0], 0, paras[0], 1] followed by Range 28 [paras[0].firstChild, 3, paras[3], 1]: modifying the second added range must modify the Selection's last Range assert_equals: After mutating the second added Range, startOffset of the Selection's last Range must match the added Range expected 0 but got 3 FAIL Range 23 [paras[0], 0, paras[0], 1] followed by Range 28 [paras[0].firstChild, 3, paras[3], 1]: modifying the Selection's last Range must modify the second added Range assert_equals: After second addRange(), after mutating the Selection's last Range, startOffset of the Selection's last Range must match the added Range expected 0 but got 6 PASS Range 23 [paras[0], 0, paras[0], 1] followed by Range 29 [paras[0], 0, paras[0].firstChild, 7]: first addRange() must not throw exceptions or modify the range it's given PASS Range 23 [paras[0], 0, paras[0], 1] followed by Range 29 [paras[0], 0, paras[0].firstChild, 7]: first addRange() must result in rangeCount being 1 @@ -2839,11 +2817,8 @@ PASS Range 23 [paras[0], 0, paras[0], 1] followed by Range 29 [paras[0], 0, paras[0].firstChild, 7]: modifying the Selection's last Range must modify the first added Range PASS Range 23 [paras[0], 0, paras[0], 1] followed by Range 29 [paras[0], 0, paras[0].firstChild, 7]: second addRange() must not throw exceptions or modify the range it's given PASS Range 23 [paras[0], 0, paras[0], 1] followed by Range 29 [paras[0], 0, paras[0].firstChild, 7]: second addRange() must result in rangeCount being 1 -FAIL Range 23 [paras[0], 0, paras[0], 1] followed by Range 29 [paras[0], 0, paras[0].firstChild, 7]: second addRange() must result in the selection's last range having the specified endpoints assert_equals: endContainer of the Selection's last Range must match the added Range expected Text node "Äb̈c̈d̈ëf̈g̈ḧ -" but got Element node <p id="a">Äb̈c̈d̈ëf̈g̈ḧ -</p> -FAIL Range 23 [paras[0], 0, paras[0], 1] followed by Range 29 [paras[0], 0, paras[0].firstChild, 7]: second addRange() must result in the selection's last range being the same object we added assert_equals: getRangeAt(rangeCount - 1) must return the same object we added expected object "Äb̈c̈d" but got object "Äb̈c̈d̈ëf̈g̈ḧ -" +PASS Range 23 [paras[0], 0, paras[0], 1] followed by Range 29 [paras[0], 0, paras[0].firstChild, 7]: second addRange() must result in the selection's last range having the specified endpoints +FAIL Range 23 [paras[0], 0, paras[0], 1] followed by Range 29 [paras[0], 0, paras[0].firstChild, 7]: second addRange() must result in the selection's last range being the same object we added assert_equals: getRangeAt(rangeCount - 1) must return the same object we added expected object "Äb̈c̈d" but got object "Äb̈c̈d" FAIL Range 23 [paras[0], 0, paras[0], 1] followed by Range 29 [paras[0], 0, paras[0].firstChild, 7]: modifying the second added range must modify the Selection's last Range assert_equals: After mutating the second added Range, startContainer of the Selection's last Range must match the added Range expected Text node "Äb̈c̈d̈ëf̈g̈ḧ " but got Element node <p id="a">Äb̈c̈d̈ëf̈g̈ḧ </p>
diff --git a/third_party/WebKit/LayoutTests/external/wpt/selection/addRange-24-expected.txt b/third_party/WebKit/LayoutTests/external/wpt/selection/addRange-24-expected.txt index 552374e..5b918b75 100644 --- a/third_party/WebKit/LayoutTests/external/wpt/selection/addRange-24-expected.txt +++ b/third_party/WebKit/LayoutTests/external/wpt/selection/addRange-24-expected.txt
@@ -134,6 +134,10 @@ 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. @@ -147,10 +151,17 @@ 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. @@ -164,6 +175,7 @@ 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. @@ -1569,14 +1581,9 @@ PASS Range 26 [paras[0].firstChild, 0, paras[1].firstChild, 0] followed by Range 0 [paras[0].firstChild, 0, paras[0].firstChild, 0]: modifying the Selection's last Range must modify the first added Range PASS Range 26 [paras[0].firstChild, 0, paras[1].firstChild, 0] followed by Range 0 [paras[0].firstChild, 0, paras[0].firstChild, 0]: second addRange() must not throw exceptions or modify the range it's given PASS Range 26 [paras[0].firstChild, 0, paras[1].firstChild, 0] followed by Range 0 [paras[0].firstChild, 0, paras[0].firstChild, 0]: second addRange() must result in rangeCount being 1 -FAIL Range 26 [paras[0].firstChild, 0, paras[1].firstChild, 0] followed by Range 0 [paras[0].firstChild, 0, paras[0].firstChild, 0]: second addRange() must result in the selection's last range having the specified endpoints assert_equals: endContainer of the Selection's last Range must match the added Range expected Text node "Äb̈c̈d̈ëf̈g̈ḧ -" but got Text node "Ijklmnop -" -FAIL Range 26 [paras[0].firstChild, 0, paras[1].firstChild, 0] followed by Range 0 [paras[0].firstChild, 0, paras[0].firstChild, 0]: second addRange() must result in the selection's last range being the same object we added assert_equals: getRangeAt(rangeCount - 1) must return the same object we added expected object "" but got object "Äb̈c̈d̈ëf̈g̈ḧ -" -FAIL Range 26 [paras[0].firstChild, 0, paras[1].firstChild, 0] followed by Range 0 [paras[0].firstChild, 0, paras[0].firstChild, 0]: modifying the second added range must modify the Selection's last Range assert_equals: After mutating the second added Range, endContainer of the Selection's last Range must match the added Range expected Text node "Äb̈c̈d̈ëf̈g̈ḧ -" but got Text node "Ijklmnop -" +FAIL Range 26 [paras[0].firstChild, 0, paras[1].firstChild, 0] followed by Range 0 [paras[0].firstChild, 0, paras[0].firstChild, 0]: second addRange() must result in the selection's last range having the specified endpoints assert_equals: startOffset of the Selection's last Range must match the added Range expected 0 but got 6 +FAIL Range 26 [paras[0].firstChild, 0, paras[1].firstChild, 0] followed by Range 0 [paras[0].firstChild, 0, paras[0].firstChild, 0]: second addRange() must result in the selection's last range being the same object we added assert_equals: getRangeAt(rangeCount - 1) must return the same object we added expected object "" but got object "" +FAIL Range 26 [paras[0].firstChild, 0, paras[1].firstChild, 0] followed by Range 0 [paras[0].firstChild, 0, paras[0].firstChild, 0]: modifying the second added range must modify the Selection's last Range assert_equals: After mutating the second added Range, startOffset of the Selection's last Range must match the added Range expected 0 but got 6 FAIL Range 26 [paras[0].firstChild, 0, paras[1].firstChild, 0] followed by Range 0 [paras[0].firstChild, 0, paras[0].firstChild, 0]: modifying the Selection's last Range must modify the second added Range assert_equals: After second addRange(), after mutating the Selection's last Range, startOffset of the Selection's last Range must match the added Range expected 0 but got 6 PASS Range 26 [paras[0].firstChild, 0, paras[1].firstChild, 0] followed by Range 1 [paras[0].firstChild, 0, paras[0].firstChild, 1]: first addRange() must not throw exceptions or modify the range it's given PASS Range 26 [paras[0].firstChild, 0, paras[1].firstChild, 0] followed by Range 1 [paras[0].firstChild, 0, paras[0].firstChild, 1]: first addRange() must result in rangeCount being 1 @@ -1586,14 +1593,9 @@ PASS Range 26 [paras[0].firstChild, 0, paras[1].firstChild, 0] followed by Range 1 [paras[0].firstChild, 0, paras[0].firstChild, 1]: modifying the Selection's last Range must modify the first added Range PASS Range 26 [paras[0].firstChild, 0, paras[1].firstChild, 0] followed by Range 1 [paras[0].firstChild, 0, paras[0].firstChild, 1]: second addRange() must not throw exceptions or modify the range it's given PASS Range 26 [paras[0].firstChild, 0, paras[1].firstChild, 0] followed by Range 1 [paras[0].firstChild, 0, paras[0].firstChild, 1]: second addRange() must result in rangeCount being 1 -FAIL Range 26 [paras[0].firstChild, 0, paras[1].firstChild, 0] followed by Range 1 [paras[0].firstChild, 0, paras[0].firstChild, 1]: second addRange() must result in the selection's last range having the specified endpoints assert_equals: endContainer of the Selection's last Range must match the added Range expected Text node "Äb̈c̈d̈ëf̈g̈ḧ -" but got Text node "Ijklmnop -" -FAIL Range 26 [paras[0].firstChild, 0, paras[1].firstChild, 0] followed by Range 1 [paras[0].firstChild, 0, paras[0].firstChild, 1]: second addRange() must result in the selection's last range being the same object we added assert_equals: getRangeAt(rangeCount - 1) must return the same object we added expected object "A" but got object "Äb̈c̈d̈ëf̈g̈ḧ -" -FAIL Range 26 [paras[0].firstChild, 0, paras[1].firstChild, 0] followed by Range 1 [paras[0].firstChild, 0, paras[0].firstChild, 1]: modifying the second added range must modify the Selection's last Range assert_equals: After mutating the second added Range, endContainer of the Selection's last Range must match the added Range expected Text node "Äb̈c̈d̈ëf̈g̈ḧ -" but got Text node "Ijklmnop -" +FAIL Range 26 [paras[0].firstChild, 0, paras[1].firstChild, 0] followed by Range 1 [paras[0].firstChild, 0, paras[0].firstChild, 1]: second addRange() must result in the selection's last range having the specified endpoints assert_equals: startOffset of the Selection's last Range must match the added Range expected 0 but got 6 +FAIL Range 26 [paras[0].firstChild, 0, paras[1].firstChild, 0] followed by Range 1 [paras[0].firstChild, 0, paras[0].firstChild, 1]: second addRange() must result in the selection's last range being the same object we added assert_equals: getRangeAt(rangeCount - 1) must return the same object we added expected object "A" but got object "" +FAIL Range 26 [paras[0].firstChild, 0, paras[1].firstChild, 0] followed by Range 1 [paras[0].firstChild, 0, paras[0].firstChild, 1]: modifying the second added range must modify the Selection's last Range assert_equals: After mutating the second added Range, startOffset of the Selection's last Range must match the added Range expected 0 but got 6 FAIL Range 26 [paras[0].firstChild, 0, paras[1].firstChild, 0] followed by Range 1 [paras[0].firstChild, 0, paras[0].firstChild, 1]: modifying the Selection's last Range must modify the second added Range assert_equals: After second addRange(), after mutating the Selection's last Range, startOffset of the Selection's last Range must match the added Range expected 0 but got 6 PASS Range 26 [paras[0].firstChild, 0, paras[1].firstChild, 0] followed by Range 2 [paras[0].firstChild, 2, paras[0].firstChild, 8]: first addRange() must not throw exceptions or modify the range it's given PASS Range 26 [paras[0].firstChild, 0, paras[1].firstChild, 0] followed by Range 2 [paras[0].firstChild, 2, paras[0].firstChild, 8]: first addRange() must result in rangeCount being 1 @@ -1603,12 +1605,9 @@ PASS Range 26 [paras[0].firstChild, 0, paras[1].firstChild, 0] followed by Range 2 [paras[0].firstChild, 2, paras[0].firstChild, 8]: modifying the Selection's last Range must modify the first added Range PASS Range 26 [paras[0].firstChild, 0, paras[1].firstChild, 0] followed by Range 2 [paras[0].firstChild, 2, paras[0].firstChild, 8]: second addRange() must not throw exceptions or modify the range it's given PASS Range 26 [paras[0].firstChild, 0, paras[1].firstChild, 0] followed by Range 2 [paras[0].firstChild, 2, paras[0].firstChild, 8]: second addRange() must result in rangeCount being 1 -FAIL Range 26 [paras[0].firstChild, 0, paras[1].firstChild, 0] followed by Range 2 [paras[0].firstChild, 2, paras[0].firstChild, 8]: second addRange() must result in the selection's last range having the specified endpoints assert_equals: startOffset of the Selection's last Range must match the added Range expected 2 but got 0 -FAIL Range 26 [paras[0].firstChild, 0, paras[1].firstChild, 0] followed by Range 2 [paras[0].firstChild, 2, paras[0].firstChild, 8]: second addRange() must result in the selection's last range being the same object we added assert_equals: getRangeAt(rangeCount - 1) must return the same object we added expected object "b̈c̈d̈" but got object "Äb̈c̈d̈ëf̈g̈ḧ -" -FAIL Range 26 [paras[0].firstChild, 0, paras[1].firstChild, 0] followed by Range 2 [paras[0].firstChild, 2, paras[0].firstChild, 8]: modifying the second added range must modify the Selection's last Range assert_equals: After mutating the second added Range, endContainer of the Selection's last Range must match the added Range expected Text node "Äb̈c̈d̈ëf̈g̈ḧ -" but got Text node "Ijklmnop -" +PASS Range 26 [paras[0].firstChild, 0, paras[1].firstChild, 0] followed by Range 2 [paras[0].firstChild, 2, paras[0].firstChild, 8]: second addRange() must result in the selection's last range having the specified endpoints +FAIL Range 26 [paras[0].firstChild, 0, paras[1].firstChild, 0] followed by Range 2 [paras[0].firstChild, 2, paras[0].firstChild, 8]: second addRange() must result in the selection's last range being the same object we added assert_equals: getRangeAt(rangeCount - 1) must return the same object we added expected object "b̈c̈d̈" but got object "b̈c̈d̈" +FAIL Range 26 [paras[0].firstChild, 0, paras[1].firstChild, 0] followed by Range 2 [paras[0].firstChild, 2, paras[0].firstChild, 8]: modifying the second added range must modify the Selection's last Range assert_equals: After mutating the second added Range, startOffset of the Selection's last Range must match the added Range expected 0 but got 2 FAIL Range 26 [paras[0].firstChild, 0, paras[1].firstChild, 0] followed by Range 2 [paras[0].firstChild, 2, paras[0].firstChild, 8]: modifying the Selection's last Range must modify the second added Range assert_equals: After second addRange(), after mutating the Selection's last Range, startOffset of the Selection's last Range must match the added Range expected 0 but got 6 PASS Range 26 [paras[0].firstChild, 0, paras[1].firstChild, 0] followed by Range 3 [paras[0].firstChild, 2, paras[0].firstChild, 9]: first addRange() must not throw exceptions or modify the range it's given PASS Range 26 [paras[0].firstChild, 0, paras[1].firstChild, 0] followed by Range 3 [paras[0].firstChild, 2, paras[0].firstChild, 9]: first addRange() must result in rangeCount being 1 @@ -1618,12 +1617,9 @@ PASS Range 26 [paras[0].firstChild, 0, paras[1].firstChild, 0] followed by Range 3 [paras[0].firstChild, 2, paras[0].firstChild, 9]: modifying the Selection's last Range must modify the first added Range PASS Range 26 [paras[0].firstChild, 0, paras[1].firstChild, 0] followed by Range 3 [paras[0].firstChild, 2, paras[0].firstChild, 9]: second addRange() must not throw exceptions or modify the range it's given PASS Range 26 [paras[0].firstChild, 0, paras[1].firstChild, 0] followed by Range 3 [paras[0].firstChild, 2, paras[0].firstChild, 9]: second addRange() must result in rangeCount being 1 -FAIL Range 26 [paras[0].firstChild, 0, paras[1].firstChild, 0] followed by Range 3 [paras[0].firstChild, 2, paras[0].firstChild, 9]: second addRange() must result in the selection's last range having the specified endpoints assert_equals: startOffset of the Selection's last Range must match the added Range expected 2 but got 0 -FAIL Range 26 [paras[0].firstChild, 0, paras[1].firstChild, 0] followed by Range 3 [paras[0].firstChild, 2, paras[0].firstChild, 9]: second addRange() must result in the selection's last range being the same object we added assert_equals: getRangeAt(rangeCount - 1) must return the same object we added expected object "b̈c̈d̈e" but got object "Äb̈c̈d̈ëf̈g̈ḧ -" -FAIL Range 26 [paras[0].firstChild, 0, paras[1].firstChild, 0] followed by Range 3 [paras[0].firstChild, 2, paras[0].firstChild, 9]: modifying the second added range must modify the Selection's last Range assert_equals: After mutating the second added Range, endContainer of the Selection's last Range must match the added Range expected Text node "Äb̈c̈d̈ëf̈g̈ḧ -" but got Text node "Ijklmnop -" +PASS Range 26 [paras[0].firstChild, 0, paras[1].firstChild, 0] followed by Range 3 [paras[0].firstChild, 2, paras[0].firstChild, 9]: second addRange() must result in the selection's last range having the specified endpoints +FAIL Range 26 [paras[0].firstChild, 0, paras[1].firstChild, 0] followed by Range 3 [paras[0].firstChild, 2, paras[0].firstChild, 9]: second addRange() must result in the selection's last range being the same object we added assert_equals: getRangeAt(rangeCount - 1) must return the same object we added expected object "b̈c̈d̈e" but got object "b̈c̈d̈e" +FAIL Range 26 [paras[0].firstChild, 0, paras[1].firstChild, 0] followed by Range 3 [paras[0].firstChild, 2, paras[0].firstChild, 9]: modifying the second added range must modify the Selection's last Range assert_equals: After mutating the second added Range, startOffset of the Selection's last Range must match the added Range expected 0 but got 2 FAIL Range 26 [paras[0].firstChild, 0, paras[1].firstChild, 0] followed by Range 3 [paras[0].firstChild, 2, paras[0].firstChild, 9]: modifying the Selection's last Range must modify the second added Range assert_equals: After second addRange(), after mutating the Selection's last Range, startOffset of the Selection's last Range must match the added Range expected 0 but got 6 PASS Range 26 [paras[0].firstChild, 0, paras[1].firstChild, 0] followed by Range 4 [paras[1].firstChild, 0, paras[1].firstChild, 0]: first addRange() must not throw exceptions or modify the range it's given PASS Range 26 [paras[0].firstChild, 0, paras[1].firstChild, 0] followed by Range 4 [paras[1].firstChild, 0, paras[1].firstChild, 0]: first addRange() must result in rangeCount being 1 @@ -1636,11 +1632,8 @@ FAIL Range 26 [paras[0].firstChild, 0, paras[1].firstChild, 0] followed by Range 4 [paras[1].firstChild, 0, paras[1].firstChild, 0]: second addRange() must result in the selection's last range having the specified endpoints assert_equals: startContainer of the Selection's last Range must match the added Range expected Text node "Ijklmnop " but got Text node "Äb̈c̈d̈ëf̈g̈ḧ " -FAIL Range 26 [paras[0].firstChild, 0, paras[1].firstChild, 0] followed by Range 4 [paras[1].firstChild, 0, paras[1].firstChild, 0]: second addRange() must result in the selection's last range being the same object we added assert_equals: getRangeAt(rangeCount - 1) must return the same object we added expected object "" but got object "Äb̈c̈d̈ëf̈g̈ḧ -" -FAIL Range 26 [paras[0].firstChild, 0, paras[1].firstChild, 0] followed by Range 4 [paras[1].firstChild, 0, paras[1].firstChild, 0]: modifying the second added range must modify the Selection's last Range assert_equals: After mutating the second added Range, endContainer of the Selection's last Range must match the added Range expected Text node "Äb̈c̈d̈ëf̈g̈ḧ -" but got Text node "Ijklmnop -" +FAIL Range 26 [paras[0].firstChild, 0, paras[1].firstChild, 0] followed by Range 4 [paras[1].firstChild, 0, paras[1].firstChild, 0]: second addRange() must result in the selection's last range being the same object we added assert_equals: getRangeAt(rangeCount - 1) must return the same object we added expected object "" but got object "" +FAIL Range 26 [paras[0].firstChild, 0, paras[1].firstChild, 0] followed by Range 4 [paras[1].firstChild, 0, paras[1].firstChild, 0]: modifying the second added range must modify the Selection's last Range assert_equals: After mutating the second added Range, startOffset of the Selection's last Range must match the added Range expected 0 but got 6 FAIL Range 26 [paras[0].firstChild, 0, paras[1].firstChild, 0] followed by Range 4 [paras[1].firstChild, 0, paras[1].firstChild, 0]: modifying the Selection's last Range must modify the second added Range assert_equals: After second addRange(), after mutating the Selection's last Range, startOffset of the Selection's last Range must match the added Range expected 0 but got 6 PASS Range 26 [paras[0].firstChild, 0, paras[1].firstChild, 0] followed by Range 5 [paras[1].firstChild, 0, paras[1].firstChild, 1]: first addRange() must not throw exceptions or modify the range it's given PASS Range 26 [paras[0].firstChild, 0, paras[1].firstChild, 0] followed by Range 5 [paras[1].firstChild, 0, paras[1].firstChild, 1]: first addRange() must result in rangeCount being 1 @@ -1653,11 +1646,8 @@ FAIL Range 26 [paras[0].firstChild, 0, paras[1].firstChild, 0] followed by Range 5 [paras[1].firstChild, 0, paras[1].firstChild, 1]: second addRange() must result in the selection's last range having the specified endpoints assert_equals: startContainer of the Selection's last Range must match the added Range expected Text node "Ijklmnop " but got Text node "Äb̈c̈d̈ëf̈g̈ḧ " -FAIL Range 26 [paras[0].firstChild, 0, paras[1].firstChild, 0] followed by Range 5 [paras[1].firstChild, 0, paras[1].firstChild, 1]: second addRange() must result in the selection's last range being the same object we added assert_equals: getRangeAt(rangeCount - 1) must return the same object we added expected object "I" but got object "Äb̈c̈d̈ëf̈g̈ḧ -I" -FAIL Range 26 [paras[0].firstChild, 0, paras[1].firstChild, 0] followed by Range 5 [paras[1].firstChild, 0, paras[1].firstChild, 1]: modifying the second added range must modify the Selection's last Range assert_equals: After mutating the second added Range, endContainer of the Selection's last Range must match the added Range expected Text node "Äb̈c̈d̈ëf̈g̈ḧ -" but got Text node "Ijklmnop -" +FAIL Range 26 [paras[0].firstChild, 0, paras[1].firstChild, 0] followed by Range 5 [paras[1].firstChild, 0, paras[1].firstChild, 1]: second addRange() must result in the selection's last range being the same object we added assert_equals: getRangeAt(rangeCount - 1) must return the same object we added expected object "I" but got object "" +FAIL Range 26 [paras[0].firstChild, 0, paras[1].firstChild, 0] followed by Range 5 [paras[1].firstChild, 0, paras[1].firstChild, 1]: modifying the second added range must modify the Selection's last Range assert_equals: After mutating the second added Range, startOffset of the Selection's last Range must match the added Range expected 0 but got 6 FAIL Range 26 [paras[0].firstChild, 0, paras[1].firstChild, 0] followed by Range 5 [paras[1].firstChild, 0, paras[1].firstChild, 1]: modifying the Selection's last Range must modify the second added Range assert_equals: After second addRange(), after mutating the Selection's last Range, startOffset of the Selection's last Range must match the added Range expected 0 but got 6 PASS Range 26 [paras[0].firstChild, 0, paras[1].firstChild, 0] followed by Range 6 [paras[1].firstChild, 2, paras[1].firstChild, 8]: first addRange() must not throw exceptions or modify the range it's given PASS Range 26 [paras[0].firstChild, 0, paras[1].firstChild, 0] followed by Range 6 [paras[1].firstChild, 2, paras[1].firstChild, 8]: first addRange() must result in rangeCount being 1 @@ -1955,9 +1945,7 @@ PASS Range 26 [paras[0].firstChild, 0, paras[1].firstChild, 0] followed by Range 23 [paras[0], 0, paras[0], 1]: modifying the Selection's last Range must modify the first added Range PASS Range 26 [paras[0].firstChild, 0, paras[1].firstChild, 0] followed by Range 23 [paras[0], 0, paras[0], 1]: second addRange() must not throw exceptions or modify the range it's given PASS Range 26 [paras[0].firstChild, 0, paras[1].firstChild, 0] followed by Range 23 [paras[0], 0, paras[0], 1]: second addRange() must result in rangeCount being 1 -FAIL Range 26 [paras[0].firstChild, 0, paras[1].firstChild, 0] followed by Range 23 [paras[0], 0, paras[0], 1]: second addRange() must result in the selection's last range having the specified endpoints assert_equals: endContainer of the Selection's last Range must match the added Range expected Element node <p id="a">Äb̈c̈d̈ëf̈g̈ḧ -</p> but got Text node "Ijklmnop -" +PASS Range 26 [paras[0].firstChild, 0, paras[1].firstChild, 0] followed by Range 23 [paras[0], 0, paras[0], 1]: second addRange() must result in the selection's last range having the specified endpoints FAIL Range 26 [paras[0].firstChild, 0, paras[1].firstChild, 0] followed by Range 23 [paras[0], 0, paras[0], 1]: second addRange() must result in the selection's last range being the same object we added assert_equals: getRangeAt(rangeCount - 1) must return the same object we added expected object "Äb̈c̈d̈ëf̈g̈ḧ " but got object "Äb̈c̈d̈ëf̈g̈ḧ " @@ -2031,14 +2019,13 @@ PASS Range 26 [paras[0].firstChild, 0, paras[1].firstChild, 0] followed by Range 28 [paras[0].firstChild, 3, paras[3], 1]: modifying the Selection's last Range must modify the first added Range PASS Range 26 [paras[0].firstChild, 0, paras[1].firstChild, 0] followed by Range 28 [paras[0].firstChild, 3, paras[3], 1]: second addRange() must not throw exceptions or modify the range it's given PASS Range 26 [paras[0].firstChild, 0, paras[1].firstChild, 0] followed by Range 28 [paras[0].firstChild, 3, paras[3], 1]: second addRange() must result in rangeCount being 1 -FAIL Range 26 [paras[0].firstChild, 0, paras[1].firstChild, 0] followed by Range 28 [paras[0].firstChild, 3, paras[3], 1]: second addRange() must result in the selection's last range having the specified endpoints assert_equals: startOffset of the Selection's last Range must match the added Range expected 3 but got 0 +PASS Range 26 [paras[0].firstChild, 0, paras[1].firstChild, 0] followed by Range 28 [paras[0].firstChild, 3, paras[3], 1]: second addRange() must result in the selection's last range having the specified endpoints FAIL Range 26 [paras[0].firstChild, 0, paras[1].firstChild, 0] followed by Range 28 [paras[0].firstChild, 3, paras[3], 1]: second addRange() must result in the selection's last range being the same object we added assert_equals: getRangeAt(rangeCount - 1) must return the same object we added expected object "̈c̈d̈ëf̈g̈ḧ Ijklmnop -QrstuvwxYzabcdef" but got object "Äb̈c̈d̈ëf̈g̈ḧ +QrstuvwxYzabcdef" but got object "̈c̈d̈ëf̈g̈ḧ Ijklmnop QrstuvwxYzabcdef" -FAIL Range 26 [paras[0].firstChild, 0, paras[1].firstChild, 0] followed by Range 28 [paras[0].firstChild, 3, paras[3], 1]: modifying the second added range must modify the Selection's last Range assert_equals: After mutating the second added Range, endContainer of the Selection's last Range must match the added Range expected Text node "Äb̈c̈d̈ëf̈g̈ḧ -" but got Element node <p id="d" style="display:none">Yzabcdef</p> +FAIL Range 26 [paras[0].firstChild, 0, paras[1].firstChild, 0] followed by Range 28 [paras[0].firstChild, 3, paras[3], 1]: modifying the second added range must modify the Selection's last Range assert_equals: After mutating the second added Range, startOffset of the Selection's last Range must match the added Range expected 0 but got 3 FAIL Range 26 [paras[0].firstChild, 0, paras[1].firstChild, 0] followed by Range 28 [paras[0].firstChild, 3, paras[3], 1]: modifying the Selection's last Range must modify the second added Range assert_equals: After second addRange(), after mutating the Selection's last Range, startOffset of the Selection's last Range must match the added Range expected 0 but got 6 PASS Range 26 [paras[0].firstChild, 0, paras[1].firstChild, 0] followed by Range 29 [paras[0], 0, paras[0].firstChild, 7]: first addRange() must not throw exceptions or modify the range it's given PASS Range 26 [paras[0].firstChild, 0, paras[1].firstChild, 0] followed by Range 29 [paras[0], 0, paras[0].firstChild, 7]: first addRange() must result in rangeCount being 1 @@ -2048,11 +2035,8 @@ PASS Range 26 [paras[0].firstChild, 0, paras[1].firstChild, 0] followed by Range 29 [paras[0], 0, paras[0].firstChild, 7]: modifying the Selection's last Range must modify the first added Range PASS Range 26 [paras[0].firstChild, 0, paras[1].firstChild, 0] followed by Range 29 [paras[0], 0, paras[0].firstChild, 7]: second addRange() must not throw exceptions or modify the range it's given PASS Range 26 [paras[0].firstChild, 0, paras[1].firstChild, 0] followed by Range 29 [paras[0], 0, paras[0].firstChild, 7]: second addRange() must result in rangeCount being 1 -FAIL Range 26 [paras[0].firstChild, 0, paras[1].firstChild, 0] followed by Range 29 [paras[0], 0, paras[0].firstChild, 7]: second addRange() must result in the selection's last range having the specified endpoints assert_equals: endContainer of the Selection's last Range must match the added Range expected Text node "Äb̈c̈d̈ëf̈g̈ḧ -" but got Text node "Ijklmnop -" -FAIL Range 26 [paras[0].firstChild, 0, paras[1].firstChild, 0] followed by Range 29 [paras[0], 0, paras[0].firstChild, 7]: second addRange() must result in the selection's last range being the same object we added assert_equals: getRangeAt(rangeCount - 1) must return the same object we added expected object "Äb̈c̈d" but got object "Äb̈c̈d̈ëf̈g̈ḧ -" +PASS Range 26 [paras[0].firstChild, 0, paras[1].firstChild, 0] followed by Range 29 [paras[0], 0, paras[0].firstChild, 7]: second addRange() must result in the selection's last range having the specified endpoints +FAIL Range 26 [paras[0].firstChild, 0, paras[1].firstChild, 0] followed by Range 29 [paras[0], 0, paras[0].firstChild, 7]: second addRange() must result in the selection's last range being the same object we added assert_equals: getRangeAt(rangeCount - 1) must return the same object we added expected object "Äb̈c̈d" but got object "Äb̈c̈d" FAIL Range 26 [paras[0].firstChild, 0, paras[1].firstChild, 0] followed by Range 29 [paras[0], 0, paras[0].firstChild, 7]: modifying the second added range must modify the Selection's last Range assert_equals: After mutating the second added Range, startContainer of the Selection's last Range must match the added Range expected Text node "Äb̈c̈d̈ëf̈g̈ḧ " but got Element node <p id="a">Äb̈c̈d̈ëf̈g̈ḧ </p> @@ -2083,11 +2067,8 @@ </p><p id="b" s... but got Text node "Äb̈c̈d̈ëf̈g̈ḧ " FAIL Range 26 [paras[0].firstChild, 0, paras[1].firstChild, 0] followed by Range 31 [testDiv, 1, paras[2].firstChild, 5]: second addRange() must result in the selection's last range being the same object we added assert_equals: getRangeAt(rangeCount - 1) must return the same object we added expected object "Ijklmnop -Qrstu" but got object "Äb̈c̈d̈ëf̈g̈ḧ -Ijklmnop -Qrstu" -FAIL Range 26 [paras[0].firstChild, 0, paras[1].firstChild, 0] followed by Range 31 [testDiv, 1, paras[2].firstChild, 5]: modifying the second added range must modify the Selection's last Range assert_equals: After mutating the second added Range, endContainer of the Selection's last Range must match the added Range expected Text node "Äb̈c̈d̈ëf̈g̈ḧ -" but got Text node "Qrstuvwx" +Qrstu" but got object "" +FAIL Range 26 [paras[0].firstChild, 0, paras[1].firstChild, 0] followed by Range 31 [testDiv, 1, paras[2].firstChild, 5]: modifying the second added range must modify the Selection's last Range assert_equals: After mutating the second added Range, startOffset of the Selection's last Range must match the added Range expected 0 but got 6 FAIL Range 26 [paras[0].firstChild, 0, paras[1].firstChild, 0] followed by Range 31 [testDiv, 1, paras[2].firstChild, 5]: modifying the Selection's last Range must modify the second added Range assert_equals: After second addRange(), after mutating the Selection's last Range, startOffset of the Selection's last Range must match the added Range expected 0 but got 6 PASS Range 26 [paras[0].firstChild, 0, paras[1].firstChild, 0] followed by Range 32 [document.documentElement, 1, document.body, 0]: first addRange() must not throw exceptions or modify the range it's given PASS Range 26 [paras[0].firstChild, 0, paras[1].firstChild, 0] followed by Range 32 [document.documentElement, 1, document.body, 0]: first addRange() must result in rangeCount being 1 @@ -2498,14 +2479,9 @@ PASS Range 27 [paras[0].firstChild, 0, paras[1].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 PASS Range 27 [paras[0].firstChild, 0, paras[1].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 27 [paras[0].firstChild, 0, paras[1].firstChild, 8] followed by Range 0 [paras[0].firstChild, 0, paras[0].firstChild, 0]: second addRange() must result in rangeCount being 1 -FAIL Range 27 [paras[0].firstChild, 0, paras[1].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 assert_equals: endContainer of the Selection's last Range must match the added Range expected Text node "Äb̈c̈d̈ëf̈g̈ḧ -" but got Text node "Ijklmnop -" -FAIL Range 27 [paras[0].firstChild, 0, paras[1].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 assert_equals: getRangeAt(rangeCount - 1) must return the same object we added expected object "" but got object "Äb̈c̈d̈ëf̈g̈ḧ -Ijklmnop" -FAIL Range 27 [paras[0].firstChild, 0, paras[1].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 assert_equals: After mutating the second added Range, endContainer of the Selection's last Range must match the added Range expected Text node "Äb̈c̈d̈ëf̈g̈ḧ -" but got Text node "Ijklmnop -" +FAIL Range 27 [paras[0].firstChild, 0, paras[1].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 assert_equals: startOffset of the Selection's last Range must match the added Range expected 0 but got 6 +FAIL Range 27 [paras[0].firstChild, 0, paras[1].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 assert_equals: getRangeAt(rangeCount - 1) must return the same object we added expected object "" but got object "" +FAIL Range 27 [paras[0].firstChild, 0, paras[1].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 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 27 [paras[0].firstChild, 0, paras[1].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 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 27 [paras[0].firstChild, 0, paras[1].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 PASS Range 27 [paras[0].firstChild, 0, paras[1].firstChild, 8] followed by Range 1 [paras[0].firstChild, 0, paras[0].firstChild, 1]: first addRange() must result in rangeCount being 1 @@ -2515,14 +2491,9 @@ PASS Range 27 [paras[0].firstChild, 0, paras[1].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 PASS Range 27 [paras[0].firstChild, 0, paras[1].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 27 [paras[0].firstChild, 0, paras[1].firstChild, 8] followed by Range 1 [paras[0].firstChild, 0, paras[0].firstChild, 1]: second addRange() must result in rangeCount being 1 -FAIL Range 27 [paras[0].firstChild, 0, paras[1].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 assert_equals: endContainer of the Selection's last Range must match the added Range expected Text node "Äb̈c̈d̈ëf̈g̈ḧ -" but got Text node "Ijklmnop -" -FAIL Range 27 [paras[0].firstChild, 0, paras[1].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 assert_equals: getRangeAt(rangeCount - 1) must return the same object we added expected object "A" but got object "Äb̈c̈d̈ëf̈g̈ḧ -Ijklmnop" -FAIL Range 27 [paras[0].firstChild, 0, paras[1].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 assert_equals: After mutating the second added Range, endContainer of the Selection's last Range must match the added Range expected Text node "Äb̈c̈d̈ëf̈g̈ḧ -" but got Text node "Ijklmnop -" +FAIL Range 27 [paras[0].firstChild, 0, paras[1].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 assert_equals: startOffset of the Selection's last Range must match the added Range expected 0 but got 6 +FAIL Range 27 [paras[0].firstChild, 0, paras[1].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 assert_equals: getRangeAt(rangeCount - 1) must return the same object we added expected object "A" but got object "" +FAIL Range 27 [paras[0].firstChild, 0, paras[1].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 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 27 [paras[0].firstChild, 0, paras[1].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 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 27 [paras[0].firstChild, 0, paras[1].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 PASS Range 27 [paras[0].firstChild, 0, paras[1].firstChild, 8] followed by Range 2 [paras[0].firstChild, 2, paras[0].firstChild, 8]: first addRange() must result in rangeCount being 1 @@ -2532,12 +2503,9 @@ PASS Range 27 [paras[0].firstChild, 0, paras[1].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 PASS Range 27 [paras[0].firstChild, 0, paras[1].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 27 [paras[0].firstChild, 0, paras[1].firstChild, 8] followed by Range 2 [paras[0].firstChild, 2, paras[0].firstChild, 8]: second addRange() must result in rangeCount being 1 -FAIL Range 27 [paras[0].firstChild, 0, paras[1].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 assert_equals: startOffset of the Selection's last Range must match the added Range expected 2 but got 0 -FAIL Range 27 [paras[0].firstChild, 0, paras[1].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 assert_equals: getRangeAt(rangeCount - 1) must return the same object we added expected object "b̈c̈d̈" but got object "Äb̈c̈d̈ëf̈g̈ḧ -Ijklmnop" -FAIL Range 27 [paras[0].firstChild, 0, paras[1].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 assert_equals: After mutating the second added Range, endContainer of the Selection's last Range must match the added Range expected Text node "Äb̈c̈d̈ëf̈g̈ḧ -" but got Text node "Ijklmnop -" +PASS Range 27 [paras[0].firstChild, 0, paras[1].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 +FAIL Range 27 [paras[0].firstChild, 0, paras[1].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 assert_equals: getRangeAt(rangeCount - 1) must return the same object we added expected object "b̈c̈d̈" but got object "b̈c̈d̈" +FAIL Range 27 [paras[0].firstChild, 0, paras[1].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 assert_equals: After mutating the second added Range, startOffset of the Selection's last Range must match the added Range expected 0 but got 2 FAIL Range 27 [paras[0].firstChild, 0, paras[1].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 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 27 [paras[0].firstChild, 0, paras[1].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 PASS Range 27 [paras[0].firstChild, 0, paras[1].firstChild, 8] followed by Range 3 [paras[0].firstChild, 2, paras[0].firstChild, 9]: first addRange() must result in rangeCount being 1 @@ -2547,12 +2515,9 @@ PASS Range 27 [paras[0].firstChild, 0, paras[1].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 PASS Range 27 [paras[0].firstChild, 0, paras[1].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 27 [paras[0].firstChild, 0, paras[1].firstChild, 8] followed by Range 3 [paras[0].firstChild, 2, paras[0].firstChild, 9]: second addRange() must result in rangeCount being 1 -FAIL Range 27 [paras[0].firstChild, 0, paras[1].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 assert_equals: startOffset of the Selection's last Range must match the added Range expected 2 but got 0 -FAIL Range 27 [paras[0].firstChild, 0, paras[1].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 assert_equals: getRangeAt(rangeCount - 1) must return the same object we added expected object "b̈c̈d̈e" but got object "Äb̈c̈d̈ëf̈g̈ḧ -Ijklmnop" -FAIL Range 27 [paras[0].firstChild, 0, paras[1].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 assert_equals: After mutating the second added Range, endContainer of the Selection's last Range must match the added Range expected Text node "Äb̈c̈d̈ëf̈g̈ḧ -" but got Text node "Ijklmnop -" +PASS Range 27 [paras[0].firstChild, 0, paras[1].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 +FAIL Range 27 [paras[0].firstChild, 0, paras[1].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 assert_equals: getRangeAt(rangeCount - 1) must return the same object we added expected object "b̈c̈d̈e" but got object "b̈c̈d̈e" +FAIL Range 27 [paras[0].firstChild, 0, paras[1].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 assert_equals: After mutating the second added Range, startOffset of the Selection's last Range must match the added Range expected 0 but got 2 FAIL Range 27 [paras[0].firstChild, 0, paras[1].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 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 27 [paras[0].firstChild, 0, paras[1].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 PASS Range 27 [paras[0].firstChild, 0, paras[1].firstChild, 8] followed by Range 4 [paras[1].firstChild, 0, paras[1].firstChild, 0]: first addRange() must result in rangeCount being 1 @@ -2565,11 +2530,8 @@ FAIL Range 27 [paras[0].firstChild, 0, paras[1].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 assert_equals: startContainer of the Selection's last Range must match the added Range expected Text node "Ijklmnop " but got Text node "Äb̈c̈d̈ëf̈g̈ḧ " -FAIL Range 27 [paras[0].firstChild, 0, paras[1].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 assert_equals: getRangeAt(rangeCount - 1) must return the same object we added expected object "" but got object "Äb̈c̈d̈ëf̈g̈ḧ -Ijklmnop" -FAIL Range 27 [paras[0].firstChild, 0, paras[1].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 assert_equals: After mutating the second added Range, endContainer of the Selection's last Range must match the added Range expected Text node "Äb̈c̈d̈ëf̈g̈ḧ -" but got Text node "Ijklmnop -" +FAIL Range 27 [paras[0].firstChild, 0, paras[1].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 assert_equals: getRangeAt(rangeCount - 1) must return the same object we added expected object "" but got object "" +FAIL Range 27 [paras[0].firstChild, 0, paras[1].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 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 27 [paras[0].firstChild, 0, paras[1].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 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 27 [paras[0].firstChild, 0, paras[1].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 PASS Range 27 [paras[0].firstChild, 0, paras[1].firstChild, 8] followed by Range 5 [paras[1].firstChild, 0, paras[1].firstChild, 1]: first addRange() must result in rangeCount being 1 @@ -2582,11 +2544,8 @@ FAIL Range 27 [paras[0].firstChild, 0, paras[1].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 assert_equals: startContainer of the Selection's last Range must match the added Range expected Text node "Ijklmnop " but got Text node "Äb̈c̈d̈ëf̈g̈ḧ " -FAIL Range 27 [paras[0].firstChild, 0, paras[1].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 assert_equals: getRangeAt(rangeCount - 1) must return the same object we added expected object "I" but got object "Äb̈c̈d̈ëf̈g̈ḧ -Ijklmnop" -FAIL Range 27 [paras[0].firstChild, 0, paras[1].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 assert_equals: After mutating the second added Range, endContainer of the Selection's last Range must match the added Range expected Text node "Äb̈c̈d̈ëf̈g̈ḧ -" but got Text node "Ijklmnop -" +FAIL Range 27 [paras[0].firstChild, 0, paras[1].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 assert_equals: getRangeAt(rangeCount - 1) must return the same object we added expected object "I" but got object "" +FAIL Range 27 [paras[0].firstChild, 0, paras[1].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 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 27 [paras[0].firstChild, 0, paras[1].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 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 27 [paras[0].firstChild, 0, paras[1].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 PASS Range 27 [paras[0].firstChild, 0, paras[1].firstChild, 8] followed by Range 6 [paras[1].firstChild, 2, paras[1].firstChild, 8]: first addRange() must result in rangeCount being 1 @@ -2599,11 +2558,8 @@ FAIL Range 27 [paras[0].firstChild, 0, paras[1].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 assert_equals: startContainer of the Selection's last Range must match the added Range expected Text node "Ijklmnop " but got Text node "Äb̈c̈d̈ëf̈g̈ḧ " -FAIL Range 27 [paras[0].firstChild, 0, paras[1].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 assert_equals: getRangeAt(rangeCount - 1) must return the same object we added expected object "klmnop" but got object "Äb̈c̈d̈ëf̈g̈ḧ -Ijklmnop" -FAIL Range 27 [paras[0].firstChild, 0, paras[1].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 assert_equals: After mutating the second added Range, endContainer of the Selection's last Range must match the added Range expected Text node "Äb̈c̈d̈ëf̈g̈ḧ -" but got Text node "Ijklmnop -" +FAIL Range 27 [paras[0].firstChild, 0, paras[1].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 assert_equals: getRangeAt(rangeCount - 1) must return the same object we added expected object "klmnop" but got object "" +FAIL Range 27 [paras[0].firstChild, 0, paras[1].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 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 27 [paras[0].firstChild, 0, paras[1].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 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 27 [paras[0].firstChild, 0, paras[1].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 PASS Range 27 [paras[0].firstChild, 0, paras[1].firstChild, 8] followed by Range 7 [paras[1].firstChild, 2, paras[1].firstChild, 9]: first addRange() must result in rangeCount being 1 @@ -2617,12 +2573,8 @@ " but got Text node "Äb̈c̈d̈ëf̈g̈ḧ " FAIL Range 27 [paras[0].firstChild, 0, paras[1].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 assert_equals: getRangeAt(rangeCount - 1) must return the same object we added expected object "klmnop -" but got object "Äb̈c̈d̈ëf̈g̈ḧ -Ijklmnop -" -FAIL Range 27 [paras[0].firstChild, 0, paras[1].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 assert_equals: After mutating the second added Range, endContainer of the Selection's last Range must match the added Range expected Text node "Äb̈c̈d̈ëf̈g̈ḧ -" but got Text node "Ijklmnop -" +" but got object "" +FAIL Range 27 [paras[0].firstChild, 0, paras[1].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 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 27 [paras[0].firstChild, 0, paras[1].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 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 27 [paras[0].firstChild, 0, paras[1].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 PASS Range 27 [paras[0].firstChild, 0, paras[1].firstChild, 8] followed by Range 8 [detachedPara1.firstChild, 0, detachedPara1.firstChild, 0]: first addRange() must result in rangeCount being 1 @@ -2891,12 +2843,10 @@ PASS Range 27 [paras[0].firstChild, 0, paras[1].firstChild, 8] followed by Range 23 [paras[0], 0, paras[0], 1]: modifying the Selection's last Range must modify the first added Range PASS Range 27 [paras[0].firstChild, 0, paras[1].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 27 [paras[0].firstChild, 0, paras[1].firstChild, 8] followed by Range 23 [paras[0], 0, paras[0], 1]: second addRange() must result in rangeCount being 1 -FAIL Range 27 [paras[0].firstChild, 0, paras[1].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 assert_equals: endContainer of the Selection's last Range must match the added Range expected Element node <p id="a">Äb̈c̈d̈ëf̈g̈ḧ -</p> but got Text node "Ijklmnop -" +PASS Range 27 [paras[0].firstChild, 0, paras[1].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 FAIL Range 27 [paras[0].firstChild, 0, paras[1].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 assert_equals: getRangeAt(rangeCount - 1) must return the same object we added expected object "Äb̈c̈d̈ëf̈g̈ḧ " but got object "Äb̈c̈d̈ëf̈g̈ḧ -Ijklmnop" +" FAIL Range 27 [paras[0].firstChild, 0, paras[1].firstChild, 8] followed by Range 23 [paras[0], 0, paras[0], 1]: modifying the second added range must modify the Selection's last Range assert_equals: After mutating the second added Range, startContainer of the Selection's last Range must match the added Range expected Text node "Äb̈c̈d̈ëf̈g̈ḧ " but got Element node <p id="a">Äb̈c̈d̈ëf̈g̈ḧ </p> @@ -2935,10 +2885,10 @@ PASS Range 27 [paras[0].firstChild, 0, paras[1].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 PASS Range 27 [paras[0].firstChild, 0, paras[1].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 27 [paras[0].firstChild, 0, paras[1].firstChild, 8] followed by Range 26 [paras[0].firstChild, 0, paras[1].firstChild, 0]: second addRange() must result in rangeCount being 1 -FAIL Range 27 [paras[0].firstChild, 0, paras[1].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 assert_equals: endOffset of the Selection's last Range must match the added Range expected 0 but got 8 +PASS Range 27 [paras[0].firstChild, 0, paras[1].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 FAIL Range 27 [paras[0].firstChild, 0, paras[1].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 assert_equals: getRangeAt(rangeCount - 1) must return the same object we added expected object "Äb̈c̈d̈ëf̈g̈ḧ " but got object "Äb̈c̈d̈ëf̈g̈ḧ -Ijklmnop" +" FAIL Range 27 [paras[0].firstChild, 0, paras[1].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 assert_equals: After mutating the second added Range, endContainer of the Selection's last Range must match the added Range expected Text node "Äb̈c̈d̈ëf̈g̈ḧ " but got Text node "Ijklmnop " @@ -2967,14 +2917,13 @@ PASS Range 27 [paras[0].firstChild, 0, paras[1].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 PASS Range 27 [paras[0].firstChild, 0, paras[1].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 27 [paras[0].firstChild, 0, paras[1].firstChild, 8] followed by Range 28 [paras[0].firstChild, 3, paras[3], 1]: second addRange() must result in rangeCount being 1 -FAIL Range 27 [paras[0].firstChild, 0, paras[1].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 assert_equals: startOffset of the Selection's last Range must match the added Range expected 3 but got 0 +PASS Range 27 [paras[0].firstChild, 0, paras[1].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 FAIL Range 27 [paras[0].firstChild, 0, paras[1].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 assert_equals: getRangeAt(rangeCount - 1) must return the same object we added expected object "̈c̈d̈ëf̈g̈ḧ Ijklmnop -QrstuvwxYzabcdef" but got object "Äb̈c̈d̈ëf̈g̈ḧ +QrstuvwxYzabcdef" but got object "̈c̈d̈ëf̈g̈ḧ Ijklmnop QrstuvwxYzabcdef" -FAIL Range 27 [paras[0].firstChild, 0, paras[1].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 assert_equals: After mutating the second added Range, endContainer of the Selection's last Range must match the added Range expected Text node "Äb̈c̈d̈ëf̈g̈ḧ -" but got Element node <p id="d" style="display:none">Yzabcdef</p> +FAIL Range 27 [paras[0].firstChild, 0, paras[1].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 assert_equals: After mutating the second added Range, startOffset of the Selection's last Range must match the added Range expected 0 but got 3 FAIL Range 27 [paras[0].firstChild, 0, paras[1].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 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 27 [paras[0].firstChild, 0, paras[1].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 PASS Range 27 [paras[0].firstChild, 0, paras[1].firstChild, 8] followed by Range 29 [paras[0], 0, paras[0].firstChild, 7]: first addRange() must result in rangeCount being 1 @@ -2984,11 +2933,8 @@ PASS Range 27 [paras[0].firstChild, 0, paras[1].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 PASS Range 27 [paras[0].firstChild, 0, paras[1].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 27 [paras[0].firstChild, 0, paras[1].firstChild, 8] followed by Range 29 [paras[0], 0, paras[0].firstChild, 7]: second addRange() must result in rangeCount being 1 -FAIL Range 27 [paras[0].firstChild, 0, paras[1].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 assert_equals: endContainer of the Selection's last Range must match the added Range expected Text node "Äb̈c̈d̈ëf̈g̈ḧ -" but got Text node "Ijklmnop -" -FAIL Range 27 [paras[0].firstChild, 0, paras[1].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 assert_equals: getRangeAt(rangeCount - 1) must return the same object we added expected object "Äb̈c̈d" but got object "Äb̈c̈d̈ëf̈g̈ḧ -Ijklmnop" +PASS Range 27 [paras[0].firstChild, 0, paras[1].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 +FAIL Range 27 [paras[0].firstChild, 0, paras[1].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 assert_equals: getRangeAt(rangeCount - 1) must return the same object we added expected object "Äb̈c̈d" but got object "Äb̈c̈d" FAIL Range 27 [paras[0].firstChild, 0, paras[1].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 assert_equals: After mutating the second added Range, startContainer of the Selection's last Range must match the added Range expected Text node "Äb̈c̈d̈ëf̈g̈ḧ " but got Element node <p id="a">Äb̈c̈d̈ëf̈g̈ḧ </p> @@ -3019,11 +2965,8 @@ </p><p id="b" s... but got Text node "Äb̈c̈d̈ëf̈g̈ḧ " FAIL Range 27 [paras[0].firstChild, 0, paras[1].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 assert_equals: getRangeAt(rangeCount - 1) must return the same object we added expected object "Ijklmnop -Qrstu" but got object "Äb̈c̈d̈ëf̈g̈ḧ -Ijklmnop -Qrstu" -FAIL Range 27 [paras[0].firstChild, 0, paras[1].firstChild, 8] followed by Range 31 [testDiv, 1, paras[2].firstChild, 5]: modifying the second added range must modify the Selection's last Range assert_equals: After mutating the second added Range, endContainer of the Selection's last Range must match the added Range expected Text node "Äb̈c̈d̈ëf̈g̈ḧ -" but got Text node "Qrstuvwx" +Qrstu" but got object "" +FAIL Range 27 [paras[0].firstChild, 0, paras[1].firstChild, 8] followed by Range 31 [testDiv, 1, paras[2].firstChild, 5]: modifying the second added range must modify the Selection's last Range assert_equals: After mutating the second added Range, startOffset of the Selection's last Range must match the added Range expected 0 but got 6 FAIL Range 27 [paras[0].firstChild, 0, paras[1].firstChild, 8] followed by Range 31 [testDiv, 1, paras[2].firstChild, 5]: modifying the Selection's last Range must modify the second added Range assert_equals: After second addRange(), after mutating the Selection's last Range, startOffset of the Selection's last Range must match the added Range expected 0 but got 6 PASS Range 27 [paras[0].firstChild, 0, paras[1].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 PASS Range 27 [paras[0].firstChild, 0, paras[1].firstChild, 8] followed by Range 32 [document.documentElement, 1, document.body, 0]: first addRange() must result in rangeCount being 1
diff --git a/third_party/WebKit/LayoutTests/external/wpt/selection/addRange-28-expected.txt b/third_party/WebKit/LayoutTests/external/wpt/selection/addRange-28-expected.txt index 4ca869f..844c6c04 100644 --- a/third_party/WebKit/LayoutTests/external/wpt/selection/addRange-28-expected.txt +++ b/third_party/WebKit/LayoutTests/external/wpt/selection/addRange-28-expected.txt
@@ -1,19 +1,5 @@ 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: 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. @@ -23,6 +9,7 @@ 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. @@ -41,17 +28,15 @@ 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: 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. @@ -65,6 +50,23 @@ 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. @@ -72,8 +74,18 @@ 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. @@ -115,11 +127,8 @@ PASS Range 28 [paras[0].firstChild, 3, paras[3], 1] followed by Range 2 [paras[0].firstChild, 2, paras[0].firstChild, 8]: modifying the Selection's last Range must modify the first added Range PASS Range 28 [paras[0].firstChild, 3, paras[3], 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 28 [paras[0].firstChild, 3, paras[3], 1] followed by Range 2 [paras[0].firstChild, 2, paras[0].firstChild, 8]: second addRange() must result in rangeCount being 1 -FAIL Range 28 [paras[0].firstChild, 3, paras[3], 1] followed by Range 2 [paras[0].firstChild, 2, paras[0].firstChild, 8]: second addRange() must result in the selection's last range having the specified endpoints assert_equals: endContainer of the Selection's last Range must match the added Range expected Text node "Äb̈c̈d̈ëf̈g̈ḧ -" but got Element node <p id="d" style="display:none">Yzabcdef</p> -FAIL Range 28 [paras[0].firstChild, 3, paras[3], 1] followed by Range 2 [paras[0].firstChild, 2, paras[0].firstChild, 8]: second addRange() must result in the selection's last range being the same object we added assert_equals: getRangeAt(rangeCount - 1) must return the same object we added expected object "b̈c̈d̈" but got object "b̈c̈d̈ëf̈g̈ḧ -Ijklmnop -QrstuvwxYzabcdef" +PASS Range 28 [paras[0].firstChild, 3, paras[3], 1] followed by Range 2 [paras[0].firstChild, 2, paras[0].firstChild, 8]: second addRange() must result in the selection's last range having the specified endpoints +FAIL Range 28 [paras[0].firstChild, 3, paras[3], 1] followed by Range 2 [paras[0].firstChild, 2, paras[0].firstChild, 8]: second addRange() must result in the selection's last range being the same object we added assert_equals: getRangeAt(rangeCount - 1) must return the same object we added expected object "b̈c̈d̈" but got object "b̈c̈d̈" FAIL Range 28 [paras[0].firstChild, 3, paras[3], 1] followed by Range 2 [paras[0].firstChild, 2, paras[0].firstChild, 8]: modifying the second added range must modify the Selection's last Range assert_equals: After mutating the second added Range, startOffset of the Selection's last Range must match the added Range expected 0 but got 2 FAIL Range 28 [paras[0].firstChild, 3, paras[3], 1] followed by Range 2 [paras[0].firstChild, 2, paras[0].firstChild, 8]: modifying the Selection's last Range must modify the second added Range assert_equals: After second addRange(), after mutating the Selection's last Range, startOffset of the Selection's last Range must match the added Range expected 0 but got 6 PASS Range 28 [paras[0].firstChild, 3, paras[3], 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 @@ -130,11 +139,8 @@ PASS Range 28 [paras[0].firstChild, 3, paras[3], 1] followed by Range 3 [paras[0].firstChild, 2, paras[0].firstChild, 9]: modifying the Selection's last Range must modify the first added Range PASS Range 28 [paras[0].firstChild, 3, paras[3], 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 28 [paras[0].firstChild, 3, paras[3], 1] followed by Range 3 [paras[0].firstChild, 2, paras[0].firstChild, 9]: second addRange() must result in rangeCount being 1 -FAIL Range 28 [paras[0].firstChild, 3, paras[3], 1] followed by Range 3 [paras[0].firstChild, 2, paras[0].firstChild, 9]: second addRange() must result in the selection's last range having the specified endpoints assert_equals: endContainer of the Selection's last Range must match the added Range expected Text node "Äb̈c̈d̈ëf̈g̈ḧ -" but got Element node <p id="d" style="display:none">Yzabcdef</p> -FAIL Range 28 [paras[0].firstChild, 3, paras[3], 1] followed by Range 3 [paras[0].firstChild, 2, paras[0].firstChild, 9]: second addRange() must result in the selection's last range being the same object we added assert_equals: getRangeAt(rangeCount - 1) must return the same object we added expected object "b̈c̈d̈e" but got object "b̈c̈d̈ëf̈g̈ḧ -Ijklmnop -QrstuvwxYzabcdef" +PASS Range 28 [paras[0].firstChild, 3, paras[3], 1] followed by Range 3 [paras[0].firstChild, 2, paras[0].firstChild, 9]: second addRange() must result in the selection's last range having the specified endpoints +FAIL Range 28 [paras[0].firstChild, 3, paras[3], 1] followed by Range 3 [paras[0].firstChild, 2, paras[0].firstChild, 9]: second addRange() must result in the selection's last range being the same object we added assert_equals: getRangeAt(rangeCount - 1) must return the same object we added expected object "b̈c̈d̈e" but got object "b̈c̈d̈e" FAIL Range 28 [paras[0].firstChild, 3, paras[3], 1] followed by Range 3 [paras[0].firstChild, 2, paras[0].firstChild, 9]: modifying the second added range must modify the Selection's last Range assert_equals: After mutating the second added Range, startOffset of the Selection's last Range must match the added Range expected 0 but got 2 FAIL Range 28 [paras[0].firstChild, 3, paras[3], 1] followed by Range 3 [paras[0].firstChild, 2, paras[0].firstChild, 9]: modifying the Selection's last Range must modify the second added Range assert_equals: After second addRange(), after mutating the Selection's last Range, startOffset of the Selection's last Range must match the added Range expected 0 but got 6 PASS Range 28 [paras[0].firstChild, 3, paras[3], 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 @@ -148,10 +154,8 @@ FAIL Range 28 [paras[0].firstChild, 3, paras[3], 1] followed by Range 4 [paras[1].firstChild, 0, paras[1].firstChild, 0]: second addRange() must result in the selection's last range having the specified endpoints assert_equals: startContainer of the Selection's last Range must match the added Range expected Text node "Ijklmnop " but got Text node "Äb̈c̈d̈ëf̈g̈ḧ " -FAIL Range 28 [paras[0].firstChild, 3, paras[3], 1] followed by Range 4 [paras[1].firstChild, 0, paras[1].firstChild, 0]: second addRange() must result in the selection's last range being the same object we added assert_equals: getRangeAt(rangeCount - 1) must return the same object we added expected object "" but got object "̈c̈d̈ëf̈g̈ḧ -Ijklmnop -QrstuvwxYzabcdef" -FAIL Range 28 [paras[0].firstChild, 3, paras[3], 1] followed by Range 4 [paras[1].firstChild, 0, paras[1].firstChild, 0]: modifying the second added range must modify the Selection's last Range assert_equals: After mutating the second added Range, startOffset of the Selection's last Range must match the added Range expected 0 but got 3 +FAIL Range 28 [paras[0].firstChild, 3, paras[3], 1] followed by Range 4 [paras[1].firstChild, 0, paras[1].firstChild, 0]: second addRange() must result in the selection's last range being the same object we added assert_equals: getRangeAt(rangeCount - 1) must return the same object we added expected object "" but got object "" +FAIL Range 28 [paras[0].firstChild, 3, paras[3], 1] followed by Range 4 [paras[1].firstChild, 0, paras[1].firstChild, 0]: modifying the second added range must modify the Selection's last Range assert_equals: After mutating the second added Range, startOffset of the Selection's last Range must match the added Range expected 0 but got 6 FAIL Range 28 [paras[0].firstChild, 3, paras[3], 1] followed by Range 4 [paras[1].firstChild, 0, paras[1].firstChild, 0]: modifying the Selection's last Range must modify the second added Range assert_equals: After second addRange(), after mutating the Selection's last Range, startOffset of the Selection's last Range must match the added Range expected 0 but got 6 PASS Range 28 [paras[0].firstChild, 3, paras[3], 1] followed by Range 5 [paras[1].firstChild, 0, paras[1].firstChild, 1]: first addRange() must not throw exceptions or modify the range it's given PASS Range 28 [paras[0].firstChild, 3, paras[3], 1] followed by Range 5 [paras[1].firstChild, 0, paras[1].firstChild, 1]: first addRange() must result in rangeCount being 1 @@ -164,10 +168,8 @@ FAIL Range 28 [paras[0].firstChild, 3, paras[3], 1] followed by Range 5 [paras[1].firstChild, 0, paras[1].firstChild, 1]: second addRange() must result in the selection's last range having the specified endpoints assert_equals: startContainer of the Selection's last Range must match the added Range expected Text node "Ijklmnop " but got Text node "Äb̈c̈d̈ëf̈g̈ḧ " -FAIL Range 28 [paras[0].firstChild, 3, paras[3], 1] followed by Range 5 [paras[1].firstChild, 0, paras[1].firstChild, 1]: second addRange() must result in the selection's last range being the same object we added assert_equals: getRangeAt(rangeCount - 1) must return the same object we added expected object "I" but got object "̈c̈d̈ëf̈g̈ḧ -Ijklmnop -QrstuvwxYzabcdef" -FAIL Range 28 [paras[0].firstChild, 3, paras[3], 1] followed by Range 5 [paras[1].firstChild, 0, paras[1].firstChild, 1]: modifying the second added range must modify the Selection's last Range assert_equals: After mutating the second added Range, startOffset of the Selection's last Range must match the added Range expected 0 but got 3 +FAIL Range 28 [paras[0].firstChild, 3, paras[3], 1] followed by Range 5 [paras[1].firstChild, 0, paras[1].firstChild, 1]: second addRange() must result in the selection's last range being the same object we added assert_equals: getRangeAt(rangeCount - 1) must return the same object we added expected object "I" but got object "" +FAIL Range 28 [paras[0].firstChild, 3, paras[3], 1] followed by Range 5 [paras[1].firstChild, 0, paras[1].firstChild, 1]: modifying the second added range must modify the Selection's last Range assert_equals: After mutating the second added Range, startOffset of the Selection's last Range must match the added Range expected 0 but got 6 FAIL Range 28 [paras[0].firstChild, 3, paras[3], 1] followed by Range 5 [paras[1].firstChild, 0, paras[1].firstChild, 1]: modifying the Selection's last Range must modify the second added Range assert_equals: After second addRange(), after mutating the Selection's last Range, startOffset of the Selection's last Range must match the added Range expected 0 but got 6 PASS Range 28 [paras[0].firstChild, 3, paras[3], 1] followed by Range 6 [paras[1].firstChild, 2, paras[1].firstChild, 8]: first addRange() must not throw exceptions or modify the range it's given PASS Range 28 [paras[0].firstChild, 3, paras[3], 1] followed by Range 6 [paras[1].firstChild, 2, paras[1].firstChild, 8]: first addRange() must result in rangeCount being 1 @@ -180,10 +182,8 @@ FAIL Range 28 [paras[0].firstChild, 3, paras[3], 1] followed by Range 6 [paras[1].firstChild, 2, paras[1].firstChild, 8]: second addRange() must result in the selection's last range having the specified endpoints assert_equals: startContainer of the Selection's last Range must match the added Range expected Text node "Ijklmnop " but got Text node "Äb̈c̈d̈ëf̈g̈ḧ " -FAIL Range 28 [paras[0].firstChild, 3, paras[3], 1] followed by Range 6 [paras[1].firstChild, 2, paras[1].firstChild, 8]: second addRange() must result in the selection's last range being the same object we added assert_equals: getRangeAt(rangeCount - 1) must return the same object we added expected object "klmnop" but got object "̈c̈d̈ëf̈g̈ḧ -Ijklmnop -QrstuvwxYzabcdef" -FAIL Range 28 [paras[0].firstChild, 3, paras[3], 1] followed by Range 6 [paras[1].firstChild, 2, paras[1].firstChild, 8]: modifying the second added range must modify the Selection's last Range assert_equals: After mutating the second added Range, startOffset of the Selection's last Range must match the added Range expected 0 but got 3 +FAIL Range 28 [paras[0].firstChild, 3, paras[3], 1] followed by Range 6 [paras[1].firstChild, 2, paras[1].firstChild, 8]: second addRange() must result in the selection's last range being the same object we added assert_equals: getRangeAt(rangeCount - 1) must return the same object we added expected object "klmnop" but got object "" +FAIL Range 28 [paras[0].firstChild, 3, paras[3], 1] followed by Range 6 [paras[1].firstChild, 2, paras[1].firstChild, 8]: modifying the second added range must modify the Selection's last Range assert_equals: After mutating the second added Range, startOffset of the Selection's last Range must match the added Range expected 0 but got 6 FAIL Range 28 [paras[0].firstChild, 3, paras[3], 1] followed by Range 6 [paras[1].firstChild, 2, paras[1].firstChild, 8]: modifying the Selection's last Range must modify the second added Range assert_equals: After second addRange(), after mutating the Selection's last Range, startOffset of the Selection's last Range must match the added Range expected 0 but got 6 PASS Range 28 [paras[0].firstChild, 3, paras[3], 1] followed by Range 7 [paras[1].firstChild, 2, paras[1].firstChild, 9]: first addRange() must not throw exceptions or modify the range it's given PASS Range 28 [paras[0].firstChild, 3, paras[3], 1] followed by Range 7 [paras[1].firstChild, 2, paras[1].firstChild, 9]: first addRange() must result in rangeCount being 1 @@ -197,10 +197,8 @@ " but got Text node "Äb̈c̈d̈ëf̈g̈ḧ " FAIL Range 28 [paras[0].firstChild, 3, paras[3], 1] followed by Range 7 [paras[1].firstChild, 2, paras[1].firstChild, 9]: second addRange() must result in the selection's last range being the same object we added assert_equals: getRangeAt(rangeCount - 1) must return the same object we added expected object "klmnop -" but got object "̈c̈d̈ëf̈g̈ḧ -Ijklmnop -QrstuvwxYzabcdef" -FAIL Range 28 [paras[0].firstChild, 3, paras[3], 1] followed by Range 7 [paras[1].firstChild, 2, paras[1].firstChild, 9]: modifying the second added range must modify the Selection's last Range assert_equals: After mutating the second added Range, startOffset of the Selection's last Range must match the added Range expected 0 but got 3 +" but got object "" +FAIL Range 28 [paras[0].firstChild, 3, paras[3], 1] followed by Range 7 [paras[1].firstChild, 2, paras[1].firstChild, 9]: modifying the second added range must modify the Selection's last Range assert_equals: After mutating the second added Range, startOffset of the Selection's last Range must match the added Range expected 0 but got 6 FAIL Range 28 [paras[0].firstChild, 3, paras[3], 1] followed by Range 7 [paras[1].firstChild, 2, paras[1].firstChild, 9]: modifying the Selection's last Range must modify the second added Range assert_equals: After second addRange(), after mutating the Selection's last Range, startOffset of the Selection's last Range must match the added Range expected 0 but got 6 PASS Range 28 [paras[0].firstChild, 3, paras[3], 1] followed by Range 8 [detachedPara1.firstChild, 0, detachedPara1.firstChild, 0]: first addRange() must not throw exceptions or modify the range it's given PASS Range 28 [paras[0].firstChild, 3, paras[3], 1] followed by Range 8 [detachedPara1.firstChild, 0, detachedPara1.firstChild, 0]: first addRange() must result in rangeCount being 1 @@ -469,12 +467,10 @@ PASS Range 28 [paras[0].firstChild, 3, paras[3], 1] followed by Range 23 [paras[0], 0, paras[0], 1]: modifying the Selection's last Range must modify the first added Range PASS Range 28 [paras[0].firstChild, 3, paras[3], 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 28 [paras[0].firstChild, 3, paras[3], 1] followed by Range 23 [paras[0], 0, paras[0], 1]: second addRange() must result in rangeCount being 1 -FAIL Range 28 [paras[0].firstChild, 3, paras[3], 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 assert_equals: endContainer of the Selection's last Range must match the added Range expected Element node <p id="a">Äb̈c̈d̈ëf̈g̈ḧ -</p> but got Element node <p id="d" style="display:none">Yzabcdef</p> +PASS Range 28 [paras[0].firstChild, 3, paras[3], 1] followed by Range 23 [paras[0], 0, paras[0], 1]: second addRange() must result in the selection's last range having the specified endpoints FAIL Range 28 [paras[0].firstChild, 3, paras[3], 1] followed by Range 23 [paras[0], 0, paras[0], 1]: second addRange() must result in the selection's last range being the same object we added assert_equals: getRangeAt(rangeCount - 1) must return the same object we added expected object "Äb̈c̈d̈ëf̈g̈ḧ " but got object "Äb̈c̈d̈ëf̈g̈ḧ -Ijklmnop -QrstuvwxYzabcdef" +" FAIL Range 28 [paras[0].firstChild, 3, paras[3], 1] followed by Range 23 [paras[0], 0, paras[0], 1]: modifying the second added range must modify the Selection's last Range assert_equals: After mutating the second added Range, startContainer of the Selection's last Range must match the added Range expected Text node "Äb̈c̈d̈ëf̈g̈ḧ " but got Element node <p id="a">Äb̈c̈d̈ëf̈g̈ḧ </p> @@ -513,14 +509,13 @@ PASS Range 28 [paras[0].firstChild, 3, paras[3], 1] followed by Range 26 [paras[0].firstChild, 0, paras[1].firstChild, 0]: modifying the Selection's last Range must modify the first added Range PASS Range 28 [paras[0].firstChild, 3, paras[3], 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 28 [paras[0].firstChild, 3, paras[3], 1] followed by Range 26 [paras[0].firstChild, 0, paras[1].firstChild, 0]: second addRange() must result in rangeCount being 1 -FAIL Range 28 [paras[0].firstChild, 3, paras[3], 1] followed by Range 26 [paras[0].firstChild, 0, paras[1].firstChild, 0]: second addRange() must result in the selection's last range having the specified endpoints assert_equals: endContainer of the Selection's last Range must match the added Range expected Text node "Ijklmnop -" but got Element node <p id="d" style="display:none">Yzabcdef</p> +PASS Range 28 [paras[0].firstChild, 3, paras[3], 1] followed by Range 26 [paras[0].firstChild, 0, paras[1].firstChild, 0]: second addRange() must result in the selection's last range having the specified endpoints FAIL Range 28 [paras[0].firstChild, 3, paras[3], 1] followed by Range 26 [paras[0].firstChild, 0, paras[1].firstChild, 0]: second addRange() must result in the selection's last range being the same object we added assert_equals: getRangeAt(rangeCount - 1) must return the same object we added expected object "Äb̈c̈d̈ëf̈g̈ḧ " but got object "Äb̈c̈d̈ëf̈g̈ḧ -Ijklmnop -QrstuvwxYzabcdef" +" FAIL Range 28 [paras[0].firstChild, 3, paras[3], 1] followed by Range 26 [paras[0].firstChild, 0, paras[1].firstChild, 0]: modifying the second added range must modify the Selection's last Range assert_equals: After mutating the second added Range, endContainer of the Selection's last Range must match the added Range expected Text node "Äb̈c̈d̈ëf̈g̈ḧ -" but got Element node <p id="d" style="display:none">Yzabcdef</p> +" but got Text node "Ijklmnop +" FAIL Range 28 [paras[0].firstChild, 3, paras[3], 1] followed by Range 26 [paras[0].firstChild, 0, paras[1].firstChild, 0]: modifying the Selection's last Range must modify the second added Range assert_equals: After second addRange(), after mutating the Selection's last Range, startOffset of the Selection's last Range must match the added Range expected 0 but got 6 PASS Range 28 [paras[0].firstChild, 3, paras[3], 1] followed by Range 27 [paras[0].firstChild, 0, paras[1].firstChild, 8]: first addRange() must not throw exceptions or modify the range it's given PASS Range 28 [paras[0].firstChild, 3, paras[3], 1] followed by Range 27 [paras[0].firstChild, 0, paras[1].firstChild, 8]: first addRange() must result in rangeCount being 1 @@ -530,14 +525,13 @@ PASS Range 28 [paras[0].firstChild, 3, paras[3], 1] followed by Range 27 [paras[0].firstChild, 0, paras[1].firstChild, 8]: modifying the Selection's last Range must modify the first added Range PASS Range 28 [paras[0].firstChild, 3, paras[3], 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 28 [paras[0].firstChild, 3, paras[3], 1] followed by Range 27 [paras[0].firstChild, 0, paras[1].firstChild, 8]: second addRange() must result in rangeCount being 1 -FAIL Range 28 [paras[0].firstChild, 3, paras[3], 1] followed by Range 27 [paras[0].firstChild, 0, paras[1].firstChild, 8]: second addRange() must result in the selection's last range having the specified endpoints assert_equals: endContainer of the Selection's last Range must match the added Range expected Text node "Ijklmnop -" but got Element node <p id="d" style="display:none">Yzabcdef</p> +PASS Range 28 [paras[0].firstChild, 3, paras[3], 1] followed by Range 27 [paras[0].firstChild, 0, paras[1].firstChild, 8]: second addRange() must result in the selection's last range having the specified endpoints FAIL Range 28 [paras[0].firstChild, 3, paras[3], 1] followed by Range 27 [paras[0].firstChild, 0, paras[1].firstChild, 8]: second addRange() must result in the selection's last range being the same object we added assert_equals: getRangeAt(rangeCount - 1) must return the same object we added expected object "Äb̈c̈d̈ëf̈g̈ḧ Ijklmnop" but got object "Äb̈c̈d̈ëf̈g̈ḧ -Ijklmnop -QrstuvwxYzabcdef" +Ijklmnop" FAIL Range 28 [paras[0].firstChild, 3, paras[3], 1] followed by Range 27 [paras[0].firstChild, 0, paras[1].firstChild, 8]: modifying the second added range must modify the Selection's last Range assert_equals: After mutating the second added Range, endContainer of the Selection's last Range must match the added Range expected Text node "Äb̈c̈d̈ëf̈g̈ḧ -" but got Element node <p id="d" style="display:none">Yzabcdef</p> +" but got Text node "Ijklmnop +" FAIL Range 28 [paras[0].firstChild, 3, paras[3], 1] followed by Range 27 [paras[0].firstChild, 0, paras[1].firstChild, 8]: modifying the Selection's last Range must modify the second added Range assert_equals: After second addRange(), after mutating the Selection's last Range, startOffset of the Selection's last Range must match the added Range expected 0 but got 6 PASS Range 28 [paras[0].firstChild, 3, paras[3], 1] followed by Range 28 [paras[0].firstChild, 3, paras[3], 1]: first addRange() must not throw exceptions or modify the range it's given PASS Range 28 [paras[0].firstChild, 3, paras[3], 1] followed by Range 28 [paras[0].firstChild, 3, paras[3], 1]: first addRange() must result in rangeCount being 1 @@ -563,11 +557,8 @@ PASS Range 28 [paras[0].firstChild, 3, paras[3], 1] followed by Range 29 [paras[0], 0, paras[0].firstChild, 7]: modifying the Selection's last Range must modify the first added Range PASS Range 28 [paras[0].firstChild, 3, paras[3], 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 28 [paras[0].firstChild, 3, paras[3], 1] followed by Range 29 [paras[0], 0, paras[0].firstChild, 7]: second addRange() must result in rangeCount being 1 -FAIL Range 28 [paras[0].firstChild, 3, paras[3], 1] followed by Range 29 [paras[0], 0, paras[0].firstChild, 7]: second addRange() must result in the selection's last range having the specified endpoints assert_equals: endContainer of the Selection's last Range must match the added Range expected Text node "Äb̈c̈d̈ëf̈g̈ḧ -" but got Element node <p id="d" style="display:none">Yzabcdef</p> -FAIL Range 28 [paras[0].firstChild, 3, paras[3], 1] followed by Range 29 [paras[0], 0, paras[0].firstChild, 7]: second addRange() must result in the selection's last range being the same object we added assert_equals: getRangeAt(rangeCount - 1) must return the same object we added expected object "Äb̈c̈d" but got object "Äb̈c̈d̈ëf̈g̈ḧ -Ijklmnop -QrstuvwxYzabcdef" +PASS Range 28 [paras[0].firstChild, 3, paras[3], 1] followed by Range 29 [paras[0], 0, paras[0].firstChild, 7]: second addRange() must result in the selection's last range having the specified endpoints +FAIL Range 28 [paras[0].firstChild, 3, paras[3], 1] followed by Range 29 [paras[0], 0, paras[0].firstChild, 7]: second addRange() must result in the selection's last range being the same object we added assert_equals: getRangeAt(rangeCount - 1) must return the same object we added expected object "Äb̈c̈d" but got object "Äb̈c̈d" FAIL Range 28 [paras[0].firstChild, 3, paras[3], 1] followed by Range 29 [paras[0], 0, paras[0].firstChild, 7]: modifying the second added range must modify the Selection's last Range assert_equals: After mutating the second added Range, startContainer of the Selection's last Range must match the added Range expected Text node "Äb̈c̈d̈ëf̈g̈ḧ " but got Element node <p id="a">Äb̈c̈d̈ëf̈g̈ḧ </p> @@ -583,10 +574,8 @@ FAIL Range 28 [paras[0].firstChild, 3, paras[3], 1] followed by Range 30 [testDiv, 2, paras[4], 1]: second addRange() must result in the selection's last range having the specified endpoints assert_equals: startContainer of the Selection's last Range must match the added Range expected Element node <div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ </p><p id="b" s... but got Text node "Äb̈c̈d̈ëf̈g̈ḧ " -FAIL Range 28 [paras[0].firstChild, 3, paras[3], 1] followed by Range 30 [testDiv, 2, paras[4], 1]: second addRange() must result in the selection's last range being the same object we added assert_equals: getRangeAt(rangeCount - 1) must return the same object we added expected object "QrstuvwxYzabcdefGhijklmn" but got object "̈c̈d̈ëf̈g̈ḧ -Ijklmnop -QrstuvwxYzabcdefGhijklmn" -FAIL Range 28 [paras[0].firstChild, 3, paras[3], 1] followed by Range 30 [testDiv, 2, paras[4], 1]: modifying the second added range must modify the Selection's last Range assert_equals: After mutating the second added Range, startOffset of the Selection's last Range must match the added Range expected 0 but got 3 +FAIL Range 28 [paras[0].firstChild, 3, paras[3], 1] followed by Range 30 [testDiv, 2, paras[4], 1]: second addRange() must result in the selection's last range being the same object we added assert_equals: getRangeAt(rangeCount - 1) must return the same object we added expected object "QrstuvwxYzabcdefGhijklmn" but got object "" +FAIL Range 28 [paras[0].firstChild, 3, paras[3], 1] followed by Range 30 [testDiv, 2, paras[4], 1]: modifying the second added range must modify the Selection's last Range assert_equals: After mutating the second added Range, startOffset of the Selection's last Range must match the added Range expected 0 but got 6 FAIL Range 28 [paras[0].firstChild, 3, paras[3], 1] followed by Range 30 [testDiv, 2, paras[4], 1]: modifying the Selection's last Range must modify the second added Range assert_equals: After second addRange(), after mutating the Selection's last Range, startOffset of the Selection's last Range must match the added Range expected 0 but got 6 PASS Range 28 [paras[0].firstChild, 3, paras[3], 1] followed by Range 31 [testDiv, 1, paras[2].firstChild, 5]: first addRange() must not throw exceptions or modify the range it's given PASS Range 28 [paras[0].firstChild, 3, paras[3], 1] followed by Range 31 [testDiv, 1, paras[2].firstChild, 5]: first addRange() must result in rangeCount being 1 @@ -600,10 +589,8 @@ </p><p id="b" s... but got Text node "Äb̈c̈d̈ëf̈g̈ḧ " FAIL Range 28 [paras[0].firstChild, 3, paras[3], 1] followed by Range 31 [testDiv, 1, paras[2].firstChild, 5]: second addRange() must result in the selection's last range being the same object we added assert_equals: getRangeAt(rangeCount - 1) must return the same object we added expected object "Ijklmnop -Qrstu" but got object "̈c̈d̈ëf̈g̈ḧ -Ijklmnop -QrstuvwxYzabcdef" -FAIL Range 28 [paras[0].firstChild, 3, paras[3], 1] followed by Range 31 [testDiv, 1, paras[2].firstChild, 5]: modifying the second added range must modify the Selection's last Range assert_equals: After mutating the second added Range, startOffset of the Selection's last Range must match the added Range expected 0 but got 3 +Qrstu" but got object "" +FAIL Range 28 [paras[0].firstChild, 3, paras[3], 1] followed by Range 31 [testDiv, 1, paras[2].firstChild, 5]: modifying the second added range must modify the Selection's last Range assert_equals: After mutating the second added Range, startOffset of the Selection's last Range must match the added Range expected 0 but got 6 FAIL Range 28 [paras[0].firstChild, 3, paras[3], 1] followed by Range 31 [testDiv, 1, paras[2].firstChild, 5]: modifying the Selection's last Range must modify the second added Range assert_equals: After second addRange(), after mutating the Selection's last Range, startOffset of the Selection's last Range must match the added Range expected 0 but got 6 PASS Range 28 [paras[0].firstChild, 3, paras[3], 1] followed by Range 32 [document.documentElement, 1, document.body, 0]: first addRange() must not throw exceptions or modify the range it's given PASS Range 28 [paras[0].firstChild, 3, paras[3], 1] followed by Range 32 [document.documentElement, 1, document.body, 0]: first addRange() must result in rangeCount being 1 @@ -756,10 +743,8 @@ PASS Range 28 [paras[0].firstChild, 3, paras[3], 1] followed by Range 38 [paras[2].firstChild, 4, comment, 2]: second addRange() must result in rangeCount being 1 FAIL Range 28 [paras[0].firstChild, 3, paras[3], 1] followed by Range 38 [paras[2].firstChild, 4, comment, 2]: second addRange() must result in the selection's last range having the specified endpoints assert_equals: startContainer of the Selection's last Range must match the added Range expected Text node "Qrstuvwx" but got Text node "Äb̈c̈d̈ëf̈g̈ḧ " -FAIL Range 28 [paras[0].firstChild, 3, paras[3], 1] followed by Range 38 [paras[2].firstChild, 4, comment, 2]: second addRange() must result in the selection's last range being the same object we added assert_equals: getRangeAt(rangeCount - 1) must return the same object we added expected object "uvwxYzabcdefGhijklmn" but got object "̈c̈d̈ëf̈g̈ḧ -Ijklmnop -QrstuvwxYzabcdefGhijklmn" -FAIL Range 28 [paras[0].firstChild, 3, paras[3], 1] followed by Range 38 [paras[2].firstChild, 4, comment, 2]: modifying the second added range must modify the Selection's last Range assert_equals: After mutating the second added Range, startOffset of the Selection's last Range must match the added Range expected 0 but got 3 +FAIL Range 28 [paras[0].firstChild, 3, paras[3], 1] followed by Range 38 [paras[2].firstChild, 4, comment, 2]: second addRange() must result in the selection's last range being the same object we added assert_equals: getRangeAt(rangeCount - 1) must return the same object we added expected object "uvwxYzabcdefGhijklmn" but got object "" +FAIL Range 28 [paras[0].firstChild, 3, paras[3], 1] followed by Range 38 [paras[2].firstChild, 4, comment, 2]: modifying the second added range must modify the Selection's last Range assert_equals: After mutating the second added Range, startOffset of the Selection's last Range must match the added Range expected 0 but got 6 FAIL Range 28 [paras[0].firstChild, 3, paras[3], 1] followed by Range 38 [paras[2].firstChild, 4, comment, 2]: modifying the Selection's last Range must modify the second added Range assert_equals: After second addRange(), after mutating the Selection's last Range, startOffset of the Selection's last Range must match the added Range expected 0 but got 6 PASS Range 28 [paras[0].firstChild, 3, paras[3], 1] followed by Range 39 [paras[3], 1, comment, 8]: first addRange() must not throw exceptions or modify the range it's given PASS Range 28 [paras[0].firstChild, 3, paras[3], 1] followed by Range 39 [paras[3], 1, comment, 8]: first addRange() must result in rangeCount being 1 @@ -771,10 +756,8 @@ PASS Range 28 [paras[0].firstChild, 3, paras[3], 1] followed by Range 39 [paras[3], 1, comment, 8]: second addRange() must result in rangeCount being 1 FAIL Range 28 [paras[0].firstChild, 3, paras[3], 1] followed by Range 39 [paras[3], 1, comment, 8]: second addRange() must result in the selection's last range having the specified endpoints assert_equals: startContainer of the Selection's last Range must match the added Range expected Element node <p id="d" style="display:none">Yzabcdef</p> but got Text node "Äb̈c̈d̈ëf̈g̈ḧ " -FAIL Range 28 [paras[0].firstChild, 3, paras[3], 1] followed by Range 39 [paras[3], 1, comment, 8]: second addRange() must result in the selection's last range being the same object we added assert_equals: getRangeAt(rangeCount - 1) must return the same object we added expected object "Ghijklmn" but got object "̈c̈d̈ëf̈g̈ḧ -Ijklmnop -QrstuvwxYzabcdefGhijklmn" -FAIL Range 28 [paras[0].firstChild, 3, paras[3], 1] followed by Range 39 [paras[3], 1, comment, 8]: modifying the second added range must modify the Selection's last Range assert_equals: After mutating the second added Range, startOffset of the Selection's last Range must match the added Range expected 0 but got 3 +FAIL Range 28 [paras[0].firstChild, 3, paras[3], 1] followed by Range 39 [paras[3], 1, comment, 8]: second addRange() must result in the selection's last range being the same object we added assert_equals: getRangeAt(rangeCount - 1) must return the same object we added expected object "Ghijklmn" but got object "" +FAIL Range 28 [paras[0].firstChild, 3, paras[3], 1] followed by Range 39 [paras[3], 1, comment, 8]: modifying the second added range must modify the Selection's last Range assert_equals: After mutating the second added Range, startOffset of the Selection's last Range must match the added Range expected 0 but got 6 FAIL Range 28 [paras[0].firstChild, 3, paras[3], 1] followed by Range 39 [paras[3], 1, comment, 8]: modifying the Selection's last Range must modify the second added Range assert_equals: After second addRange(), after mutating the Selection's last Range, startOffset of the Selection's last Range must match the added Range expected 0 but got 6 PASS Range 28 [paras[0].firstChild, 3, paras[3], 1] followed by Range 40 [foreignDoc, 0, foreignDoc, 0]: first addRange() must not throw exceptions or modify the range it's given PASS Range 28 [paras[0].firstChild, 3, paras[3], 1] followed by Range 40 [foreignDoc, 0, foreignDoc, 0]: first addRange() must result in rangeCount being 1 @@ -1018,13 +1001,9 @@ PASS Range 29 [paras[0], 0, paras[0].firstChild, 7] followed by Range 0 [paras[0].firstChild, 0, paras[0].firstChild, 0]: modifying the Selection's last Range must modify the first added Range PASS Range 29 [paras[0], 0, paras[0].firstChild, 7] 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 29 [paras[0], 0, paras[0].firstChild, 7] followed by Range 0 [paras[0].firstChild, 0, paras[0].firstChild, 0]: second addRange() must result in rangeCount being 1 -FAIL Range 29 [paras[0], 0, paras[0].firstChild, 7] followed by Range 0 [paras[0].firstChild, 0, paras[0].firstChild, 0]: second addRange() must result in the selection's last range having the specified endpoints assert_equals: startContainer of the Selection's last Range must match the added Range expected Text node "Äb̈c̈d̈ëf̈g̈ḧ -" but got Element node <p id="a">Äb̈c̈d̈ëf̈g̈ḧ -</p> -FAIL Range 29 [paras[0], 0, paras[0].firstChild, 7] followed by Range 0 [paras[0].firstChild, 0, paras[0].firstChild, 0]: second addRange() must result in the selection's last range being the same object we added assert_equals: getRangeAt(rangeCount - 1) must return the same object we added expected object "" but got object "Äb̈c̈d" -FAIL Range 29 [paras[0], 0, paras[0].firstChild, 7] followed by Range 0 [paras[0].firstChild, 0, paras[0].firstChild, 0]: modifying the second added range must modify the Selection's last Range assert_equals: After mutating the second added Range, startContainer of the Selection's last Range must match the added Range expected Text node "Äb̈c̈d̈ëf̈g̈ḧ -" but got Element node <p id="a">Äb̈c̈d̈ëf̈g̈ḧ -</p> +FAIL Range 29 [paras[0], 0, paras[0].firstChild, 7] followed by Range 0 [paras[0].firstChild, 0, paras[0].firstChild, 0]: second addRange() must result in the selection's last range having the specified endpoints assert_equals: startOffset of the Selection's last Range must match the added Range expected 0 but got 6 +FAIL Range 29 [paras[0], 0, paras[0].firstChild, 7] followed by Range 0 [paras[0].firstChild, 0, paras[0].firstChild, 0]: second addRange() must result in the selection's last range being the same object we added assert_equals: getRangeAt(rangeCount - 1) must return the same object we added expected object "" but got object "" +FAIL Range 29 [paras[0], 0, paras[0].firstChild, 7] followed by Range 0 [paras[0].firstChild, 0, paras[0].firstChild, 0]: modifying the second added range must modify the Selection's last Range assert_equals: After mutating the second added Range, startOffset of the Selection's last Range must match the added Range expected 0 but got 6 FAIL Range 29 [paras[0], 0, paras[0].firstChild, 7] followed by Range 0 [paras[0].firstChild, 0, paras[0].firstChild, 0]: modifying the Selection's last Range must modify the second added Range assert_equals: After second addRange(), after mutating the Selection's last Range, startOffset of the Selection's last Range must match the added Range expected 0 but got 6 PASS Range 29 [paras[0], 0, paras[0].firstChild, 7] followed by Range 1 [paras[0].firstChild, 0, paras[0].firstChild, 1]: first addRange() must not throw exceptions or modify the range it's given PASS Range 29 [paras[0], 0, paras[0].firstChild, 7] followed by Range 1 [paras[0].firstChild, 0, paras[0].firstChild, 1]: first addRange() must result in rangeCount being 1 @@ -1034,13 +1013,9 @@ PASS Range 29 [paras[0], 0, paras[0].firstChild, 7] followed by Range 1 [paras[0].firstChild, 0, paras[0].firstChild, 1]: modifying the Selection's last Range must modify the first added Range PASS Range 29 [paras[0], 0, paras[0].firstChild, 7] 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 29 [paras[0], 0, paras[0].firstChild, 7] followed by Range 1 [paras[0].firstChild, 0, paras[0].firstChild, 1]: second addRange() must result in rangeCount being 1 -FAIL Range 29 [paras[0], 0, paras[0].firstChild, 7] followed by Range 1 [paras[0].firstChild, 0, paras[0].firstChild, 1]: second addRange() must result in the selection's last range having the specified endpoints assert_equals: startContainer of the Selection's last Range must match the added Range expected Text node "Äb̈c̈d̈ëf̈g̈ḧ -" but got Element node <p id="a">Äb̈c̈d̈ëf̈g̈ḧ -</p> -FAIL Range 29 [paras[0], 0, paras[0].firstChild, 7] followed by Range 1 [paras[0].firstChild, 0, paras[0].firstChild, 1]: second addRange() must result in the selection's last range being the same object we added assert_equals: getRangeAt(rangeCount - 1) must return the same object we added expected object "A" but got object "Äb̈c̈d" -FAIL Range 29 [paras[0], 0, paras[0].firstChild, 7] followed by Range 1 [paras[0].firstChild, 0, paras[0].firstChild, 1]: modifying the second added range must modify the Selection's last Range assert_equals: After mutating the second added Range, startContainer of the Selection's last Range must match the added Range expected Text node "Äb̈c̈d̈ëf̈g̈ḧ -" but got Element node <p id="a">Äb̈c̈d̈ëf̈g̈ḧ -</p> +FAIL Range 29 [paras[0], 0, paras[0].firstChild, 7] followed by Range 1 [paras[0].firstChild, 0, paras[0].firstChild, 1]: second addRange() must result in the selection's last range having the specified endpoints assert_equals: startOffset of the Selection's last Range must match the added Range expected 0 but got 6 +FAIL Range 29 [paras[0], 0, paras[0].firstChild, 7] followed by Range 1 [paras[0].firstChild, 0, paras[0].firstChild, 1]: second addRange() must result in the selection's last range being the same object we added assert_equals: getRangeAt(rangeCount - 1) must return the same object we added expected object "A" but got object "" +FAIL Range 29 [paras[0], 0, paras[0].firstChild, 7] followed by Range 1 [paras[0].firstChild, 0, paras[0].firstChild, 1]: modifying the second added range must modify the Selection's last Range assert_equals: After mutating the second added Range, startOffset of the Selection's last Range must match the added Range expected 0 but got 6 FAIL Range 29 [paras[0], 0, paras[0].firstChild, 7] followed by Range 1 [paras[0].firstChild, 0, paras[0].firstChild, 1]: modifying the Selection's last Range must modify the second added Range assert_equals: After second addRange(), after mutating the Selection's last Range, startOffset of the Selection's last Range must match the added Range expected 0 but got 6 PASS Range 29 [paras[0], 0, paras[0].firstChild, 7] followed by Range 2 [paras[0].firstChild, 2, paras[0].firstChild, 8]: first addRange() must not throw exceptions or modify the range it's given PASS Range 29 [paras[0], 0, paras[0].firstChild, 7] followed by Range 2 [paras[0].firstChild, 2, paras[0].firstChild, 8]: first addRange() must result in rangeCount being 1 @@ -1050,13 +1025,9 @@ PASS Range 29 [paras[0], 0, paras[0].firstChild, 7] followed by Range 2 [paras[0].firstChild, 2, paras[0].firstChild, 8]: modifying the Selection's last Range must modify the first added Range PASS Range 29 [paras[0], 0, paras[0].firstChild, 7] 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 29 [paras[0], 0, paras[0].firstChild, 7] followed by Range 2 [paras[0].firstChild, 2, paras[0].firstChild, 8]: second addRange() must result in rangeCount being 1 -FAIL Range 29 [paras[0], 0, paras[0].firstChild, 7] followed by Range 2 [paras[0].firstChild, 2, paras[0].firstChild, 8]: second addRange() must result in the selection's last range having the specified endpoints assert_equals: startContainer of the Selection's last Range must match the added Range expected Text node "Äb̈c̈d̈ëf̈g̈ḧ -" but got Element node <p id="a">Äb̈c̈d̈ëf̈g̈ḧ -</p> -FAIL Range 29 [paras[0], 0, paras[0].firstChild, 7] followed by Range 2 [paras[0].firstChild, 2, paras[0].firstChild, 8]: second addRange() must result in the selection's last range being the same object we added assert_equals: getRangeAt(rangeCount - 1) must return the same object we added expected object "b̈c̈d̈" but got object "Äb̈c̈d̈" -FAIL Range 29 [paras[0], 0, paras[0].firstChild, 7] followed by Range 2 [paras[0].firstChild, 2, paras[0].firstChild, 8]: modifying the second added range must modify the Selection's last Range assert_equals: After mutating the second added Range, startContainer of the Selection's last Range must match the added Range expected Text node "Äb̈c̈d̈ëf̈g̈ḧ -" but got Element node <p id="a">Äb̈c̈d̈ëf̈g̈ḧ -</p> +PASS Range 29 [paras[0], 0, paras[0].firstChild, 7] followed by Range 2 [paras[0].firstChild, 2, paras[0].firstChild, 8]: second addRange() must result in the selection's last range having the specified endpoints +FAIL Range 29 [paras[0], 0, paras[0].firstChild, 7] followed by Range 2 [paras[0].firstChild, 2, paras[0].firstChild, 8]: second addRange() must result in the selection's last range being the same object we added assert_equals: getRangeAt(rangeCount - 1) must return the same object we added expected object "b̈c̈d̈" but got object "b̈c̈d̈" +FAIL Range 29 [paras[0], 0, paras[0].firstChild, 7] followed by Range 2 [paras[0].firstChild, 2, paras[0].firstChild, 8]: modifying the second added range must modify the Selection's last Range assert_equals: After mutating the second added Range, startOffset of the Selection's last Range must match the added Range expected 0 but got 2 FAIL Range 29 [paras[0], 0, paras[0].firstChild, 7] followed by Range 2 [paras[0].firstChild, 2, paras[0].firstChild, 8]: modifying the Selection's last Range must modify the second added Range assert_equals: After second addRange(), after mutating the Selection's last Range, startOffset of the Selection's last Range must match the added Range expected 0 but got 6 PASS Range 29 [paras[0], 0, paras[0].firstChild, 7] followed by Range 3 [paras[0].firstChild, 2, paras[0].firstChild, 9]: first addRange() must not throw exceptions or modify the range it's given PASS Range 29 [paras[0], 0, paras[0].firstChild, 7] followed by Range 3 [paras[0].firstChild, 2, paras[0].firstChild, 9]: first addRange() must result in rangeCount being 1 @@ -1066,13 +1037,9 @@ PASS Range 29 [paras[0], 0, paras[0].firstChild, 7] followed by Range 3 [paras[0].firstChild, 2, paras[0].firstChild, 9]: modifying the Selection's last Range must modify the first added Range PASS Range 29 [paras[0], 0, paras[0].firstChild, 7] 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 29 [paras[0], 0, paras[0].firstChild, 7] followed by Range 3 [paras[0].firstChild, 2, paras[0].firstChild, 9]: second addRange() must result in rangeCount being 1 -FAIL Range 29 [paras[0], 0, paras[0].firstChild, 7] followed by Range 3 [paras[0].firstChild, 2, paras[0].firstChild, 9]: second addRange() must result in the selection's last range having the specified endpoints assert_equals: startContainer of the Selection's last Range must match the added Range expected Text node "Äb̈c̈d̈ëf̈g̈ḧ -" but got Element node <p id="a">Äb̈c̈d̈ëf̈g̈ḧ -</p> -FAIL Range 29 [paras[0], 0, paras[0].firstChild, 7] followed by Range 3 [paras[0].firstChild, 2, paras[0].firstChild, 9]: second addRange() must result in the selection's last range being the same object we added assert_equals: getRangeAt(rangeCount - 1) must return the same object we added expected object "b̈c̈d̈e" but got object "Äb̈c̈d̈e" -FAIL Range 29 [paras[0], 0, paras[0].firstChild, 7] followed by Range 3 [paras[0].firstChild, 2, paras[0].firstChild, 9]: modifying the second added range must modify the Selection's last Range assert_equals: After mutating the second added Range, startContainer of the Selection's last Range must match the added Range expected Text node "Äb̈c̈d̈ëf̈g̈ḧ -" but got Element node <p id="a">Äb̈c̈d̈ëf̈g̈ḧ -</p> +PASS Range 29 [paras[0], 0, paras[0].firstChild, 7] followed by Range 3 [paras[0].firstChild, 2, paras[0].firstChild, 9]: second addRange() must result in the selection's last range having the specified endpoints +FAIL Range 29 [paras[0], 0, paras[0].firstChild, 7] followed by Range 3 [paras[0].firstChild, 2, paras[0].firstChild, 9]: second addRange() must result in the selection's last range being the same object we added assert_equals: getRangeAt(rangeCount - 1) must return the same object we added expected object "b̈c̈d̈e" but got object "b̈c̈d̈e" +FAIL Range 29 [paras[0], 0, paras[0].firstChild, 7] followed by Range 3 [paras[0].firstChild, 2, paras[0].firstChild, 9]: modifying the second added range must modify the Selection's last Range assert_equals: After mutating the second added Range, startOffset of the Selection's last Range must match the added Range expected 0 but got 2 FAIL Range 29 [paras[0], 0, paras[0].firstChild, 7] followed by Range 3 [paras[0].firstChild, 2, paras[0].firstChild, 9]: modifying the Selection's last Range must modify the second added Range assert_equals: After second addRange(), after mutating the Selection's last Range, startOffset of the Selection's last Range must match the added Range expected 0 but got 6 PASS Range 29 [paras[0], 0, paras[0].firstChild, 7] followed by Range 4 [paras[1].firstChild, 0, paras[1].firstChild, 0]: first addRange() must not throw exceptions or modify the range it's given PASS Range 29 [paras[0], 0, paras[0].firstChild, 7] followed by Range 4 [paras[1].firstChild, 0, paras[1].firstChild, 0]: first addRange() must result in rangeCount being 1 @@ -1384,13 +1351,11 @@ PASS Range 29 [paras[0], 0, paras[0].firstChild, 7] followed by Range 22 [paras[0], 0, paras[0], 0]: modifying the Selection's last Range must modify the first added Range PASS Range 29 [paras[0], 0, paras[0].firstChild, 7] 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 29 [paras[0], 0, paras[0].firstChild, 7] followed by Range 22 [paras[0], 0, paras[0], 0]: second addRange() must result in rangeCount being 1 -FAIL Range 29 [paras[0], 0, paras[0].firstChild, 7] followed by Range 22 [paras[0], 0, paras[0], 0]: second addRange() must result in the selection's last range having the specified endpoints assert_equals: endContainer of the Selection's last Range must match the added Range expected Element node <p id="a">Äb̈c̈d̈ëf̈g̈ḧ +FAIL Range 29 [paras[0], 0, paras[0].firstChild, 7] followed by Range 22 [paras[0], 0, paras[0], 0]: second addRange() must result in the selection's last range having the specified endpoints assert_equals: startContainer of the Selection's last Range must match the added Range expected Element node <p id="a">Äb̈c̈d̈ëf̈g̈ḧ </p> but got Text node "Äb̈c̈d̈ëf̈g̈ḧ " -FAIL Range 29 [paras[0], 0, paras[0].firstChild, 7] followed by Range 22 [paras[0], 0, paras[0], 0]: second addRange() must result in the selection's last range being the same object we added assert_equals: getRangeAt(rangeCount - 1) must return the same object we added expected object "" but got object "Äb̈c̈d" -FAIL Range 29 [paras[0], 0, paras[0].firstChild, 7] followed by Range 22 [paras[0], 0, paras[0], 0]: modifying the second added range must modify the Selection's last Range assert_equals: After mutating the second added Range, startContainer of the Selection's last Range must match the added Range expected Text node "Äb̈c̈d̈ëf̈g̈ḧ -" but got Element node <p id="a">Äb̈c̈d̈ëf̈g̈ḧ -</p> +FAIL Range 29 [paras[0], 0, paras[0].firstChild, 7] followed by Range 22 [paras[0], 0, paras[0], 0]: second addRange() must result in the selection's last range being the same object we added assert_equals: getRangeAt(rangeCount - 1) must return the same object we added expected object "" but got object "" +FAIL Range 29 [paras[0], 0, paras[0].firstChild, 7] followed by Range 22 [paras[0], 0, paras[0], 0]: modifying the second added range must modify the Selection's last Range assert_equals: After mutating the second added Range, startOffset of the Selection's last Range must match the added Range expected 0 but got 6 FAIL Range 29 [paras[0], 0, paras[0].firstChild, 7] followed by Range 22 [paras[0], 0, paras[0], 0]: modifying the Selection's last Range must modify the second added Range assert_equals: After second addRange(), after mutating the Selection's last Range, startOffset of the Selection's last Range must match the added Range expected 0 but got 6 PASS Range 29 [paras[0], 0, paras[0].firstChild, 7] followed by Range 23 [paras[0], 0, paras[0], 1]: first addRange() must not throw exceptions or modify the range it's given PASS Range 29 [paras[0], 0, paras[0].firstChild, 7] followed by Range 23 [paras[0], 0, paras[0], 1]: first addRange() must result in rangeCount being 1 @@ -1442,15 +1407,13 @@ PASS Range 29 [paras[0], 0, paras[0].firstChild, 7] followed by Range 26 [paras[0].firstChild, 0, paras[1].firstChild, 0]: modifying the Selection's last Range must modify the first added Range PASS Range 29 [paras[0], 0, paras[0].firstChild, 7] 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 29 [paras[0], 0, paras[0].firstChild, 7] followed by Range 26 [paras[0].firstChild, 0, paras[1].firstChild, 0]: second addRange() must result in rangeCount being 1 -FAIL Range 29 [paras[0], 0, paras[0].firstChild, 7] followed by Range 26 [paras[0].firstChild, 0, paras[1].firstChild, 0]: second addRange() must result in the selection's last range having the specified endpoints assert_equals: startContainer of the Selection's last Range must match the added Range expected Text node "Äb̈c̈d̈ëf̈g̈ḧ -" but got Element node <p id="a">Äb̈c̈d̈ëf̈g̈ḧ -</p> +PASS Range 29 [paras[0], 0, paras[0].firstChild, 7] followed by Range 26 [paras[0].firstChild, 0, paras[1].firstChild, 0]: second addRange() must result in the selection's last range having the specified endpoints FAIL Range 29 [paras[0], 0, paras[0].firstChild, 7] followed by Range 26 [paras[0].firstChild, 0, paras[1].firstChild, 0]: second addRange() must result in the selection's last range being the same object we added assert_equals: getRangeAt(rangeCount - 1) must return the same object we added expected object "Äb̈c̈d̈ëf̈g̈ḧ " but got object "Äb̈c̈d̈ëf̈g̈ḧ " -FAIL Range 29 [paras[0], 0, paras[0].firstChild, 7] followed by Range 26 [paras[0].firstChild, 0, paras[1].firstChild, 0]: modifying the second added range must modify the Selection's last Range assert_equals: After mutating the second added Range, startContainer of the Selection's last Range must match the added Range expected Text node "Äb̈c̈d̈ëf̈g̈ḧ -" but got Element node <p id="a">Äb̈c̈d̈ëf̈g̈ḧ -</p> +FAIL Range 29 [paras[0], 0, paras[0].firstChild, 7] followed by Range 26 [paras[0].firstChild, 0, paras[1].firstChild, 0]: modifying the second added range must modify the Selection's last Range assert_equals: After mutating the second added Range, endContainer of the Selection's last Range must match the added Range expected Text node "Äb̈c̈d̈ëf̈g̈ḧ +" but got Text node "Ijklmnop +" FAIL Range 29 [paras[0], 0, paras[0].firstChild, 7] followed by Range 26 [paras[0].firstChild, 0, paras[1].firstChild, 0]: modifying the Selection's last Range must modify the second added Range assert_equals: After second addRange(), after mutating the Selection's last Range, startOffset of the Selection's last Range must match the added Range expected 0 but got 6 PASS Range 29 [paras[0], 0, paras[0].firstChild, 7] followed by Range 27 [paras[0].firstChild, 0, paras[1].firstChild, 8]: first addRange() must not throw exceptions or modify the range it's given PASS Range 29 [paras[0], 0, paras[0].firstChild, 7] followed by Range 27 [paras[0].firstChild, 0, paras[1].firstChild, 8]: first addRange() must result in rangeCount being 1 @@ -1460,15 +1423,13 @@ PASS Range 29 [paras[0], 0, paras[0].firstChild, 7] followed by Range 27 [paras[0].firstChild, 0, paras[1].firstChild, 8]: modifying the Selection's last Range must modify the first added Range PASS Range 29 [paras[0], 0, paras[0].firstChild, 7] 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 29 [paras[0], 0, paras[0].firstChild, 7] followed by Range 27 [paras[0].firstChild, 0, paras[1].firstChild, 8]: second addRange() must result in rangeCount being 1 -FAIL Range 29 [paras[0], 0, paras[0].firstChild, 7] followed by Range 27 [paras[0].firstChild, 0, paras[1].firstChild, 8]: second addRange() must result in the selection's last range having the specified endpoints assert_equals: startContainer of the Selection's last Range must match the added Range expected Text node "Äb̈c̈d̈ëf̈g̈ḧ -" but got Element node <p id="a">Äb̈c̈d̈ëf̈g̈ḧ -</p> +PASS Range 29 [paras[0], 0, paras[0].firstChild, 7] followed by Range 27 [paras[0].firstChild, 0, paras[1].firstChild, 8]: second addRange() must result in the selection's last range having the specified endpoints FAIL Range 29 [paras[0], 0, paras[0].firstChild, 7] followed by Range 27 [paras[0].firstChild, 0, paras[1].firstChild, 8]: second addRange() must result in the selection's last range being the same object we added assert_equals: getRangeAt(rangeCount - 1) must return the same object we added expected object "Äb̈c̈d̈ëf̈g̈ḧ Ijklmnop" but got object "Äb̈c̈d̈ëf̈g̈ḧ Ijklmnop" -FAIL Range 29 [paras[0], 0, paras[0].firstChild, 7] followed by Range 27 [paras[0].firstChild, 0, paras[1].firstChild, 8]: modifying the second added range must modify the Selection's last Range assert_equals: After mutating the second added Range, startContainer of the Selection's last Range must match the added Range expected Text node "Äb̈c̈d̈ëf̈g̈ḧ -" but got Element node <p id="a">Äb̈c̈d̈ëf̈g̈ḧ -</p> +FAIL Range 29 [paras[0], 0, paras[0].firstChild, 7] followed by Range 27 [paras[0].firstChild, 0, paras[1].firstChild, 8]: modifying the second added range must modify the Selection's last Range assert_equals: After mutating the second added Range, endContainer of the Selection's last Range must match the added Range expected Text node "Äb̈c̈d̈ëf̈g̈ḧ +" but got Text node "Ijklmnop +" FAIL Range 29 [paras[0], 0, paras[0].firstChild, 7] followed by Range 27 [paras[0].firstChild, 0, paras[1].firstChild, 8]: modifying the Selection's last Range must modify the second added Range assert_equals: After second addRange(), after mutating the Selection's last Range, startOffset of the Selection's last Range must match the added Range expected 0 but got 6 PASS Range 29 [paras[0], 0, paras[0].firstChild, 7] followed by Range 28 [paras[0].firstChild, 3, paras[3], 1]: first addRange() must not throw exceptions or modify the range it's given PASS Range 29 [paras[0], 0, paras[0].firstChild, 7] followed by Range 28 [paras[0].firstChild, 3, paras[3], 1]: first addRange() must result in rangeCount being 1 @@ -1478,17 +1439,13 @@ PASS Range 29 [paras[0], 0, paras[0].firstChild, 7] followed by Range 28 [paras[0].firstChild, 3, paras[3], 1]: modifying the Selection's last Range must modify the first added Range PASS Range 29 [paras[0], 0, paras[0].firstChild, 7] 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 29 [paras[0], 0, paras[0].firstChild, 7] followed by Range 28 [paras[0].firstChild, 3, paras[3], 1]: second addRange() must result in rangeCount being 1 -FAIL Range 29 [paras[0], 0, paras[0].firstChild, 7] followed by Range 28 [paras[0].firstChild, 3, paras[3], 1]: second addRange() must result in the selection's last range having the specified endpoints assert_equals: startContainer of the Selection's last Range must match the added Range expected Text node "Äb̈c̈d̈ëf̈g̈ḧ -" but got Element node <p id="a">Äb̈c̈d̈ëf̈g̈ḧ -</p> +PASS Range 29 [paras[0], 0, paras[0].firstChild, 7] followed by Range 28 [paras[0].firstChild, 3, paras[3], 1]: second addRange() must result in the selection's last range having the specified endpoints FAIL Range 29 [paras[0], 0, paras[0].firstChild, 7] followed by Range 28 [paras[0].firstChild, 3, paras[3], 1]: second addRange() must result in the selection's last range being the same object we added assert_equals: getRangeAt(rangeCount - 1) must return the same object we added expected object "̈c̈d̈ëf̈g̈ḧ Ijklmnop -QrstuvwxYzabcdef" but got object "Äb̈c̈d̈ëf̈g̈ḧ +QrstuvwxYzabcdef" but got object "̈c̈d̈ëf̈g̈ḧ Ijklmnop QrstuvwxYzabcdef" -FAIL Range 29 [paras[0], 0, paras[0].firstChild, 7] followed by Range 28 [paras[0].firstChild, 3, paras[3], 1]: modifying the second added range must modify the Selection's last Range assert_equals: After mutating the second added Range, startContainer of the Selection's last Range must match the added Range expected Text node "Äb̈c̈d̈ëf̈g̈ḧ -" but got Element node <p id="a">Äb̈c̈d̈ëf̈g̈ḧ -</p> +FAIL Range 29 [paras[0], 0, paras[0].firstChild, 7] followed by Range 28 [paras[0].firstChild, 3, paras[3], 1]: modifying the second added range must modify the Selection's last Range assert_equals: After mutating the second added Range, startOffset of the Selection's last Range must match the added Range expected 0 but got 3 FAIL Range 29 [paras[0], 0, paras[0].firstChild, 7] followed by Range 28 [paras[0].firstChild, 3, paras[3], 1]: modifying the Selection's last Range must modify the second added Range assert_equals: After second addRange(), after mutating the Selection's last Range, startOffset of the Selection's last Range must match the added Range expected 0 but got 6 PASS Range 29 [paras[0], 0, paras[0].firstChild, 7] followed by Range 29 [paras[0], 0, paras[0].firstChild, 7]: first addRange() must not throw exceptions or modify the range it's given PASS Range 29 [paras[0], 0, paras[0].firstChild, 7] followed by Range 29 [paras[0], 0, paras[0].firstChild, 7]: first addRange() must result in rangeCount being 1 @@ -1966,9 +1923,9 @@ PASS Range 30 [testDiv, 2, paras[4], 1] followed by Range 2 [paras[0].firstChild, 2, paras[0].firstChild, 8]: modifying the Selection's last Range must modify the first added Range PASS Range 30 [testDiv, 2, paras[4], 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 30 [testDiv, 2, paras[4], 1] followed by Range 2 [paras[0].firstChild, 2, paras[0].firstChild, 8]: second addRange() must result in rangeCount being 1 -FAIL Range 30 [testDiv, 2, paras[4], 1] followed by Range 2 [paras[0].firstChild, 2, paras[0].firstChild, 8]: second addRange() must result in the selection's last range having the specified endpoints assert_equals: startOffset of the Selection's last Range must match the added Range expected 2 but got 6 -FAIL Range 30 [testDiv, 2, paras[4], 1] followed by Range 2 [paras[0].firstChild, 2, paras[0].firstChild, 8]: second addRange() must result in the selection's last range being the same object we added assert_equals: getRangeAt(rangeCount - 1) must return the same object we added expected object "b̈c̈d̈" but got object "" -FAIL Range 30 [testDiv, 2, paras[4], 1] followed by Range 2 [paras[0].firstChild, 2, paras[0].firstChild, 8]: modifying the second added range must modify the Selection's last Range assert_equals: After mutating the second added Range, startOffset of the Selection's last Range must match the added Range expected 0 but got 6 +PASS Range 30 [testDiv, 2, paras[4], 1] followed by Range 2 [paras[0].firstChild, 2, paras[0].firstChild, 8]: second addRange() must result in the selection's last range having the specified endpoints +FAIL Range 30 [testDiv, 2, paras[4], 1] followed by Range 2 [paras[0].firstChild, 2, paras[0].firstChild, 8]: second addRange() must result in the selection's last range being the same object we added assert_equals: getRangeAt(rangeCount - 1) must return the same object we added expected object "b̈c̈d̈" but got object "b̈c̈d̈" +FAIL Range 30 [testDiv, 2, paras[4], 1] followed by Range 2 [paras[0].firstChild, 2, paras[0].firstChild, 8]: modifying the second added range must modify the Selection's last Range assert_equals: After mutating the second added Range, startOffset of the Selection's last Range must match the added Range expected 0 but got 2 FAIL Range 30 [testDiv, 2, paras[4], 1] followed by Range 2 [paras[0].firstChild, 2, paras[0].firstChild, 8]: modifying the Selection's last Range must modify the second added Range assert_equals: After second addRange(), after mutating the Selection's last Range, startOffset of the Selection's last Range must match the added Range expected 0 but got 6 PASS Range 30 [testDiv, 2, paras[4], 1] followed by Range 3 [paras[0].firstChild, 2, paras[0].firstChild, 9]: first addRange() must not throw exceptions or modify the range it's given PASS Range 30 [testDiv, 2, paras[4], 1] followed by Range 3 [paras[0].firstChild, 2, paras[0].firstChild, 9]: first addRange() must result in rangeCount being 1 @@ -1978,9 +1935,9 @@ PASS Range 30 [testDiv, 2, paras[4], 1] followed by Range 3 [paras[0].firstChild, 2, paras[0].firstChild, 9]: modifying the Selection's last Range must modify the first added Range PASS Range 30 [testDiv, 2, paras[4], 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 30 [testDiv, 2, paras[4], 1] followed by Range 3 [paras[0].firstChild, 2, paras[0].firstChild, 9]: second addRange() must result in rangeCount being 1 -FAIL Range 30 [testDiv, 2, paras[4], 1] followed by Range 3 [paras[0].firstChild, 2, paras[0].firstChild, 9]: second addRange() must result in the selection's last range having the specified endpoints assert_equals: startOffset of the Selection's last Range must match the added Range expected 2 but got 6 -FAIL Range 30 [testDiv, 2, paras[4], 1] followed by Range 3 [paras[0].firstChild, 2, paras[0].firstChild, 9]: second addRange() must result in the selection's last range being the same object we added assert_equals: getRangeAt(rangeCount - 1) must return the same object we added expected object "b̈c̈d̈e" but got object "" -FAIL Range 30 [testDiv, 2, paras[4], 1] followed by Range 3 [paras[0].firstChild, 2, paras[0].firstChild, 9]: modifying the second added range must modify the Selection's last Range assert_equals: After mutating the second added Range, startOffset of the Selection's last Range must match the added Range expected 0 but got 6 +PASS Range 30 [testDiv, 2, paras[4], 1] followed by Range 3 [paras[0].firstChild, 2, paras[0].firstChild, 9]: second addRange() must result in the selection's last range having the specified endpoints +FAIL Range 30 [testDiv, 2, paras[4], 1] followed by Range 3 [paras[0].firstChild, 2, paras[0].firstChild, 9]: second addRange() must result in the selection's last range being the same object we added assert_equals: getRangeAt(rangeCount - 1) must return the same object we added expected object "b̈c̈d̈e" but got object "b̈c̈d̈e" +FAIL Range 30 [testDiv, 2, paras[4], 1] followed by Range 3 [paras[0].firstChild, 2, paras[0].firstChild, 9]: modifying the second added range must modify the Selection's last Range assert_equals: After mutating the second added Range, startOffset of the Selection's last Range must match the added Range expected 0 but got 2 FAIL Range 30 [testDiv, 2, paras[4], 1] followed by Range 3 [paras[0].firstChild, 2, paras[0].firstChild, 9]: modifying the Selection's last Range must modify the second added Range assert_equals: After second addRange(), after mutating the Selection's last Range, startOffset of the Selection's last Range must match the added Range expected 0 but got 6 PASS Range 30 [testDiv, 2, paras[4], 1] followed by Range 4 [paras[1].firstChild, 0, paras[1].firstChild, 0]: first addRange() must not throw exceptions or modify the range it's given PASS Range 30 [testDiv, 2, paras[4], 1] followed by Range 4 [paras[1].firstChild, 0, paras[1].firstChild, 0]: first addRange() must result in rangeCount being 1 @@ -2306,12 +2263,13 @@ PASS Range 30 [testDiv, 2, paras[4], 1] followed by Range 23 [paras[0], 0, paras[0], 1]: modifying the Selection's last Range must modify the first added Range PASS Range 30 [testDiv, 2, paras[4], 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 30 [testDiv, 2, paras[4], 1] followed by Range 23 [paras[0], 0, paras[0], 1]: second addRange() must result in rangeCount being 1 -FAIL Range 30 [testDiv, 2, paras[4], 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 assert_equals: startContainer of the Selection's last Range must match the added Range expected Element node <p id="a">Äb̈c̈d̈ëf̈g̈ḧ -</p> but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" +PASS Range 30 [testDiv, 2, paras[4], 1] followed by Range 23 [paras[0], 0, paras[0], 1]: second addRange() must result in the selection's last range having the specified endpoints FAIL Range 30 [testDiv, 2, paras[4], 1] followed by Range 23 [paras[0], 0, paras[0], 1]: second addRange() must result in the selection's last range being the same object we added assert_equals: getRangeAt(rangeCount - 1) must return the same object we added expected object "Äb̈c̈d̈ëf̈g̈ḧ -" but got object "" -FAIL Range 30 [testDiv, 2, paras[4], 1] followed by Range 23 [paras[0], 0, paras[0], 1]: modifying the second added range must modify the Selection's last Range assert_equals: After mutating the second added Range, startOffset of the Selection's last Range must match the added Range expected 0 but got 6 +" but got object "Äb̈c̈d̈ëf̈g̈ḧ +" +FAIL Range 30 [testDiv, 2, paras[4], 1] followed by Range 23 [paras[0], 0, paras[0], 1]: modifying the second added range must modify the Selection's last Range assert_equals: After mutating the second added Range, startContainer of the Selection's last Range must match the added Range expected Text node "Äb̈c̈d̈ëf̈g̈ḧ +" but got Element node <p id="a">Äb̈c̈d̈ëf̈g̈ḧ +</p> FAIL Range 30 [testDiv, 2, paras[4], 1] followed by Range 23 [paras[0], 0, paras[0], 1]: modifying the Selection's last Range must modify the second added Range assert_equals: After second addRange(), after mutating the Selection's last Range, startOffset of the Selection's last Range must match the added Range expected 0 but got 6 PASS Range 30 [testDiv, 2, paras[4], 1] followed by Range 24 [detachedPara1, 0, detachedPara1, 0]: first addRange() must not throw exceptions or modify the range it's given PASS Range 30 [testDiv, 2, paras[4], 1] followed by Range 24 [detachedPara1, 0, detachedPara1, 0]: first addRange() must result in rangeCount being 1 @@ -2347,10 +2305,13 @@ PASS Range 30 [testDiv, 2, paras[4], 1] followed by Range 26 [paras[0].firstChild, 0, paras[1].firstChild, 0]: modifying the Selection's last Range must modify the first added Range PASS Range 30 [testDiv, 2, paras[4], 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 30 [testDiv, 2, paras[4], 1] followed by Range 26 [paras[0].firstChild, 0, paras[1].firstChild, 0]: second addRange() must result in rangeCount being 1 -FAIL Range 30 [testDiv, 2, paras[4], 1] followed by Range 26 [paras[0].firstChild, 0, paras[1].firstChild, 0]: second addRange() must result in the selection's last range having the specified endpoints assert_equals: startOffset of the Selection's last Range must match the added Range expected 0 but got 6 +PASS Range 30 [testDiv, 2, paras[4], 1] followed by Range 26 [paras[0].firstChild, 0, paras[1].firstChild, 0]: second addRange() must result in the selection's last range having the specified endpoints FAIL Range 30 [testDiv, 2, paras[4], 1] followed by Range 26 [paras[0].firstChild, 0, paras[1].firstChild, 0]: second addRange() must result in the selection's last range being the same object we added assert_equals: getRangeAt(rangeCount - 1) must return the same object we added expected object "Äb̈c̈d̈ëf̈g̈ḧ -" but got object "" -FAIL Range 30 [testDiv, 2, paras[4], 1] followed by Range 26 [paras[0].firstChild, 0, paras[1].firstChild, 0]: modifying the second added range must modify the Selection's last Range assert_equals: After mutating the second added Range, startOffset of the Selection's last Range must match the added Range expected 0 but got 6 +" but got object "Äb̈c̈d̈ëf̈g̈ḧ +" +FAIL Range 30 [testDiv, 2, paras[4], 1] followed by Range 26 [paras[0].firstChild, 0, paras[1].firstChild, 0]: modifying the second added range must modify the Selection's last Range assert_equals: After mutating the second added Range, endContainer of the Selection's last Range must match the added Range expected Text node "Äb̈c̈d̈ëf̈g̈ḧ +" but got Text node "Ijklmnop +" FAIL Range 30 [testDiv, 2, paras[4], 1] followed by Range 26 [paras[0].firstChild, 0, paras[1].firstChild, 0]: modifying the Selection's last Range must modify the second added Range assert_equals: After second addRange(), after mutating the Selection's last Range, startOffset of the Selection's last Range must match the added Range expected 0 but got 6 PASS Range 30 [testDiv, 2, paras[4], 1] followed by Range 27 [paras[0].firstChild, 0, paras[1].firstChild, 8]: first addRange() must not throw exceptions or modify the range it's given PASS Range 30 [testDiv, 2, paras[4], 1] followed by Range 27 [paras[0].firstChild, 0, paras[1].firstChild, 8]: first addRange() must result in rangeCount being 1 @@ -2360,10 +2321,13 @@ PASS Range 30 [testDiv, 2, paras[4], 1] followed by Range 27 [paras[0].firstChild, 0, paras[1].firstChild, 8]: modifying the Selection's last Range must modify the first added Range PASS Range 30 [testDiv, 2, paras[4], 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 30 [testDiv, 2, paras[4], 1] followed by Range 27 [paras[0].firstChild, 0, paras[1].firstChild, 8]: second addRange() must result in rangeCount being 1 -FAIL Range 30 [testDiv, 2, paras[4], 1] followed by Range 27 [paras[0].firstChild, 0, paras[1].firstChild, 8]: second addRange() must result in the selection's last range having the specified endpoints assert_equals: startOffset of the Selection's last Range must match the added Range expected 0 but got 6 +PASS Range 30 [testDiv, 2, paras[4], 1] followed by Range 27 [paras[0].firstChild, 0, paras[1].firstChild, 8]: second addRange() must result in the selection's last range having the specified endpoints FAIL Range 30 [testDiv, 2, paras[4], 1] followed by Range 27 [paras[0].firstChild, 0, paras[1].firstChild, 8]: second addRange() must result in the selection's last range being the same object we added assert_equals: getRangeAt(rangeCount - 1) must return the same object we added expected object "Äb̈c̈d̈ëf̈g̈ḧ -Ijklmnop" but got object "" -FAIL Range 30 [testDiv, 2, paras[4], 1] followed by Range 27 [paras[0].firstChild, 0, paras[1].firstChild, 8]: modifying the second added range must modify the Selection's last Range assert_equals: After mutating the second added Range, startOffset of the Selection's last Range must match the added Range expected 0 but got 6 +Ijklmnop" but got object "Äb̈c̈d̈ëf̈g̈ḧ +Ijklmnop" +FAIL Range 30 [testDiv, 2, paras[4], 1] followed by Range 27 [paras[0].firstChild, 0, paras[1].firstChild, 8]: modifying the second added range must modify the Selection's last Range assert_equals: After mutating the second added Range, endContainer of the Selection's last Range must match the added Range expected Text node "Äb̈c̈d̈ëf̈g̈ḧ +" but got Text node "Ijklmnop +" FAIL Range 30 [testDiv, 2, paras[4], 1] followed by Range 27 [paras[0].firstChild, 0, paras[1].firstChild, 8]: modifying the Selection's last Range must modify the second added Range assert_equals: After second addRange(), after mutating the Selection's last Range, startOffset of the Selection's last Range must match the added Range expected 0 but got 6 PASS Range 30 [testDiv, 2, paras[4], 1] followed by Range 28 [paras[0].firstChild, 3, paras[3], 1]: first addRange() must not throw exceptions or modify the range it's given PASS Range 30 [testDiv, 2, paras[4], 1] followed by Range 28 [paras[0].firstChild, 3, paras[3], 1]: first addRange() must result in rangeCount being 1 @@ -2373,12 +2337,12 @@ PASS Range 30 [testDiv, 2, paras[4], 1] followed by Range 28 [paras[0].firstChild, 3, paras[3], 1]: modifying the Selection's last Range must modify the first added Range PASS Range 30 [testDiv, 2, paras[4], 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 30 [testDiv, 2, paras[4], 1] followed by Range 28 [paras[0].firstChild, 3, paras[3], 1]: second addRange() must result in rangeCount being 1 -FAIL Range 30 [testDiv, 2, paras[4], 1] followed by Range 28 [paras[0].firstChild, 3, paras[3], 1]: second addRange() must result in the selection's last range having the specified endpoints assert_equals: endContainer of the Selection's last Range must match the added Range expected Element node <p id="d" style="display:none">Yzabcdef</p> but got Element node <p id="e" style="display:none">Ghijklmn</p> +PASS Range 30 [testDiv, 2, paras[4], 1] followed by Range 28 [paras[0].firstChild, 3, paras[3], 1]: second addRange() must result in the selection's last range having the specified endpoints FAIL Range 30 [testDiv, 2, paras[4], 1] followed by Range 28 [paras[0].firstChild, 3, paras[3], 1]: second addRange() must result in the selection's last range being the same object we added assert_equals: getRangeAt(rangeCount - 1) must return the same object we added expected object "̈c̈d̈ëf̈g̈ḧ Ijklmnop QrstuvwxYzabcdef" but got object "̈c̈d̈ëf̈g̈ḧ Ijklmnop -QrstuvwxYzabcdefGhijklmn" +QrstuvwxYzabcdef" FAIL Range 30 [testDiv, 2, paras[4], 1] followed by Range 28 [paras[0].firstChild, 3, paras[3], 1]: modifying the second added range must modify the Selection's last Range assert_equals: After mutating the second added Range, startOffset of the Selection's last Range must match the added Range expected 0 but got 3 FAIL Range 30 [testDiv, 2, paras[4], 1] followed by Range 28 [paras[0].firstChild, 3, paras[3], 1]: modifying the Selection's last Range must modify the second added Range assert_equals: After second addRange(), after mutating the Selection's last Range, startOffset of the Selection's last Range must match the added Range expected 0 but got 6 PASS Range 30 [testDiv, 2, paras[4], 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 @@ -2389,11 +2353,11 @@ PASS Range 30 [testDiv, 2, paras[4], 1] followed by Range 29 [paras[0], 0, paras[0].firstChild, 7]: modifying the Selection's last Range must modify the first added Range PASS Range 30 [testDiv, 2, paras[4], 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 30 [testDiv, 2, paras[4], 1] followed by Range 29 [paras[0], 0, paras[0].firstChild, 7]: second addRange() must result in rangeCount being 1 -FAIL Range 30 [testDiv, 2, paras[4], 1] followed by Range 29 [paras[0], 0, paras[0].firstChild, 7]: second addRange() must result in the selection's last range having the specified endpoints assert_equals: startContainer of the Selection's last Range must match the added Range expected Element node <p id="a">Äb̈c̈d̈ëf̈g̈ḧ -</p> but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -FAIL Range 30 [testDiv, 2, paras[4], 1] followed by Range 29 [paras[0], 0, paras[0].firstChild, 7]: second addRange() must result in the selection's last range being the same object we added assert_equals: getRangeAt(rangeCount - 1) must return the same object we added expected object "Äb̈c̈d" but got object "" -FAIL Range 30 [testDiv, 2, paras[4], 1] followed by Range 29 [paras[0], 0, paras[0].firstChild, 7]: modifying the second added range must modify the Selection's last Range assert_equals: After mutating the second added Range, startOffset of the Selection's last Range must match the added Range expected 0 but got 6 +PASS Range 30 [testDiv, 2, paras[4], 1] followed by Range 29 [paras[0], 0, paras[0].firstChild, 7]: second addRange() must result in the selection's last range having the specified endpoints +FAIL Range 30 [testDiv, 2, paras[4], 1] followed by Range 29 [paras[0], 0, paras[0].firstChild, 7]: second addRange() must result in the selection's last range being the same object we added assert_equals: getRangeAt(rangeCount - 1) must return the same object we added expected object "Äb̈c̈d" but got object "Äb̈c̈d" +FAIL Range 30 [testDiv, 2, paras[4], 1] followed by Range 29 [paras[0], 0, paras[0].firstChild, 7]: modifying the second added range must modify the Selection's last Range assert_equals: After mutating the second added Range, startContainer of the Selection's last Range must match the added Range expected Text node "Äb̈c̈d̈ëf̈g̈ḧ +" but got Element node <p id="a">Äb̈c̈d̈ëf̈g̈ḧ +</p> FAIL Range 30 [testDiv, 2, paras[4], 1] followed by Range 29 [paras[0], 0, paras[0].firstChild, 7]: modifying the Selection's last Range must modify the second added Range assert_equals: After second addRange(), after mutating the Selection's last Range, startOffset of the Selection's last Range must match the added Range expected 0 but got 6 PASS Range 30 [testDiv, 2, paras[4], 1] followed by Range 30 [testDiv, 2, paras[4], 1]: first addRange() must not throw exceptions or modify the range it's given PASS Range 30 [testDiv, 2, paras[4], 1] followed by Range 30 [testDiv, 2, paras[4], 1]: first addRange() must result in rangeCount being 1 @@ -2403,11 +2367,11 @@ PASS Range 30 [testDiv, 2, paras[4], 1] followed by Range 30 [testDiv, 2, paras[4], 1]: modifying the Selection's last Range must modify the first added Range PASS Range 30 [testDiv, 2, paras[4], 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 30 [testDiv, 2, paras[4], 1] followed by Range 30 [testDiv, 2, paras[4], 1]: second addRange() must result in rangeCount being 1 -PASS Range 30 [testDiv, 2, paras[4], 1] followed by Range 30 [testDiv, 2, paras[4], 1]: second addRange() must result in the selection's last range having the specified endpoints -FAIL Range 30 [testDiv, 2, paras[4], 1] followed by Range 30 [testDiv, 2, paras[4], 1]: second addRange() must result in the selection's last range being the same object we added assert_equals: getRangeAt(rangeCount - 1) must return the same object we added expected object "QrstuvwxYzabcdefGhijklmn" but got object "QrstuvwxYzabcdefGhijklmn" -FAIL Range 30 [testDiv, 2, paras[4], 1] followed by Range 30 [testDiv, 2, paras[4], 1]: modifying the second added range must modify the Selection's last Range assert_equals: After mutating the second added Range, startContainer of the Selection's last Range must match the added Range expected Text node "Äb̈c̈d̈ëf̈g̈ḧ -" but got Element node <div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ -</p><p id="b" s... +FAIL Range 30 [testDiv, 2, paras[4], 1] followed by Range 30 [testDiv, 2, paras[4], 1]: second addRange() must result in the selection's last range having the specified endpoints assert_equals: startContainer of the Selection's last Range must match the added Range expected Element node <div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ +</p><p id="b" s... but got Text node "Äb̈c̈d̈ëf̈g̈ḧ +" +FAIL Range 30 [testDiv, 2, paras[4], 1] followed by Range 30 [testDiv, 2, paras[4], 1]: second addRange() must result in the selection's last range being the same object we added assert_equals: getRangeAt(rangeCount - 1) must return the same object we added expected object "QrstuvwxYzabcdefGhijklmn" but got object "" +FAIL Range 30 [testDiv, 2, paras[4], 1] followed by Range 30 [testDiv, 2, paras[4], 1]: modifying the second added range must modify the Selection's last Range assert_equals: After mutating the second added Range, startOffset of the Selection's last Range must match the added Range expected 0 but got 6 FAIL Range 30 [testDiv, 2, paras[4], 1] followed by Range 30 [testDiv, 2, paras[4], 1]: modifying the Selection's last Range must modify the second added Range assert_equals: After second addRange(), after mutating the Selection's last Range, startOffset of the Selection's last Range must match the added Range expected 0 but got 6 PASS Range 30 [testDiv, 2, paras[4], 1] followed by Range 31 [testDiv, 1, paras[2].firstChild, 5]: first addRange() must not throw exceptions or modify the range it's given PASS Range 30 [testDiv, 2, paras[4], 1] followed by Range 31 [testDiv, 1, paras[2].firstChild, 5]: first addRange() must result in rangeCount being 1 @@ -2417,13 +2381,12 @@ PASS Range 30 [testDiv, 2, paras[4], 1] followed by Range 31 [testDiv, 1, paras[2].firstChild, 5]: modifying the Selection's last Range must modify the first added Range PASS Range 30 [testDiv, 2, paras[4], 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 30 [testDiv, 2, paras[4], 1] followed by Range 31 [testDiv, 1, paras[2].firstChild, 5]: second addRange() must result in rangeCount being 1 -FAIL Range 30 [testDiv, 2, paras[4], 1] followed by Range 31 [testDiv, 1, paras[2].firstChild, 5]: second addRange() must result in the selection's last range having the specified endpoints assert_equals: endContainer of the Selection's last Range must match the added Range expected Text node "Qrstuvwx" but got Element node <p id="e" style="display:none">Ghijklmn</p> +FAIL Range 30 [testDiv, 2, paras[4], 1] followed by Range 31 [testDiv, 1, paras[2].firstChild, 5]: second addRange() must result in the selection's last range having the specified endpoints assert_equals: startContainer of the Selection's last Range must match the added Range expected Element node <div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ +</p><p id="b" s... but got Text node "Äb̈c̈d̈ëf̈g̈ḧ +" FAIL Range 30 [testDiv, 2, paras[4], 1] followed by Range 31 [testDiv, 1, paras[2].firstChild, 5]: second addRange() must result in the selection's last range being the same object we added assert_equals: getRangeAt(rangeCount - 1) must return the same object we added expected object "Ijklmnop -Qrstu" but got object "Ijklmnop -QrstuvwxYzabcdefGhijklmn" -FAIL Range 30 [testDiv, 2, paras[4], 1] followed by Range 31 [testDiv, 1, paras[2].firstChild, 5]: modifying the second added range must modify the Selection's last Range assert_equals: After mutating the second added Range, startContainer of the Selection's last Range must match the added Range expected Text node "Äb̈c̈d̈ëf̈g̈ḧ -" but got Element node <div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ -</p><p id="b" s... +Qrstu" but got object "" +FAIL Range 30 [testDiv, 2, paras[4], 1] followed by Range 31 [testDiv, 1, paras[2].firstChild, 5]: modifying the second added range must modify the Selection's last Range assert_equals: After mutating the second added Range, startOffset of the Selection's last Range must match the added Range expected 0 but got 6 FAIL Range 30 [testDiv, 2, paras[4], 1] followed by Range 31 [testDiv, 1, paras[2].firstChild, 5]: modifying the Selection's last Range must modify the second added Range assert_equals: After second addRange(), after mutating the Selection's last Range, startOffset of the Selection's last Range must match the added Range expected 0 but got 6 PASS Range 30 [testDiv, 2, paras[4], 1] followed by Range 32 [document.documentElement, 1, document.body, 0]: first addRange() must not throw exceptions or modify the range it's given PASS Range 30 [testDiv, 2, paras[4], 1] followed by Range 32 [document.documentElement, 1, document.body, 0]: first addRange() must result in rangeCount being 1 @@ -2574,12 +2537,10 @@ PASS Range 30 [testDiv, 2, paras[4], 1] followed by Range 38 [paras[2].firstChild, 4, comment, 2]: modifying the Selection's last Range must modify the first added Range PASS Range 30 [testDiv, 2, paras[4], 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 30 [testDiv, 2, paras[4], 1] followed by Range 38 [paras[2].firstChild, 4, comment, 2]: second addRange() must result in rangeCount being 1 -FAIL Range 30 [testDiv, 2, paras[4], 1] followed by Range 38 [paras[2].firstChild, 4, comment, 2]: second addRange() must result in the selection's last range having the specified endpoints assert_equals: startContainer of the Selection's last Range must match the added Range expected Text node "Qrstuvwx" but got Element node <div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ -</p><p id="b" s... -FAIL Range 30 [testDiv, 2, paras[4], 1] followed by Range 38 [paras[2].firstChild, 4, comment, 2]: second addRange() must result in the selection's last range being the same object we added assert_equals: getRangeAt(rangeCount - 1) must return the same object we added expected object "uvwxYzabcdefGhijklmn" but got object "QrstuvwxYzabcdefGhijklmn" -FAIL Range 30 [testDiv, 2, paras[4], 1] followed by Range 38 [paras[2].firstChild, 4, comment, 2]: modifying the second added range must modify the Selection's last Range assert_equals: After mutating the second added Range, startContainer of the Selection's last Range must match the added Range expected Text node "Äb̈c̈d̈ëf̈g̈ḧ -" but got Element node <div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ -</p><p id="b" s... +FAIL Range 30 [testDiv, 2, paras[4], 1] followed by Range 38 [paras[2].firstChild, 4, comment, 2]: second addRange() must result in the selection's last range having the specified endpoints assert_equals: startContainer of the Selection's last Range must match the added Range expected Text node "Qrstuvwx" but got Text node "Äb̈c̈d̈ëf̈g̈ḧ +" +FAIL Range 30 [testDiv, 2, paras[4], 1] followed by Range 38 [paras[2].firstChild, 4, comment, 2]: second addRange() must result in the selection's last range being the same object we added assert_equals: getRangeAt(rangeCount - 1) must return the same object we added expected object "uvwxYzabcdefGhijklmn" but got object "" +FAIL Range 30 [testDiv, 2, paras[4], 1] followed by Range 38 [paras[2].firstChild, 4, comment, 2]: modifying the second added range must modify the Selection's last Range assert_equals: After mutating the second added Range, startOffset of the Selection's last Range must match the added Range expected 0 but got 6 FAIL Range 30 [testDiv, 2, paras[4], 1] followed by Range 38 [paras[2].firstChild, 4, comment, 2]: modifying the Selection's last Range must modify the second added Range assert_equals: After second addRange(), after mutating the Selection's last Range, startOffset of the Selection's last Range must match the added Range expected 0 but got 6 PASS Range 30 [testDiv, 2, paras[4], 1] followed by Range 39 [paras[3], 1, comment, 8]: first addRange() must not throw exceptions or modify the range it's given PASS Range 30 [testDiv, 2, paras[4], 1] followed by Range 39 [paras[3], 1, comment, 8]: first addRange() must result in rangeCount being 1 @@ -2589,12 +2550,10 @@ PASS Range 30 [testDiv, 2, paras[4], 1] followed by Range 39 [paras[3], 1, comment, 8]: modifying the Selection's last Range must modify the first added Range PASS Range 30 [testDiv, 2, paras[4], 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 30 [testDiv, 2, paras[4], 1] followed by Range 39 [paras[3], 1, comment, 8]: second addRange() must result in rangeCount being 1 -FAIL Range 30 [testDiv, 2, paras[4], 1] followed by Range 39 [paras[3], 1, comment, 8]: second addRange() must result in the selection's last range having the specified endpoints assert_equals: startContainer of the Selection's last Range must match the added Range expected Element node <p id="d" style="display:none">Yzabcdef</p> but got Element node <div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ -</p><p id="b" s... -FAIL Range 30 [testDiv, 2, paras[4], 1] followed by Range 39 [paras[3], 1, comment, 8]: second addRange() must result in the selection's last range being the same object we added assert_equals: getRangeAt(rangeCount - 1) must return the same object we added expected object "Ghijklmn" but got object "QrstuvwxYzabcdefGhijklmn" -FAIL Range 30 [testDiv, 2, paras[4], 1] followed by Range 39 [paras[3], 1, comment, 8]: modifying the second added range must modify the Selection's last Range assert_equals: After mutating the second added Range, startContainer of the Selection's last Range must match the added Range expected Text node "Äb̈c̈d̈ëf̈g̈ḧ -" but got Element node <div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ -</p><p id="b" s... +FAIL Range 30 [testDiv, 2, paras[4], 1] followed by Range 39 [paras[3], 1, comment, 8]: second addRange() must result in the selection's last range having the specified endpoints assert_equals: startContainer of the Selection's last Range must match the added Range expected Element node <p id="d" style="display:none">Yzabcdef</p> but got Text node "Äb̈c̈d̈ëf̈g̈ḧ +" +FAIL Range 30 [testDiv, 2, paras[4], 1] followed by Range 39 [paras[3], 1, comment, 8]: second addRange() must result in the selection's last range being the same object we added assert_equals: getRangeAt(rangeCount - 1) must return the same object we added expected object "Ghijklmn" but got object "" +FAIL Range 30 [testDiv, 2, paras[4], 1] followed by Range 39 [paras[3], 1, comment, 8]: modifying the second added range must modify the Selection's last Range assert_equals: After mutating the second added Range, startOffset of the Selection's last Range must match the added Range expected 0 but got 6 FAIL Range 30 [testDiv, 2, paras[4], 1] followed by Range 39 [paras[3], 1, comment, 8]: modifying the Selection's last Range must modify the second added Range assert_equals: After second addRange(), after mutating the Selection's last Range, startOffset of the Selection's last Range must match the added Range expected 0 but got 6 PASS Range 30 [testDiv, 2, paras[4], 1] followed by Range 40 [foreignDoc, 0, foreignDoc, 0]: first addRange() must not throw exceptions or modify the range it's given PASS Range 30 [testDiv, 2, paras[4], 1] followed by Range 40 [foreignDoc, 0, foreignDoc, 0]: first addRange() must result in rangeCount being 1 @@ -2862,9 +2821,9 @@ PASS Range 31 [testDiv, 1, paras[2].firstChild, 5] followed by Range 2 [paras[0].firstChild, 2, paras[0].firstChild, 8]: modifying the Selection's last Range must modify the first added Range PASS Range 31 [testDiv, 1, paras[2].firstChild, 5] 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 31 [testDiv, 1, paras[2].firstChild, 5] followed by Range 2 [paras[0].firstChild, 2, paras[0].firstChild, 8]: second addRange() must result in rangeCount being 1 -FAIL Range 31 [testDiv, 1, paras[2].firstChild, 5] followed by Range 2 [paras[0].firstChild, 2, paras[0].firstChild, 8]: second addRange() must result in the selection's last range having the specified endpoints assert_equals: startOffset of the Selection's last Range must match the added Range expected 2 but got 6 -FAIL Range 31 [testDiv, 1, paras[2].firstChild, 5] followed by Range 2 [paras[0].firstChild, 2, paras[0].firstChild, 8]: second addRange() must result in the selection's last range being the same object we added assert_equals: getRangeAt(rangeCount - 1) must return the same object we added expected object "b̈c̈d̈" but got object "" -FAIL Range 31 [testDiv, 1, paras[2].firstChild, 5] followed by Range 2 [paras[0].firstChild, 2, paras[0].firstChild, 8]: modifying the second added range must modify the Selection's last Range assert_equals: After mutating the second added Range, startOffset of the Selection's last Range must match the added Range expected 0 but got 6 +PASS Range 31 [testDiv, 1, paras[2].firstChild, 5] followed by Range 2 [paras[0].firstChild, 2, paras[0].firstChild, 8]: second addRange() must result in the selection's last range having the specified endpoints +FAIL Range 31 [testDiv, 1, paras[2].firstChild, 5] followed by Range 2 [paras[0].firstChild, 2, paras[0].firstChild, 8]: second addRange() must result in the selection's last range being the same object we added assert_equals: getRangeAt(rangeCount - 1) must return the same object we added expected object "b̈c̈d̈" but got object "b̈c̈d̈" +FAIL Range 31 [testDiv, 1, paras[2].firstChild, 5] followed by Range 2 [paras[0].firstChild, 2, paras[0].firstChild, 8]: modifying the second added range must modify the Selection's last Range assert_equals: After mutating the second added Range, startOffset of the Selection's last Range must match the added Range expected 0 but got 2 FAIL Range 31 [testDiv, 1, paras[2].firstChild, 5] followed by Range 2 [paras[0].firstChild, 2, paras[0].firstChild, 8]: modifying the Selection's last Range must modify the second added Range assert_equals: After second addRange(), after mutating the Selection's last Range, startOffset of the Selection's last Range must match the added Range expected 0 but got 6 PASS Range 31 [testDiv, 1, paras[2].firstChild, 5] followed by Range 3 [paras[0].firstChild, 2, paras[0].firstChild, 9]: first addRange() must not throw exceptions or modify the range it's given PASS Range 31 [testDiv, 1, paras[2].firstChild, 5] followed by Range 3 [paras[0].firstChild, 2, paras[0].firstChild, 9]: first addRange() must result in rangeCount being 1 @@ -2874,9 +2833,9 @@ PASS Range 31 [testDiv, 1, paras[2].firstChild, 5] followed by Range 3 [paras[0].firstChild, 2, paras[0].firstChild, 9]: modifying the Selection's last Range must modify the first added Range PASS Range 31 [testDiv, 1, paras[2].firstChild, 5] 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 31 [testDiv, 1, paras[2].firstChild, 5] followed by Range 3 [paras[0].firstChild, 2, paras[0].firstChild, 9]: second addRange() must result in rangeCount being 1 -FAIL Range 31 [testDiv, 1, paras[2].firstChild, 5] followed by Range 3 [paras[0].firstChild, 2, paras[0].firstChild, 9]: second addRange() must result in the selection's last range having the specified endpoints assert_equals: startOffset of the Selection's last Range must match the added Range expected 2 but got 6 -FAIL Range 31 [testDiv, 1, paras[2].firstChild, 5] followed by Range 3 [paras[0].firstChild, 2, paras[0].firstChild, 9]: second addRange() must result in the selection's last range being the same object we added assert_equals: getRangeAt(rangeCount - 1) must return the same object we added expected object "b̈c̈d̈e" but got object "" -FAIL Range 31 [testDiv, 1, paras[2].firstChild, 5] followed by Range 3 [paras[0].firstChild, 2, paras[0].firstChild, 9]: modifying the second added range must modify the Selection's last Range assert_equals: After mutating the second added Range, startOffset of the Selection's last Range must match the added Range expected 0 but got 6 +PASS Range 31 [testDiv, 1, paras[2].firstChild, 5] followed by Range 3 [paras[0].firstChild, 2, paras[0].firstChild, 9]: second addRange() must result in the selection's last range having the specified endpoints +FAIL Range 31 [testDiv, 1, paras[2].firstChild, 5] followed by Range 3 [paras[0].firstChild, 2, paras[0].firstChild, 9]: second addRange() must result in the selection's last range being the same object we added assert_equals: getRangeAt(rangeCount - 1) must return the same object we added expected object "b̈c̈d̈e" but got object "b̈c̈d̈e" +FAIL Range 31 [testDiv, 1, paras[2].firstChild, 5] followed by Range 3 [paras[0].firstChild, 2, paras[0].firstChild, 9]: modifying the second added range must modify the Selection's last Range assert_equals: After mutating the second added Range, startOffset of the Selection's last Range must match the added Range expected 0 but got 2 FAIL Range 31 [testDiv, 1, paras[2].firstChild, 5] followed by Range 3 [paras[0].firstChild, 2, paras[0].firstChild, 9]: modifying the Selection's last Range must modify the second added Range assert_equals: After second addRange(), after mutating the Selection's last Range, startOffset of the Selection's last Range must match the added Range expected 0 but got 6 PASS Range 31 [testDiv, 1, paras[2].firstChild, 5] followed by Range 4 [paras[1].firstChild, 0, paras[1].firstChild, 0]: first addRange() must not throw exceptions or modify the range it's given PASS Range 31 [testDiv, 1, paras[2].firstChild, 5] followed by Range 4 [paras[1].firstChild, 0, paras[1].firstChild, 0]: first addRange() must result in rangeCount being 1 @@ -2887,13 +2846,10 @@ PASS Range 31 [testDiv, 1, paras[2].firstChild, 5] 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 31 [testDiv, 1, paras[2].firstChild, 5] followed by Range 4 [paras[1].firstChild, 0, paras[1].firstChild, 0]: second addRange() must result in rangeCount being 1 FAIL Range 31 [testDiv, 1, paras[2].firstChild, 5] followed by Range 4 [paras[1].firstChild, 0, paras[1].firstChild, 0]: second addRange() must result in the selection's last range having the specified endpoints assert_equals: startContainer of the Selection's last Range must match the added Range expected Text node "Ijklmnop -" but got Element node <div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ -</p><p id="b" s... -FAIL Range 31 [testDiv, 1, paras[2].firstChild, 5] followed by Range 4 [paras[1].firstChild, 0, paras[1].firstChild, 0]: second addRange() must result in the selection's last range being the same object we added assert_equals: getRangeAt(rangeCount - 1) must return the same object we added expected object "" but got object "Ijklmnop -Qrstu" -FAIL Range 31 [testDiv, 1, paras[2].firstChild, 5] followed by Range 4 [paras[1].firstChild, 0, paras[1].firstChild, 0]: modifying the second added range must modify the Selection's last Range assert_equals: After mutating the second added Range, startContainer of the Selection's last Range must match the added Range expected Text node "Äb̈c̈d̈ëf̈g̈ḧ -" but got Element node <div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ -</p><p id="b" s... +" but got Text node "Äb̈c̈d̈ëf̈g̈ḧ +" +FAIL Range 31 [testDiv, 1, paras[2].firstChild, 5] followed by Range 4 [paras[1].firstChild, 0, paras[1].firstChild, 0]: second addRange() must result in the selection's last range being the same object we added assert_equals: getRangeAt(rangeCount - 1) must return the same object we added expected object "" but got object "" +FAIL Range 31 [testDiv, 1, paras[2].firstChild, 5] followed by Range 4 [paras[1].firstChild, 0, paras[1].firstChild, 0]: modifying the second added range must modify the Selection's last Range assert_equals: After mutating the second added Range, startOffset of the Selection's last Range must match the added Range expected 0 but got 6 FAIL Range 31 [testDiv, 1, paras[2].firstChild, 5] followed by Range 4 [paras[1].firstChild, 0, paras[1].firstChild, 0]: modifying the Selection's last Range must modify the second added Range assert_equals: After second addRange(), after mutating the Selection's last Range, startOffset of the Selection's last Range must match the added Range expected 0 but got 6 PASS Range 31 [testDiv, 1, paras[2].firstChild, 5] followed by Range 5 [paras[1].firstChild, 0, paras[1].firstChild, 1]: first addRange() must not throw exceptions or modify the range it's given PASS Range 31 [testDiv, 1, paras[2].firstChild, 5] followed by Range 5 [paras[1].firstChild, 0, paras[1].firstChild, 1]: first addRange() must result in rangeCount being 1 @@ -2904,13 +2860,10 @@ PASS Range 31 [testDiv, 1, paras[2].firstChild, 5] 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 31 [testDiv, 1, paras[2].firstChild, 5] followed by Range 5 [paras[1].firstChild, 0, paras[1].firstChild, 1]: second addRange() must result in rangeCount being 1 FAIL Range 31 [testDiv, 1, paras[2].firstChild, 5] followed by Range 5 [paras[1].firstChild, 0, paras[1].firstChild, 1]: second addRange() must result in the selection's last range having the specified endpoints assert_equals: startContainer of the Selection's last Range must match the added Range expected Text node "Ijklmnop -" but got Element node <div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ -</p><p id="b" s... -FAIL Range 31 [testDiv, 1, paras[2].firstChild, 5] followed by Range 5 [paras[1].firstChild, 0, paras[1].firstChild, 1]: second addRange() must result in the selection's last range being the same object we added assert_equals: getRangeAt(rangeCount - 1) must return the same object we added expected object "I" but got object "Ijklmnop -Qrstu" -FAIL Range 31 [testDiv, 1, paras[2].firstChild, 5] followed by Range 5 [paras[1].firstChild, 0, paras[1].firstChild, 1]: modifying the second added range must modify the Selection's last Range assert_equals: After mutating the second added Range, startContainer of the Selection's last Range must match the added Range expected Text node "Äb̈c̈d̈ëf̈g̈ḧ -" but got Element node <div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ -</p><p id="b" s... +" but got Text node "Äb̈c̈d̈ëf̈g̈ḧ +" +FAIL Range 31 [testDiv, 1, paras[2].firstChild, 5] followed by Range 5 [paras[1].firstChild, 0, paras[1].firstChild, 1]: second addRange() must result in the selection's last range being the same object we added assert_equals: getRangeAt(rangeCount - 1) must return the same object we added expected object "I" but got object "" +FAIL Range 31 [testDiv, 1, paras[2].firstChild, 5] followed by Range 5 [paras[1].firstChild, 0, paras[1].firstChild, 1]: modifying the second added range must modify the Selection's last Range assert_equals: After mutating the second added Range, startOffset of the Selection's last Range must match the added Range expected 0 but got 6 FAIL Range 31 [testDiv, 1, paras[2].firstChild, 5] followed by Range 5 [paras[1].firstChild, 0, paras[1].firstChild, 1]: modifying the Selection's last Range must modify the second added Range assert_equals: After second addRange(), after mutating the Selection's last Range, startOffset of the Selection's last Range must match the added Range expected 0 but got 6 PASS Range 31 [testDiv, 1, paras[2].firstChild, 5] followed by Range 6 [paras[1].firstChild, 2, paras[1].firstChild, 8]: first addRange() must not throw exceptions or modify the range it's given PASS Range 31 [testDiv, 1, paras[2].firstChild, 5] followed by Range 6 [paras[1].firstChild, 2, paras[1].firstChild, 8]: first addRange() must result in rangeCount being 1 @@ -2921,13 +2874,10 @@ PASS Range 31 [testDiv, 1, paras[2].firstChild, 5] 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 31 [testDiv, 1, paras[2].firstChild, 5] followed by Range 6 [paras[1].firstChild, 2, paras[1].firstChild, 8]: second addRange() must result in rangeCount being 1 FAIL Range 31 [testDiv, 1, paras[2].firstChild, 5] followed by Range 6 [paras[1].firstChild, 2, paras[1].firstChild, 8]: second addRange() must result in the selection's last range having the specified endpoints assert_equals: startContainer of the Selection's last Range must match the added Range expected Text node "Ijklmnop -" but got Element node <div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ -</p><p id="b" s... -FAIL Range 31 [testDiv, 1, paras[2].firstChild, 5] followed by Range 6 [paras[1].firstChild, 2, paras[1].firstChild, 8]: second addRange() must result in the selection's last range being the same object we added assert_equals: getRangeAt(rangeCount - 1) must return the same object we added expected object "klmnop" but got object "Ijklmnop -Qrstu" -FAIL Range 31 [testDiv, 1, paras[2].firstChild, 5] followed by Range 6 [paras[1].firstChild, 2, paras[1].firstChild, 8]: modifying the second added range must modify the Selection's last Range assert_equals: After mutating the second added Range, startContainer of the Selection's last Range must match the added Range expected Text node "Äb̈c̈d̈ëf̈g̈ḧ -" but got Element node <div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ -</p><p id="b" s... +" but got Text node "Äb̈c̈d̈ëf̈g̈ḧ +" +FAIL Range 31 [testDiv, 1, paras[2].firstChild, 5] followed by Range 6 [paras[1].firstChild, 2, paras[1].firstChild, 8]: second addRange() must result in the selection's last range being the same object we added assert_equals: getRangeAt(rangeCount - 1) must return the same object we added expected object "klmnop" but got object "" +FAIL Range 31 [testDiv, 1, paras[2].firstChild, 5] followed by Range 6 [paras[1].firstChild, 2, paras[1].firstChild, 8]: modifying the second added range must modify the Selection's last Range assert_equals: After mutating the second added Range, startOffset of the Selection's last Range must match the added Range expected 0 but got 6 FAIL Range 31 [testDiv, 1, paras[2].firstChild, 5] followed by Range 6 [paras[1].firstChild, 2, paras[1].firstChild, 8]: modifying the Selection's last Range must modify the second added Range assert_equals: After second addRange(), after mutating the Selection's last Range, startOffset of the Selection's last Range must match the added Range expected 0 but got 6 PASS Range 31 [testDiv, 1, paras[2].firstChild, 5] followed by Range 7 [paras[1].firstChild, 2, paras[1].firstChild, 9]: first addRange() must not throw exceptions or modify the range it's given PASS Range 31 [testDiv, 1, paras[2].firstChild, 5] followed by Range 7 [paras[1].firstChild, 2, paras[1].firstChild, 9]: first addRange() must result in rangeCount being 1 @@ -2938,14 +2888,11 @@ PASS Range 31 [testDiv, 1, paras[2].firstChild, 5] 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 31 [testDiv, 1, paras[2].firstChild, 5] followed by Range 7 [paras[1].firstChild, 2, paras[1].firstChild, 9]: second addRange() must result in rangeCount being 1 FAIL Range 31 [testDiv, 1, paras[2].firstChild, 5] followed by Range 7 [paras[1].firstChild, 2, paras[1].firstChild, 9]: second addRange() must result in the selection's last range having the specified endpoints assert_equals: startContainer of the Selection's last Range must match the added Range expected Text node "Ijklmnop -" but got Element node <div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ -</p><p id="b" s... +" but got Text node "Äb̈c̈d̈ëf̈g̈ḧ +" FAIL Range 31 [testDiv, 1, paras[2].firstChild, 5] followed by Range 7 [paras[1].firstChild, 2, paras[1].firstChild, 9]: second addRange() must result in the selection's last range being the same object we added assert_equals: getRangeAt(rangeCount - 1) must return the same object we added expected object "klmnop -" but got object "Ijklmnop -Qrstu" -FAIL Range 31 [testDiv, 1, paras[2].firstChild, 5] followed by Range 7 [paras[1].firstChild, 2, paras[1].firstChild, 9]: modifying the second added range must modify the Selection's last Range assert_equals: After mutating the second added Range, startContainer of the Selection's last Range must match the added Range expected Text node "Äb̈c̈d̈ëf̈g̈ḧ -" but got Element node <div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ -</p><p id="b" s... +" but got object "" +FAIL Range 31 [testDiv, 1, paras[2].firstChild, 5] followed by Range 7 [paras[1].firstChild, 2, paras[1].firstChild, 9]: modifying the second added range must modify the Selection's last Range assert_equals: After mutating the second added Range, startOffset of the Selection's last Range must match the added Range expected 0 but got 6 FAIL Range 31 [testDiv, 1, paras[2].firstChild, 5] followed by Range 7 [paras[1].firstChild, 2, paras[1].firstChild, 9]: modifying the Selection's last Range must modify the second added Range assert_equals: After second addRange(), after mutating the Selection's last Range, startOffset of the Selection's last Range must match the added Range expected 0 but got 6 PASS Range 31 [testDiv, 1, paras[2].firstChild, 5] followed by Range 8 [detachedPara1.firstChild, 0, detachedPara1.firstChild, 0]: first addRange() must not throw exceptions or modify the range it's given PASS Range 31 [testDiv, 1, paras[2].firstChild, 5] followed by Range 8 [detachedPara1.firstChild, 0, detachedPara1.firstChild, 0]: first addRange() must result in rangeCount being 1 @@ -3214,12 +3161,13 @@ PASS Range 31 [testDiv, 1, paras[2].firstChild, 5] followed by Range 23 [paras[0], 0, paras[0], 1]: modifying the Selection's last Range must modify the first added Range PASS Range 31 [testDiv, 1, paras[2].firstChild, 5] 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 31 [testDiv, 1, paras[2].firstChild, 5] followed by Range 23 [paras[0], 0, paras[0], 1]: second addRange() must result in rangeCount being 1 -FAIL Range 31 [testDiv, 1, paras[2].firstChild, 5] followed by Range 23 [paras[0], 0, paras[0], 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 id="a">Äb̈c̈d̈ëf̈g̈ḧ -</p> but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" +PASS Range 31 [testDiv, 1, paras[2].firstChild, 5] followed by Range 23 [paras[0], 0, paras[0], 1]: second addRange() must result in the selection's last range having the specified endpoints FAIL Range 31 [testDiv, 1, paras[2].firstChild, 5] followed by Range 23 [paras[0], 0, paras[0], 1]: second addRange() must result in the selection's last range being the same object we added assert_equals: getRangeAt(rangeCount - 1) must return the same object we added expected object "Äb̈c̈d̈ëf̈g̈ḧ -" but got object "" -FAIL Range 31 [testDiv, 1, paras[2].firstChild, 5] followed by Range 23 [paras[0], 0, paras[0], 1]: modifying the second added range must modify the Selection's last Range assert_equals: After mutating the second added Range, startOffset of the Selection's last Range must match the added Range expected 0 but got 6 +" but got object "Äb̈c̈d̈ëf̈g̈ḧ +" +FAIL Range 31 [testDiv, 1, paras[2].firstChild, 5] followed by Range 23 [paras[0], 0, paras[0], 1]: modifying the second added range must modify the Selection's last Range assert_equals: After mutating the second added Range, startContainer of the Selection's last Range must match the added Range expected Text node "Äb̈c̈d̈ëf̈g̈ḧ +" but got Element node <p id="a">Äb̈c̈d̈ëf̈g̈ḧ +</p> FAIL Range 31 [testDiv, 1, paras[2].firstChild, 5] followed by Range 23 [paras[0], 0, paras[0], 1]: modifying the Selection's last Range must modify the second added Range assert_equals: After second addRange(), after mutating the Selection's last Range, startOffset of the Selection's last Range must match the added Range expected 0 but got 6 PASS Range 31 [testDiv, 1, paras[2].firstChild, 5] followed by Range 24 [detachedPara1, 0, detachedPara1, 0]: first addRange() must not throw exceptions or modify the range it's given PASS Range 31 [testDiv, 1, paras[2].firstChild, 5] followed by Range 24 [detachedPara1, 0, detachedPara1, 0]: first addRange() must result in rangeCount being 1 @@ -3255,14 +3203,13 @@ PASS Range 31 [testDiv, 1, paras[2].firstChild, 5] followed by Range 26 [paras[0].firstChild, 0, paras[1].firstChild, 0]: modifying the Selection's last Range must modify the first added Range PASS Range 31 [testDiv, 1, paras[2].firstChild, 5] 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 31 [testDiv, 1, paras[2].firstChild, 5] followed by Range 26 [paras[0].firstChild, 0, paras[1].firstChild, 0]: second addRange() must result in rangeCount being 1 -FAIL Range 31 [testDiv, 1, paras[2].firstChild, 5] followed by Range 26 [paras[0].firstChild, 0, paras[1].firstChild, 0]: second addRange() must result in the selection's last range having the specified endpoints assert_equals: endContainer of the Selection's last Range must match the added Range expected Text node "Ijklmnop -" but got Text node "Qrstuvwx" +PASS Range 31 [testDiv, 1, paras[2].firstChild, 5] followed by Range 26 [paras[0].firstChild, 0, paras[1].firstChild, 0]: second addRange() must result in the selection's last range having the specified endpoints FAIL Range 31 [testDiv, 1, paras[2].firstChild, 5] followed by Range 26 [paras[0].firstChild, 0, paras[1].firstChild, 0]: second addRange() must result in the selection's last range being the same object we added assert_equals: getRangeAt(rangeCount - 1) must return the same object we added expected object "Äb̈c̈d̈ëf̈g̈ḧ " but got object "Äb̈c̈d̈ëf̈g̈ḧ -Ijklmnop -Qrstu" +" FAIL Range 31 [testDiv, 1, paras[2].firstChild, 5] followed by Range 26 [paras[0].firstChild, 0, paras[1].firstChild, 0]: modifying the second added range must modify the Selection's last Range assert_equals: After mutating the second added Range, endContainer of the Selection's last Range must match the added Range expected Text node "Äb̈c̈d̈ëf̈g̈ḧ -" but got Text node "Qrstuvwx" +" but got Text node "Ijklmnop +" FAIL Range 31 [testDiv, 1, paras[2].firstChild, 5] followed by Range 26 [paras[0].firstChild, 0, paras[1].firstChild, 0]: modifying the Selection's last Range must modify the second added Range assert_equals: After second addRange(), after mutating the Selection's last Range, startOffset of the Selection's last Range must match the added Range expected 0 but got 6 PASS Range 31 [testDiv, 1, paras[2].firstChild, 5] followed by Range 27 [paras[0].firstChild, 0, paras[1].firstChild, 8]: first addRange() must not throw exceptions or modify the range it's given PASS Range 31 [testDiv, 1, paras[2].firstChild, 5] followed by Range 27 [paras[0].firstChild, 0, paras[1].firstChild, 8]: first addRange() must result in rangeCount being 1 @@ -3272,14 +3219,13 @@ PASS Range 31 [testDiv, 1, paras[2].firstChild, 5] followed by Range 27 [paras[0].firstChild, 0, paras[1].firstChild, 8]: modifying the Selection's last Range must modify the first added Range PASS Range 31 [testDiv, 1, paras[2].firstChild, 5] 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 31 [testDiv, 1, paras[2].firstChild, 5] followed by Range 27 [paras[0].firstChild, 0, paras[1].firstChild, 8]: second addRange() must result in rangeCount being 1 -FAIL Range 31 [testDiv, 1, paras[2].firstChild, 5] followed by Range 27 [paras[0].firstChild, 0, paras[1].firstChild, 8]: second addRange() must result in the selection's last range having the specified endpoints assert_equals: endContainer of the Selection's last Range must match the added Range expected Text node "Ijklmnop -" but got Text node "Qrstuvwx" +PASS Range 31 [testDiv, 1, paras[2].firstChild, 5] followed by Range 27 [paras[0].firstChild, 0, paras[1].firstChild, 8]: second addRange() must result in the selection's last range having the specified endpoints FAIL Range 31 [testDiv, 1, paras[2].firstChild, 5] followed by Range 27 [paras[0].firstChild, 0, paras[1].firstChild, 8]: second addRange() must result in the selection's last range being the same object we added assert_equals: getRangeAt(rangeCount - 1) must return the same object we added expected object "Äb̈c̈d̈ëf̈g̈ḧ Ijklmnop" but got object "Äb̈c̈d̈ëf̈g̈ḧ -Ijklmnop -Qrstu" +Ijklmnop" FAIL Range 31 [testDiv, 1, paras[2].firstChild, 5] followed by Range 27 [paras[0].firstChild, 0, paras[1].firstChild, 8]: modifying the second added range must modify the Selection's last Range assert_equals: After mutating the second added Range, endContainer of the Selection's last Range must match the added Range expected Text node "Äb̈c̈d̈ëf̈g̈ḧ -" but got Text node "Qrstuvwx" +" but got Text node "Ijklmnop +" FAIL Range 31 [testDiv, 1, paras[2].firstChild, 5] followed by Range 27 [paras[0].firstChild, 0, paras[1].firstChild, 8]: modifying the Selection's last Range must modify the second added Range assert_equals: After second addRange(), after mutating the Selection's last Range, startOffset of the Selection's last Range must match the added Range expected 0 but got 6 PASS Range 31 [testDiv, 1, paras[2].firstChild, 5] followed by Range 28 [paras[0].firstChild, 3, paras[3], 1]: first addRange() must not throw exceptions or modify the range it's given PASS Range 31 [testDiv, 1, paras[2].firstChild, 5] followed by Range 28 [paras[0].firstChild, 3, paras[3], 1]: first addRange() must result in rangeCount being 1 @@ -3305,11 +3251,11 @@ PASS Range 31 [testDiv, 1, paras[2].firstChild, 5] followed by Range 29 [paras[0], 0, paras[0].firstChild, 7]: modifying the Selection's last Range must modify the first added Range PASS Range 31 [testDiv, 1, paras[2].firstChild, 5] 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 31 [testDiv, 1, paras[2].firstChild, 5] followed by Range 29 [paras[0], 0, paras[0].firstChild, 7]: second addRange() must result in rangeCount being 1 -FAIL Range 31 [testDiv, 1, paras[2].firstChild, 5] followed by Range 29 [paras[0], 0, paras[0].firstChild, 7]: second addRange() must result in the selection's last range having the specified endpoints assert_equals: startContainer of the Selection's last Range must match the added Range expected Element node <p id="a">Äb̈c̈d̈ëf̈g̈ḧ -</p> but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -FAIL Range 31 [testDiv, 1, paras[2].firstChild, 5] followed by Range 29 [paras[0], 0, paras[0].firstChild, 7]: second addRange() must result in the selection's last range being the same object we added assert_equals: getRangeAt(rangeCount - 1) must return the same object we added expected object "Äb̈c̈d" but got object "" -FAIL Range 31 [testDiv, 1, paras[2].firstChild, 5] followed by Range 29 [paras[0], 0, paras[0].firstChild, 7]: modifying the second added range must modify the Selection's last Range assert_equals: After mutating the second added Range, startOffset of the Selection's last Range must match the added Range expected 0 but got 6 +PASS Range 31 [testDiv, 1, paras[2].firstChild, 5] followed by Range 29 [paras[0], 0, paras[0].firstChild, 7]: second addRange() must result in the selection's last range having the specified endpoints +FAIL Range 31 [testDiv, 1, paras[2].firstChild, 5] followed by Range 29 [paras[0], 0, paras[0].firstChild, 7]: second addRange() must result in the selection's last range being the same object we added assert_equals: getRangeAt(rangeCount - 1) must return the same object we added expected object "Äb̈c̈d" but got object "Äb̈c̈d" +FAIL Range 31 [testDiv, 1, paras[2].firstChild, 5] followed by Range 29 [paras[0], 0, paras[0].firstChild, 7]: modifying the second added range must modify the Selection's last Range assert_equals: After mutating the second added Range, startContainer of the Selection's last Range must match the added Range expected Text node "Äb̈c̈d̈ëf̈g̈ḧ +" but got Element node <p id="a">Äb̈c̈d̈ëf̈g̈ḧ +</p> FAIL Range 31 [testDiv, 1, paras[2].firstChild, 5] followed by Range 29 [paras[0], 0, paras[0].firstChild, 7]: modifying the Selection's last Range must modify the second added Range assert_equals: After second addRange(), after mutating the Selection's last Range, startOffset of the Selection's last Range must match the added Range expected 0 but got 6 PASS Range 31 [testDiv, 1, paras[2].firstChild, 5] followed by Range 30 [testDiv, 2, paras[4], 1]: first addRange() must not throw exceptions or modify the range it's given PASS Range 31 [testDiv, 1, paras[2].firstChild, 5] followed by Range 30 [testDiv, 2, paras[4], 1]: first addRange() must result in rangeCount being 1 @@ -3319,12 +3265,11 @@ PASS Range 31 [testDiv, 1, paras[2].firstChild, 5] followed by Range 30 [testDiv, 2, paras[4], 1]: modifying the Selection's last Range must modify the first added Range PASS Range 31 [testDiv, 1, paras[2].firstChild, 5] followed by Range 30 [testDiv, 2, paras[4], 1]: second addRange() must not throw exceptions or modify the range it's given PASS Range 31 [testDiv, 1, paras[2].firstChild, 5] followed by Range 30 [testDiv, 2, paras[4], 1]: second addRange() must result in rangeCount being 1 -FAIL Range 31 [testDiv, 1, paras[2].firstChild, 5] followed by Range 30 [testDiv, 2, paras[4], 1]: second addRange() must result in the selection's last range having the specified endpoints assert_equals: startOffset of the Selection's last Range must match the added Range expected 2 but got 1 -FAIL Range 31 [testDiv, 1, paras[2].firstChild, 5] followed by Range 30 [testDiv, 2, paras[4], 1]: second addRange() must result in the selection's last range being the same object we added assert_equals: getRangeAt(rangeCount - 1) must return the same object we added expected object "QrstuvwxYzabcdefGhijklmn" but got object "Ijklmnop -QrstuvwxYzabcdefGhijklmn" -FAIL Range 31 [testDiv, 1, paras[2].firstChild, 5] followed by Range 30 [testDiv, 2, paras[4], 1]: modifying the second added range must modify the Selection's last Range assert_equals: After mutating the second added Range, startContainer of the Selection's last Range must match the added Range expected Text node "Äb̈c̈d̈ëf̈g̈ḧ -" but got Element node <div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ -</p><p id="b" s... +FAIL Range 31 [testDiv, 1, paras[2].firstChild, 5] followed by Range 30 [testDiv, 2, paras[4], 1]: second addRange() must result in the selection's last range having the specified endpoints assert_equals: startContainer of the Selection's last Range must match the added Range expected Element node <div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ +</p><p id="b" s... but got Text node "Äb̈c̈d̈ëf̈g̈ḧ +" +FAIL Range 31 [testDiv, 1, paras[2].firstChild, 5] followed by Range 30 [testDiv, 2, paras[4], 1]: second addRange() must result in the selection's last range being the same object we added assert_equals: getRangeAt(rangeCount - 1) must return the same object we added expected object "QrstuvwxYzabcdefGhijklmn" but got object "" +FAIL Range 31 [testDiv, 1, paras[2].firstChild, 5] followed by Range 30 [testDiv, 2, paras[4], 1]: modifying the second added range must modify the Selection's last Range assert_equals: After mutating the second added Range, startOffset of the Selection's last Range must match the added Range expected 0 but got 6 FAIL Range 31 [testDiv, 1, paras[2].firstChild, 5] followed by Range 30 [testDiv, 2, paras[4], 1]: modifying the Selection's last Range must modify the second added Range assert_equals: After second addRange(), after mutating the Selection's last Range, startOffset of the Selection's last Range must match the added Range expected 0 but got 6 PASS Range 31 [testDiv, 1, paras[2].firstChild, 5] followed by Range 31 [testDiv, 1, paras[2].firstChild, 5]: first addRange() must not throw exceptions or modify the range it's given PASS Range 31 [testDiv, 1, paras[2].firstChild, 5] followed by Range 31 [testDiv, 1, paras[2].firstChild, 5]: first addRange() must result in rangeCount being 1 @@ -3334,13 +3279,12 @@ PASS Range 31 [testDiv, 1, paras[2].firstChild, 5] followed by Range 31 [testDiv, 1, paras[2].firstChild, 5]: modifying the Selection's last Range must modify the first added Range PASS Range 31 [testDiv, 1, paras[2].firstChild, 5] 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 31 [testDiv, 1, paras[2].firstChild, 5] followed by Range 31 [testDiv, 1, paras[2].firstChild, 5]: second addRange() must result in rangeCount being 1 -PASS Range 31 [testDiv, 1, paras[2].firstChild, 5] followed by Range 31 [testDiv, 1, paras[2].firstChild, 5]: second addRange() must result in the selection's last range having the specified endpoints +FAIL Range 31 [testDiv, 1, paras[2].firstChild, 5] followed by Range 31 [testDiv, 1, paras[2].firstChild, 5]: second addRange() must result in the selection's last range having the specified endpoints assert_equals: startContainer of the Selection's last Range must match the added Range expected Element node <div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ +</p><p id="b" s... but got Text node "Äb̈c̈d̈ëf̈g̈ḧ +" FAIL Range 31 [testDiv, 1, paras[2].firstChild, 5] followed by Range 31 [testDiv, 1, paras[2].firstChild, 5]: second addRange() must result in the selection's last range being the same object we added assert_equals: getRangeAt(rangeCount - 1) must return the same object we added expected object "Ijklmnop -Qrstu" but got object "Ijklmnop -Qrstu" -FAIL Range 31 [testDiv, 1, paras[2].firstChild, 5] followed by Range 31 [testDiv, 1, paras[2].firstChild, 5]: modifying the second added range must modify the Selection's last Range assert_equals: After mutating the second added Range, startContainer of the Selection's last Range must match the added Range expected Text node "Äb̈c̈d̈ëf̈g̈ḧ -" but got Element node <div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ -</p><p id="b" s... +Qrstu" but got object "" +FAIL Range 31 [testDiv, 1, paras[2].firstChild, 5] followed by Range 31 [testDiv, 1, paras[2].firstChild, 5]: modifying the second added range must modify the Selection's last Range assert_equals: After mutating the second added Range, startOffset of the Selection's last Range must match the added Range expected 0 but got 6 FAIL Range 31 [testDiv, 1, paras[2].firstChild, 5] followed by Range 31 [testDiv, 1, paras[2].firstChild, 5]: modifying the Selection's last Range must modify the second added Range assert_equals: After second addRange(), after mutating the Selection's last Range, startOffset of the Selection's last Range must match the added Range expected 0 but got 6 PASS Range 31 [testDiv, 1, paras[2].firstChild, 5] followed by Range 32 [document.documentElement, 1, document.body, 0]: first addRange() must not throw exceptions or modify the range it's given PASS Range 31 [testDiv, 1, paras[2].firstChild, 5] followed by Range 32 [document.documentElement, 1, document.body, 0]: first addRange() must result in rangeCount being 1 @@ -3491,13 +3435,10 @@ PASS Range 31 [testDiv, 1, paras[2].firstChild, 5] followed by Range 38 [paras[2].firstChild, 4, comment, 2]: modifying the Selection's last Range must modify the first added Range PASS Range 31 [testDiv, 1, paras[2].firstChild, 5] 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 31 [testDiv, 1, paras[2].firstChild, 5] followed by Range 38 [paras[2].firstChild, 4, comment, 2]: second addRange() must result in rangeCount being 1 -FAIL Range 31 [testDiv, 1, paras[2].firstChild, 5] followed by Range 38 [paras[2].firstChild, 4, comment, 2]: second addRange() must result in the selection's last range having the specified endpoints assert_equals: startContainer of the Selection's last Range must match the added Range expected Text node "Qrstuvwx" but got Element node <div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ -</p><p id="b" s... -FAIL Range 31 [testDiv, 1, paras[2].firstChild, 5] followed by Range 38 [paras[2].firstChild, 4, comment, 2]: second addRange() must result in the selection's last range being the same object we added assert_equals: getRangeAt(rangeCount - 1) must return the same object we added expected object "uvwxYzabcdefGhijklmn" but got object "Ijklmnop -QrstuvwxYzabcdefGhijklmn" -FAIL Range 31 [testDiv, 1, paras[2].firstChild, 5] followed by Range 38 [paras[2].firstChild, 4, comment, 2]: modifying the second added range must modify the Selection's last Range assert_equals: After mutating the second added Range, startContainer of the Selection's last Range must match the added Range expected Text node "Äb̈c̈d̈ëf̈g̈ḧ -" but got Element node <div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ -</p><p id="b" s... +FAIL Range 31 [testDiv, 1, paras[2].firstChild, 5] followed by Range 38 [paras[2].firstChild, 4, comment, 2]: second addRange() must result in the selection's last range having the specified endpoints assert_equals: startContainer of the Selection's last Range must match the added Range expected Text node "Qrstuvwx" but got Text node "Äb̈c̈d̈ëf̈g̈ḧ +" +FAIL Range 31 [testDiv, 1, paras[2].firstChild, 5] followed by Range 38 [paras[2].firstChild, 4, comment, 2]: second addRange() must result in the selection's last range being the same object we added assert_equals: getRangeAt(rangeCount - 1) must return the same object we added expected object "uvwxYzabcdefGhijklmn" but got object "" +FAIL Range 31 [testDiv, 1, paras[2].firstChild, 5] followed by Range 38 [paras[2].firstChild, 4, comment, 2]: modifying the second added range must modify the Selection's last Range assert_equals: After mutating the second added Range, startOffset of the Selection's last Range must match the added Range expected 0 but got 6 FAIL Range 31 [testDiv, 1, paras[2].firstChild, 5] followed by Range 38 [paras[2].firstChild, 4, comment, 2]: modifying the Selection's last Range must modify the second added Range assert_equals: After second addRange(), after mutating the Selection's last Range, startOffset of the Selection's last Range must match the added Range expected 0 but got 6 PASS Range 31 [testDiv, 1, paras[2].firstChild, 5] followed by Range 39 [paras[3], 1, comment, 8]: first addRange() must not throw exceptions or modify the range it's given PASS Range 31 [testDiv, 1, paras[2].firstChild, 5] followed by Range 39 [paras[3], 1, comment, 8]: first addRange() must result in rangeCount being 1
diff --git a/third_party/WebKit/LayoutTests/external/wpt/selection/addRange-32-expected.txt b/third_party/WebKit/LayoutTests/external/wpt/selection/addRange-32-expected.txt index 6863e90..a959f5d 100644 --- a/third_party/WebKit/LayoutTests/external/wpt/selection/addRange-32-expected.txt +++ b/third_party/WebKit/LayoutTests/external/wpt/selection/addRange-32-expected.txt
@@ -4,8 +4,6 @@ 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. @@ -20,10 +18,6 @@ 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: 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. @@ -43,18 +37,12 @@ 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: 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: Discontiguous selection is not supported. @@ -63,6 +51,12 @@ 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. @@ -70,12 +64,17 @@ 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: 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. @@ -113,9 +112,9 @@ PASS Range 32 [document.documentElement, 1, document.body, 0] followed by Range 2 [paras[0].firstChild, 2, paras[0].firstChild, 8]: modifying the Selection's last Range must modify the first added Range PASS Range 32 [document.documentElement, 1, document.body, 0] followed by Range 2 [paras[0].firstChild, 2, paras[0].firstChild, 8]: second addRange() must not throw exceptions or modify the range it's given PASS Range 32 [document.documentElement, 1, document.body, 0] followed by Range 2 [paras[0].firstChild, 2, paras[0].firstChild, 8]: second addRange() must result in rangeCount being 1 -FAIL Range 32 [document.documentElement, 1, document.body, 0] followed by Range 2 [paras[0].firstChild, 2, paras[0].firstChild, 8]: second addRange() must result in the selection's last range having the specified endpoints assert_equals: startOffset of the Selection's last Range must match the added Range expected 2 but got 6 -FAIL Range 32 [document.documentElement, 1, document.body, 0] followed by Range 2 [paras[0].firstChild, 2, paras[0].firstChild, 8]: second addRange() must result in the selection's last range being the same object we added assert_equals: getRangeAt(rangeCount - 1) must return the same object we added expected object "b̈c̈d̈" but got object "" -FAIL Range 32 [document.documentElement, 1, document.body, 0] followed by Range 2 [paras[0].firstChild, 2, paras[0].firstChild, 8]: modifying the second added range must modify the Selection's last Range assert_equals: After mutating the second added Range, startOffset of the Selection's last Range must match the added Range expected 0 but got 6 +PASS Range 32 [document.documentElement, 1, document.body, 0] followed by Range 2 [paras[0].firstChild, 2, paras[0].firstChild, 8]: second addRange() must result in the selection's last range having the specified endpoints +FAIL Range 32 [document.documentElement, 1, document.body, 0] followed by Range 2 [paras[0].firstChild, 2, paras[0].firstChild, 8]: second addRange() must result in the selection's last range being the same object we added assert_equals: getRangeAt(rangeCount - 1) must return the same object we added expected object "b̈c̈d̈" but got object "b̈c̈d̈" +FAIL Range 32 [document.documentElement, 1, document.body, 0] followed by Range 2 [paras[0].firstChild, 2, paras[0].firstChild, 8]: modifying the second added range must modify the Selection's last Range assert_equals: After mutating the second added Range, startOffset of the Selection's last Range must match the added Range expected 0 but got 2 FAIL Range 32 [document.documentElement, 1, document.body, 0] followed by Range 2 [paras[0].firstChild, 2, paras[0].firstChild, 8]: modifying the Selection's last Range must modify the second added Range assert_equals: After second addRange(), after mutating the Selection's last Range, startOffset of the Selection's last Range must match the added Range expected 0 but got 6 PASS Range 32 [document.documentElement, 1, document.body, 0] followed by Range 3 [paras[0].firstChild, 2, paras[0].firstChild, 9]: first addRange() must not throw exceptions or modify the range it's given PASS Range 32 [document.documentElement, 1, document.body, 0] followed by Range 3 [paras[0].firstChild, 2, paras[0].firstChild, 9]: first addRange() must result in rangeCount being 1 @@ -125,9 +124,9 @@ PASS Range 32 [document.documentElement, 1, document.body, 0] followed by Range 3 [paras[0].firstChild, 2, paras[0].firstChild, 9]: modifying the Selection's last Range must modify the first added Range PASS Range 32 [document.documentElement, 1, document.body, 0] followed by Range 3 [paras[0].firstChild, 2, paras[0].firstChild, 9]: second addRange() must not throw exceptions or modify the range it's given PASS Range 32 [document.documentElement, 1, document.body, 0] followed by Range 3 [paras[0].firstChild, 2, paras[0].firstChild, 9]: second addRange() must result in rangeCount being 1 -FAIL Range 32 [document.documentElement, 1, document.body, 0] followed by Range 3 [paras[0].firstChild, 2, paras[0].firstChild, 9]: second addRange() must result in the selection's last range having the specified endpoints assert_equals: startOffset of the Selection's last Range must match the added Range expected 2 but got 6 -FAIL Range 32 [document.documentElement, 1, document.body, 0] followed by Range 3 [paras[0].firstChild, 2, paras[0].firstChild, 9]: second addRange() must result in the selection's last range being the same object we added assert_equals: getRangeAt(rangeCount - 1) must return the same object we added expected object "b̈c̈d̈e" but got object "" -FAIL Range 32 [document.documentElement, 1, document.body, 0] followed by Range 3 [paras[0].firstChild, 2, paras[0].firstChild, 9]: modifying the second added range must modify the Selection's last Range assert_equals: After mutating the second added Range, startOffset of the Selection's last Range must match the added Range expected 0 but got 6 +PASS Range 32 [document.documentElement, 1, document.body, 0] followed by Range 3 [paras[0].firstChild, 2, paras[0].firstChild, 9]: second addRange() must result in the selection's last range having the specified endpoints +FAIL Range 32 [document.documentElement, 1, document.body, 0] followed by Range 3 [paras[0].firstChild, 2, paras[0].firstChild, 9]: second addRange() must result in the selection's last range being the same object we added assert_equals: getRangeAt(rangeCount - 1) must return the same object we added expected object "b̈c̈d̈e" but got object "b̈c̈d̈e" +FAIL Range 32 [document.documentElement, 1, document.body, 0] followed by Range 3 [paras[0].firstChild, 2, paras[0].firstChild, 9]: modifying the second added range must modify the Selection's last Range assert_equals: After mutating the second added Range, startOffset of the Selection's last Range must match the added Range expected 0 but got 2 FAIL Range 32 [document.documentElement, 1, document.body, 0] followed by Range 3 [paras[0].firstChild, 2, paras[0].firstChild, 9]: modifying the Selection's last Range must modify the second added Range assert_equals: After second addRange(), after mutating the Selection's last Range, startOffset of the Selection's last Range must match the added Range expected 0 but got 6 PASS Range 32 [document.documentElement, 1, document.body, 0] followed by Range 4 [paras[1].firstChild, 0, paras[1].firstChild, 0]: first addRange() must not throw exceptions or modify the range it's given PASS Range 32 [document.documentElement, 1, document.body, 0] followed by Range 4 [paras[1].firstChild, 0, paras[1].firstChild, 0]: first addRange() must result in rangeCount being 1 @@ -272,17 +271,13 @@ PASS Range 32 [document.documentElement, 1, document.body, 0] followed by Range 14 [document.documentElement, 0, document.documentElement, 1]: modifying the Selection's last Range must modify the first added Range PASS Range 32 [document.documentElement, 1, document.body, 0] followed by Range 14 [document.documentElement, 0, document.documentElement, 1]: second addRange() must not throw exceptions or modify the range it's given PASS Range 32 [document.documentElement, 1, document.body, 0] followed by Range 14 [document.documentElement, 0, document.documentElement, 1]: second addRange() must result in rangeCount being 1 -FAIL Range 32 [document.documentElement, 1, document.body, 0] followed by Range 14 [document.documentElement, 0, document.documentElement, 1]: second addRange() must result in the selection's last range having the specified endpoints assert_equals: endContainer of the Selection's last Range must match the added Range expected Element node <html><head><title>Selection.addRange() tests</title> -<me... but got Element node <body><div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ -</p><p id... +FAIL Range 32 [document.documentElement, 1, document.body, 0] followed by Range 14 [document.documentElement, 0, document.documentElement, 1]: second addRange() must result in the selection's last range having the specified endpoints assert_equals: startContainer of the Selection's last Range must match the added Range expected Element node <html><head><title>Selection.addRange() tests</title> +<me... but got Text node "Äb̈c̈d̈ëf̈g̈ḧ +" FAIL Range 32 [document.documentElement, 1, document.body, 0] followed by Range 14 [document.documentElement, 0, document.documentElement, 1]: second addRange() must result in the selection's last range being the same object we added assert_equals: getRangeAt(rangeCount - 1) must return the same object we added expected object "Selection.addRange() tests -" but got object "Selection.addRange() tests - -" -FAIL Range 32 [document.documentElement, 1, document.body, 0] followed by Range 14 [document.documentElement, 0, document.documentElement, 1]: modifying the second added range must modify the Selection's last Range assert_equals: After mutating the second added Range, startContainer of the Selection's last Range must match the added Range expected Text node "Äb̈c̈d̈ëf̈g̈ḧ -" but got Element node <html><head><title>Selection.addRange() tests</title> -<me... +" but got object "" +FAIL Range 32 [document.documentElement, 1, document.body, 0] followed by Range 14 [document.documentElement, 0, document.documentElement, 1]: modifying the second added range must modify the Selection's last Range assert_equals: After mutating the second added Range, startOffset of the Selection's last Range must match the added Range expected 0 but got 6 FAIL Range 32 [document.documentElement, 1, document.body, 0] followed by Range 14 [document.documentElement, 0, document.documentElement, 1]: modifying the Selection's last Range must modify the second added Range assert_equals: After second addRange(), after mutating the Selection's last Range, startOffset of the Selection's last Range must match the added Range expected 0 but got 6 PASS Range 32 [document.documentElement, 1, document.body, 0] followed by Range 15 [document.documentElement, 0, document.documentElement, 2]: first addRange() must not throw exceptions or modify the range it's given PASS Range 32 [document.documentElement, 1, document.body, 0] followed by Range 15 [document.documentElement, 0, document.documentElement, 2]: first addRange() must result in rangeCount being 1 @@ -386,17 +381,15 @@ PASS Range 32 [document.documentElement, 1, document.body, 0] followed by Range 18 [document.body, 0, document.body, 1]: modifying the Selection's last Range must modify the first added Range PASS Range 32 [document.documentElement, 1, document.body, 0] followed by Range 18 [document.body, 0, document.body, 1]: second addRange() must not throw exceptions or modify the range it's given PASS Range 32 [document.documentElement, 1, document.body, 0] followed by Range 18 [document.body, 0, document.body, 1]: second addRange() must result in rangeCount being 1 -FAIL Range 32 [document.documentElement, 1, document.body, 0] followed by Range 18 [document.body, 0, document.body, 1]: second addRange() must result in the selection's last range having the specified endpoints assert_equals: startContainer of the Selection's last Range must match the added Range expected Element node <body><div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ -</p><p id... but got Element node <html><head><title>Selection.addRange() tests</title> -<me... +PASS Range 32 [document.documentElement, 1, document.body, 0] followed by Range 18 [document.body, 0, document.body, 1]: second addRange() must result in the selection's last range having the specified endpoints FAIL Range 32 [document.documentElement, 1, document.body, 0] followed by Range 18 [document.body, 0, document.body, 1]: second addRange() must result in the selection's last range being the same object we added assert_equals: getRangeAt(rangeCount - 1) must return the same object we added expected object "Äb̈c̈d̈ëf̈g̈ḧ Ijklmnop QrstuvwxYzabcdefGhijklmn" but got object "Äb̈c̈d̈ëf̈g̈ḧ Ijklmnop QrstuvwxYzabcdefGhijklmn" FAIL Range 32 [document.documentElement, 1, document.body, 0] followed by Range 18 [document.body, 0, document.body, 1]: modifying the second added range must modify the Selection's last Range assert_equals: After mutating the second added Range, startContainer of the Selection's last Range must match the added Range expected Text node "Äb̈c̈d̈ëf̈g̈ḧ -" but got Element node <html><head><title>Selection.addRange() tests</title> -<me... +" but got Element node <body><div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ +</p><p id... FAIL Range 32 [document.documentElement, 1, document.body, 0] followed by Range 18 [document.body, 0, document.body, 1]: modifying the Selection's last Range must modify the second added Range assert_equals: After second addRange(), after mutating the Selection's last Range, startOffset of the Selection's last Range must match the added Range expected 0 but got 6 PASS Range 32 [document.documentElement, 1, document.body, 0] followed by Range 19 [foreignDoc.documentElement, 0, foreignDoc.documentElement, 1]: first addRange() must not throw exceptions or modify the range it's given PASS Range 32 [document.documentElement, 1, document.body, 0] followed by Range 19 [foreignDoc.documentElement, 0, foreignDoc.documentElement, 1]: first addRange() must result in rangeCount being 1 @@ -459,12 +452,13 @@ PASS Range 32 [document.documentElement, 1, document.body, 0] followed by Range 23 [paras[0], 0, paras[0], 1]: modifying the Selection's last Range must modify the first added Range PASS Range 32 [document.documentElement, 1, document.body, 0] followed by Range 23 [paras[0], 0, paras[0], 1]: second addRange() must not throw exceptions or modify the range it's given PASS Range 32 [document.documentElement, 1, document.body, 0] followed by Range 23 [paras[0], 0, paras[0], 1]: second addRange() must result in rangeCount being 1 -FAIL Range 32 [document.documentElement, 1, document.body, 0] followed by Range 23 [paras[0], 0, paras[0], 1]: second addRange() must result in the selection's last range having the specified endpoints assert_equals: startContainer of the Selection's last Range must match the added Range expected Element node <p id="a">Äb̈c̈d̈ëf̈g̈ḧ -</p> but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" +PASS Range 32 [document.documentElement, 1, document.body, 0] followed by Range 23 [paras[0], 0, paras[0], 1]: second addRange() must result in the selection's last range having the specified endpoints FAIL Range 32 [document.documentElement, 1, document.body, 0] followed by Range 23 [paras[0], 0, paras[0], 1]: second addRange() must result in the selection's last range being the same object we added assert_equals: getRangeAt(rangeCount - 1) must return the same object we added expected object "Äb̈c̈d̈ëf̈g̈ḧ -" but got object "" -FAIL Range 32 [document.documentElement, 1, document.body, 0] followed by Range 23 [paras[0], 0, paras[0], 1]: modifying the second added range must modify the Selection's last Range assert_equals: After mutating the second added Range, startOffset of the Selection's last Range must match the added Range expected 0 but got 6 +" but got object "Äb̈c̈d̈ëf̈g̈ḧ +" +FAIL Range 32 [document.documentElement, 1, document.body, 0] followed by Range 23 [paras[0], 0, paras[0], 1]: modifying the second added range must modify the Selection's last Range assert_equals: After mutating the second added Range, startContainer of the Selection's last Range must match the added Range expected Text node "Äb̈c̈d̈ëf̈g̈ḧ +" but got Element node <p id="a">Äb̈c̈d̈ëf̈g̈ḧ +</p> FAIL Range 32 [document.documentElement, 1, document.body, 0] followed by Range 23 [paras[0], 0, paras[0], 1]: modifying the Selection's last Range must modify the second added Range assert_equals: After second addRange(), after mutating the Selection's last Range, startOffset of the Selection's last Range must match the added Range expected 0 but got 6 PASS Range 32 [document.documentElement, 1, document.body, 0] followed by Range 24 [detachedPara1, 0, detachedPara1, 0]: first addRange() must not throw exceptions or modify the range it's given PASS Range 32 [document.documentElement, 1, document.body, 0] followed by Range 24 [detachedPara1, 0, detachedPara1, 0]: first addRange() must result in rangeCount being 1 @@ -500,10 +494,13 @@ PASS Range 32 [document.documentElement, 1, document.body, 0] followed by Range 26 [paras[0].firstChild, 0, paras[1].firstChild, 0]: modifying the Selection's last Range must modify the first added Range PASS Range 32 [document.documentElement, 1, document.body, 0] followed by Range 26 [paras[0].firstChild, 0, paras[1].firstChild, 0]: second addRange() must not throw exceptions or modify the range it's given PASS Range 32 [document.documentElement, 1, document.body, 0] followed by Range 26 [paras[0].firstChild, 0, paras[1].firstChild, 0]: second addRange() must result in rangeCount being 1 -FAIL Range 32 [document.documentElement, 1, document.body, 0] followed by Range 26 [paras[0].firstChild, 0, paras[1].firstChild, 0]: second addRange() must result in the selection's last range having the specified endpoints assert_equals: startOffset of the Selection's last Range must match the added Range expected 0 but got 6 +PASS Range 32 [document.documentElement, 1, document.body, 0] followed by Range 26 [paras[0].firstChild, 0, paras[1].firstChild, 0]: second addRange() must result in the selection's last range having the specified endpoints FAIL Range 32 [document.documentElement, 1, document.body, 0] followed by Range 26 [paras[0].firstChild, 0, paras[1].firstChild, 0]: second addRange() must result in the selection's last range being the same object we added assert_equals: getRangeAt(rangeCount - 1) must return the same object we added expected object "Äb̈c̈d̈ëf̈g̈ḧ -" but got object "" -FAIL Range 32 [document.documentElement, 1, document.body, 0] followed by Range 26 [paras[0].firstChild, 0, paras[1].firstChild, 0]: modifying the second added range must modify the Selection's last Range assert_equals: After mutating the second added Range, startOffset of the Selection's last Range must match the added Range expected 0 but got 6 +" but got object "Äb̈c̈d̈ëf̈g̈ḧ +" +FAIL Range 32 [document.documentElement, 1, document.body, 0] followed by Range 26 [paras[0].firstChild, 0, paras[1].firstChild, 0]: modifying the second added range must modify the Selection's last Range assert_equals: After mutating the second added Range, endContainer of the Selection's last Range must match the added Range expected Text node "Äb̈c̈d̈ëf̈g̈ḧ +" but got Text node "Ijklmnop +" FAIL Range 32 [document.documentElement, 1, document.body, 0] followed by Range 26 [paras[0].firstChild, 0, paras[1].firstChild, 0]: modifying the Selection's last Range must modify the second added Range assert_equals: After second addRange(), after mutating the Selection's last Range, startOffset of the Selection's last Range must match the added Range expected 0 but got 6 PASS Range 32 [document.documentElement, 1, document.body, 0] followed by Range 27 [paras[0].firstChild, 0, paras[1].firstChild, 8]: first addRange() must not throw exceptions or modify the range it's given PASS Range 32 [document.documentElement, 1, document.body, 0] followed by Range 27 [paras[0].firstChild, 0, paras[1].firstChild, 8]: first addRange() must result in rangeCount being 1 @@ -513,10 +510,13 @@ PASS Range 32 [document.documentElement, 1, document.body, 0] followed by Range 27 [paras[0].firstChild, 0, paras[1].firstChild, 8]: modifying the Selection's last Range must modify the first added Range PASS Range 32 [document.documentElement, 1, document.body, 0] followed by Range 27 [paras[0].firstChild, 0, paras[1].firstChild, 8]: second addRange() must not throw exceptions or modify the range it's given PASS Range 32 [document.documentElement, 1, document.body, 0] followed by Range 27 [paras[0].firstChild, 0, paras[1].firstChild, 8]: second addRange() must result in rangeCount being 1 -FAIL Range 32 [document.documentElement, 1, document.body, 0] followed by Range 27 [paras[0].firstChild, 0, paras[1].firstChild, 8]: second addRange() must result in the selection's last range having the specified endpoints assert_equals: startOffset of the Selection's last Range must match the added Range expected 0 but got 6 +PASS Range 32 [document.documentElement, 1, document.body, 0] followed by Range 27 [paras[0].firstChild, 0, paras[1].firstChild, 8]: second addRange() must result in the selection's last range having the specified endpoints FAIL Range 32 [document.documentElement, 1, document.body, 0] followed by Range 27 [paras[0].firstChild, 0, paras[1].firstChild, 8]: second addRange() must result in the selection's last range being the same object we added assert_equals: getRangeAt(rangeCount - 1) must return the same object we added expected object "Äb̈c̈d̈ëf̈g̈ḧ -Ijklmnop" but got object "" -FAIL Range 32 [document.documentElement, 1, document.body, 0] followed by Range 27 [paras[0].firstChild, 0, paras[1].firstChild, 8]: modifying the second added range must modify the Selection's last Range assert_equals: After mutating the second added Range, startOffset of the Selection's last Range must match the added Range expected 0 but got 6 +Ijklmnop" but got object "Äb̈c̈d̈ëf̈g̈ḧ +Ijklmnop" +FAIL Range 32 [document.documentElement, 1, document.body, 0] followed by Range 27 [paras[0].firstChild, 0, paras[1].firstChild, 8]: modifying the second added range must modify the Selection's last Range assert_equals: After mutating the second added Range, endContainer of the Selection's last Range must match the added Range expected Text node "Äb̈c̈d̈ëf̈g̈ḧ +" but got Text node "Ijklmnop +" FAIL Range 32 [document.documentElement, 1, document.body, 0] followed by Range 27 [paras[0].firstChild, 0, paras[1].firstChild, 8]: modifying the Selection's last Range must modify the second added Range assert_equals: After second addRange(), after mutating the Selection's last Range, startOffset of the Selection's last Range must match the added Range expected 0 but got 6 PASS Range 32 [document.documentElement, 1, document.body, 0] followed by Range 28 [paras[0].firstChild, 3, paras[3], 1]: first addRange() must not throw exceptions or modify the range it's given PASS Range 32 [document.documentElement, 1, document.body, 0] followed by Range 28 [paras[0].firstChild, 3, paras[3], 1]: first addRange() must result in rangeCount being 1 @@ -526,11 +526,13 @@ PASS Range 32 [document.documentElement, 1, document.body, 0] followed by Range 28 [paras[0].firstChild, 3, paras[3], 1]: modifying the Selection's last Range must modify the first added Range PASS Range 32 [document.documentElement, 1, document.body, 0] followed by Range 28 [paras[0].firstChild, 3, paras[3], 1]: second addRange() must not throw exceptions or modify the range it's given PASS Range 32 [document.documentElement, 1, document.body, 0] followed by Range 28 [paras[0].firstChild, 3, paras[3], 1]: second addRange() must result in rangeCount being 1 -FAIL Range 32 [document.documentElement, 1, document.body, 0] followed by Range 28 [paras[0].firstChild, 3, paras[3], 1]: second addRange() must result in the selection's last range having the specified endpoints assert_equals: startOffset of the Selection's last Range must match the added Range expected 3 but got 6 +PASS Range 32 [document.documentElement, 1, document.body, 0] followed by Range 28 [paras[0].firstChild, 3, paras[3], 1]: second addRange() must result in the selection's last range having the specified endpoints FAIL Range 32 [document.documentElement, 1, document.body, 0] followed by Range 28 [paras[0].firstChild, 3, paras[3], 1]: second addRange() must result in the selection's last range being the same object we added assert_equals: getRangeAt(rangeCount - 1) must return the same object we added expected object "̈c̈d̈ëf̈g̈ḧ Ijklmnop -QrstuvwxYzabcdef" but got object "" -FAIL Range 32 [document.documentElement, 1, document.body, 0] followed by Range 28 [paras[0].firstChild, 3, paras[3], 1]: modifying the second added range must modify the Selection's last Range assert_equals: After mutating the second added Range, startOffset of the Selection's last Range must match the added Range expected 0 but got 6 +QrstuvwxYzabcdef" but got object "̈c̈d̈ëf̈g̈ḧ +Ijklmnop +QrstuvwxYzabcdef" +FAIL Range 32 [document.documentElement, 1, document.body, 0] followed by Range 28 [paras[0].firstChild, 3, paras[3], 1]: modifying the second added range must modify the Selection's last Range assert_equals: After mutating the second added Range, startOffset of the Selection's last Range must match the added Range expected 0 but got 3 FAIL Range 32 [document.documentElement, 1, document.body, 0] followed by Range 28 [paras[0].firstChild, 3, paras[3], 1]: modifying the Selection's last Range must modify the second added Range assert_equals: After second addRange(), after mutating the Selection's last Range, startOffset of the Selection's last Range must match the added Range expected 0 but got 6 PASS Range 32 [document.documentElement, 1, document.body, 0] followed by Range 29 [paras[0], 0, paras[0].firstChild, 7]: first addRange() must not throw exceptions or modify the range it's given PASS Range 32 [document.documentElement, 1, document.body, 0] followed by Range 29 [paras[0], 0, paras[0].firstChild, 7]: first addRange() must result in rangeCount being 1 @@ -540,11 +542,11 @@ PASS Range 32 [document.documentElement, 1, document.body, 0] followed by Range 29 [paras[0], 0, paras[0].firstChild, 7]: modifying the Selection's last Range must modify the first added Range PASS Range 32 [document.documentElement, 1, document.body, 0] followed by Range 29 [paras[0], 0, paras[0].firstChild, 7]: second addRange() must not throw exceptions or modify the range it's given PASS Range 32 [document.documentElement, 1, document.body, 0] followed by Range 29 [paras[0], 0, paras[0].firstChild, 7]: second addRange() must result in rangeCount being 1 -FAIL Range 32 [document.documentElement, 1, document.body, 0] followed by Range 29 [paras[0], 0, paras[0].firstChild, 7]: second addRange() must result in the selection's last range having the specified endpoints assert_equals: startContainer of the Selection's last Range must match the added Range expected Element node <p id="a">Äb̈c̈d̈ëf̈g̈ḧ -</p> but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -FAIL Range 32 [document.documentElement, 1, document.body, 0] followed by Range 29 [paras[0], 0, paras[0].firstChild, 7]: second addRange() must result in the selection's last range being the same object we added assert_equals: getRangeAt(rangeCount - 1) must return the same object we added expected object "Äb̈c̈d" but got object "" -FAIL Range 32 [document.documentElement, 1, document.body, 0] followed by Range 29 [paras[0], 0, paras[0].firstChild, 7]: modifying the second added range must modify the Selection's last Range assert_equals: After mutating the second added Range, startOffset of the Selection's last Range must match the added Range expected 0 but got 6 +PASS Range 32 [document.documentElement, 1, document.body, 0] followed by Range 29 [paras[0], 0, paras[0].firstChild, 7]: second addRange() must result in the selection's last range having the specified endpoints +FAIL Range 32 [document.documentElement, 1, document.body, 0] followed by Range 29 [paras[0], 0, paras[0].firstChild, 7]: second addRange() must result in the selection's last range being the same object we added assert_equals: getRangeAt(rangeCount - 1) must return the same object we added expected object "Äb̈c̈d" but got object "Äb̈c̈d" +FAIL Range 32 [document.documentElement, 1, document.body, 0] followed by Range 29 [paras[0], 0, paras[0].firstChild, 7]: modifying the second added range must modify the Selection's last Range assert_equals: After mutating the second added Range, startContainer of the Selection's last Range must match the added Range expected Text node "Äb̈c̈d̈ëf̈g̈ḧ +" but got Element node <p id="a">Äb̈c̈d̈ëf̈g̈ḧ +</p> FAIL Range 32 [document.documentElement, 1, document.body, 0] followed by Range 29 [paras[0], 0, paras[0].firstChild, 7]: modifying the Selection's last Range must modify the second added Range assert_equals: After second addRange(), after mutating the Selection's last Range, startOffset of the Selection's last Range must match the added Range expected 0 but got 6 PASS Range 32 [document.documentElement, 1, document.body, 0] followed by Range 30 [testDiv, 2, paras[4], 1]: first addRange() must not throw exceptions or modify the range it's given PASS Range 32 [document.documentElement, 1, document.body, 0] followed by Range 30 [testDiv, 2, paras[4], 1]: first addRange() must result in rangeCount being 1 @@ -583,11 +585,11 @@ PASS Range 32 [document.documentElement, 1, document.body, 0] followed by Range 32 [document.documentElement, 1, document.body, 0]: modifying the Selection's last Range must modify the first added Range PASS Range 32 [document.documentElement, 1, document.body, 0] followed by Range 32 [document.documentElement, 1, document.body, 0]: second addRange() must not throw exceptions or modify the range it's given PASS Range 32 [document.documentElement, 1, document.body, 0] followed by Range 32 [document.documentElement, 1, document.body, 0]: second addRange() must result in rangeCount being 1 -PASS Range 32 [document.documentElement, 1, document.body, 0] followed by Range 32 [document.documentElement, 1, document.body, 0]: second addRange() must result in the selection's last range having the specified endpoints +FAIL Range 32 [document.documentElement, 1, document.body, 0] followed by Range 32 [document.documentElement, 1, document.body, 0]: second addRange() must result in the selection's last range having the specified endpoints assert_equals: startContainer of the Selection's last Range must match the added Range expected Element node <html><head><title>Selection.addRange() tests</title> +<me... but got Text node "Äb̈c̈d̈ëf̈g̈ḧ +" FAIL Range 32 [document.documentElement, 1, document.body, 0] followed by Range 32 [document.documentElement, 1, document.body, 0]: second addRange() must result in the selection's last range being the same object we added assert_equals: getRangeAt(rangeCount - 1) must return the same object we added expected object "" but got object "" -FAIL Range 32 [document.documentElement, 1, document.body, 0] followed by Range 32 [document.documentElement, 1, document.body, 0]: modifying the second added range must modify the Selection's last Range assert_equals: After mutating the second added Range, startContainer of the Selection's last Range must match the added Range expected Text node "Äb̈c̈d̈ëf̈g̈ḧ -" but got Element node <html><head><title>Selection.addRange() tests</title> -<me... +FAIL Range 32 [document.documentElement, 1, document.body, 0] followed by Range 32 [document.documentElement, 1, document.body, 0]: modifying the second added range must modify the Selection's last Range assert_equals: After mutating the second added Range, startOffset of the Selection's last Range must match the added Range expected 0 but got 6 FAIL Range 32 [document.documentElement, 1, document.body, 0] followed by Range 32 [document.documentElement, 1, document.body, 0]: modifying the Selection's last Range must modify the second added Range assert_equals: After second addRange(), after mutating the Selection's last Range, startOffset of the Selection's last Range must match the added Range expected 0 but got 6 PASS Range 32 [document.documentElement, 1, document.body, 0] followed by Range 33 [foreignDoc.documentElement, 1, foreignDoc.body, 0]: first addRange() must not throw exceptions or modify the range it's given PASS Range 32 [document.documentElement, 1, document.body, 0] followed by Range 33 [foreignDoc.documentElement, 1, foreignDoc.body, 0]: first addRange() must result in rangeCount being 1 @@ -705,13 +707,16 @@ PASS Range 32 [document.documentElement, 1, document.body, 0] followed by Range 37 [testDiv, 0, comment, 5]: modifying the Selection's last Range must modify the first added Range PASS Range 32 [document.documentElement, 1, document.body, 0] followed by Range 37 [testDiv, 0, comment, 5]: second addRange() must not throw exceptions or modify the range it's given PASS Range 32 [document.documentElement, 1, document.body, 0] followed by Range 37 [testDiv, 0, comment, 5]: second addRange() must result in rangeCount being 1 -FAIL Range 32 [document.documentElement, 1, document.body, 0] followed by Range 37 [testDiv, 0, comment, 5]: second addRange() must result in the selection's last range having the specified endpoints assert_equals: startContainer of the Selection's last Range must match the added Range expected Element node <div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ -</p><p id="b" s... but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" +FAIL Range 32 [document.documentElement, 1, document.body, 0] followed by Range 37 [testDiv, 0, comment, 5]: second addRange() must result in the selection's last range having the specified endpoints assert_equals: endContainer of the Selection's last Range must match the added Range expected Comment node <!--Alphabet soup?--> but got Element node <div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ +</p><p id="b" s... FAIL Range 32 [document.documentElement, 1, document.body, 0] followed by Range 37 [testDiv, 0, comment, 5]: second addRange() must result in the selection's last range being the same object we added assert_equals: getRangeAt(rangeCount - 1) must return the same object we added expected object "Äb̈c̈d̈ëf̈g̈ḧ Ijklmnop -QrstuvwxYzabcdefGhijklmn" but got object "" -FAIL Range 32 [document.documentElement, 1, document.body, 0] followed by Range 37 [testDiv, 0, comment, 5]: modifying the second added range must modify the Selection's last Range assert_equals: After mutating the second added Range, startOffset of the Selection's last Range must match the added Range expected 0 but got 6 +QrstuvwxYzabcdefGhijklmn" but got object "Äb̈c̈d̈ëf̈g̈ḧ +Ijklmnop +QrstuvwxYzabcdefGhijklmn" +FAIL Range 32 [document.documentElement, 1, document.body, 0] followed by Range 37 [testDiv, 0, comment, 5]: modifying the second added range must modify the Selection's last Range assert_equals: After mutating the second added Range, startContainer of the Selection's last Range must match the added Range expected Text node "Äb̈c̈d̈ëf̈g̈ḧ +" but got Element node <div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ +</p><p id="b" s... FAIL Range 32 [document.documentElement, 1, document.body, 0] followed by Range 37 [testDiv, 0, comment, 5]: modifying the Selection's last Range must modify the second added Range assert_equals: After second addRange(), after mutating the Selection's last Range, startOffset of the Selection's last Range must match the added Range expected 0 but got 6 PASS Range 32 [document.documentElement, 1, document.body, 0] followed by Range 38 [paras[2].firstChild, 4, comment, 2]: first addRange() must not throw exceptions or modify the range it's given PASS Range 32 [document.documentElement, 1, document.body, 0] followed by Range 38 [paras[2].firstChild, 4, comment, 2]: first addRange() must result in rangeCount being 1 @@ -1701,9 +1706,9 @@ PASS Range 34 [document, 0, document, 1] followed by Range 2 [paras[0].firstChild, 2, paras[0].firstChild, 8]: modifying the Selection's last Range must modify the first added Range PASS Range 34 [document, 0, document, 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 34 [document, 0, document, 1] followed by Range 2 [paras[0].firstChild, 2, paras[0].firstChild, 8]: second addRange() must result in rangeCount being 1 -FAIL Range 34 [document, 0, document, 1] followed by Range 2 [paras[0].firstChild, 2, paras[0].firstChild, 8]: second addRange() must result in the selection's last range having the specified endpoints assert_equals: startOffset of the Selection's last Range must match the added Range expected 2 but got 6 -FAIL Range 34 [document, 0, document, 1] followed by Range 2 [paras[0].firstChild, 2, paras[0].firstChild, 8]: second addRange() must result in the selection's last range being the same object we added assert_equals: getRangeAt(rangeCount - 1) must return the same object we added expected object "b̈c̈d̈" but got object "" -FAIL Range 34 [document, 0, document, 1] followed by Range 2 [paras[0].firstChild, 2, paras[0].firstChild, 8]: modifying the second added range must modify the Selection's last Range assert_equals: After mutating the second added Range, startOffset of the Selection's last Range must match the added Range expected 0 but got 6 +PASS Range 34 [document, 0, document, 1] followed by Range 2 [paras[0].firstChild, 2, paras[0].firstChild, 8]: second addRange() must result in the selection's last range having the specified endpoints +FAIL Range 34 [document, 0, document, 1] followed by Range 2 [paras[0].firstChild, 2, paras[0].firstChild, 8]: second addRange() must result in the selection's last range being the same object we added assert_equals: getRangeAt(rangeCount - 1) must return the same object we added expected object "b̈c̈d̈" but got object "b̈c̈d̈" +FAIL Range 34 [document, 0, document, 1] followed by Range 2 [paras[0].firstChild, 2, paras[0].firstChild, 8]: modifying the second added range must modify the Selection's last Range assert_equals: After mutating the second added Range, startOffset of the Selection's last Range must match the added Range expected 0 but got 2 FAIL Range 34 [document, 0, document, 1] followed by Range 2 [paras[0].firstChild, 2, paras[0].firstChild, 8]: modifying the Selection's last Range must modify the second added Range assert_equals: After second addRange(), after mutating the Selection's last Range, startOffset of the Selection's last Range must match the added Range expected 0 but got 6 PASS Range 34 [document, 0, document, 1] followed by Range 3 [paras[0].firstChild, 2, paras[0].firstChild, 9]: first addRange() must not throw exceptions or modify the range it's given PASS Range 34 [document, 0, document, 1] followed by Range 3 [paras[0].firstChild, 2, paras[0].firstChild, 9]: first addRange() must result in rangeCount being 1 @@ -1713,9 +1718,9 @@ PASS Range 34 [document, 0, document, 1] followed by Range 3 [paras[0].firstChild, 2, paras[0].firstChild, 9]: modifying the Selection's last Range must modify the first added Range PASS Range 34 [document, 0, document, 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 34 [document, 0, document, 1] followed by Range 3 [paras[0].firstChild, 2, paras[0].firstChild, 9]: second addRange() must result in rangeCount being 1 -FAIL Range 34 [document, 0, document, 1] followed by Range 3 [paras[0].firstChild, 2, paras[0].firstChild, 9]: second addRange() must result in the selection's last range having the specified endpoints assert_equals: startOffset of the Selection's last Range must match the added Range expected 2 but got 6 -FAIL Range 34 [document, 0, document, 1] followed by Range 3 [paras[0].firstChild, 2, paras[0].firstChild, 9]: second addRange() must result in the selection's last range being the same object we added assert_equals: getRangeAt(rangeCount - 1) must return the same object we added expected object "b̈c̈d̈e" but got object "" -FAIL Range 34 [document, 0, document, 1] followed by Range 3 [paras[0].firstChild, 2, paras[0].firstChild, 9]: modifying the second added range must modify the Selection's last Range assert_equals: After mutating the second added Range, startOffset of the Selection's last Range must match the added Range expected 0 but got 6 +PASS Range 34 [document, 0, document, 1] followed by Range 3 [paras[0].firstChild, 2, paras[0].firstChild, 9]: second addRange() must result in the selection's last range having the specified endpoints +FAIL Range 34 [document, 0, document, 1] followed by Range 3 [paras[0].firstChild, 2, paras[0].firstChild, 9]: second addRange() must result in the selection's last range being the same object we added assert_equals: getRangeAt(rangeCount - 1) must return the same object we added expected object "b̈c̈d̈e" but got object "b̈c̈d̈e" +FAIL Range 34 [document, 0, document, 1] followed by Range 3 [paras[0].firstChild, 2, paras[0].firstChild, 9]: modifying the second added range must modify the Selection's last Range assert_equals: After mutating the second added Range, startOffset of the Selection's last Range must match the added Range expected 0 but got 2 FAIL Range 34 [document, 0, document, 1] followed by Range 3 [paras[0].firstChild, 2, paras[0].firstChild, 9]: modifying the Selection's last Range must modify the second added Range assert_equals: After second addRange(), after mutating the Selection's last Range, startOffset of the Selection's last Range must match the added Range expected 0 but got 6 PASS Range 34 [document, 0, document, 1] followed by Range 4 [paras[1].firstChild, 0, paras[1].firstChild, 0]: first addRange() must not throw exceptions or modify the range it's given PASS Range 34 [document, 0, document, 1] followed by Range 4 [paras[1].firstChild, 0, paras[1].firstChild, 0]: first addRange() must result in rangeCount being 1 @@ -1876,9 +1881,7 @@ PASS Range 34 [document, 0, document, 1] followed by Range 15 [document.documentElement, 0, document.documentElement, 2]: modifying the Selection's last Range must modify the first added Range PASS Range 34 [document, 0, document, 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 34 [document, 0, document, 1] followed by Range 15 [document.documentElement, 0, document.documentElement, 2]: second addRange() must result in rangeCount being 1 -FAIL Range 34 [document, 0, document, 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 assert_equals: startContainer of the Selection's last Range must match the added Range expected Element node <html><head><title>Selection.addRange() tests</title> -<me... but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" +PASS Range 34 [document, 0, document, 1] followed by Range 15 [document.documentElement, 0, document.documentElement, 2]: second addRange() must result in the selection's last range having the specified endpoints FAIL Range 34 [document, 0, document, 1] followed by Range 15 [document.documentElement, 0, document.documentElement, 2]: second addRange() must result in the selection's last range being the same object we added assert_equals: getRangeAt(rangeCount - 1) must return the same object we added expected object "Selection.addRange() tests Äb̈c̈d̈ëf̈g̈ḧ @@ -1893,8 +1896,24 @@ testAddRangeSubSet(32, 36); testDiv.style.display = "none"; -" but got object "" -FAIL Range 34 [document, 0, document, 1] followed by Range 15 [document.documentElement, 0, document.documentElement, 2]: modifying the second added range must modify the Selection's last Range assert_equals: After mutating the second added Range, startOffset of the Selection's last Range must match the added Range expected 0 but got 6 +" but got object "Selection.addRange() tests + +Äb̈c̈d̈ëf̈g̈ḧ +Ijklmnop +QrstuvwxYzabcdefGhijklmn + + + + + +"use strict"; + +testAddRangeSubSet(32, 36); +testDiv.style.display = "none"; +" +FAIL Range 34 [document, 0, document, 1] followed by Range 15 [document.documentElement, 0, document.documentElement, 2]: modifying the second added range must modify the Selection's last Range assert_equals: After mutating the second added Range, startContainer of the Selection's last Range must match the added Range expected Text node "Äb̈c̈d̈ëf̈g̈ḧ +" but got Element node <html><head><title>Selection.addRange() tests</title> +<me... FAIL Range 34 [document, 0, document, 1] followed by Range 15 [document.documentElement, 0, document.documentElement, 2]: modifying the Selection's last Range must modify the second added Range assert_equals: After second addRange(), after mutating the Selection's last Range, startOffset of the Selection's last Range must match the added Range expected 0 but got 6 PASS Range 34 [document, 0, document, 1] followed by Range 16 [document.documentElement, 1, document.documentElement, 2]: first addRange() must not throw exceptions or modify the range it's given PASS Range 34 [document, 0, document, 1] followed by Range 16 [document.documentElement, 1, document.documentElement, 2]: first addRange() must result in rangeCount being 1 @@ -1904,9 +1923,7 @@ PASS Range 34 [document, 0, document, 1] followed by Range 16 [document.documentElement, 1, document.documentElement, 2]: modifying the Selection's last Range must modify the first added Range PASS Range 34 [document, 0, document, 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 34 [document, 0, document, 1] followed by Range 16 [document.documentElement, 1, document.documentElement, 2]: second addRange() must result in rangeCount being 1 -FAIL Range 34 [document, 0, document, 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 assert_equals: startContainer of the Selection's last Range must match the added Range expected Element node <html><head><title>Selection.addRange() tests</title> -<me... but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" +PASS Range 34 [document, 0, document, 1] followed by Range 16 [document.documentElement, 1, document.documentElement, 2]: second addRange() must result in the selection's last range having the specified endpoints FAIL Range 34 [document, 0, document, 1] followed by Range 16 [document.documentElement, 1, document.documentElement, 2]: second addRange() must result in the selection's last range being the same object we added assert_equals: getRangeAt(rangeCount - 1) must return the same object we added expected object "Äb̈c̈d̈ëf̈g̈ḧ Ijklmnop QrstuvwxYzabcdefGhijklmn @@ -1919,8 +1936,22 @@ testAddRangeSubSet(32, 36); testDiv.style.display = "none"; -" but got object "" -FAIL Range 34 [document, 0, document, 1] followed by Range 16 [document.documentElement, 1, document.documentElement, 2]: modifying the second added range must modify the Selection's last Range assert_equals: After mutating the second added Range, startOffset of the Selection's last Range must match the added Range expected 0 but got 6 +" but got object "Äb̈c̈d̈ëf̈g̈ḧ +Ijklmnop +QrstuvwxYzabcdefGhijklmn + + + + + +"use strict"; + +testAddRangeSubSet(32, 36); +testDiv.style.display = "none"; +" +FAIL Range 34 [document, 0, document, 1] followed by Range 16 [document.documentElement, 1, document.documentElement, 2]: modifying the second added range must modify the Selection's last Range assert_equals: After mutating the second added Range, startContainer of the Selection's last Range must match the added Range expected Text node "Äb̈c̈d̈ëf̈g̈ḧ +" but got Element node <html><head><title>Selection.addRange() tests</title> +<me... FAIL Range 34 [document, 0, document, 1] followed by Range 16 [document.documentElement, 1, document.documentElement, 2]: modifying the Selection's last Range must modify the second added Range assert_equals: After second addRange(), after mutating the Selection's last Range, startOffset of the Selection's last Range must match the added Range expected 0 but got 6 PASS Range 34 [document, 0, document, 1] followed by Range 17 [document.head, 1, document.head, 1]: first addRange() must not throw exceptions or modify the range it's given PASS Range 34 [document, 0, document, 1] followed by Range 17 [document.head, 1, document.head, 1]: first addRange() must result in rangeCount being 1 @@ -1944,13 +1975,15 @@ PASS Range 34 [document, 0, document, 1] followed by Range 18 [document.body, 0, document.body, 1]: modifying the Selection's last Range must modify the first added Range PASS Range 34 [document, 0, document, 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 34 [document, 0, document, 1] followed by Range 18 [document.body, 0, document.body, 1]: second addRange() must result in rangeCount being 1 -FAIL Range 34 [document, 0, document, 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 assert_equals: startContainer of the Selection's last Range must match the added Range expected Element node <body><div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ -</p><p id... but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" +PASS Range 34 [document, 0, document, 1] followed by Range 18 [document.body, 0, document.body, 1]: second addRange() must result in the selection's last range having the specified endpoints FAIL Range 34 [document, 0, document, 1] followed by Range 18 [document.body, 0, document.body, 1]: second addRange() must result in the selection's last range being the same object we added assert_equals: getRangeAt(rangeCount - 1) must return the same object we added expected object "Äb̈c̈d̈ëf̈g̈ḧ Ijklmnop -QrstuvwxYzabcdefGhijklmn" but got object "" -FAIL Range 34 [document, 0, document, 1] followed by Range 18 [document.body, 0, document.body, 1]: modifying the second added range must modify the Selection's last Range assert_equals: After mutating the second added Range, startOffset of the Selection's last Range must match the added Range expected 0 but got 6 +QrstuvwxYzabcdefGhijklmn" but got object "Äb̈c̈d̈ëf̈g̈ḧ +Ijklmnop +QrstuvwxYzabcdefGhijklmn" +FAIL Range 34 [document, 0, document, 1] followed by Range 18 [document.body, 0, document.body, 1]: modifying the second added range must modify the Selection's last Range assert_equals: After mutating the second added Range, startContainer of the Selection's last Range must match the added Range expected Text node "Äb̈c̈d̈ëf̈g̈ḧ +" but got Element node <body><div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ +</p><p id... FAIL Range 34 [document, 0, document, 1] followed by Range 18 [document.body, 0, document.body, 1]: modifying the Selection's last Range must modify the second added Range assert_equals: After second addRange(), after mutating the Selection's last Range, startOffset of the Selection's last Range must match the added Range expected 0 but got 6 PASS Range 34 [document, 0, document, 1] followed by Range 19 [foreignDoc.documentElement, 0, foreignDoc.documentElement, 1]: first addRange() must not throw exceptions or modify the range it's given PASS Range 34 [document, 0, document, 1] followed by Range 19 [foreignDoc.documentElement, 0, foreignDoc.documentElement, 1]: first addRange() must result in rangeCount being 1 @@ -2013,12 +2046,13 @@ PASS Range 34 [document, 0, document, 1] followed by Range 23 [paras[0], 0, paras[0], 1]: modifying the Selection's last Range must modify the first added Range PASS Range 34 [document, 0, document, 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 34 [document, 0, document, 1] followed by Range 23 [paras[0], 0, paras[0], 1]: second addRange() must result in rangeCount being 1 -FAIL Range 34 [document, 0, document, 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 assert_equals: startContainer of the Selection's last Range must match the added Range expected Element node <p id="a">Äb̈c̈d̈ëf̈g̈ḧ -</p> but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" +PASS Range 34 [document, 0, document, 1] followed by Range 23 [paras[0], 0, paras[0], 1]: second addRange() must result in the selection's last range having the specified endpoints FAIL Range 34 [document, 0, document, 1] followed by Range 23 [paras[0], 0, paras[0], 1]: second addRange() must result in the selection's last range being the same object we added assert_equals: getRangeAt(rangeCount - 1) must return the same object we added expected object "Äb̈c̈d̈ëf̈g̈ḧ -" but got object "" -FAIL Range 34 [document, 0, document, 1] followed by Range 23 [paras[0], 0, paras[0], 1]: modifying the second added range must modify the Selection's last Range assert_equals: After mutating the second added Range, startOffset of the Selection's last Range must match the added Range expected 0 but got 6 +" but got object "Äb̈c̈d̈ëf̈g̈ḧ +" +FAIL Range 34 [document, 0, document, 1] followed by Range 23 [paras[0], 0, paras[0], 1]: modifying the second added range must modify the Selection's last Range assert_equals: After mutating the second added Range, startContainer of the Selection's last Range must match the added Range expected Text node "Äb̈c̈d̈ëf̈g̈ḧ +" but got Element node <p id="a">Äb̈c̈d̈ëf̈g̈ḧ +</p> FAIL Range 34 [document, 0, document, 1] followed by Range 23 [paras[0], 0, paras[0], 1]: modifying the Selection's last Range must modify the second added Range assert_equals: After second addRange(), after mutating the Selection's last Range, startOffset of the Selection's last Range must match the added Range expected 0 but got 6 PASS Range 34 [document, 0, document, 1] followed by Range 24 [detachedPara1, 0, detachedPara1, 0]: first addRange() must not throw exceptions or modify the range it's given PASS Range 34 [document, 0, document, 1] followed by Range 24 [detachedPara1, 0, detachedPara1, 0]: first addRange() must result in rangeCount being 1 @@ -2054,10 +2088,13 @@ PASS Range 34 [document, 0, document, 1] followed by Range 26 [paras[0].firstChild, 0, paras[1].firstChild, 0]: modifying the Selection's last Range must modify the first added Range PASS Range 34 [document, 0, document, 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 34 [document, 0, document, 1] followed by Range 26 [paras[0].firstChild, 0, paras[1].firstChild, 0]: second addRange() must result in rangeCount being 1 -FAIL Range 34 [document, 0, document, 1] followed by Range 26 [paras[0].firstChild, 0, paras[1].firstChild, 0]: second addRange() must result in the selection's last range having the specified endpoints assert_equals: startOffset of the Selection's last Range must match the added Range expected 0 but got 6 +PASS Range 34 [document, 0, document, 1] followed by Range 26 [paras[0].firstChild, 0, paras[1].firstChild, 0]: second addRange() must result in the selection's last range having the specified endpoints FAIL Range 34 [document, 0, document, 1] followed by Range 26 [paras[0].firstChild, 0, paras[1].firstChild, 0]: second addRange() must result in the selection's last range being the same object we added assert_equals: getRangeAt(rangeCount - 1) must return the same object we added expected object "Äb̈c̈d̈ëf̈g̈ḧ -" but got object "" -FAIL Range 34 [document, 0, document, 1] followed by Range 26 [paras[0].firstChild, 0, paras[1].firstChild, 0]: modifying the second added range must modify the Selection's last Range assert_equals: After mutating the second added Range, startOffset of the Selection's last Range must match the added Range expected 0 but got 6 +" but got object "Äb̈c̈d̈ëf̈g̈ḧ +" +FAIL Range 34 [document, 0, document, 1] followed by Range 26 [paras[0].firstChild, 0, paras[1].firstChild, 0]: modifying the second added range must modify the Selection's last Range assert_equals: After mutating the second added Range, endContainer of the Selection's last Range must match the added Range expected Text node "Äb̈c̈d̈ëf̈g̈ḧ +" but got Text node "Ijklmnop +" FAIL Range 34 [document, 0, document, 1] followed by Range 26 [paras[0].firstChild, 0, paras[1].firstChild, 0]: modifying the Selection's last Range must modify the second added Range assert_equals: After second addRange(), after mutating the Selection's last Range, startOffset of the Selection's last Range must match the added Range expected 0 but got 6 PASS Range 34 [document, 0, document, 1] followed by Range 27 [paras[0].firstChild, 0, paras[1].firstChild, 8]: first addRange() must not throw exceptions or modify the range it's given PASS Range 34 [document, 0, document, 1] followed by Range 27 [paras[0].firstChild, 0, paras[1].firstChild, 8]: first addRange() must result in rangeCount being 1 @@ -2067,10 +2104,13 @@ PASS Range 34 [document, 0, document, 1] followed by Range 27 [paras[0].firstChild, 0, paras[1].firstChild, 8]: modifying the Selection's last Range must modify the first added Range PASS Range 34 [document, 0, document, 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 34 [document, 0, document, 1] followed by Range 27 [paras[0].firstChild, 0, paras[1].firstChild, 8]: second addRange() must result in rangeCount being 1 -FAIL Range 34 [document, 0, document, 1] followed by Range 27 [paras[0].firstChild, 0, paras[1].firstChild, 8]: second addRange() must result in the selection's last range having the specified endpoints assert_equals: startOffset of the Selection's last Range must match the added Range expected 0 but got 6 +PASS Range 34 [document, 0, document, 1] followed by Range 27 [paras[0].firstChild, 0, paras[1].firstChild, 8]: second addRange() must result in the selection's last range having the specified endpoints FAIL Range 34 [document, 0, document, 1] followed by Range 27 [paras[0].firstChild, 0, paras[1].firstChild, 8]: second addRange() must result in the selection's last range being the same object we added assert_equals: getRangeAt(rangeCount - 1) must return the same object we added expected object "Äb̈c̈d̈ëf̈g̈ḧ -Ijklmnop" but got object "" -FAIL Range 34 [document, 0, document, 1] followed by Range 27 [paras[0].firstChild, 0, paras[1].firstChild, 8]: modifying the second added range must modify the Selection's last Range assert_equals: After mutating the second added Range, startOffset of the Selection's last Range must match the added Range expected 0 but got 6 +Ijklmnop" but got object "Äb̈c̈d̈ëf̈g̈ḧ +Ijklmnop" +FAIL Range 34 [document, 0, document, 1] followed by Range 27 [paras[0].firstChild, 0, paras[1].firstChild, 8]: modifying the second added range must modify the Selection's last Range assert_equals: After mutating the second added Range, endContainer of the Selection's last Range must match the added Range expected Text node "Äb̈c̈d̈ëf̈g̈ḧ +" but got Text node "Ijklmnop +" FAIL Range 34 [document, 0, document, 1] followed by Range 27 [paras[0].firstChild, 0, paras[1].firstChild, 8]: modifying the Selection's last Range must modify the second added Range assert_equals: After second addRange(), after mutating the Selection's last Range, startOffset of the Selection's last Range must match the added Range expected 0 but got 6 PASS Range 34 [document, 0, document, 1] followed by Range 28 [paras[0].firstChild, 3, paras[3], 1]: first addRange() must not throw exceptions or modify the range it's given PASS Range 34 [document, 0, document, 1] followed by Range 28 [paras[0].firstChild, 3, paras[3], 1]: first addRange() must result in rangeCount being 1 @@ -2080,11 +2120,13 @@ PASS Range 34 [document, 0, document, 1] followed by Range 28 [paras[0].firstChild, 3, paras[3], 1]: modifying the Selection's last Range must modify the first added Range PASS Range 34 [document, 0, document, 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 34 [document, 0, document, 1] followed by Range 28 [paras[0].firstChild, 3, paras[3], 1]: second addRange() must result in rangeCount being 1 -FAIL Range 34 [document, 0, document, 1] followed by Range 28 [paras[0].firstChild, 3, paras[3], 1]: second addRange() must result in the selection's last range having the specified endpoints assert_equals: startOffset of the Selection's last Range must match the added Range expected 3 but got 6 +PASS Range 34 [document, 0, document, 1] followed by Range 28 [paras[0].firstChild, 3, paras[3], 1]: second addRange() must result in the selection's last range having the specified endpoints FAIL Range 34 [document, 0, document, 1] followed by Range 28 [paras[0].firstChild, 3, paras[3], 1]: second addRange() must result in the selection's last range being the same object we added assert_equals: getRangeAt(rangeCount - 1) must return the same object we added expected object "̈c̈d̈ëf̈g̈ḧ Ijklmnop -QrstuvwxYzabcdef" but got object "" -FAIL Range 34 [document, 0, document, 1] followed by Range 28 [paras[0].firstChild, 3, paras[3], 1]: modifying the second added range must modify the Selection's last Range assert_equals: After mutating the second added Range, startOffset of the Selection's last Range must match the added Range expected 0 but got 6 +QrstuvwxYzabcdef" but got object "̈c̈d̈ëf̈g̈ḧ +Ijklmnop +QrstuvwxYzabcdef" +FAIL Range 34 [document, 0, document, 1] followed by Range 28 [paras[0].firstChild, 3, paras[3], 1]: modifying the second added range must modify the Selection's last Range assert_equals: After mutating the second added Range, startOffset of the Selection's last Range must match the added Range expected 0 but got 3 FAIL Range 34 [document, 0, document, 1] followed by Range 28 [paras[0].firstChild, 3, paras[3], 1]: modifying the Selection's last Range must modify the second added Range assert_equals: After second addRange(), after mutating the Selection's last Range, startOffset of the Selection's last Range must match the added Range expected 0 but got 6 PASS Range 34 [document, 0, document, 1] followed by Range 29 [paras[0], 0, paras[0].firstChild, 7]: first addRange() must not throw exceptions or modify the range it's given PASS Range 34 [document, 0, document, 1] followed by Range 29 [paras[0], 0, paras[0].firstChild, 7]: first addRange() must result in rangeCount being 1 @@ -2094,11 +2136,11 @@ PASS Range 34 [document, 0, document, 1] followed by Range 29 [paras[0], 0, paras[0].firstChild, 7]: modifying the Selection's last Range must modify the first added Range PASS Range 34 [document, 0, document, 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 34 [document, 0, document, 1] followed by Range 29 [paras[0], 0, paras[0].firstChild, 7]: second addRange() must result in rangeCount being 1 -FAIL Range 34 [document, 0, document, 1] followed by Range 29 [paras[0], 0, paras[0].firstChild, 7]: second addRange() must result in the selection's last range having the specified endpoints assert_equals: startContainer of the Selection's last Range must match the added Range expected Element node <p id="a">Äb̈c̈d̈ëf̈g̈ḧ -</p> but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -FAIL Range 34 [document, 0, document, 1] followed by Range 29 [paras[0], 0, paras[0].firstChild, 7]: second addRange() must result in the selection's last range being the same object we added assert_equals: getRangeAt(rangeCount - 1) must return the same object we added expected object "Äb̈c̈d" but got object "" -FAIL Range 34 [document, 0, document, 1] followed by Range 29 [paras[0], 0, paras[0].firstChild, 7]: modifying the second added range must modify the Selection's last Range assert_equals: After mutating the second added Range, startOffset of the Selection's last Range must match the added Range expected 0 but got 6 +PASS Range 34 [document, 0, document, 1] followed by Range 29 [paras[0], 0, paras[0].firstChild, 7]: second addRange() must result in the selection's last range having the specified endpoints +FAIL Range 34 [document, 0, document, 1] followed by Range 29 [paras[0], 0, paras[0].firstChild, 7]: second addRange() must result in the selection's last range being the same object we added assert_equals: getRangeAt(rangeCount - 1) must return the same object we added expected object "Äb̈c̈d" but got object "Äb̈c̈d" +FAIL Range 34 [document, 0, document, 1] followed by Range 29 [paras[0], 0, paras[0].firstChild, 7]: modifying the second added range must modify the Selection's last Range assert_equals: After mutating the second added Range, startContainer of the Selection's last Range must match the added Range expected Text node "Äb̈c̈d̈ëf̈g̈ḧ +" but got Element node <p id="a">Äb̈c̈d̈ëf̈g̈ḧ +</p> FAIL Range 34 [document, 0, document, 1] followed by Range 29 [paras[0], 0, paras[0].firstChild, 7]: modifying the Selection's last Range must modify the second added Range assert_equals: After second addRange(), after mutating the Selection's last Range, startOffset of the Selection's last Range must match the added Range expected 0 but got 6 PASS Range 34 [document, 0, document, 1] followed by Range 30 [testDiv, 2, paras[4], 1]: first addRange() must not throw exceptions or modify the range it's given PASS Range 34 [document, 0, document, 1] followed by Range 30 [testDiv, 2, paras[4], 1]: first addRange() must result in rangeCount being 1 @@ -2164,10 +2206,10 @@ PASS Range 34 [document, 0, document, 1] followed by Range 34 [document, 0, document, 1]: modifying the Selection's last Range must modify the first added Range PASS Range 34 [document, 0, document, 1] followed by Range 34 [document, 0, document, 1]: second addRange() must not throw exceptions or modify the range it's given PASS Range 34 [document, 0, document, 1] followed by Range 34 [document, 0, document, 1]: second addRange() must result in rangeCount being 1 -PASS Range 34 [document, 0, document, 1] followed by Range 34 [document, 0, document, 1]: second addRange() must result in the selection's last range having the specified endpoints +FAIL Range 34 [document, 0, document, 1] followed by Range 34 [document, 0, document, 1]: second addRange() must result in the selection's last range having the specified endpoints assert_equals: startContainer of the Selection's last Range must match the added Range expected Document node with 2 children but got Text node "Äb̈c̈d̈ëf̈g̈ḧ +" FAIL Range 34 [document, 0, document, 1] followed by Range 34 [document, 0, document, 1]: second addRange() must result in the selection's last range being the same object we added assert_equals: getRangeAt(rangeCount - 1) must return the same object we added expected object "" but got object "" -FAIL Range 34 [document, 0, document, 1] followed by Range 34 [document, 0, document, 1]: modifying the second added range must modify the Selection's last Range assert_equals: After mutating the second added Range, startContainer of the Selection's last Range must match the added Range expected Text node "Äb̈c̈d̈ëf̈g̈ḧ -" but got Document node with 2 children +FAIL Range 34 [document, 0, document, 1] followed by Range 34 [document, 0, document, 1]: modifying the second added range must modify the Selection's last Range assert_equals: After mutating the second added Range, startOffset of the Selection's last Range must match the added Range expected 0 but got 6 FAIL Range 34 [document, 0, document, 1] followed by Range 34 [document, 0, document, 1]: modifying the Selection's last Range must modify the second added Range assert_equals: After second addRange(), after mutating the Selection's last Range, startOffset of the Selection's last Range must match the added Range expected 0 but got 6 PASS Range 34 [document, 0, document, 1] followed by Range 35 [document, 0, document, 2]: first addRange() must not throw exceptions or modify the range it's given PASS Range 34 [document, 0, document, 1] followed by Range 35 [document, 0, document, 2]: first addRange() must result in rangeCount being 1 @@ -2218,7 +2260,7 @@ PASS Range 34 [document, 0, document, 1] followed by Range 36 [document, 1, document, 2]: modifying the Selection's last Range must modify the first added Range PASS Range 34 [document, 0, document, 1] followed by Range 36 [document, 1, document, 2]: second addRange() must not throw exceptions or modify the range it's given PASS Range 34 [document, 0, document, 1] followed by Range 36 [document, 1, document, 2]: second addRange() must result in rangeCount being 1 -FAIL Range 34 [document, 0, document, 1] followed by Range 36 [document, 1, document, 2]: second addRange() must result in the selection's last range having the specified endpoints assert_equals: startOffset of the Selection's last Range must match the added Range expected 1 but got 0 +PASS Range 34 [document, 0, document, 1] followed by Range 36 [document, 1, document, 2]: second addRange() must result in the selection's last range having the specified endpoints FAIL Range 34 [document, 0, document, 1] followed by Range 36 [document, 1, document, 2]: second addRange() must result in the selection's last range being the same object we added assert_equals: getRangeAt(rangeCount - 1) must return the same object we added expected object "Selection.addRange() tests Äb̈c̈d̈ëf̈g̈ḧ @@ -2259,13 +2301,16 @@ PASS Range 34 [document, 0, document, 1] followed by Range 37 [testDiv, 0, comment, 5]: modifying the Selection's last Range must modify the first added Range PASS Range 34 [document, 0, document, 1] followed by Range 37 [testDiv, 0, comment, 5]: second addRange() must not throw exceptions or modify the range it's given PASS Range 34 [document, 0, document, 1] followed by Range 37 [testDiv, 0, comment, 5]: second addRange() must result in rangeCount being 1 -FAIL Range 34 [document, 0, document, 1] followed by Range 37 [testDiv, 0, comment, 5]: second addRange() must result in the selection's last range having the specified endpoints assert_equals: startContainer of the Selection's last Range must match the added Range expected Element node <div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ -</p><p id="b" s... but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" +FAIL Range 34 [document, 0, document, 1] followed by Range 37 [testDiv, 0, comment, 5]: second addRange() must result in the selection's last range having the specified endpoints assert_equals: endContainer of the Selection's last Range must match the added Range expected Comment node <!--Alphabet soup?--> but got Element node <div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ +</p><p id="b" s... FAIL Range 34 [document, 0, document, 1] followed by Range 37 [testDiv, 0, comment, 5]: second addRange() must result in the selection's last range being the same object we added assert_equals: getRangeAt(rangeCount - 1) must return the same object we added expected object "Äb̈c̈d̈ëf̈g̈ḧ Ijklmnop -QrstuvwxYzabcdefGhijklmn" but got object "" -FAIL Range 34 [document, 0, document, 1] followed by Range 37 [testDiv, 0, comment, 5]: modifying the second added range must modify the Selection's last Range assert_equals: After mutating the second added Range, startOffset of the Selection's last Range must match the added Range expected 0 but got 6 +QrstuvwxYzabcdefGhijklmn" but got object "Äb̈c̈d̈ëf̈g̈ḧ +Ijklmnop +QrstuvwxYzabcdefGhijklmn" +FAIL Range 34 [document, 0, document, 1] followed by Range 37 [testDiv, 0, comment, 5]: modifying the second added range must modify the Selection's last Range assert_equals: After mutating the second added Range, startContainer of the Selection's last Range must match the added Range expected Text node "Äb̈c̈d̈ëf̈g̈ḧ +" but got Element node <div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ +</p><p id="b" s... FAIL Range 34 [document, 0, document, 1] followed by Range 37 [testDiv, 0, comment, 5]: modifying the Selection's last Range must modify the second added Range assert_equals: After second addRange(), after mutating the Selection's last Range, startOffset of the Selection's last Range must match the added Range expected 0 but got 6 PASS Range 34 [document, 0, document, 1] followed by Range 38 [paras[2].firstChild, 4, comment, 2]: first addRange() must not throw exceptions or modify the range it's given PASS Range 34 [document, 0, document, 1] followed by Range 38 [paras[2].firstChild, 4, comment, 2]: first addRange() must result in rangeCount being 1 @@ -2535,25 +2580,9 @@ PASS Range 35 [document, 0, document, 2] followed by Range 0 [paras[0].firstChild, 0, paras[0].firstChild, 0]: modifying the Selection's last Range must modify the first added Range PASS Range 35 [document, 0, document, 2] 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 35 [document, 0, document, 2] followed by Range 0 [paras[0].firstChild, 0, paras[0].firstChild, 0]: second addRange() must result in rangeCount being 1 -FAIL Range 35 [document, 0, document, 2] followed by Range 0 [paras[0].firstChild, 0, paras[0].firstChild, 0]: second addRange() must result in the selection's last range having the specified endpoints assert_equals: startContainer of the Selection's last Range must match the added Range expected Text node "Äb̈c̈d̈ëf̈g̈ḧ -" but got Document node with 2 children -FAIL Range 35 [document, 0, document, 2] followed by Range 0 [paras[0].firstChild, 0, paras[0].firstChild, 0]: second addRange() must result in the selection's last range being the same object we added assert_equals: getRangeAt(rangeCount - 1) must return the same object we added expected object "" but got object "Selection.addRange() tests - -Äb̈c̈d̈ëf̈g̈ḧ -Ijklmnop -QrstuvwxYzabcdefGhijklmn - - - - - -"use strict"; - -testAddRangeSubSet(32, 36); -testDiv.style.display = "none"; -" -FAIL Range 35 [document, 0, document, 2] followed by Range 0 [paras[0].firstChild, 0, paras[0].firstChild, 0]: modifying the second added range must modify the Selection's last Range assert_equals: After mutating the second added Range, startContainer of the Selection's last Range must match the added Range expected Text node "Äb̈c̈d̈ëf̈g̈ḧ -" but got Document node with 2 children +FAIL Range 35 [document, 0, document, 2] followed by Range 0 [paras[0].firstChild, 0, paras[0].firstChild, 0]: second addRange() must result in the selection's last range having the specified endpoints assert_equals: startOffset of the Selection's last Range must match the added Range expected 0 but got 6 +FAIL Range 35 [document, 0, document, 2] followed by Range 0 [paras[0].firstChild, 0, paras[0].firstChild, 0]: second addRange() must result in the selection's last range being the same object we added assert_equals: getRangeAt(rangeCount - 1) must return the same object we added expected object "" but got object "" +FAIL Range 35 [document, 0, document, 2] followed by Range 0 [paras[0].firstChild, 0, paras[0].firstChild, 0]: modifying the second added range must modify the Selection's last Range assert_equals: After mutating the second added Range, startOffset of the Selection's last Range must match the added Range expected 0 but got 6 FAIL Range 35 [document, 0, document, 2] followed by Range 0 [paras[0].firstChild, 0, paras[0].firstChild, 0]: modifying the Selection's last Range must modify the second added Range assert_equals: After second addRange(), after mutating the Selection's last Range, startOffset of the Selection's last Range must match the added Range expected 0 but got 6 PASS Range 35 [document, 0, document, 2] followed by Range 1 [paras[0].firstChild, 0, paras[0].firstChild, 1]: first addRange() must not throw exceptions or modify the range it's given PASS Range 35 [document, 0, document, 2] followed by Range 1 [paras[0].firstChild, 0, paras[0].firstChild, 1]: first addRange() must result in rangeCount being 1 @@ -2563,25 +2592,9 @@ PASS Range 35 [document, 0, document, 2] followed by Range 1 [paras[0].firstChild, 0, paras[0].firstChild, 1]: modifying the Selection's last Range must modify the first added Range PASS Range 35 [document, 0, document, 2] 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 35 [document, 0, document, 2] followed by Range 1 [paras[0].firstChild, 0, paras[0].firstChild, 1]: second addRange() must result in rangeCount being 1 -FAIL Range 35 [document, 0, document, 2] followed by Range 1 [paras[0].firstChild, 0, paras[0].firstChild, 1]: second addRange() must result in the selection's last range having the specified endpoints assert_equals: startContainer of the Selection's last Range must match the added Range expected Text node "Äb̈c̈d̈ëf̈g̈ḧ -" but got Document node with 2 children -FAIL Range 35 [document, 0, document, 2] followed by Range 1 [paras[0].firstChild, 0, paras[0].firstChild, 1]: second addRange() must result in the selection's last range being the same object we added assert_equals: getRangeAt(rangeCount - 1) must return the same object we added expected object "A" but got object "Selection.addRange() tests - -Äb̈c̈d̈ëf̈g̈ḧ -Ijklmnop -QrstuvwxYzabcdefGhijklmn - - - - - -"use strict"; - -testAddRangeSubSet(32, 36); -testDiv.style.display = "none"; -" -FAIL Range 35 [document, 0, document, 2] followed by Range 1 [paras[0].firstChild, 0, paras[0].firstChild, 1]: modifying the second added range must modify the Selection's last Range assert_equals: After mutating the second added Range, startContainer of the Selection's last Range must match the added Range expected Text node "Äb̈c̈d̈ëf̈g̈ḧ -" but got Document node with 2 children +FAIL Range 35 [document, 0, document, 2] followed by Range 1 [paras[0].firstChild, 0, paras[0].firstChild, 1]: second addRange() must result in the selection's last range having the specified endpoints assert_equals: startOffset of the Selection's last Range must match the added Range expected 0 but got 6 +FAIL Range 35 [document, 0, document, 2] followed by Range 1 [paras[0].firstChild, 0, paras[0].firstChild, 1]: second addRange() must result in the selection's last range being the same object we added assert_equals: getRangeAt(rangeCount - 1) must return the same object we added expected object "A" but got object "" +FAIL Range 35 [document, 0, document, 2] followed by Range 1 [paras[0].firstChild, 0, paras[0].firstChild, 1]: modifying the second added range must modify the Selection's last Range assert_equals: After mutating the second added Range, startOffset of the Selection's last Range must match the added Range expected 0 but got 6 FAIL Range 35 [document, 0, document, 2] followed by Range 1 [paras[0].firstChild, 0, paras[0].firstChild, 1]: modifying the Selection's last Range must modify the second added Range assert_equals: After second addRange(), after mutating the Selection's last Range, startOffset of the Selection's last Range must match the added Range expected 0 but got 6 PASS Range 35 [document, 0, document, 2] followed by Range 2 [paras[0].firstChild, 2, paras[0].firstChild, 8]: first addRange() must not throw exceptions or modify the range it's given PASS Range 35 [document, 0, document, 2] followed by Range 2 [paras[0].firstChild, 2, paras[0].firstChild, 8]: first addRange() must result in rangeCount being 1 @@ -2591,25 +2604,9 @@ PASS Range 35 [document, 0, document, 2] followed by Range 2 [paras[0].firstChild, 2, paras[0].firstChild, 8]: modifying the Selection's last Range must modify the first added Range PASS Range 35 [document, 0, document, 2] 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 35 [document, 0, document, 2] followed by Range 2 [paras[0].firstChild, 2, paras[0].firstChild, 8]: second addRange() must result in rangeCount being 1 -FAIL Range 35 [document, 0, document, 2] followed by Range 2 [paras[0].firstChild, 2, paras[0].firstChild, 8]: second addRange() must result in the selection's last range having the specified endpoints assert_equals: startContainer of the Selection's last Range must match the added Range expected Text node "Äb̈c̈d̈ëf̈g̈ḧ -" but got Document node with 2 children -FAIL Range 35 [document, 0, document, 2] followed by Range 2 [paras[0].firstChild, 2, paras[0].firstChild, 8]: second addRange() must result in the selection's last range being the same object we added assert_equals: getRangeAt(rangeCount - 1) must return the same object we added expected object "b̈c̈d̈" but got object "Selection.addRange() tests - -Äb̈c̈d̈ëf̈g̈ḧ -Ijklmnop -QrstuvwxYzabcdefGhijklmn - - - - - -"use strict"; - -testAddRangeSubSet(32, 36); -testDiv.style.display = "none"; -" -FAIL Range 35 [document, 0, document, 2] followed by Range 2 [paras[0].firstChild, 2, paras[0].firstChild, 8]: modifying the second added range must modify the Selection's last Range assert_equals: After mutating the second added Range, startContainer of the Selection's last Range must match the added Range expected Text node "Äb̈c̈d̈ëf̈g̈ḧ -" but got Document node with 2 children +PASS Range 35 [document, 0, document, 2] followed by Range 2 [paras[0].firstChild, 2, paras[0].firstChild, 8]: second addRange() must result in the selection's last range having the specified endpoints +FAIL Range 35 [document, 0, document, 2] followed by Range 2 [paras[0].firstChild, 2, paras[0].firstChild, 8]: second addRange() must result in the selection's last range being the same object we added assert_equals: getRangeAt(rangeCount - 1) must return the same object we added expected object "b̈c̈d̈" but got object "b̈c̈d̈" +FAIL Range 35 [document, 0, document, 2] followed by Range 2 [paras[0].firstChild, 2, paras[0].firstChild, 8]: modifying the second added range must modify the Selection's last Range assert_equals: After mutating the second added Range, startOffset of the Selection's last Range must match the added Range expected 0 but got 2 FAIL Range 35 [document, 0, document, 2] followed by Range 2 [paras[0].firstChild, 2, paras[0].firstChild, 8]: modifying the Selection's last Range must modify the second added Range assert_equals: After second addRange(), after mutating the Selection's last Range, startOffset of the Selection's last Range must match the added Range expected 0 but got 6 PASS Range 35 [document, 0, document, 2] followed by Range 3 [paras[0].firstChild, 2, paras[0].firstChild, 9]: first addRange() must not throw exceptions or modify the range it's given PASS Range 35 [document, 0, document, 2] followed by Range 3 [paras[0].firstChild, 2, paras[0].firstChild, 9]: first addRange() must result in rangeCount being 1 @@ -2619,25 +2616,9 @@ PASS Range 35 [document, 0, document, 2] followed by Range 3 [paras[0].firstChild, 2, paras[0].firstChild, 9]: modifying the Selection's last Range must modify the first added Range PASS Range 35 [document, 0, document, 2] 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 35 [document, 0, document, 2] followed by Range 3 [paras[0].firstChild, 2, paras[0].firstChild, 9]: second addRange() must result in rangeCount being 1 -FAIL Range 35 [document, 0, document, 2] followed by Range 3 [paras[0].firstChild, 2, paras[0].firstChild, 9]: second addRange() must result in the selection's last range having the specified endpoints assert_equals: startContainer of the Selection's last Range must match the added Range expected Text node "Äb̈c̈d̈ëf̈g̈ḧ -" but got Document node with 2 children -FAIL Range 35 [document, 0, document, 2] followed by Range 3 [paras[0].firstChild, 2, paras[0].firstChild, 9]: second addRange() must result in the selection's last range being the same object we added assert_equals: getRangeAt(rangeCount - 1) must return the same object we added expected object "b̈c̈d̈e" but got object "Selection.addRange() tests - -Äb̈c̈d̈ëf̈g̈ḧ -Ijklmnop -QrstuvwxYzabcdefGhijklmn - - - - - -"use strict"; - -testAddRangeSubSet(32, 36); -testDiv.style.display = "none"; -" -FAIL Range 35 [document, 0, document, 2] followed by Range 3 [paras[0].firstChild, 2, paras[0].firstChild, 9]: modifying the second added range must modify the Selection's last Range assert_equals: After mutating the second added Range, startContainer of the Selection's last Range must match the added Range expected Text node "Äb̈c̈d̈ëf̈g̈ḧ -" but got Document node with 2 children +PASS Range 35 [document, 0, document, 2] followed by Range 3 [paras[0].firstChild, 2, paras[0].firstChild, 9]: second addRange() must result in the selection's last range having the specified endpoints +FAIL Range 35 [document, 0, document, 2] followed by Range 3 [paras[0].firstChild, 2, paras[0].firstChild, 9]: second addRange() must result in the selection's last range being the same object we added assert_equals: getRangeAt(rangeCount - 1) must return the same object we added expected object "b̈c̈d̈e" but got object "b̈c̈d̈e" +FAIL Range 35 [document, 0, document, 2] followed by Range 3 [paras[0].firstChild, 2, paras[0].firstChild, 9]: modifying the second added range must modify the Selection's last Range assert_equals: After mutating the second added Range, startOffset of the Selection's last Range must match the added Range expected 0 but got 2 FAIL Range 35 [document, 0, document, 2] followed by Range 3 [paras[0].firstChild, 2, paras[0].firstChild, 9]: modifying the Selection's last Range must modify the second added Range assert_equals: After second addRange(), after mutating the Selection's last Range, startOffset of the Selection's last Range must match the added Range expected 0 but got 6 PASS Range 35 [document, 0, document, 2] followed by Range 4 [paras[1].firstChild, 0, paras[1].firstChild, 0]: first addRange() must not throw exceptions or modify the range it's given PASS Range 35 [document, 0, document, 2] followed by Range 4 [paras[1].firstChild, 0, paras[1].firstChild, 0]: first addRange() must result in rangeCount being 1 @@ -2648,24 +2629,10 @@ PASS Range 35 [document, 0, document, 2] 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 35 [document, 0, document, 2] followed by Range 4 [paras[1].firstChild, 0, paras[1].firstChild, 0]: second addRange() must result in rangeCount being 1 FAIL Range 35 [document, 0, document, 2] followed by Range 4 [paras[1].firstChild, 0, paras[1].firstChild, 0]: second addRange() must result in the selection's last range having the specified endpoints assert_equals: startContainer of the Selection's last Range must match the added Range expected Text node "Ijklmnop -" but got Document node with 2 children -FAIL Range 35 [document, 0, document, 2] followed by Range 4 [paras[1].firstChild, 0, paras[1].firstChild, 0]: second addRange() must result in the selection's last range being the same object we added assert_equals: getRangeAt(rangeCount - 1) must return the same object we added expected object "" but got object "Selection.addRange() tests - -Äb̈c̈d̈ëf̈g̈ḧ -Ijklmnop -QrstuvwxYzabcdefGhijklmn - - - - - -"use strict"; - -testAddRangeSubSet(32, 36); -testDiv.style.display = "none"; +" but got Text node "Äb̈c̈d̈ëf̈g̈ḧ " -FAIL Range 35 [document, 0, document, 2] followed by Range 4 [paras[1].firstChild, 0, paras[1].firstChild, 0]: modifying the second added range must modify the Selection's last Range assert_equals: After mutating the second added Range, startContainer of the Selection's last Range must match the added Range expected Text node "Äb̈c̈d̈ëf̈g̈ḧ -" but got Document node with 2 children +FAIL Range 35 [document, 0, document, 2] followed by Range 4 [paras[1].firstChild, 0, paras[1].firstChild, 0]: second addRange() must result in the selection's last range being the same object we added assert_equals: getRangeAt(rangeCount - 1) must return the same object we added expected object "" but got object "" +FAIL Range 35 [document, 0, document, 2] followed by Range 4 [paras[1].firstChild, 0, paras[1].firstChild, 0]: modifying the second added range must modify the Selection's last Range assert_equals: After mutating the second added Range, startOffset of the Selection's last Range must match the added Range expected 0 but got 6 FAIL Range 35 [document, 0, document, 2] followed by Range 4 [paras[1].firstChild, 0, paras[1].firstChild, 0]: modifying the Selection's last Range must modify the second added Range assert_equals: After second addRange(), after mutating the Selection's last Range, startOffset of the Selection's last Range must match the added Range expected 0 but got 6 PASS Range 35 [document, 0, document, 2] followed by Range 5 [paras[1].firstChild, 0, paras[1].firstChild, 1]: first addRange() must not throw exceptions or modify the range it's given PASS Range 35 [document, 0, document, 2] followed by Range 5 [paras[1].firstChild, 0, paras[1].firstChild, 1]: first addRange() must result in rangeCount being 1 @@ -2676,24 +2643,10 @@ PASS Range 35 [document, 0, document, 2] 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 35 [document, 0, document, 2] followed by Range 5 [paras[1].firstChild, 0, paras[1].firstChild, 1]: second addRange() must result in rangeCount being 1 FAIL Range 35 [document, 0, document, 2] followed by Range 5 [paras[1].firstChild, 0, paras[1].firstChild, 1]: second addRange() must result in the selection's last range having the specified endpoints assert_equals: startContainer of the Selection's last Range must match the added Range expected Text node "Ijklmnop -" but got Document node with 2 children -FAIL Range 35 [document, 0, document, 2] followed by Range 5 [paras[1].firstChild, 0, paras[1].firstChild, 1]: second addRange() must result in the selection's last range being the same object we added assert_equals: getRangeAt(rangeCount - 1) must return the same object we added expected object "I" but got object "Selection.addRange() tests - -Äb̈c̈d̈ëf̈g̈ḧ -Ijklmnop -QrstuvwxYzabcdefGhijklmn - - - - - -"use strict"; - -testAddRangeSubSet(32, 36); -testDiv.style.display = "none"; +" but got Text node "Äb̈c̈d̈ëf̈g̈ḧ " -FAIL Range 35 [document, 0, document, 2] followed by Range 5 [paras[1].firstChild, 0, paras[1].firstChild, 1]: modifying the second added range must modify the Selection's last Range assert_equals: After mutating the second added Range, startContainer of the Selection's last Range must match the added Range expected Text node "Äb̈c̈d̈ëf̈g̈ḧ -" but got Document node with 2 children +FAIL Range 35 [document, 0, document, 2] followed by Range 5 [paras[1].firstChild, 0, paras[1].firstChild, 1]: second addRange() must result in the selection's last range being the same object we added assert_equals: getRangeAt(rangeCount - 1) must return the same object we added expected object "I" but got object "" +FAIL Range 35 [document, 0, document, 2] followed by Range 5 [paras[1].firstChild, 0, paras[1].firstChild, 1]: modifying the second added range must modify the Selection's last Range assert_equals: After mutating the second added Range, startOffset of the Selection's last Range must match the added Range expected 0 but got 6 FAIL Range 35 [document, 0, document, 2] followed by Range 5 [paras[1].firstChild, 0, paras[1].firstChild, 1]: modifying the Selection's last Range must modify the second added Range assert_equals: After second addRange(), after mutating the Selection's last Range, startOffset of the Selection's last Range must match the added Range expected 0 but got 6 PASS Range 35 [document, 0, document, 2] followed by Range 6 [paras[1].firstChild, 2, paras[1].firstChild, 8]: first addRange() must not throw exceptions or modify the range it's given PASS Range 35 [document, 0, document, 2] followed by Range 6 [paras[1].firstChild, 2, paras[1].firstChild, 8]: first addRange() must result in rangeCount being 1 @@ -2704,24 +2657,10 @@ PASS Range 35 [document, 0, document, 2] 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 35 [document, 0, document, 2] followed by Range 6 [paras[1].firstChild, 2, paras[1].firstChild, 8]: second addRange() must result in rangeCount being 1 FAIL Range 35 [document, 0, document, 2] followed by Range 6 [paras[1].firstChild, 2, paras[1].firstChild, 8]: second addRange() must result in the selection's last range having the specified endpoints assert_equals: startContainer of the Selection's last Range must match the added Range expected Text node "Ijklmnop -" but got Document node with 2 children -FAIL Range 35 [document, 0, document, 2] followed by Range 6 [paras[1].firstChild, 2, paras[1].firstChild, 8]: second addRange() must result in the selection's last range being the same object we added assert_equals: getRangeAt(rangeCount - 1) must return the same object we added expected object "klmnop" but got object "Selection.addRange() tests - -Äb̈c̈d̈ëf̈g̈ḧ -Ijklmnop -QrstuvwxYzabcdefGhijklmn - - - - - -"use strict"; - -testAddRangeSubSet(32, 36); -testDiv.style.display = "none"; +" but got Text node "Äb̈c̈d̈ëf̈g̈ḧ " -FAIL Range 35 [document, 0, document, 2] followed by Range 6 [paras[1].firstChild, 2, paras[1].firstChild, 8]: modifying the second added range must modify the Selection's last Range assert_equals: After mutating the second added Range, startContainer of the Selection's last Range must match the added Range expected Text node "Äb̈c̈d̈ëf̈g̈ḧ -" but got Document node with 2 children +FAIL Range 35 [document, 0, document, 2] followed by Range 6 [paras[1].firstChild, 2, paras[1].firstChild, 8]: second addRange() must result in the selection's last range being the same object we added assert_equals: getRangeAt(rangeCount - 1) must return the same object we added expected object "klmnop" but got object "" +FAIL Range 35 [document, 0, document, 2] followed by Range 6 [paras[1].firstChild, 2, paras[1].firstChild, 8]: modifying the second added range must modify the Selection's last Range assert_equals: After mutating the second added Range, startOffset of the Selection's last Range must match the added Range expected 0 but got 6 FAIL Range 35 [document, 0, document, 2] followed by Range 6 [paras[1].firstChild, 2, paras[1].firstChild, 8]: modifying the Selection's last Range must modify the second added Range assert_equals: After second addRange(), after mutating the Selection's last Range, startOffset of the Selection's last Range must match the added Range expected 0 but got 6 PASS Range 35 [document, 0, document, 2] followed by Range 7 [paras[1].firstChild, 2, paras[1].firstChild, 9]: first addRange() must not throw exceptions or modify the range it's given PASS Range 35 [document, 0, document, 2] followed by Range 7 [paras[1].firstChild, 2, paras[1].firstChild, 9]: first addRange() must result in rangeCount being 1 @@ -2732,25 +2671,11 @@ PASS Range 35 [document, 0, document, 2] 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 35 [document, 0, document, 2] followed by Range 7 [paras[1].firstChild, 2, paras[1].firstChild, 9]: second addRange() must result in rangeCount being 1 FAIL Range 35 [document, 0, document, 2] followed by Range 7 [paras[1].firstChild, 2, paras[1].firstChild, 9]: second addRange() must result in the selection's last range having the specified endpoints assert_equals: startContainer of the Selection's last Range must match the added Range expected Text node "Ijklmnop -" but got Document node with 2 children -FAIL Range 35 [document, 0, document, 2] followed by Range 7 [paras[1].firstChild, 2, paras[1].firstChild, 9]: second addRange() must result in the selection's last range being the same object we added assert_equals: getRangeAt(rangeCount - 1) must return the same object we added expected object "klmnop -" but got object "Selection.addRange() tests - -Äb̈c̈d̈ëf̈g̈ḧ -Ijklmnop -QrstuvwxYzabcdefGhijklmn - - - - - -"use strict"; - -testAddRangeSubSet(32, 36); -testDiv.style.display = "none"; +" but got Text node "Äb̈c̈d̈ëf̈g̈ḧ " -FAIL Range 35 [document, 0, document, 2] followed by Range 7 [paras[1].firstChild, 2, paras[1].firstChild, 9]: modifying the second added range must modify the Selection's last Range assert_equals: After mutating the second added Range, startContainer of the Selection's last Range must match the added Range expected Text node "Äb̈c̈d̈ëf̈g̈ḧ -" but got Document node with 2 children +FAIL Range 35 [document, 0, document, 2] followed by Range 7 [paras[1].firstChild, 2, paras[1].firstChild, 9]: second addRange() must result in the selection's last range being the same object we added assert_equals: getRangeAt(rangeCount - 1) must return the same object we added expected object "klmnop +" but got object "" +FAIL Range 35 [document, 0, document, 2] followed by Range 7 [paras[1].firstChild, 2, paras[1].firstChild, 9]: modifying the second added range must modify the Selection's last Range assert_equals: After mutating the second added Range, startOffset of the Selection's last Range must match the added Range expected 0 but got 6 FAIL Range 35 [document, 0, document, 2] followed by Range 7 [paras[1].firstChild, 2, paras[1].firstChild, 9]: modifying the Selection's last Range must modify the second added Range assert_equals: After second addRange(), after mutating the Selection's last Range, startOffset of the Selection's last Range must match the added Range expected 0 but got 6 PASS Range 35 [document, 0, document, 2] followed by Range 8 [detachedPara1.firstChild, 0, detachedPara1.firstChild, 0]: first addRange() must not throw exceptions or modify the range it's given PASS Range 35 [document, 0, document, 2] followed by Range 8 [detachedPara1.firstChild, 0, detachedPara1.firstChild, 0]: first addRange() must result in rangeCount being 1 @@ -2839,26 +2764,12 @@ PASS Range 35 [document, 0, document, 2] 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 35 [document, 0, document, 2] followed by Range 14 [document.documentElement, 0, document.documentElement, 1]: second addRange() must result in rangeCount being 1 FAIL Range 35 [document, 0, document, 2] followed by Range 14 [document.documentElement, 0, document.documentElement, 1]: second addRange() must result in the selection's last range having the specified endpoints assert_equals: startContainer of the Selection's last Range must match the added Range expected Element node <html><head><title>Selection.addRange() tests</title> -<me... but got Document node with 2 children +<me... but got Text node "Äb̈c̈d̈ëf̈g̈ḧ +" FAIL Range 35 [document, 0, document, 2] followed by Range 14 [document.documentElement, 0, document.documentElement, 1]: second addRange() must result in the selection's last range being the same object we added assert_equals: getRangeAt(rangeCount - 1) must return the same object we added expected object "Selection.addRange() tests -" but got object "Selection.addRange() tests - -Äb̈c̈d̈ëf̈g̈ḧ -Ijklmnop -QrstuvwxYzabcdefGhijklmn - - - - - -"use strict"; - -testAddRangeSubSet(32, 36); -testDiv.style.display = "none"; -" -FAIL Range 35 [document, 0, document, 2] followed by Range 14 [document.documentElement, 0, document.documentElement, 1]: modifying the second added range must modify the Selection's last Range assert_equals: After mutating the second added Range, startContainer of the Selection's last Range must match the added Range expected Text node "Äb̈c̈d̈ëf̈g̈ḧ -" but got Document node with 2 children +" but got object "" +FAIL Range 35 [document, 0, document, 2] followed by Range 14 [document.documentElement, 0, document.documentElement, 1]: modifying the second added range must modify the Selection's last Range assert_equals: After mutating the second added Range, startOffset of the Selection's last Range must match the added Range expected 0 but got 6 FAIL Range 35 [document, 0, document, 2] followed by Range 14 [document.documentElement, 0, document.documentElement, 1]: modifying the Selection's last Range must modify the second added Range assert_equals: After second addRange(), after mutating the Selection's last Range, startOffset of the Selection's last Range must match the added Range expected 0 but got 6 PASS Range 35 [document, 0, document, 2] followed by Range 15 [document.documentElement, 0, document.documentElement, 2]: first addRange() must not throw exceptions or modify the range it's given PASS Range 35 [document, 0, document, 2] followed by Range 15 [document.documentElement, 0, document.documentElement, 2]: first addRange() must result in rangeCount being 1 @@ -2868,8 +2779,7 @@ PASS Range 35 [document, 0, document, 2] followed by Range 15 [document.documentElement, 0, document.documentElement, 2]: modifying the Selection's last Range must modify the first added Range PASS Range 35 [document, 0, document, 2] 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 35 [document, 0, document, 2] followed by Range 15 [document.documentElement, 0, document.documentElement, 2]: second addRange() must result in rangeCount being 1 -FAIL Range 35 [document, 0, document, 2] followed by Range 15 [document.documentElement, 0, document.documentElement, 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 Element node <html><head><title>Selection.addRange() tests</title> -<me... but got Document node with 2 children +PASS Range 35 [document, 0, document, 2] followed by Range 15 [document.documentElement, 0, document.documentElement, 2]: second addRange() must result in the selection's last range having the specified endpoints FAIL Range 35 [document, 0, document, 2] followed by Range 15 [document.documentElement, 0, document.documentElement, 2]: second addRange() must result in the selection's last range being the same object we added assert_equals: getRangeAt(rangeCount - 1) must return the same object we added expected object "Selection.addRange() tests Äb̈c̈d̈ëf̈g̈ḧ @@ -2900,7 +2810,8 @@ testDiv.style.display = "none"; " FAIL Range 35 [document, 0, document, 2] followed by Range 15 [document.documentElement, 0, document.documentElement, 2]: modifying the second added range must modify the Selection's last Range assert_equals: After mutating the second added Range, startContainer of the Selection's last Range must match the added Range expected Text node "Äb̈c̈d̈ëf̈g̈ḧ -" but got Document node with 2 children +" but got Element node <html><head><title>Selection.addRange() tests</title> +<me... FAIL Range 35 [document, 0, document, 2] followed by Range 15 [document.documentElement, 0, document.documentElement, 2]: modifying the Selection's last Range must modify the second added Range assert_equals: After second addRange(), after mutating the Selection's last Range, startOffset of the Selection's last Range must match the added Range expected 0 but got 6 PASS Range 35 [document, 0, document, 2] followed by Range 16 [document.documentElement, 1, document.documentElement, 2]: first addRange() must not throw exceptions or modify the range it's given PASS Range 35 [document, 0, document, 2] followed by Range 16 [document.documentElement, 1, document.documentElement, 2]: first addRange() must result in rangeCount being 1 @@ -2910,8 +2821,7 @@ PASS Range 35 [document, 0, document, 2] followed by Range 16 [document.documentElement, 1, document.documentElement, 2]: modifying the Selection's last Range must modify the first added Range PASS Range 35 [document, 0, document, 2] 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 35 [document, 0, document, 2] followed by Range 16 [document.documentElement, 1, document.documentElement, 2]: second addRange() must result in rangeCount being 1 -FAIL Range 35 [document, 0, document, 2] followed by Range 16 [document.documentElement, 1, document.documentElement, 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 Element node <html><head><title>Selection.addRange() tests</title> -<me... but got Document node with 2 children +PASS Range 35 [document, 0, document, 2] followed by Range 16 [document.documentElement, 1, document.documentElement, 2]: second addRange() must result in the selection's last range having the specified endpoints FAIL Range 35 [document, 0, document, 2] followed by Range 16 [document.documentElement, 1, document.documentElement, 2]: second addRange() must result in the selection's last range being the same object we added assert_equals: getRangeAt(rangeCount - 1) must return the same object we added expected object "Äb̈c̈d̈ëf̈g̈ḧ Ijklmnop QrstuvwxYzabcdefGhijklmn @@ -2924,9 +2834,7 @@ testAddRangeSubSet(32, 36); testDiv.style.display = "none"; -" but got object "Selection.addRange() tests - -Äb̈c̈d̈ëf̈g̈ḧ +" but got object "Äb̈c̈d̈ëf̈g̈ḧ Ijklmnop QrstuvwxYzabcdefGhijklmn @@ -2940,7 +2848,8 @@ testDiv.style.display = "none"; " FAIL Range 35 [document, 0, document, 2] followed by Range 16 [document.documentElement, 1, document.documentElement, 2]: modifying the second added range must modify the Selection's last Range assert_equals: After mutating the second added Range, startContainer of the Selection's last Range must match the added Range expected Text node "Äb̈c̈d̈ëf̈g̈ḧ -" but got Document node with 2 children +" but got Element node <html><head><title>Selection.addRange() tests</title> +<me... FAIL Range 35 [document, 0, document, 2] followed by Range 16 [document.documentElement, 1, document.documentElement, 2]: modifying the Selection's last Range must modify the second added Range assert_equals: After second addRange(), after mutating the Selection's last Range, startOffset of the Selection's last Range must match the added Range expected 0 but got 6 PASS Range 35 [document, 0, document, 2] followed by Range 17 [document.head, 1, document.head, 1]: first addRange() must not throw exceptions or modify the range it's given PASS Range 35 [document, 0, document, 2] followed by Range 17 [document.head, 1, document.head, 1]: first addRange() must result in rangeCount being 1 @@ -2951,24 +2860,10 @@ PASS Range 35 [document, 0, document, 2] 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 35 [document, 0, document, 2] followed by Range 17 [document.head, 1, document.head, 1]: second addRange() must result in rangeCount being 1 FAIL Range 35 [document, 0, document, 2] followed by Range 17 [document.head, 1, document.head, 1]: second addRange() must result in the selection's last range having the specified endpoints assert_equals: startContainer of the Selection's last Range must match the added Range expected Element node <head><title>Selection.addRange() tests</title> -<meta nam... but got Document node with 2 children -FAIL Range 35 [document, 0, document, 2] followed by Range 17 [document.head, 1, document.head, 1]: second addRange() must result in the selection's last range being the same object we added assert_equals: getRangeAt(rangeCount - 1) must return the same object we added expected object "" but got object "Selection.addRange() tests - -Äb̈c̈d̈ëf̈g̈ḧ -Ijklmnop -QrstuvwxYzabcdefGhijklmn - - - - - -"use strict"; - -testAddRangeSubSet(32, 36); -testDiv.style.display = "none"; +<meta nam... but got Text node "Äb̈c̈d̈ëf̈g̈ḧ " -FAIL Range 35 [document, 0, document, 2] followed by Range 17 [document.head, 1, document.head, 1]: modifying the second added range must modify the Selection's last Range assert_equals: After mutating the second added Range, startContainer of the Selection's last Range must match the added Range expected Text node "Äb̈c̈d̈ëf̈g̈ḧ -" but got Document node with 2 children +FAIL Range 35 [document, 0, document, 2] followed by Range 17 [document.head, 1, document.head, 1]: second addRange() must result in the selection's last range being the same object we added assert_equals: getRangeAt(rangeCount - 1) must return the same object we added expected object "" but got object "" +FAIL Range 35 [document, 0, document, 2] followed by Range 17 [document.head, 1, document.head, 1]: modifying the second added range must modify the Selection's last Range assert_equals: After mutating the second added Range, startOffset of the Selection's last Range must match the added Range expected 0 but got 6 FAIL Range 35 [document, 0, document, 2] followed by Range 17 [document.head, 1, document.head, 1]: modifying the Selection's last Range must modify the second added Range assert_equals: After second addRange(), after mutating the Selection's last Range, startOffset of the Selection's last Range must match the added Range expected 0 but got 6 PASS Range 35 [document, 0, document, 2] followed by Range 18 [document.body, 0, document.body, 1]: first addRange() must not throw exceptions or modify the range it's given PASS Range 35 [document, 0, document, 2] followed by Range 18 [document.body, 0, document.body, 1]: first addRange() must result in rangeCount being 1 @@ -2978,27 +2873,15 @@ PASS Range 35 [document, 0, document, 2] followed by Range 18 [document.body, 0, document.body, 1]: modifying the Selection's last Range must modify the first added Range PASS Range 35 [document, 0, document, 2] 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 35 [document, 0, document, 2] followed by Range 18 [document.body, 0, document.body, 1]: second addRange() must result in rangeCount being 1 -FAIL Range 35 [document, 0, document, 2] followed by Range 18 [document.body, 0, document.body, 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 <body><div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ -</p><p id... but got Document node with 2 children +PASS Range 35 [document, 0, document, 2] followed by Range 18 [document.body, 0, document.body, 1]: second addRange() must result in the selection's last range having the specified endpoints FAIL Range 35 [document, 0, document, 2] followed by Range 18 [document.body, 0, document.body, 1]: second addRange() must result in the selection's last range being the same object we added assert_equals: getRangeAt(rangeCount - 1) must return the same object we added expected object "Äb̈c̈d̈ëf̈g̈ḧ Ijklmnop -QrstuvwxYzabcdefGhijklmn" but got object "Selection.addRange() tests - -Äb̈c̈d̈ëf̈g̈ḧ +QrstuvwxYzabcdefGhijklmn" but got object "Äb̈c̈d̈ëf̈g̈ḧ Ijklmnop -QrstuvwxYzabcdefGhijklmn - - - - - -"use strict"; - -testAddRangeSubSet(32, 36); -testDiv.style.display = "none"; -" +QrstuvwxYzabcdefGhijklmn" FAIL Range 35 [document, 0, document, 2] followed by Range 18 [document.body, 0, document.body, 1]: modifying the second added range must modify the Selection's last Range assert_equals: After mutating the second added Range, startContainer of the Selection's last Range must match the added Range expected Text node "Äb̈c̈d̈ëf̈g̈ḧ -" but got Document node with 2 children +" but got Element node <body><div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ +</p><p id... FAIL Range 35 [document, 0, document, 2] followed by Range 18 [document.body, 0, document.body, 1]: modifying the Selection's last Range must modify the second added Range assert_equals: After second addRange(), after mutating the Selection's last Range, startOffset of the Selection's last Range must match the added Range expected 0 but got 6 PASS Range 35 [document, 0, document, 2] followed by Range 19 [foreignDoc.documentElement, 0, foreignDoc.documentElement, 1]: first addRange() must not throw exceptions or modify the range it's given PASS Range 35 [document, 0, document, 2] followed by Range 19 [foreignDoc.documentElement, 0, foreignDoc.documentElement, 1]: first addRange() must result in rangeCount being 1 @@ -3048,24 +2931,10 @@ PASS Range 35 [document, 0, document, 2] 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 35 [document, 0, document, 2] followed by Range 22 [paras[0], 0, paras[0], 0]: second addRange() must result in rangeCount being 1 FAIL Range 35 [document, 0, document, 2] followed by Range 22 [paras[0], 0, paras[0], 0]: second addRange() must result in the selection's last range having the specified endpoints assert_equals: startContainer of the Selection's last Range must match the added Range expected Element node <p id="a">Äb̈c̈d̈ëf̈g̈ḧ -</p> but got Document node with 2 children -FAIL Range 35 [document, 0, document, 2] followed by Range 22 [paras[0], 0, paras[0], 0]: second addRange() must result in the selection's last range being the same object we added assert_equals: getRangeAt(rangeCount - 1) must return the same object we added expected object "" but got object "Selection.addRange() tests - -Äb̈c̈d̈ëf̈g̈ḧ -Ijklmnop -QrstuvwxYzabcdefGhijklmn - - - - - -"use strict"; - -testAddRangeSubSet(32, 36); -testDiv.style.display = "none"; +</p> but got Text node "Äb̈c̈d̈ëf̈g̈ḧ " -FAIL Range 35 [document, 0, document, 2] followed by Range 22 [paras[0], 0, paras[0], 0]: modifying the second added range must modify the Selection's last Range assert_equals: After mutating the second added Range, startContainer of the Selection's last Range must match the added Range expected Text node "Äb̈c̈d̈ëf̈g̈ḧ -" but got Document node with 2 children +FAIL Range 35 [document, 0, document, 2] followed by Range 22 [paras[0], 0, paras[0], 0]: second addRange() must result in the selection's last range being the same object we added assert_equals: getRangeAt(rangeCount - 1) must return the same object we added expected object "" but got object "" +FAIL Range 35 [document, 0, document, 2] followed by Range 22 [paras[0], 0, paras[0], 0]: modifying the second added range must modify the Selection's last Range assert_equals: After mutating the second added Range, startOffset of the Selection's last Range must match the added Range expected 0 but got 6 FAIL Range 35 [document, 0, document, 2] followed by Range 22 [paras[0], 0, paras[0], 0]: modifying the Selection's last Range must modify the second added Range assert_equals: After second addRange(), after mutating the Selection's last Range, startOffset of the Selection's last Range must match the added Range expected 0 but got 6 PASS Range 35 [document, 0, document, 2] followed by Range 23 [paras[0], 0, paras[0], 1]: first addRange() must not throw exceptions or modify the range it's given PASS Range 35 [document, 0, document, 2] followed by Range 23 [paras[0], 0, paras[0], 1]: first addRange() must result in rangeCount being 1 @@ -3075,26 +2944,13 @@ PASS Range 35 [document, 0, document, 2] followed by Range 23 [paras[0], 0, paras[0], 1]: modifying the Selection's last Range must modify the first added Range PASS Range 35 [document, 0, document, 2] 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 35 [document, 0, document, 2] followed by Range 23 [paras[0], 0, paras[0], 1]: second addRange() must result in rangeCount being 1 -FAIL Range 35 [document, 0, document, 2] followed by Range 23 [paras[0], 0, paras[0], 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 id="a">Äb̈c̈d̈ëf̈g̈ḧ -</p> but got Document node with 2 children +PASS Range 35 [document, 0, document, 2] followed by Range 23 [paras[0], 0, paras[0], 1]: second addRange() must result in the selection's last range having the specified endpoints FAIL Range 35 [document, 0, document, 2] followed by Range 23 [paras[0], 0, paras[0], 1]: second addRange() must result in the selection's last range being the same object we added assert_equals: getRangeAt(rangeCount - 1) must return the same object we added expected object "Äb̈c̈d̈ëf̈g̈ḧ -" but got object "Selection.addRange() tests - -Äb̈c̈d̈ëf̈g̈ḧ -Ijklmnop -QrstuvwxYzabcdefGhijklmn - - - - - -"use strict"; - -testAddRangeSubSet(32, 36); -testDiv.style.display = "none"; +" but got object "Äb̈c̈d̈ëf̈g̈ḧ " FAIL Range 35 [document, 0, document, 2] followed by Range 23 [paras[0], 0, paras[0], 1]: modifying the second added range must modify the Selection's last Range assert_equals: After mutating the second added Range, startContainer of the Selection's last Range must match the added Range expected Text node "Äb̈c̈d̈ëf̈g̈ḧ -" but got Document node with 2 children +" but got Element node <p id="a">Äb̈c̈d̈ëf̈g̈ḧ +</p> FAIL Range 35 [document, 0, document, 2] followed by Range 23 [paras[0], 0, paras[0], 1]: modifying the Selection's last Range must modify the second added Range assert_equals: After second addRange(), after mutating the Selection's last Range, startOffset of the Selection's last Range must match the added Range expected 0 but got 6 PASS Range 35 [document, 0, document, 2] followed by Range 24 [detachedPara1, 0, detachedPara1, 0]: first addRange() must not throw exceptions or modify the range it's given PASS Range 35 [document, 0, document, 2] followed by Range 24 [detachedPara1, 0, detachedPara1, 0]: first addRange() must result in rangeCount being 1 @@ -3130,26 +2986,13 @@ PASS Range 35 [document, 0, document, 2] followed by Range 26 [paras[0].firstChild, 0, paras[1].firstChild, 0]: modifying the Selection's last Range must modify the first added Range PASS Range 35 [document, 0, document, 2] 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 35 [document, 0, document, 2] followed by Range 26 [paras[0].firstChild, 0, paras[1].firstChild, 0]: second addRange() must result in rangeCount being 1 -FAIL Range 35 [document, 0, document, 2] followed by Range 26 [paras[0].firstChild, 0, paras[1].firstChild, 0]: second addRange() must result in the selection's last range having the specified endpoints assert_equals: startContainer of the Selection's last Range must match the added Range expected Text node "Äb̈c̈d̈ëf̈g̈ḧ -" but got Document node with 2 children +PASS Range 35 [document, 0, document, 2] followed by Range 26 [paras[0].firstChild, 0, paras[1].firstChild, 0]: second addRange() must result in the selection's last range having the specified endpoints FAIL Range 35 [document, 0, document, 2] followed by Range 26 [paras[0].firstChild, 0, paras[1].firstChild, 0]: second addRange() must result in the selection's last range being the same object we added assert_equals: getRangeAt(rangeCount - 1) must return the same object we added expected object "Äb̈c̈d̈ëf̈g̈ḧ -" but got object "Selection.addRange() tests - -Äb̈c̈d̈ëf̈g̈ḧ -Ijklmnop -QrstuvwxYzabcdefGhijklmn - - - - - -"use strict"; - -testAddRangeSubSet(32, 36); -testDiv.style.display = "none"; +" but got object "Äb̈c̈d̈ëf̈g̈ḧ " -FAIL Range 35 [document, 0, document, 2] followed by Range 26 [paras[0].firstChild, 0, paras[1].firstChild, 0]: modifying the second added range must modify the Selection's last Range assert_equals: After mutating the second added Range, startContainer of the Selection's last Range must match the added Range expected Text node "Äb̈c̈d̈ëf̈g̈ḧ -" but got Document node with 2 children +FAIL Range 35 [document, 0, document, 2] followed by Range 26 [paras[0].firstChild, 0, paras[1].firstChild, 0]: modifying the second added range must modify the Selection's last Range assert_equals: After mutating the second added Range, endContainer of the Selection's last Range must match the added Range expected Text node "Äb̈c̈d̈ëf̈g̈ḧ +" but got Text node "Ijklmnop +" FAIL Range 35 [document, 0, document, 2] followed by Range 26 [paras[0].firstChild, 0, paras[1].firstChild, 0]: modifying the Selection's last Range must modify the second added Range assert_equals: After second addRange(), after mutating the Selection's last Range, startOffset of the Selection's last Range must match the added Range expected 0 but got 6 PASS Range 35 [document, 0, document, 2] followed by Range 27 [paras[0].firstChild, 0, paras[1].firstChild, 8]: first addRange() must not throw exceptions or modify the range it's given PASS Range 35 [document, 0, document, 2] followed by Range 27 [paras[0].firstChild, 0, paras[1].firstChild, 8]: first addRange() must result in rangeCount being 1 @@ -3159,26 +3002,13 @@ PASS Range 35 [document, 0, document, 2] followed by Range 27 [paras[0].firstChild, 0, paras[1].firstChild, 8]: modifying the Selection's last Range must modify the first added Range PASS Range 35 [document, 0, document, 2] 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 35 [document, 0, document, 2] followed by Range 27 [paras[0].firstChild, 0, paras[1].firstChild, 8]: second addRange() must result in rangeCount being 1 -FAIL Range 35 [document, 0, document, 2] followed by Range 27 [paras[0].firstChild, 0, paras[1].firstChild, 8]: second addRange() must result in the selection's last range having the specified endpoints assert_equals: startContainer of the Selection's last Range must match the added Range expected Text node "Äb̈c̈d̈ëf̈g̈ḧ -" but got Document node with 2 children +PASS Range 35 [document, 0, document, 2] followed by Range 27 [paras[0].firstChild, 0, paras[1].firstChild, 8]: second addRange() must result in the selection's last range having the specified endpoints FAIL Range 35 [document, 0, document, 2] followed by Range 27 [paras[0].firstChild, 0, paras[1].firstChild, 8]: second addRange() must result in the selection's last range being the same object we added assert_equals: getRangeAt(rangeCount - 1) must return the same object we added expected object "Äb̈c̈d̈ëf̈g̈ḧ -Ijklmnop" but got object "Selection.addRange() tests - -Äb̈c̈d̈ëf̈g̈ḧ -Ijklmnop -QrstuvwxYzabcdefGhijklmn - - - - - -"use strict"; - -testAddRangeSubSet(32, 36); -testDiv.style.display = "none"; +Ijklmnop" but got object "Äb̈c̈d̈ëf̈g̈ḧ +Ijklmnop" +FAIL Range 35 [document, 0, document, 2] followed by Range 27 [paras[0].firstChild, 0, paras[1].firstChild, 8]: modifying the second added range must modify the Selection's last Range assert_equals: After mutating the second added Range, endContainer of the Selection's last Range must match the added Range expected Text node "Äb̈c̈d̈ëf̈g̈ḧ +" but got Text node "Ijklmnop " -FAIL Range 35 [document, 0, document, 2] followed by Range 27 [paras[0].firstChild, 0, paras[1].firstChild, 8]: modifying the second added range must modify the Selection's last Range assert_equals: After mutating the second added Range, startContainer of the Selection's last Range must match the added Range expected Text node "Äb̈c̈d̈ëf̈g̈ḧ -" but got Document node with 2 children FAIL Range 35 [document, 0, document, 2] followed by Range 27 [paras[0].firstChild, 0, paras[1].firstChild, 8]: modifying the Selection's last Range must modify the second added Range assert_equals: After second addRange(), after mutating the Selection's last Range, startOffset of the Selection's last Range must match the added Range expected 0 but got 6 PASS Range 35 [document, 0, document, 2] followed by Range 28 [paras[0].firstChild, 3, paras[3], 1]: first addRange() must not throw exceptions or modify the range it's given PASS Range 35 [document, 0, document, 2] followed by Range 28 [paras[0].firstChild, 3, paras[3], 1]: first addRange() must result in rangeCount being 1 @@ -3188,27 +3018,13 @@ PASS Range 35 [document, 0, document, 2] followed by Range 28 [paras[0].firstChild, 3, paras[3], 1]: modifying the Selection's last Range must modify the first added Range PASS Range 35 [document, 0, document, 2] 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 35 [document, 0, document, 2] followed by Range 28 [paras[0].firstChild, 3, paras[3], 1]: second addRange() must result in rangeCount being 1 -FAIL Range 35 [document, 0, document, 2] followed by Range 28 [paras[0].firstChild, 3, paras[3], 1]: second addRange() must result in the selection's last range having the specified endpoints assert_equals: startContainer of the Selection's last Range must match the added Range expected Text node "Äb̈c̈d̈ëf̈g̈ḧ -" but got Document node with 2 children +PASS Range 35 [document, 0, document, 2] followed by Range 28 [paras[0].firstChild, 3, paras[3], 1]: second addRange() must result in the selection's last range having the specified endpoints FAIL Range 35 [document, 0, document, 2] followed by Range 28 [paras[0].firstChild, 3, paras[3], 1]: second addRange() must result in the selection's last range being the same object we added assert_equals: getRangeAt(rangeCount - 1) must return the same object we added expected object "̈c̈d̈ëf̈g̈ḧ Ijklmnop -QrstuvwxYzabcdef" but got object "Selection.addRange() tests - -Äb̈c̈d̈ëf̈g̈ḧ +QrstuvwxYzabcdef" but got object "̈c̈d̈ëf̈g̈ḧ Ijklmnop -QrstuvwxYzabcdefGhijklmn - - - - - -"use strict"; - -testAddRangeSubSet(32, 36); -testDiv.style.display = "none"; -" -FAIL Range 35 [document, 0, document, 2] followed by Range 28 [paras[0].firstChild, 3, paras[3], 1]: modifying the second added range must modify the Selection's last Range assert_equals: After mutating the second added Range, startContainer of the Selection's last Range must match the added Range expected Text node "Äb̈c̈d̈ëf̈g̈ḧ -" but got Document node with 2 children +QrstuvwxYzabcdef" +FAIL Range 35 [document, 0, document, 2] followed by Range 28 [paras[0].firstChild, 3, paras[3], 1]: modifying the second added range must modify the Selection's last Range assert_equals: After mutating the second added Range, startOffset of the Selection's last Range must match the added Range expected 0 but got 3 FAIL Range 35 [document, 0, document, 2] followed by Range 28 [paras[0].firstChild, 3, paras[3], 1]: modifying the Selection's last Range must modify the second added Range assert_equals: After second addRange(), after mutating the Selection's last Range, startOffset of the Selection's last Range must match the added Range expected 0 but got 6 PASS Range 35 [document, 0, document, 2] followed by Range 29 [paras[0], 0, paras[0].firstChild, 7]: first addRange() must not throw exceptions or modify the range it's given PASS Range 35 [document, 0, document, 2] followed by Range 29 [paras[0], 0, paras[0].firstChild, 7]: first addRange() must result in rangeCount being 1 @@ -3218,25 +3034,11 @@ PASS Range 35 [document, 0, document, 2] followed by Range 29 [paras[0], 0, paras[0].firstChild, 7]: modifying the Selection's last Range must modify the first added Range PASS Range 35 [document, 0, document, 2] 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 35 [document, 0, document, 2] followed by Range 29 [paras[0], 0, paras[0].firstChild, 7]: second addRange() must result in rangeCount being 1 -FAIL Range 35 [document, 0, document, 2] followed by Range 29 [paras[0], 0, paras[0].firstChild, 7]: second addRange() must result in the selection's last range having the specified endpoints assert_equals: startContainer of the Selection's last Range must match the added Range expected Element node <p id="a">Äb̈c̈d̈ëf̈g̈ḧ -</p> but got Document node with 2 children -FAIL Range 35 [document, 0, document, 2] followed by Range 29 [paras[0], 0, paras[0].firstChild, 7]: second addRange() must result in the selection's last range being the same object we added assert_equals: getRangeAt(rangeCount - 1) must return the same object we added expected object "Äb̈c̈d" but got object "Selection.addRange() tests - -Äb̈c̈d̈ëf̈g̈ḧ -Ijklmnop -QrstuvwxYzabcdefGhijklmn - - - - - -"use strict"; - -testAddRangeSubSet(32, 36); -testDiv.style.display = "none"; -" +PASS Range 35 [document, 0, document, 2] followed by Range 29 [paras[0], 0, paras[0].firstChild, 7]: second addRange() must result in the selection's last range having the specified endpoints +FAIL Range 35 [document, 0, document, 2] followed by Range 29 [paras[0], 0, paras[0].firstChild, 7]: second addRange() must result in the selection's last range being the same object we added assert_equals: getRangeAt(rangeCount - 1) must return the same object we added expected object "Äb̈c̈d" but got object "Äb̈c̈d" FAIL Range 35 [document, 0, document, 2] followed by Range 29 [paras[0], 0, paras[0].firstChild, 7]: modifying the second added range must modify the Selection's last Range assert_equals: After mutating the second added Range, startContainer of the Selection's last Range must match the added Range expected Text node "Äb̈c̈d̈ëf̈g̈ḧ -" but got Document node with 2 children +" but got Element node <p id="a">Äb̈c̈d̈ëf̈g̈ḧ +</p> FAIL Range 35 [document, 0, document, 2] followed by Range 29 [paras[0], 0, paras[0].firstChild, 7]: modifying the Selection's last Range must modify the second added Range assert_equals: After second addRange(), after mutating the Selection's last Range, startOffset of the Selection's last Range must match the added Range expected 0 but got 6 PASS Range 35 [document, 0, document, 2] followed by Range 30 [testDiv, 2, paras[4], 1]: first addRange() must not throw exceptions or modify the range it's given PASS Range 35 [document, 0, document, 2] followed by Range 30 [testDiv, 2, paras[4], 1]: first addRange() must result in rangeCount being 1 @@ -3247,24 +3049,10 @@ PASS Range 35 [document, 0, document, 2] followed by Range 30 [testDiv, 2, paras[4], 1]: second addRange() must not throw exceptions or modify the range it's given PASS Range 35 [document, 0, document, 2] followed by Range 30 [testDiv, 2, paras[4], 1]: second addRange() must result in rangeCount being 1 FAIL Range 35 [document, 0, document, 2] followed by Range 30 [testDiv, 2, paras[4], 1]: second addRange() must result in the selection's last range having the specified endpoints assert_equals: startContainer of the Selection's last Range must match the added Range expected Element node <div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ -</p><p id="b" s... but got Document node with 2 children -FAIL Range 35 [document, 0, document, 2] followed by Range 30 [testDiv, 2, paras[4], 1]: second addRange() must result in the selection's last range being the same object we added assert_equals: getRangeAt(rangeCount - 1) must return the same object we added expected object "QrstuvwxYzabcdefGhijklmn" but got object "Selection.addRange() tests - -Äb̈c̈d̈ëf̈g̈ḧ -Ijklmnop -QrstuvwxYzabcdefGhijklmn - - - - - -"use strict"; - -testAddRangeSubSet(32, 36); -testDiv.style.display = "none"; +</p><p id="b" s... but got Text node "Äb̈c̈d̈ëf̈g̈ḧ " -FAIL Range 35 [document, 0, document, 2] followed by Range 30 [testDiv, 2, paras[4], 1]: modifying the second added range must modify the Selection's last Range assert_equals: After mutating the second added Range, startContainer of the Selection's last Range must match the added Range expected Text node "Äb̈c̈d̈ëf̈g̈ḧ -" but got Document node with 2 children +FAIL Range 35 [document, 0, document, 2] followed by Range 30 [testDiv, 2, paras[4], 1]: second addRange() must result in the selection's last range being the same object we added assert_equals: getRangeAt(rangeCount - 1) must return the same object we added expected object "QrstuvwxYzabcdefGhijklmn" but got object "" +FAIL Range 35 [document, 0, document, 2] followed by Range 30 [testDiv, 2, paras[4], 1]: modifying the second added range must modify the Selection's last Range assert_equals: After mutating the second added Range, startOffset of the Selection's last Range must match the added Range expected 0 but got 6 FAIL Range 35 [document, 0, document, 2] followed by Range 30 [testDiv, 2, paras[4], 1]: modifying the Selection's last Range must modify the second added Range assert_equals: After second addRange(), after mutating the Selection's last Range, startOffset of the Selection's last Range must match the added Range expected 0 but got 6 PASS Range 35 [document, 0, document, 2] followed by Range 31 [testDiv, 1, paras[2].firstChild, 5]: first addRange() must not throw exceptions or modify the range it's given PASS Range 35 [document, 0, document, 2] followed by Range 31 [testDiv, 1, paras[2].firstChild, 5]: first addRange() must result in rangeCount being 1 @@ -3275,25 +3063,11 @@ PASS Range 35 [document, 0, document, 2] 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 35 [document, 0, document, 2] followed by Range 31 [testDiv, 1, paras[2].firstChild, 5]: second addRange() must result in rangeCount being 1 FAIL Range 35 [document, 0, document, 2] followed by Range 31 [testDiv, 1, paras[2].firstChild, 5]: second addRange() must result in the selection's last range having the specified endpoints assert_equals: startContainer of the Selection's last Range must match the added Range expected Element node <div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ -</p><p id="b" s... but got Document node with 2 children -FAIL Range 35 [document, 0, document, 2] followed by Range 31 [testDiv, 1, paras[2].firstChild, 5]: second addRange() must result in the selection's last range being the same object we added assert_equals: getRangeAt(rangeCount - 1) must return the same object we added expected object "Ijklmnop -Qrstu" but got object "Selection.addRange() tests - -Äb̈c̈d̈ëf̈g̈ḧ -Ijklmnop -QrstuvwxYzabcdefGhijklmn - - - - - -"use strict"; - -testAddRangeSubSet(32, 36); -testDiv.style.display = "none"; +</p><p id="b" s... but got Text node "Äb̈c̈d̈ëf̈g̈ḧ " -FAIL Range 35 [document, 0, document, 2] followed by Range 31 [testDiv, 1, paras[2].firstChild, 5]: modifying the second added range must modify the Selection's last Range assert_equals: After mutating the second added Range, startContainer of the Selection's last Range must match the added Range expected Text node "Äb̈c̈d̈ëf̈g̈ḧ -" but got Document node with 2 children +FAIL Range 35 [document, 0, document, 2] followed by Range 31 [testDiv, 1, paras[2].firstChild, 5]: second addRange() must result in the selection's last range being the same object we added assert_equals: getRangeAt(rangeCount - 1) must return the same object we added expected object "Ijklmnop +Qrstu" but got object "" +FAIL Range 35 [document, 0, document, 2] followed by Range 31 [testDiv, 1, paras[2].firstChild, 5]: modifying the second added range must modify the Selection's last Range assert_equals: After mutating the second added Range, startOffset of the Selection's last Range must match the added Range expected 0 but got 6 FAIL Range 35 [document, 0, document, 2] followed by Range 31 [testDiv, 1, paras[2].firstChild, 5]: modifying the Selection's last Range must modify the second added Range assert_equals: After second addRange(), after mutating the Selection's last Range, startOffset of the Selection's last Range must match the added Range expected 0 but got 6 PASS Range 35 [document, 0, document, 2] followed by Range 32 [document.documentElement, 1, document.body, 0]: first addRange() must not throw exceptions or modify the range it's given PASS Range 35 [document, 0, document, 2] followed by Range 32 [document.documentElement, 1, document.body, 0]: first addRange() must result in rangeCount being 1 @@ -3304,24 +3078,10 @@ PASS Range 35 [document, 0, document, 2] 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 35 [document, 0, document, 2] followed by Range 32 [document.documentElement, 1, document.body, 0]: second addRange() must result in rangeCount being 1 FAIL Range 35 [document, 0, document, 2] followed by Range 32 [document.documentElement, 1, document.body, 0]: second addRange() must result in the selection's last range having the specified endpoints assert_equals: startContainer of the Selection's last Range must match the added Range expected Element node <html><head><title>Selection.addRange() tests</title> -<me... but got Document node with 2 children -FAIL Range 35 [document, 0, document, 2] followed by Range 32 [document.documentElement, 1, document.body, 0]: second addRange() must result in the selection's last range being the same object we added assert_equals: getRangeAt(rangeCount - 1) must return the same object we added expected object "" but got object "Selection.addRange() tests - -Äb̈c̈d̈ëf̈g̈ḧ -Ijklmnop -QrstuvwxYzabcdefGhijklmn - - - - - -"use strict"; - -testAddRangeSubSet(32, 36); -testDiv.style.display = "none"; +<me... but got Text node "Äb̈c̈d̈ëf̈g̈ḧ " -FAIL Range 35 [document, 0, document, 2] followed by Range 32 [document.documentElement, 1, document.body, 0]: modifying the second added range must modify the Selection's last Range assert_equals: After mutating the second added Range, startContainer of the Selection's last Range must match the added Range expected Text node "Äb̈c̈d̈ëf̈g̈ḧ -" but got Document node with 2 children +FAIL Range 35 [document, 0, document, 2] followed by Range 32 [document.documentElement, 1, document.body, 0]: second addRange() must result in the selection's last range being the same object we added assert_equals: getRangeAt(rangeCount - 1) must return the same object we added expected object "" but got object "" +FAIL Range 35 [document, 0, document, 2] followed by Range 32 [document.documentElement, 1, document.body, 0]: modifying the second added range must modify the Selection's last Range assert_equals: After mutating the second added Range, startOffset of the Selection's last Range must match the added Range expected 0 but got 6 FAIL Range 35 [document, 0, document, 2] followed by Range 32 [document.documentElement, 1, document.body, 0]: modifying the Selection's last Range must modify the second added Range assert_equals: After second addRange(), after mutating the Selection's last Range, startOffset of the Selection's last Range must match the added Range expected 0 but got 6 PASS Range 35 [document, 0, document, 2] followed by Range 33 [foreignDoc.documentElement, 1, foreignDoc.body, 0]: first addRange() must not throw exceptions or modify the range it's given PASS Range 35 [document, 0, document, 2] followed by Range 33 [foreignDoc.documentElement, 1, foreignDoc.body, 0]: first addRange() must result in rangeCount being 1 @@ -3344,24 +3104,10 @@ PASS Range 35 [document, 0, document, 2] followed by Range 34 [document, 0, document, 1]: modifying the Selection's last Range must modify the first added Range PASS Range 35 [document, 0, document, 2] followed by Range 34 [document, 0, document, 1]: second addRange() must not throw exceptions or modify the range it's given PASS Range 35 [document, 0, document, 2] followed by Range 34 [document, 0, document, 1]: second addRange() must result in rangeCount being 1 -FAIL Range 35 [document, 0, document, 2] followed by Range 34 [document, 0, document, 1]: second addRange() must result in the selection's last range having the specified endpoints assert_equals: endOffset of the Selection's last Range must match the added Range expected 1 but got 2 -FAIL Range 35 [document, 0, document, 2] followed by Range 34 [document, 0, document, 1]: second addRange() must result in the selection's last range being the same object we added assert_equals: getRangeAt(rangeCount - 1) must return the same object we added expected object "" but got object "Selection.addRange() tests - -Äb̈c̈d̈ëf̈g̈ḧ -Ijklmnop -QrstuvwxYzabcdefGhijklmn - - - - - -"use strict"; - -testAddRangeSubSet(32, 36); -testDiv.style.display = "none"; +FAIL Range 35 [document, 0, document, 2] followed by Range 34 [document, 0, document, 1]: second addRange() must result in the selection's last range having the specified endpoints assert_equals: startContainer of the Selection's last Range must match the added Range expected Document node with 2 children but got Text node "Äb̈c̈d̈ëf̈g̈ḧ " -FAIL Range 35 [document, 0, document, 2] followed by Range 34 [document, 0, document, 1]: modifying the second added range must modify the Selection's last Range assert_equals: After mutating the second added Range, startContainer of the Selection's last Range must match the added Range expected Text node "Äb̈c̈d̈ëf̈g̈ḧ -" but got Document node with 2 children +FAIL Range 35 [document, 0, document, 2] followed by Range 34 [document, 0, document, 1]: second addRange() must result in the selection's last range being the same object we added assert_equals: getRangeAt(rangeCount - 1) must return the same object we added expected object "" but got object "" +FAIL Range 35 [document, 0, document, 2] followed by Range 34 [document, 0, document, 1]: modifying the second added range must modify the Selection's last Range assert_equals: After mutating the second added Range, startOffset of the Selection's last Range must match the added Range expected 0 but got 6 FAIL Range 35 [document, 0, document, 2] followed by Range 34 [document, 0, document, 1]: modifying the Selection's last Range must modify the second added Range assert_equals: After second addRange(), after mutating the Selection's last Range, startOffset of the Selection's last Range must match the added Range expected 0 but got 6 PASS Range 35 [document, 0, document, 2] followed by Range 35 [document, 0, document, 2]: first addRange() must not throw exceptions or modify the range it's given PASS Range 35 [document, 0, document, 2] followed by Range 35 [document, 0, document, 2]: first addRange() must result in rangeCount being 1 @@ -3412,7 +3158,7 @@ PASS Range 35 [document, 0, document, 2] followed by Range 36 [document, 1, document, 2]: modifying the Selection's last Range must modify the first added Range PASS Range 35 [document, 0, document, 2] followed by Range 36 [document, 1, document, 2]: second addRange() must not throw exceptions or modify the range it's given PASS Range 35 [document, 0, document, 2] followed by Range 36 [document, 1, document, 2]: second addRange() must result in rangeCount being 1 -FAIL Range 35 [document, 0, document, 2] followed by Range 36 [document, 1, document, 2]: second addRange() must result in the selection's last range having the specified endpoints assert_equals: startOffset of the Selection's last Range must match the added Range expected 1 but got 0 +PASS Range 35 [document, 0, document, 2] followed by Range 36 [document, 1, document, 2]: second addRange() must result in the selection's last range having the specified endpoints FAIL Range 35 [document, 0, document, 2] followed by Range 36 [document, 1, document, 2]: second addRange() must result in the selection's last range being the same object we added assert_equals: getRangeAt(rangeCount - 1) must return the same object we added expected object "Selection.addRange() tests Äb̈c̈d̈ëf̈g̈ḧ @@ -3453,27 +3199,16 @@ PASS Range 35 [document, 0, document, 2] followed by Range 37 [testDiv, 0, comment, 5]: modifying the Selection's last Range must modify the first added Range PASS Range 35 [document, 0, document, 2] followed by Range 37 [testDiv, 0, comment, 5]: second addRange() must not throw exceptions or modify the range it's given PASS Range 35 [document, 0, document, 2] followed by Range 37 [testDiv, 0, comment, 5]: second addRange() must result in rangeCount being 1 -FAIL Range 35 [document, 0, document, 2] followed by Range 37 [testDiv, 0, comment, 5]: second addRange() must result in the selection's last range having the specified endpoints assert_equals: startContainer of the Selection's last Range must match the added Range expected Element node <div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ -</p><p id="b" s... but got Document node with 2 children +FAIL Range 35 [document, 0, document, 2] followed by Range 37 [testDiv, 0, comment, 5]: second addRange() must result in the selection's last range having the specified endpoints assert_equals: endContainer of the Selection's last Range must match the added Range expected Comment node <!--Alphabet soup?--> but got Element node <div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ +</p><p id="b" s... FAIL Range 35 [document, 0, document, 2] followed by Range 37 [testDiv, 0, comment, 5]: second addRange() must result in the selection's last range being the same object we added assert_equals: getRangeAt(rangeCount - 1) must return the same object we added expected object "Äb̈c̈d̈ëf̈g̈ḧ Ijklmnop -QrstuvwxYzabcdefGhijklmn" but got object "Selection.addRange() tests - -Äb̈c̈d̈ëf̈g̈ḧ +QrstuvwxYzabcdefGhijklmn" but got object "Äb̈c̈d̈ëf̈g̈ḧ Ijklmnop -QrstuvwxYzabcdefGhijklmn - - - - - -"use strict"; - -testAddRangeSubSet(32, 36); -testDiv.style.display = "none"; -" +QrstuvwxYzabcdefGhijklmn" FAIL Range 35 [document, 0, document, 2] followed by Range 37 [testDiv, 0, comment, 5]: modifying the second added range must modify the Selection's last Range assert_equals: After mutating the second added Range, startContainer of the Selection's last Range must match the added Range expected Text node "Äb̈c̈d̈ëf̈g̈ḧ -" but got Document node with 2 children +" but got Element node <div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ +</p><p id="b" s... FAIL Range 35 [document, 0, document, 2] followed by Range 37 [testDiv, 0, comment, 5]: modifying the Selection's last Range must modify the second added Range assert_equals: After second addRange(), after mutating the Selection's last Range, startOffset of the Selection's last Range must match the added Range expected 0 but got 6 PASS Range 35 [document, 0, document, 2] followed by Range 38 [paras[2].firstChild, 4, comment, 2]: first addRange() must not throw exceptions or modify the range it's given PASS Range 35 [document, 0, document, 2] followed by Range 38 [paras[2].firstChild, 4, comment, 2]: first addRange() must result in rangeCount being 1 @@ -3483,24 +3218,10 @@ PASS Range 35 [document, 0, document, 2] followed by Range 38 [paras[2].firstChild, 4, comment, 2]: modifying the Selection's last Range must modify the first added Range PASS Range 35 [document, 0, document, 2] 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 35 [document, 0, document, 2] followed by Range 38 [paras[2].firstChild, 4, comment, 2]: second addRange() must result in rangeCount being 1 -FAIL Range 35 [document, 0, document, 2] followed by Range 38 [paras[2].firstChild, 4, comment, 2]: second addRange() must result in the selection's last range having the specified endpoints assert_equals: startContainer of the Selection's last Range must match the added Range expected Text node "Qrstuvwx" but got Document node with 2 children -FAIL Range 35 [document, 0, document, 2] followed by Range 38 [paras[2].firstChild, 4, comment, 2]: second addRange() must result in the selection's last range being the same object we added assert_equals: getRangeAt(rangeCount - 1) must return the same object we added expected object "uvwxYzabcdefGhijklmn" but got object "Selection.addRange() tests - -Äb̈c̈d̈ëf̈g̈ḧ -Ijklmnop -QrstuvwxYzabcdefGhijklmn - - - - - -"use strict"; - -testAddRangeSubSet(32, 36); -testDiv.style.display = "none"; +FAIL Range 35 [document, 0, document, 2] followed by Range 38 [paras[2].firstChild, 4, comment, 2]: second addRange() must result in the selection's last range having the specified endpoints assert_equals: startContainer of the Selection's last Range must match the added Range expected Text node "Qrstuvwx" but got Text node "Äb̈c̈d̈ëf̈g̈ḧ " -FAIL Range 35 [document, 0, document, 2] followed by Range 38 [paras[2].firstChild, 4, comment, 2]: modifying the second added range must modify the Selection's last Range assert_equals: After mutating the second added Range, startContainer of the Selection's last Range must match the added Range expected Text node "Äb̈c̈d̈ëf̈g̈ḧ -" but got Document node with 2 children +FAIL Range 35 [document, 0, document, 2] followed by Range 38 [paras[2].firstChild, 4, comment, 2]: second addRange() must result in the selection's last range being the same object we added assert_equals: getRangeAt(rangeCount - 1) must return the same object we added expected object "uvwxYzabcdefGhijklmn" but got object "" +FAIL Range 35 [document, 0, document, 2] followed by Range 38 [paras[2].firstChild, 4, comment, 2]: modifying the second added range must modify the Selection's last Range assert_equals: After mutating the second added Range, startOffset of the Selection's last Range must match the added Range expected 0 but got 6 FAIL Range 35 [document, 0, document, 2] followed by Range 38 [paras[2].firstChild, 4, comment, 2]: modifying the Selection's last Range must modify the second added Range assert_equals: After second addRange(), after mutating the Selection's last Range, startOffset of the Selection's last Range must match the added Range expected 0 but got 6 PASS Range 35 [document, 0, document, 2] followed by Range 39 [paras[3], 1, comment, 8]: first addRange() must not throw exceptions or modify the range it's given PASS Range 35 [document, 0, document, 2] followed by Range 39 [paras[3], 1, comment, 8]: first addRange() must result in rangeCount being 1 @@ -3510,24 +3231,10 @@ PASS Range 35 [document, 0, document, 2] followed by Range 39 [paras[3], 1, comment, 8]: modifying the Selection's last Range must modify the first added Range PASS Range 35 [document, 0, document, 2] followed by Range 39 [paras[3], 1, comment, 8]: second addRange() must not throw exceptions or modify the range it's given PASS Range 35 [document, 0, document, 2] followed by Range 39 [paras[3], 1, comment, 8]: second addRange() must result in rangeCount being 1 -FAIL Range 35 [document, 0, document, 2] followed by Range 39 [paras[3], 1, comment, 8]: second addRange() must result in the selection's last range having the specified endpoints assert_equals: startContainer of the Selection's last Range must match the added Range expected Element node <p id="d" style="display:none">Yzabcdef</p> but got Document node with 2 children -FAIL Range 35 [document, 0, document, 2] followed by Range 39 [paras[3], 1, comment, 8]: second addRange() must result in the selection's last range being the same object we added assert_equals: getRangeAt(rangeCount - 1) must return the same object we added expected object "Ghijklmn" but got object "Selection.addRange() tests - -Äb̈c̈d̈ëf̈g̈ḧ -Ijklmnop -QrstuvwxYzabcdefGhijklmn - - - - - -"use strict"; - -testAddRangeSubSet(32, 36); -testDiv.style.display = "none"; +FAIL Range 35 [document, 0, document, 2] followed by Range 39 [paras[3], 1, comment, 8]: second addRange() must result in the selection's last range having the specified endpoints assert_equals: startContainer of the Selection's last Range must match the added Range expected Element node <p id="d" style="display:none">Yzabcdef</p> but got Text node "Äb̈c̈d̈ëf̈g̈ḧ " -FAIL Range 35 [document, 0, document, 2] followed by Range 39 [paras[3], 1, comment, 8]: modifying the second added range must modify the Selection's last Range assert_equals: After mutating the second added Range, startContainer of the Selection's last Range must match the added Range expected Text node "Äb̈c̈d̈ëf̈g̈ḧ -" but got Document node with 2 children +FAIL Range 35 [document, 0, document, 2] followed by Range 39 [paras[3], 1, comment, 8]: second addRange() must result in the selection's last range being the same object we added assert_equals: getRangeAt(rangeCount - 1) must return the same object we added expected object "Ghijklmn" but got object "" +FAIL Range 35 [document, 0, document, 2] followed by Range 39 [paras[3], 1, comment, 8]: modifying the second added range must modify the Selection's last Range assert_equals: After mutating the second added Range, startOffset of the Selection's last Range must match the added Range expected 0 but got 6 FAIL Range 35 [document, 0, document, 2] followed by Range 39 [paras[3], 1, comment, 8]: modifying the Selection's last Range must modify the second added Range assert_equals: After second addRange(), after mutating the Selection's last Range, startOffset of the Selection's last Range must match the added Range expected 0 but got 6 PASS Range 35 [document, 0, document, 2] followed by Range 40 [foreignDoc, 0, foreignDoc, 0]: first addRange() must not throw exceptions or modify the range it's given PASS Range 35 [document, 0, document, 2] followed by Range 40 [foreignDoc, 0, foreignDoc, 0]: first addRange() must result in rangeCount being 1
diff --git a/third_party/WebKit/LayoutTests/external/wpt/selection/addRange-36-expected.txt b/third_party/WebKit/LayoutTests/external/wpt/selection/addRange-36-expected.txt index 20e7c1bb..a6cd30f 100644 --- a/third_party/WebKit/LayoutTests/external/wpt/selection/addRange-36-expected.txt +++ b/third_party/WebKit/LayoutTests/external/wpt/selection/addRange-36-expected.txt
@@ -1,27 +1,3 @@ -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 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: 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. @@ -34,9 +10,9 @@ 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: 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. @@ -52,6 +28,28 @@ 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. @@ -60,6 +58,29 @@ 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. @@ -82,25 +103,9 @@ PASS Range 36 [document, 1, document, 2] followed by Range 0 [paras[0].firstChild, 0, paras[0].firstChild, 0]: modifying the Selection's last Range must modify the first added Range PASS Range 36 [document, 1, document, 2] 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 36 [document, 1, document, 2] followed by Range 0 [paras[0].firstChild, 0, paras[0].firstChild, 0]: second addRange() must result in rangeCount being 1 -FAIL Range 36 [document, 1, document, 2] followed by Range 0 [paras[0].firstChild, 0, paras[0].firstChild, 0]: second addRange() must result in the selection's last range having the specified endpoints assert_equals: startContainer of the Selection's last Range must match the added Range expected Text node "Äb̈c̈d̈ëf̈g̈ḧ -" but got Document node with 2 children -FAIL Range 36 [document, 1, document, 2] followed by Range 0 [paras[0].firstChild, 0, paras[0].firstChild, 0]: second addRange() must result in the selection's last range being the same object we added assert_equals: getRangeAt(rangeCount - 1) must return the same object we added expected object "" but got object "Selection.addRange() tests - -Äb̈c̈d̈ëf̈g̈ḧ -Ijklmnop -QrstuvwxYzabcdefGhijklmn - - - - - -"use strict"; - -testAddRangeSubSet(36, 40); -testDiv.style.display = "none"; -" -FAIL Range 36 [document, 1, document, 2] followed by Range 0 [paras[0].firstChild, 0, paras[0].firstChild, 0]: modifying the second added range must modify the Selection's last Range assert_equals: After mutating the second added Range, startContainer of the Selection's last Range must match the added Range expected Text node "Äb̈c̈d̈ëf̈g̈ḧ -" but got Document node with 2 children +FAIL Range 36 [document, 1, document, 2] followed by Range 0 [paras[0].firstChild, 0, paras[0].firstChild, 0]: second addRange() must result in the selection's last range having the specified endpoints assert_equals: startOffset of the Selection's last Range must match the added Range expected 0 but got 6 +FAIL Range 36 [document, 1, document, 2] followed by Range 0 [paras[0].firstChild, 0, paras[0].firstChild, 0]: second addRange() must result in the selection's last range being the same object we added assert_equals: getRangeAt(rangeCount - 1) must return the same object we added expected object "" but got object "" +FAIL Range 36 [document, 1, document, 2] followed by Range 0 [paras[0].firstChild, 0, paras[0].firstChild, 0]: modifying the second added range must modify the Selection's last Range assert_equals: After mutating the second added Range, startOffset of the Selection's last Range must match the added Range expected 0 but got 6 FAIL Range 36 [document, 1, document, 2] followed by Range 0 [paras[0].firstChild, 0, paras[0].firstChild, 0]: modifying the Selection's last Range must modify the second added Range assert_equals: After second addRange(), after mutating the Selection's last Range, startOffset of the Selection's last Range must match the added Range expected 0 but got 6 PASS Range 36 [document, 1, document, 2] followed by Range 1 [paras[0].firstChild, 0, paras[0].firstChild, 1]: first addRange() must not throw exceptions or modify the range it's given PASS Range 36 [document, 1, document, 2] followed by Range 1 [paras[0].firstChild, 0, paras[0].firstChild, 1]: first addRange() must result in rangeCount being 1 @@ -110,25 +115,9 @@ PASS Range 36 [document, 1, document, 2] followed by Range 1 [paras[0].firstChild, 0, paras[0].firstChild, 1]: modifying the Selection's last Range must modify the first added Range PASS Range 36 [document, 1, document, 2] 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 36 [document, 1, document, 2] followed by Range 1 [paras[0].firstChild, 0, paras[0].firstChild, 1]: second addRange() must result in rangeCount being 1 -FAIL Range 36 [document, 1, document, 2] followed by Range 1 [paras[0].firstChild, 0, paras[0].firstChild, 1]: second addRange() must result in the selection's last range having the specified endpoints assert_equals: startContainer of the Selection's last Range must match the added Range expected Text node "Äb̈c̈d̈ëf̈g̈ḧ -" but got Document node with 2 children -FAIL Range 36 [document, 1, document, 2] followed by Range 1 [paras[0].firstChild, 0, paras[0].firstChild, 1]: second addRange() must result in the selection's last range being the same object we added assert_equals: getRangeAt(rangeCount - 1) must return the same object we added expected object "A" but got object "Selection.addRange() tests - -Äb̈c̈d̈ëf̈g̈ḧ -Ijklmnop -QrstuvwxYzabcdefGhijklmn - - - - - -"use strict"; - -testAddRangeSubSet(36, 40); -testDiv.style.display = "none"; -" -FAIL Range 36 [document, 1, document, 2] followed by Range 1 [paras[0].firstChild, 0, paras[0].firstChild, 1]: modifying the second added range must modify the Selection's last Range assert_equals: After mutating the second added Range, startContainer of the Selection's last Range must match the added Range expected Text node "Äb̈c̈d̈ëf̈g̈ḧ -" but got Document node with 2 children +FAIL Range 36 [document, 1, document, 2] followed by Range 1 [paras[0].firstChild, 0, paras[0].firstChild, 1]: second addRange() must result in the selection's last range having the specified endpoints assert_equals: startOffset of the Selection's last Range must match the added Range expected 0 but got 6 +FAIL Range 36 [document, 1, document, 2] followed by Range 1 [paras[0].firstChild, 0, paras[0].firstChild, 1]: second addRange() must result in the selection's last range being the same object we added assert_equals: getRangeAt(rangeCount - 1) must return the same object we added expected object "A" but got object "" +FAIL Range 36 [document, 1, document, 2] followed by Range 1 [paras[0].firstChild, 0, paras[0].firstChild, 1]: modifying the second added range must modify the Selection's last Range assert_equals: After mutating the second added Range, startOffset of the Selection's last Range must match the added Range expected 0 but got 6 FAIL Range 36 [document, 1, document, 2] followed by Range 1 [paras[0].firstChild, 0, paras[0].firstChild, 1]: modifying the Selection's last Range must modify the second added Range assert_equals: After second addRange(), after mutating the Selection's last Range, startOffset of the Selection's last Range must match the added Range expected 0 but got 6 PASS Range 36 [document, 1, document, 2] followed by Range 2 [paras[0].firstChild, 2, paras[0].firstChild, 8]: first addRange() must not throw exceptions or modify the range it's given PASS Range 36 [document, 1, document, 2] followed by Range 2 [paras[0].firstChild, 2, paras[0].firstChild, 8]: first addRange() must result in rangeCount being 1 @@ -138,25 +127,9 @@ PASS Range 36 [document, 1, document, 2] followed by Range 2 [paras[0].firstChild, 2, paras[0].firstChild, 8]: modifying the Selection's last Range must modify the first added Range PASS Range 36 [document, 1, document, 2] 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 36 [document, 1, document, 2] followed by Range 2 [paras[0].firstChild, 2, paras[0].firstChild, 8]: second addRange() must result in rangeCount being 1 -FAIL Range 36 [document, 1, document, 2] followed by Range 2 [paras[0].firstChild, 2, paras[0].firstChild, 8]: second addRange() must result in the selection's last range having the specified endpoints assert_equals: startContainer of the Selection's last Range must match the added Range expected Text node "Äb̈c̈d̈ëf̈g̈ḧ -" but got Document node with 2 children -FAIL Range 36 [document, 1, document, 2] followed by Range 2 [paras[0].firstChild, 2, paras[0].firstChild, 8]: second addRange() must result in the selection's last range being the same object we added assert_equals: getRangeAt(rangeCount - 1) must return the same object we added expected object "b̈c̈d̈" but got object "Selection.addRange() tests - -Äb̈c̈d̈ëf̈g̈ḧ -Ijklmnop -QrstuvwxYzabcdefGhijklmn - - - - - -"use strict"; - -testAddRangeSubSet(36, 40); -testDiv.style.display = "none"; -" -FAIL Range 36 [document, 1, document, 2] followed by Range 2 [paras[0].firstChild, 2, paras[0].firstChild, 8]: modifying the second added range must modify the Selection's last Range assert_equals: After mutating the second added Range, startContainer of the Selection's last Range must match the added Range expected Text node "Äb̈c̈d̈ëf̈g̈ḧ -" but got Document node with 2 children +PASS Range 36 [document, 1, document, 2] followed by Range 2 [paras[0].firstChild, 2, paras[0].firstChild, 8]: second addRange() must result in the selection's last range having the specified endpoints +FAIL Range 36 [document, 1, document, 2] followed by Range 2 [paras[0].firstChild, 2, paras[0].firstChild, 8]: second addRange() must result in the selection's last range being the same object we added assert_equals: getRangeAt(rangeCount - 1) must return the same object we added expected object "b̈c̈d̈" but got object "b̈c̈d̈" +FAIL Range 36 [document, 1, document, 2] followed by Range 2 [paras[0].firstChild, 2, paras[0].firstChild, 8]: modifying the second added range must modify the Selection's last Range assert_equals: After mutating the second added Range, startOffset of the Selection's last Range must match the added Range expected 0 but got 2 FAIL Range 36 [document, 1, document, 2] followed by Range 2 [paras[0].firstChild, 2, paras[0].firstChild, 8]: modifying the Selection's last Range must modify the second added Range assert_equals: After second addRange(), after mutating the Selection's last Range, startOffset of the Selection's last Range must match the added Range expected 0 but got 6 PASS Range 36 [document, 1, document, 2] followed by Range 3 [paras[0].firstChild, 2, paras[0].firstChild, 9]: first addRange() must not throw exceptions or modify the range it's given PASS Range 36 [document, 1, document, 2] followed by Range 3 [paras[0].firstChild, 2, paras[0].firstChild, 9]: first addRange() must result in rangeCount being 1 @@ -166,25 +139,9 @@ PASS Range 36 [document, 1, document, 2] followed by Range 3 [paras[0].firstChild, 2, paras[0].firstChild, 9]: modifying the Selection's last Range must modify the first added Range PASS Range 36 [document, 1, document, 2] 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 36 [document, 1, document, 2] followed by Range 3 [paras[0].firstChild, 2, paras[0].firstChild, 9]: second addRange() must result in rangeCount being 1 -FAIL Range 36 [document, 1, document, 2] followed by Range 3 [paras[0].firstChild, 2, paras[0].firstChild, 9]: second addRange() must result in the selection's last range having the specified endpoints assert_equals: startContainer of the Selection's last Range must match the added Range expected Text node "Äb̈c̈d̈ëf̈g̈ḧ -" but got Document node with 2 children -FAIL Range 36 [document, 1, document, 2] followed by Range 3 [paras[0].firstChild, 2, paras[0].firstChild, 9]: second addRange() must result in the selection's last range being the same object we added assert_equals: getRangeAt(rangeCount - 1) must return the same object we added expected object "b̈c̈d̈e" but got object "Selection.addRange() tests - -Äb̈c̈d̈ëf̈g̈ḧ -Ijklmnop -QrstuvwxYzabcdefGhijklmn - - - - - -"use strict"; - -testAddRangeSubSet(36, 40); -testDiv.style.display = "none"; -" -FAIL Range 36 [document, 1, document, 2] followed by Range 3 [paras[0].firstChild, 2, paras[0].firstChild, 9]: modifying the second added range must modify the Selection's last Range assert_equals: After mutating the second added Range, startContainer of the Selection's last Range must match the added Range expected Text node "Äb̈c̈d̈ëf̈g̈ḧ -" but got Document node with 2 children +PASS Range 36 [document, 1, document, 2] followed by Range 3 [paras[0].firstChild, 2, paras[0].firstChild, 9]: second addRange() must result in the selection's last range having the specified endpoints +FAIL Range 36 [document, 1, document, 2] followed by Range 3 [paras[0].firstChild, 2, paras[0].firstChild, 9]: second addRange() must result in the selection's last range being the same object we added assert_equals: getRangeAt(rangeCount - 1) must return the same object we added expected object "b̈c̈d̈e" but got object "b̈c̈d̈e" +FAIL Range 36 [document, 1, document, 2] followed by Range 3 [paras[0].firstChild, 2, paras[0].firstChild, 9]: modifying the second added range must modify the Selection's last Range assert_equals: After mutating the second added Range, startOffset of the Selection's last Range must match the added Range expected 0 but got 2 FAIL Range 36 [document, 1, document, 2] followed by Range 3 [paras[0].firstChild, 2, paras[0].firstChild, 9]: modifying the Selection's last Range must modify the second added Range assert_equals: After second addRange(), after mutating the Selection's last Range, startOffset of the Selection's last Range must match the added Range expected 0 but got 6 PASS Range 36 [document, 1, document, 2] followed by Range 4 [paras[1].firstChild, 0, paras[1].firstChild, 0]: first addRange() must not throw exceptions or modify the range it's given PASS Range 36 [document, 1, document, 2] followed by Range 4 [paras[1].firstChild, 0, paras[1].firstChild, 0]: first addRange() must result in rangeCount being 1 @@ -195,24 +152,10 @@ PASS Range 36 [document, 1, document, 2] 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 36 [document, 1, document, 2] followed by Range 4 [paras[1].firstChild, 0, paras[1].firstChild, 0]: second addRange() must result in rangeCount being 1 FAIL Range 36 [document, 1, document, 2] followed by Range 4 [paras[1].firstChild, 0, paras[1].firstChild, 0]: second addRange() must result in the selection's last range having the specified endpoints assert_equals: startContainer of the Selection's last Range must match the added Range expected Text node "Ijklmnop -" but got Document node with 2 children -FAIL Range 36 [document, 1, document, 2] followed by Range 4 [paras[1].firstChild, 0, paras[1].firstChild, 0]: second addRange() must result in the selection's last range being the same object we added assert_equals: getRangeAt(rangeCount - 1) must return the same object we added expected object "" but got object "Selection.addRange() tests - -Äb̈c̈d̈ëf̈g̈ḧ -Ijklmnop -QrstuvwxYzabcdefGhijklmn - - - - - -"use strict"; - -testAddRangeSubSet(36, 40); -testDiv.style.display = "none"; +" but got Text node "Äb̈c̈d̈ëf̈g̈ḧ " -FAIL Range 36 [document, 1, document, 2] followed by Range 4 [paras[1].firstChild, 0, paras[1].firstChild, 0]: modifying the second added range must modify the Selection's last Range assert_equals: After mutating the second added Range, startContainer of the Selection's last Range must match the added Range expected Text node "Äb̈c̈d̈ëf̈g̈ḧ -" but got Document node with 2 children +FAIL Range 36 [document, 1, document, 2] followed by Range 4 [paras[1].firstChild, 0, paras[1].firstChild, 0]: second addRange() must result in the selection's last range being the same object we added assert_equals: getRangeAt(rangeCount - 1) must return the same object we added expected object "" but got object "" +FAIL Range 36 [document, 1, document, 2] followed by Range 4 [paras[1].firstChild, 0, paras[1].firstChild, 0]: modifying the second added range must modify the Selection's last Range assert_equals: After mutating the second added Range, startOffset of the Selection's last Range must match the added Range expected 0 but got 6 FAIL Range 36 [document, 1, document, 2] followed by Range 4 [paras[1].firstChild, 0, paras[1].firstChild, 0]: modifying the Selection's last Range must modify the second added Range assert_equals: After second addRange(), after mutating the Selection's last Range, startOffset of the Selection's last Range must match the added Range expected 0 but got 6 PASS Range 36 [document, 1, document, 2] followed by Range 5 [paras[1].firstChild, 0, paras[1].firstChild, 1]: first addRange() must not throw exceptions or modify the range it's given PASS Range 36 [document, 1, document, 2] followed by Range 5 [paras[1].firstChild, 0, paras[1].firstChild, 1]: first addRange() must result in rangeCount being 1 @@ -223,24 +166,10 @@ PASS Range 36 [document, 1, document, 2] 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 36 [document, 1, document, 2] followed by Range 5 [paras[1].firstChild, 0, paras[1].firstChild, 1]: second addRange() must result in rangeCount being 1 FAIL Range 36 [document, 1, document, 2] followed by Range 5 [paras[1].firstChild, 0, paras[1].firstChild, 1]: second addRange() must result in the selection's last range having the specified endpoints assert_equals: startContainer of the Selection's last Range must match the added Range expected Text node "Ijklmnop -" but got Document node with 2 children -FAIL Range 36 [document, 1, document, 2] followed by Range 5 [paras[1].firstChild, 0, paras[1].firstChild, 1]: second addRange() must result in the selection's last range being the same object we added assert_equals: getRangeAt(rangeCount - 1) must return the same object we added expected object "I" but got object "Selection.addRange() tests - -Äb̈c̈d̈ëf̈g̈ḧ -Ijklmnop -QrstuvwxYzabcdefGhijklmn - - - - - -"use strict"; - -testAddRangeSubSet(36, 40); -testDiv.style.display = "none"; +" but got Text node "Äb̈c̈d̈ëf̈g̈ḧ " -FAIL Range 36 [document, 1, document, 2] followed by Range 5 [paras[1].firstChild, 0, paras[1].firstChild, 1]: modifying the second added range must modify the Selection's last Range assert_equals: After mutating the second added Range, startContainer of the Selection's last Range must match the added Range expected Text node "Äb̈c̈d̈ëf̈g̈ḧ -" but got Document node with 2 children +FAIL Range 36 [document, 1, document, 2] followed by Range 5 [paras[1].firstChild, 0, paras[1].firstChild, 1]: second addRange() must result in the selection's last range being the same object we added assert_equals: getRangeAt(rangeCount - 1) must return the same object we added expected object "I" but got object "" +FAIL Range 36 [document, 1, document, 2] followed by Range 5 [paras[1].firstChild, 0, paras[1].firstChild, 1]: modifying the second added range must modify the Selection's last Range assert_equals: After mutating the second added Range, startOffset of the Selection's last Range must match the added Range expected 0 but got 6 FAIL Range 36 [document, 1, document, 2] followed by Range 5 [paras[1].firstChild, 0, paras[1].firstChild, 1]: modifying the Selection's last Range must modify the second added Range assert_equals: After second addRange(), after mutating the Selection's last Range, startOffset of the Selection's last Range must match the added Range expected 0 but got 6 PASS Range 36 [document, 1, document, 2] followed by Range 6 [paras[1].firstChild, 2, paras[1].firstChild, 8]: first addRange() must not throw exceptions or modify the range it's given PASS Range 36 [document, 1, document, 2] followed by Range 6 [paras[1].firstChild, 2, paras[1].firstChild, 8]: first addRange() must result in rangeCount being 1 @@ -251,24 +180,10 @@ PASS Range 36 [document, 1, document, 2] 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 36 [document, 1, document, 2] followed by Range 6 [paras[1].firstChild, 2, paras[1].firstChild, 8]: second addRange() must result in rangeCount being 1 FAIL Range 36 [document, 1, document, 2] followed by Range 6 [paras[1].firstChild, 2, paras[1].firstChild, 8]: second addRange() must result in the selection's last range having the specified endpoints assert_equals: startContainer of the Selection's last Range must match the added Range expected Text node "Ijklmnop -" but got Document node with 2 children -FAIL Range 36 [document, 1, document, 2] followed by Range 6 [paras[1].firstChild, 2, paras[1].firstChild, 8]: second addRange() must result in the selection's last range being the same object we added assert_equals: getRangeAt(rangeCount - 1) must return the same object we added expected object "klmnop" but got object "Selection.addRange() tests - -Äb̈c̈d̈ëf̈g̈ḧ -Ijklmnop -QrstuvwxYzabcdefGhijklmn - - - - - -"use strict"; - -testAddRangeSubSet(36, 40); -testDiv.style.display = "none"; +" but got Text node "Äb̈c̈d̈ëf̈g̈ḧ " -FAIL Range 36 [document, 1, document, 2] followed by Range 6 [paras[1].firstChild, 2, paras[1].firstChild, 8]: modifying the second added range must modify the Selection's last Range assert_equals: After mutating the second added Range, startContainer of the Selection's last Range must match the added Range expected Text node "Äb̈c̈d̈ëf̈g̈ḧ -" but got Document node with 2 children +FAIL Range 36 [document, 1, document, 2] followed by Range 6 [paras[1].firstChild, 2, paras[1].firstChild, 8]: second addRange() must result in the selection's last range being the same object we added assert_equals: getRangeAt(rangeCount - 1) must return the same object we added expected object "klmnop" but got object "" +FAIL Range 36 [document, 1, document, 2] followed by Range 6 [paras[1].firstChild, 2, paras[1].firstChild, 8]: modifying the second added range must modify the Selection's last Range assert_equals: After mutating the second added Range, startOffset of the Selection's last Range must match the added Range expected 0 but got 6 FAIL Range 36 [document, 1, document, 2] followed by Range 6 [paras[1].firstChild, 2, paras[1].firstChild, 8]: modifying the Selection's last Range must modify the second added Range assert_equals: After second addRange(), after mutating the Selection's last Range, startOffset of the Selection's last Range must match the added Range expected 0 but got 6 PASS Range 36 [document, 1, document, 2] followed by Range 7 [paras[1].firstChild, 2, paras[1].firstChild, 9]: first addRange() must not throw exceptions or modify the range it's given PASS Range 36 [document, 1, document, 2] followed by Range 7 [paras[1].firstChild, 2, paras[1].firstChild, 9]: first addRange() must result in rangeCount being 1 @@ -279,25 +194,11 @@ PASS Range 36 [document, 1, document, 2] 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 36 [document, 1, document, 2] followed by Range 7 [paras[1].firstChild, 2, paras[1].firstChild, 9]: second addRange() must result in rangeCount being 1 FAIL Range 36 [document, 1, document, 2] followed by Range 7 [paras[1].firstChild, 2, paras[1].firstChild, 9]: second addRange() must result in the selection's last range having the specified endpoints assert_equals: startContainer of the Selection's last Range must match the added Range expected Text node "Ijklmnop -" but got Document node with 2 children -FAIL Range 36 [document, 1, document, 2] followed by Range 7 [paras[1].firstChild, 2, paras[1].firstChild, 9]: second addRange() must result in the selection's last range being the same object we added assert_equals: getRangeAt(rangeCount - 1) must return the same object we added expected object "klmnop -" but got object "Selection.addRange() tests - -Äb̈c̈d̈ëf̈g̈ḧ -Ijklmnop -QrstuvwxYzabcdefGhijklmn - - - - - -"use strict"; - -testAddRangeSubSet(36, 40); -testDiv.style.display = "none"; +" but got Text node "Äb̈c̈d̈ëf̈g̈ḧ " -FAIL Range 36 [document, 1, document, 2] followed by Range 7 [paras[1].firstChild, 2, paras[1].firstChild, 9]: modifying the second added range must modify the Selection's last Range assert_equals: After mutating the second added Range, startContainer of the Selection's last Range must match the added Range expected Text node "Äb̈c̈d̈ëf̈g̈ḧ -" but got Document node with 2 children +FAIL Range 36 [document, 1, document, 2] followed by Range 7 [paras[1].firstChild, 2, paras[1].firstChild, 9]: second addRange() must result in the selection's last range being the same object we added assert_equals: getRangeAt(rangeCount - 1) must return the same object we added expected object "klmnop +" but got object "" +FAIL Range 36 [document, 1, document, 2] followed by Range 7 [paras[1].firstChild, 2, paras[1].firstChild, 9]: modifying the second added range must modify the Selection's last Range assert_equals: After mutating the second added Range, startOffset of the Selection's last Range must match the added Range expected 0 but got 6 FAIL Range 36 [document, 1, document, 2] followed by Range 7 [paras[1].firstChild, 2, paras[1].firstChild, 9]: modifying the Selection's last Range must modify the second added Range assert_equals: After second addRange(), after mutating the Selection's last Range, startOffset of the Selection's last Range must match the added Range expected 0 but got 6 PASS Range 36 [document, 1, document, 2] followed by Range 8 [detachedPara1.firstChild, 0, detachedPara1.firstChild, 0]: first addRange() must not throw exceptions or modify the range it's given PASS Range 36 [document, 1, document, 2] followed by Range 8 [detachedPara1.firstChild, 0, detachedPara1.firstChild, 0]: first addRange() must result in rangeCount being 1 @@ -386,26 +287,12 @@ PASS Range 36 [document, 1, document, 2] 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 36 [document, 1, document, 2] followed by Range 14 [document.documentElement, 0, document.documentElement, 1]: second addRange() must result in rangeCount being 1 FAIL Range 36 [document, 1, document, 2] followed by Range 14 [document.documentElement, 0, document.documentElement, 1]: second addRange() must result in the selection's last range having the specified endpoints assert_equals: startContainer of the Selection's last Range must match the added Range expected Element node <html><head><title>Selection.addRange() tests</title> -<me... but got Document node with 2 children +<me... but got Text node "Äb̈c̈d̈ëf̈g̈ḧ +" FAIL Range 36 [document, 1, document, 2] followed by Range 14 [document.documentElement, 0, document.documentElement, 1]: second addRange() must result in the selection's last range being the same object we added assert_equals: getRangeAt(rangeCount - 1) must return the same object we added expected object "Selection.addRange() tests -" but got object "Selection.addRange() tests - -Äb̈c̈d̈ëf̈g̈ḧ -Ijklmnop -QrstuvwxYzabcdefGhijklmn - - - - - -"use strict"; - -testAddRangeSubSet(36, 40); -testDiv.style.display = "none"; -" -FAIL Range 36 [document, 1, document, 2] followed by Range 14 [document.documentElement, 0, document.documentElement, 1]: modifying the second added range must modify the Selection's last Range assert_equals: After mutating the second added Range, startContainer of the Selection's last Range must match the added Range expected Text node "Äb̈c̈d̈ëf̈g̈ḧ -" but got Document node with 2 children +" but got object "" +FAIL Range 36 [document, 1, document, 2] followed by Range 14 [document.documentElement, 0, document.documentElement, 1]: modifying the second added range must modify the Selection's last Range assert_equals: After mutating the second added Range, startOffset of the Selection's last Range must match the added Range expected 0 but got 6 FAIL Range 36 [document, 1, document, 2] followed by Range 14 [document.documentElement, 0, document.documentElement, 1]: modifying the Selection's last Range must modify the second added Range assert_equals: After second addRange(), after mutating the Selection's last Range, startOffset of the Selection's last Range must match the added Range expected 0 but got 6 PASS Range 36 [document, 1, document, 2] followed by Range 15 [document.documentElement, 0, document.documentElement, 2]: first addRange() must not throw exceptions or modify the range it's given PASS Range 36 [document, 1, document, 2] followed by Range 15 [document.documentElement, 0, document.documentElement, 2]: first addRange() must result in rangeCount being 1 @@ -415,8 +302,7 @@ PASS Range 36 [document, 1, document, 2] followed by Range 15 [document.documentElement, 0, document.documentElement, 2]: modifying the Selection's last Range must modify the first added Range PASS Range 36 [document, 1, document, 2] 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 36 [document, 1, document, 2] followed by Range 15 [document.documentElement, 0, document.documentElement, 2]: second addRange() must result in rangeCount being 1 -FAIL Range 36 [document, 1, document, 2] followed by Range 15 [document.documentElement, 0, document.documentElement, 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 Element node <html><head><title>Selection.addRange() tests</title> -<me... but got Document node with 2 children +PASS Range 36 [document, 1, document, 2] followed by Range 15 [document.documentElement, 0, document.documentElement, 2]: second addRange() must result in the selection's last range having the specified endpoints FAIL Range 36 [document, 1, document, 2] followed by Range 15 [document.documentElement, 0, document.documentElement, 2]: second addRange() must result in the selection's last range being the same object we added assert_equals: getRangeAt(rangeCount - 1) must return the same object we added expected object "Selection.addRange() tests Äb̈c̈d̈ëf̈g̈ḧ @@ -447,7 +333,8 @@ testDiv.style.display = "none"; " FAIL Range 36 [document, 1, document, 2] followed by Range 15 [document.documentElement, 0, document.documentElement, 2]: modifying the second added range must modify the Selection's last Range assert_equals: After mutating the second added Range, startContainer of the Selection's last Range must match the added Range expected Text node "Äb̈c̈d̈ëf̈g̈ḧ -" but got Document node with 2 children +" but got Element node <html><head><title>Selection.addRange() tests</title> +<me... FAIL Range 36 [document, 1, document, 2] followed by Range 15 [document.documentElement, 0, document.documentElement, 2]: modifying the Selection's last Range must modify the second added Range assert_equals: After second addRange(), after mutating the Selection's last Range, startOffset of the Selection's last Range must match the added Range expected 0 but got 6 PASS Range 36 [document, 1, document, 2] followed by Range 16 [document.documentElement, 1, document.documentElement, 2]: first addRange() must not throw exceptions or modify the range it's given PASS Range 36 [document, 1, document, 2] followed by Range 16 [document.documentElement, 1, document.documentElement, 2]: first addRange() must result in rangeCount being 1 @@ -457,8 +344,7 @@ PASS Range 36 [document, 1, document, 2] followed by Range 16 [document.documentElement, 1, document.documentElement, 2]: modifying the Selection's last Range must modify the first added Range PASS Range 36 [document, 1, document, 2] 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 36 [document, 1, document, 2] followed by Range 16 [document.documentElement, 1, document.documentElement, 2]: second addRange() must result in rangeCount being 1 -FAIL Range 36 [document, 1, document, 2] followed by Range 16 [document.documentElement, 1, document.documentElement, 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 Element node <html><head><title>Selection.addRange() tests</title> -<me... but got Document node with 2 children +PASS Range 36 [document, 1, document, 2] followed by Range 16 [document.documentElement, 1, document.documentElement, 2]: second addRange() must result in the selection's last range having the specified endpoints FAIL Range 36 [document, 1, document, 2] followed by Range 16 [document.documentElement, 1, document.documentElement, 2]: second addRange() must result in the selection's last range being the same object we added assert_equals: getRangeAt(rangeCount - 1) must return the same object we added expected object "Äb̈c̈d̈ëf̈g̈ḧ Ijklmnop QrstuvwxYzabcdefGhijklmn @@ -471,9 +357,7 @@ testAddRangeSubSet(36, 40); testDiv.style.display = "none"; -" but got object "Selection.addRange() tests - -Äb̈c̈d̈ëf̈g̈ḧ +" but got object "Äb̈c̈d̈ëf̈g̈ḧ Ijklmnop QrstuvwxYzabcdefGhijklmn @@ -487,7 +371,8 @@ testDiv.style.display = "none"; " FAIL Range 36 [document, 1, document, 2] followed by Range 16 [document.documentElement, 1, document.documentElement, 2]: modifying the second added range must modify the Selection's last Range assert_equals: After mutating the second added Range, startContainer of the Selection's last Range must match the added Range expected Text node "Äb̈c̈d̈ëf̈g̈ḧ -" but got Document node with 2 children +" but got Element node <html><head><title>Selection.addRange() tests</title> +<me... FAIL Range 36 [document, 1, document, 2] followed by Range 16 [document.documentElement, 1, document.documentElement, 2]: modifying the Selection's last Range must modify the second added Range assert_equals: After second addRange(), after mutating the Selection's last Range, startOffset of the Selection's last Range must match the added Range expected 0 but got 6 PASS Range 36 [document, 1, document, 2] followed by Range 17 [document.head, 1, document.head, 1]: first addRange() must not throw exceptions or modify the range it's given PASS Range 36 [document, 1, document, 2] followed by Range 17 [document.head, 1, document.head, 1]: first addRange() must result in rangeCount being 1 @@ -498,24 +383,10 @@ PASS Range 36 [document, 1, document, 2] 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 36 [document, 1, document, 2] followed by Range 17 [document.head, 1, document.head, 1]: second addRange() must result in rangeCount being 1 FAIL Range 36 [document, 1, document, 2] followed by Range 17 [document.head, 1, document.head, 1]: second addRange() must result in the selection's last range having the specified endpoints assert_equals: startContainer of the Selection's last Range must match the added Range expected Element node <head><title>Selection.addRange() tests</title> -<meta nam... but got Document node with 2 children -FAIL Range 36 [document, 1, document, 2] followed by Range 17 [document.head, 1, document.head, 1]: second addRange() must result in the selection's last range being the same object we added assert_equals: getRangeAt(rangeCount - 1) must return the same object we added expected object "" but got object "Selection.addRange() tests - -Äb̈c̈d̈ëf̈g̈ḧ -Ijklmnop -QrstuvwxYzabcdefGhijklmn - - - - - -"use strict"; - -testAddRangeSubSet(36, 40); -testDiv.style.display = "none"; +<meta nam... but got Text node "Äb̈c̈d̈ëf̈g̈ḧ " -FAIL Range 36 [document, 1, document, 2] followed by Range 17 [document.head, 1, document.head, 1]: modifying the second added range must modify the Selection's last Range assert_equals: After mutating the second added Range, startContainer of the Selection's last Range must match the added Range expected Text node "Äb̈c̈d̈ëf̈g̈ḧ -" but got Document node with 2 children +FAIL Range 36 [document, 1, document, 2] followed by Range 17 [document.head, 1, document.head, 1]: second addRange() must result in the selection's last range being the same object we added assert_equals: getRangeAt(rangeCount - 1) must return the same object we added expected object "" but got object "" +FAIL Range 36 [document, 1, document, 2] followed by Range 17 [document.head, 1, document.head, 1]: modifying the second added range must modify the Selection's last Range assert_equals: After mutating the second added Range, startOffset of the Selection's last Range must match the added Range expected 0 but got 6 FAIL Range 36 [document, 1, document, 2] followed by Range 17 [document.head, 1, document.head, 1]: modifying the Selection's last Range must modify the second added Range assert_equals: After second addRange(), after mutating the Selection's last Range, startOffset of the Selection's last Range must match the added Range expected 0 but got 6 PASS Range 36 [document, 1, document, 2] followed by Range 18 [document.body, 0, document.body, 1]: first addRange() must not throw exceptions or modify the range it's given PASS Range 36 [document, 1, document, 2] followed by Range 18 [document.body, 0, document.body, 1]: first addRange() must result in rangeCount being 1 @@ -525,27 +396,15 @@ PASS Range 36 [document, 1, document, 2] followed by Range 18 [document.body, 0, document.body, 1]: modifying the Selection's last Range must modify the first added Range PASS Range 36 [document, 1, document, 2] 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 36 [document, 1, document, 2] followed by Range 18 [document.body, 0, document.body, 1]: second addRange() must result in rangeCount being 1 -FAIL Range 36 [document, 1, document, 2] followed by Range 18 [document.body, 0, document.body, 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 <body><div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ -</p><p id... but got Document node with 2 children +PASS Range 36 [document, 1, document, 2] followed by Range 18 [document.body, 0, document.body, 1]: second addRange() must result in the selection's last range having the specified endpoints FAIL Range 36 [document, 1, document, 2] followed by Range 18 [document.body, 0, document.body, 1]: second addRange() must result in the selection's last range being the same object we added assert_equals: getRangeAt(rangeCount - 1) must return the same object we added expected object "Äb̈c̈d̈ëf̈g̈ḧ Ijklmnop -QrstuvwxYzabcdefGhijklmn" but got object "Selection.addRange() tests - -Äb̈c̈d̈ëf̈g̈ḧ +QrstuvwxYzabcdefGhijklmn" but got object "Äb̈c̈d̈ëf̈g̈ḧ Ijklmnop -QrstuvwxYzabcdefGhijklmn - - - - - -"use strict"; - -testAddRangeSubSet(36, 40); -testDiv.style.display = "none"; -" +QrstuvwxYzabcdefGhijklmn" FAIL Range 36 [document, 1, document, 2] followed by Range 18 [document.body, 0, document.body, 1]: modifying the second added range must modify the Selection's last Range assert_equals: After mutating the second added Range, startContainer of the Selection's last Range must match the added Range expected Text node "Äb̈c̈d̈ëf̈g̈ḧ -" but got Document node with 2 children +" but got Element node <body><div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ +</p><p id... FAIL Range 36 [document, 1, document, 2] followed by Range 18 [document.body, 0, document.body, 1]: modifying the Selection's last Range must modify the second added Range assert_equals: After second addRange(), after mutating the Selection's last Range, startOffset of the Selection's last Range must match the added Range expected 0 but got 6 PASS Range 36 [document, 1, document, 2] followed by Range 19 [foreignDoc.documentElement, 0, foreignDoc.documentElement, 1]: first addRange() must not throw exceptions or modify the range it's given PASS Range 36 [document, 1, document, 2] followed by Range 19 [foreignDoc.documentElement, 0, foreignDoc.documentElement, 1]: first addRange() must result in rangeCount being 1 @@ -595,24 +454,10 @@ PASS Range 36 [document, 1, document, 2] 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 36 [document, 1, document, 2] followed by Range 22 [paras[0], 0, paras[0], 0]: second addRange() must result in rangeCount being 1 FAIL Range 36 [document, 1, document, 2] followed by Range 22 [paras[0], 0, paras[0], 0]: second addRange() must result in the selection's last range having the specified endpoints assert_equals: startContainer of the Selection's last Range must match the added Range expected Element node <p id="a">Äb̈c̈d̈ëf̈g̈ḧ -</p> but got Document node with 2 children -FAIL Range 36 [document, 1, document, 2] followed by Range 22 [paras[0], 0, paras[0], 0]: second addRange() must result in the selection's last range being the same object we added assert_equals: getRangeAt(rangeCount - 1) must return the same object we added expected object "" but got object "Selection.addRange() tests - -Äb̈c̈d̈ëf̈g̈ḧ -Ijklmnop -QrstuvwxYzabcdefGhijklmn - - - - - -"use strict"; - -testAddRangeSubSet(36, 40); -testDiv.style.display = "none"; +</p> but got Text node "Äb̈c̈d̈ëf̈g̈ḧ " -FAIL Range 36 [document, 1, document, 2] followed by Range 22 [paras[0], 0, paras[0], 0]: modifying the second added range must modify the Selection's last Range assert_equals: After mutating the second added Range, startContainer of the Selection's last Range must match the added Range expected Text node "Äb̈c̈d̈ëf̈g̈ḧ -" but got Document node with 2 children +FAIL Range 36 [document, 1, document, 2] followed by Range 22 [paras[0], 0, paras[0], 0]: second addRange() must result in the selection's last range being the same object we added assert_equals: getRangeAt(rangeCount - 1) must return the same object we added expected object "" but got object "" +FAIL Range 36 [document, 1, document, 2] followed by Range 22 [paras[0], 0, paras[0], 0]: modifying the second added range must modify the Selection's last Range assert_equals: After mutating the second added Range, startOffset of the Selection's last Range must match the added Range expected 0 but got 6 FAIL Range 36 [document, 1, document, 2] followed by Range 22 [paras[0], 0, paras[0], 0]: modifying the Selection's last Range must modify the second added Range assert_equals: After second addRange(), after mutating the Selection's last Range, startOffset of the Selection's last Range must match the added Range expected 0 but got 6 PASS Range 36 [document, 1, document, 2] followed by Range 23 [paras[0], 0, paras[0], 1]: first addRange() must not throw exceptions or modify the range it's given PASS Range 36 [document, 1, document, 2] followed by Range 23 [paras[0], 0, paras[0], 1]: first addRange() must result in rangeCount being 1 @@ -622,26 +467,13 @@ PASS Range 36 [document, 1, document, 2] followed by Range 23 [paras[0], 0, paras[0], 1]: modifying the Selection's last Range must modify the first added Range PASS Range 36 [document, 1, document, 2] 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 36 [document, 1, document, 2] followed by Range 23 [paras[0], 0, paras[0], 1]: second addRange() must result in rangeCount being 1 -FAIL Range 36 [document, 1, document, 2] followed by Range 23 [paras[0], 0, paras[0], 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 id="a">Äb̈c̈d̈ëf̈g̈ḧ -</p> but got Document node with 2 children +PASS Range 36 [document, 1, document, 2] followed by Range 23 [paras[0], 0, paras[0], 1]: second addRange() must result in the selection's last range having the specified endpoints FAIL Range 36 [document, 1, document, 2] followed by Range 23 [paras[0], 0, paras[0], 1]: second addRange() must result in the selection's last range being the same object we added assert_equals: getRangeAt(rangeCount - 1) must return the same object we added expected object "Äb̈c̈d̈ëf̈g̈ḧ -" but got object "Selection.addRange() tests - -Äb̈c̈d̈ëf̈g̈ḧ -Ijklmnop -QrstuvwxYzabcdefGhijklmn - - - - - -"use strict"; - -testAddRangeSubSet(36, 40); -testDiv.style.display = "none"; +" but got object "Äb̈c̈d̈ëf̈g̈ḧ " FAIL Range 36 [document, 1, document, 2] followed by Range 23 [paras[0], 0, paras[0], 1]: modifying the second added range must modify the Selection's last Range assert_equals: After mutating the second added Range, startContainer of the Selection's last Range must match the added Range expected Text node "Äb̈c̈d̈ëf̈g̈ḧ -" but got Document node with 2 children +" but got Element node <p id="a">Äb̈c̈d̈ëf̈g̈ḧ +</p> FAIL Range 36 [document, 1, document, 2] followed by Range 23 [paras[0], 0, paras[0], 1]: modifying the Selection's last Range must modify the second added Range assert_equals: After second addRange(), after mutating the Selection's last Range, startOffset of the Selection's last Range must match the added Range expected 0 but got 6 PASS Range 36 [document, 1, document, 2] followed by Range 24 [detachedPara1, 0, detachedPara1, 0]: first addRange() must not throw exceptions or modify the range it's given PASS Range 36 [document, 1, document, 2] followed by Range 24 [detachedPara1, 0, detachedPara1, 0]: first addRange() must result in rangeCount being 1 @@ -677,26 +509,13 @@ PASS Range 36 [document, 1, document, 2] followed by Range 26 [paras[0].firstChild, 0, paras[1].firstChild, 0]: modifying the Selection's last Range must modify the first added Range PASS Range 36 [document, 1, document, 2] 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 36 [document, 1, document, 2] followed by Range 26 [paras[0].firstChild, 0, paras[1].firstChild, 0]: second addRange() must result in rangeCount being 1 -FAIL Range 36 [document, 1, document, 2] followed by Range 26 [paras[0].firstChild, 0, paras[1].firstChild, 0]: second addRange() must result in the selection's last range having the specified endpoints assert_equals: startContainer of the Selection's last Range must match the added Range expected Text node "Äb̈c̈d̈ëf̈g̈ḧ -" but got Document node with 2 children +PASS Range 36 [document, 1, document, 2] followed by Range 26 [paras[0].firstChild, 0, paras[1].firstChild, 0]: second addRange() must result in the selection's last range having the specified endpoints FAIL Range 36 [document, 1, document, 2] followed by Range 26 [paras[0].firstChild, 0, paras[1].firstChild, 0]: second addRange() must result in the selection's last range being the same object we added assert_equals: getRangeAt(rangeCount - 1) must return the same object we added expected object "Äb̈c̈d̈ëf̈g̈ḧ -" but got object "Selection.addRange() tests - -Äb̈c̈d̈ëf̈g̈ḧ -Ijklmnop -QrstuvwxYzabcdefGhijklmn - - - - - -"use strict"; - -testAddRangeSubSet(36, 40); -testDiv.style.display = "none"; +" but got object "Äb̈c̈d̈ëf̈g̈ḧ " -FAIL Range 36 [document, 1, document, 2] followed by Range 26 [paras[0].firstChild, 0, paras[1].firstChild, 0]: modifying the second added range must modify the Selection's last Range assert_equals: After mutating the second added Range, startContainer of the Selection's last Range must match the added Range expected Text node "Äb̈c̈d̈ëf̈g̈ḧ -" but got Document node with 2 children +FAIL Range 36 [document, 1, document, 2] followed by Range 26 [paras[0].firstChild, 0, paras[1].firstChild, 0]: modifying the second added range must modify the Selection's last Range assert_equals: After mutating the second added Range, endContainer of the Selection's last Range must match the added Range expected Text node "Äb̈c̈d̈ëf̈g̈ḧ +" but got Text node "Ijklmnop +" FAIL Range 36 [document, 1, document, 2] followed by Range 26 [paras[0].firstChild, 0, paras[1].firstChild, 0]: modifying the Selection's last Range must modify the second added Range assert_equals: After second addRange(), after mutating the Selection's last Range, startOffset of the Selection's last Range must match the added Range expected 0 but got 6 PASS Range 36 [document, 1, document, 2] followed by Range 27 [paras[0].firstChild, 0, paras[1].firstChild, 8]: first addRange() must not throw exceptions or modify the range it's given PASS Range 36 [document, 1, document, 2] followed by Range 27 [paras[0].firstChild, 0, paras[1].firstChild, 8]: first addRange() must result in rangeCount being 1 @@ -706,26 +525,13 @@ PASS Range 36 [document, 1, document, 2] followed by Range 27 [paras[0].firstChild, 0, paras[1].firstChild, 8]: modifying the Selection's last Range must modify the first added Range PASS Range 36 [document, 1, document, 2] 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 36 [document, 1, document, 2] followed by Range 27 [paras[0].firstChild, 0, paras[1].firstChild, 8]: second addRange() must result in rangeCount being 1 -FAIL Range 36 [document, 1, document, 2] followed by Range 27 [paras[0].firstChild, 0, paras[1].firstChild, 8]: second addRange() must result in the selection's last range having the specified endpoints assert_equals: startContainer of the Selection's last Range must match the added Range expected Text node "Äb̈c̈d̈ëf̈g̈ḧ -" but got Document node with 2 children +PASS Range 36 [document, 1, document, 2] followed by Range 27 [paras[0].firstChild, 0, paras[1].firstChild, 8]: second addRange() must result in the selection's last range having the specified endpoints FAIL Range 36 [document, 1, document, 2] followed by Range 27 [paras[0].firstChild, 0, paras[1].firstChild, 8]: second addRange() must result in the selection's last range being the same object we added assert_equals: getRangeAt(rangeCount - 1) must return the same object we added expected object "Äb̈c̈d̈ëf̈g̈ḧ -Ijklmnop" but got object "Selection.addRange() tests - -Äb̈c̈d̈ëf̈g̈ḧ -Ijklmnop -QrstuvwxYzabcdefGhijklmn - - - - - -"use strict"; - -testAddRangeSubSet(36, 40); -testDiv.style.display = "none"; +Ijklmnop" but got object "Äb̈c̈d̈ëf̈g̈ḧ +Ijklmnop" +FAIL Range 36 [document, 1, document, 2] followed by Range 27 [paras[0].firstChild, 0, paras[1].firstChild, 8]: modifying the second added range must modify the Selection's last Range assert_equals: After mutating the second added Range, endContainer of the Selection's last Range must match the added Range expected Text node "Äb̈c̈d̈ëf̈g̈ḧ +" but got Text node "Ijklmnop " -FAIL Range 36 [document, 1, document, 2] followed by Range 27 [paras[0].firstChild, 0, paras[1].firstChild, 8]: modifying the second added range must modify the Selection's last Range assert_equals: After mutating the second added Range, startContainer of the Selection's last Range must match the added Range expected Text node "Äb̈c̈d̈ëf̈g̈ḧ -" but got Document node with 2 children FAIL Range 36 [document, 1, document, 2] followed by Range 27 [paras[0].firstChild, 0, paras[1].firstChild, 8]: modifying the Selection's last Range must modify the second added Range assert_equals: After second addRange(), after mutating the Selection's last Range, startOffset of the Selection's last Range must match the added Range expected 0 but got 6 PASS Range 36 [document, 1, document, 2] followed by Range 28 [paras[0].firstChild, 3, paras[3], 1]: first addRange() must not throw exceptions or modify the range it's given PASS Range 36 [document, 1, document, 2] followed by Range 28 [paras[0].firstChild, 3, paras[3], 1]: first addRange() must result in rangeCount being 1 @@ -735,27 +541,13 @@ PASS Range 36 [document, 1, document, 2] followed by Range 28 [paras[0].firstChild, 3, paras[3], 1]: modifying the Selection's last Range must modify the first added Range PASS Range 36 [document, 1, document, 2] 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 36 [document, 1, document, 2] followed by Range 28 [paras[0].firstChild, 3, paras[3], 1]: second addRange() must result in rangeCount being 1 -FAIL Range 36 [document, 1, document, 2] followed by Range 28 [paras[0].firstChild, 3, paras[3], 1]: second addRange() must result in the selection's last range having the specified endpoints assert_equals: startContainer of the Selection's last Range must match the added Range expected Text node "Äb̈c̈d̈ëf̈g̈ḧ -" but got Document node with 2 children +PASS Range 36 [document, 1, document, 2] followed by Range 28 [paras[0].firstChild, 3, paras[3], 1]: second addRange() must result in the selection's last range having the specified endpoints FAIL Range 36 [document, 1, document, 2] followed by Range 28 [paras[0].firstChild, 3, paras[3], 1]: second addRange() must result in the selection's last range being the same object we added assert_equals: getRangeAt(rangeCount - 1) must return the same object we added expected object "̈c̈d̈ëf̈g̈ḧ Ijklmnop -QrstuvwxYzabcdef" but got object "Selection.addRange() tests - -Äb̈c̈d̈ëf̈g̈ḧ +QrstuvwxYzabcdef" but got object "̈c̈d̈ëf̈g̈ḧ Ijklmnop -QrstuvwxYzabcdefGhijklmn - - - - - -"use strict"; - -testAddRangeSubSet(36, 40); -testDiv.style.display = "none"; -" -FAIL Range 36 [document, 1, document, 2] followed by Range 28 [paras[0].firstChild, 3, paras[3], 1]: modifying the second added range must modify the Selection's last Range assert_equals: After mutating the second added Range, startContainer of the Selection's last Range must match the added Range expected Text node "Äb̈c̈d̈ëf̈g̈ḧ -" but got Document node with 2 children +QrstuvwxYzabcdef" +FAIL Range 36 [document, 1, document, 2] followed by Range 28 [paras[0].firstChild, 3, paras[3], 1]: modifying the second added range must modify the Selection's last Range assert_equals: After mutating the second added Range, startOffset of the Selection's last Range must match the added Range expected 0 but got 3 FAIL Range 36 [document, 1, document, 2] followed by Range 28 [paras[0].firstChild, 3, paras[3], 1]: modifying the Selection's last Range must modify the second added Range assert_equals: After second addRange(), after mutating the Selection's last Range, startOffset of the Selection's last Range must match the added Range expected 0 but got 6 PASS Range 36 [document, 1, document, 2] followed by Range 29 [paras[0], 0, paras[0].firstChild, 7]: first addRange() must not throw exceptions or modify the range it's given PASS Range 36 [document, 1, document, 2] followed by Range 29 [paras[0], 0, paras[0].firstChild, 7]: first addRange() must result in rangeCount being 1 @@ -765,25 +557,11 @@ PASS Range 36 [document, 1, document, 2] followed by Range 29 [paras[0], 0, paras[0].firstChild, 7]: modifying the Selection's last Range must modify the first added Range PASS Range 36 [document, 1, document, 2] 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 36 [document, 1, document, 2] followed by Range 29 [paras[0], 0, paras[0].firstChild, 7]: second addRange() must result in rangeCount being 1 -FAIL Range 36 [document, 1, document, 2] followed by Range 29 [paras[0], 0, paras[0].firstChild, 7]: second addRange() must result in the selection's last range having the specified endpoints assert_equals: startContainer of the Selection's last Range must match the added Range expected Element node <p id="a">Äb̈c̈d̈ëf̈g̈ḧ -</p> but got Document node with 2 children -FAIL Range 36 [document, 1, document, 2] followed by Range 29 [paras[0], 0, paras[0].firstChild, 7]: second addRange() must result in the selection's last range being the same object we added assert_equals: getRangeAt(rangeCount - 1) must return the same object we added expected object "Äb̈c̈d" but got object "Selection.addRange() tests - -Äb̈c̈d̈ëf̈g̈ḧ -Ijklmnop -QrstuvwxYzabcdefGhijklmn - - - - - -"use strict"; - -testAddRangeSubSet(36, 40); -testDiv.style.display = "none"; -" +PASS Range 36 [document, 1, document, 2] followed by Range 29 [paras[0], 0, paras[0].firstChild, 7]: second addRange() must result in the selection's last range having the specified endpoints +FAIL Range 36 [document, 1, document, 2] followed by Range 29 [paras[0], 0, paras[0].firstChild, 7]: second addRange() must result in the selection's last range being the same object we added assert_equals: getRangeAt(rangeCount - 1) must return the same object we added expected object "Äb̈c̈d" but got object "Äb̈c̈d" FAIL Range 36 [document, 1, document, 2] followed by Range 29 [paras[0], 0, paras[0].firstChild, 7]: modifying the second added range must modify the Selection's last Range assert_equals: After mutating the second added Range, startContainer of the Selection's last Range must match the added Range expected Text node "Äb̈c̈d̈ëf̈g̈ḧ -" but got Document node with 2 children +" but got Element node <p id="a">Äb̈c̈d̈ëf̈g̈ḧ +</p> FAIL Range 36 [document, 1, document, 2] followed by Range 29 [paras[0], 0, paras[0].firstChild, 7]: modifying the Selection's last Range must modify the second added Range assert_equals: After second addRange(), after mutating the Selection's last Range, startOffset of the Selection's last Range must match the added Range expected 0 but got 6 PASS Range 36 [document, 1, document, 2] followed by Range 30 [testDiv, 2, paras[4], 1]: first addRange() must not throw exceptions or modify the range it's given PASS Range 36 [document, 1, document, 2] followed by Range 30 [testDiv, 2, paras[4], 1]: first addRange() must result in rangeCount being 1 @@ -794,24 +572,10 @@ PASS Range 36 [document, 1, document, 2] followed by Range 30 [testDiv, 2, paras[4], 1]: second addRange() must not throw exceptions or modify the range it's given PASS Range 36 [document, 1, document, 2] followed by Range 30 [testDiv, 2, paras[4], 1]: second addRange() must result in rangeCount being 1 FAIL Range 36 [document, 1, document, 2] followed by Range 30 [testDiv, 2, paras[4], 1]: second addRange() must result in the selection's last range having the specified endpoints assert_equals: startContainer of the Selection's last Range must match the added Range expected Element node <div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ -</p><p id="b" s... but got Document node with 2 children -FAIL Range 36 [document, 1, document, 2] followed by Range 30 [testDiv, 2, paras[4], 1]: second addRange() must result in the selection's last range being the same object we added assert_equals: getRangeAt(rangeCount - 1) must return the same object we added expected object "QrstuvwxYzabcdefGhijklmn" but got object "Selection.addRange() tests - -Äb̈c̈d̈ëf̈g̈ḧ -Ijklmnop -QrstuvwxYzabcdefGhijklmn - - - - - -"use strict"; - -testAddRangeSubSet(36, 40); -testDiv.style.display = "none"; +</p><p id="b" s... but got Text node "Äb̈c̈d̈ëf̈g̈ḧ " -FAIL Range 36 [document, 1, document, 2] followed by Range 30 [testDiv, 2, paras[4], 1]: modifying the second added range must modify the Selection's last Range assert_equals: After mutating the second added Range, startContainer of the Selection's last Range must match the added Range expected Text node "Äb̈c̈d̈ëf̈g̈ḧ -" but got Document node with 2 children +FAIL Range 36 [document, 1, document, 2] followed by Range 30 [testDiv, 2, paras[4], 1]: second addRange() must result in the selection's last range being the same object we added assert_equals: getRangeAt(rangeCount - 1) must return the same object we added expected object "QrstuvwxYzabcdefGhijklmn" but got object "" +FAIL Range 36 [document, 1, document, 2] followed by Range 30 [testDiv, 2, paras[4], 1]: modifying the second added range must modify the Selection's last Range assert_equals: After mutating the second added Range, startOffset of the Selection's last Range must match the added Range expected 0 but got 6 FAIL Range 36 [document, 1, document, 2] followed by Range 30 [testDiv, 2, paras[4], 1]: modifying the Selection's last Range must modify the second added Range assert_equals: After second addRange(), after mutating the Selection's last Range, startOffset of the Selection's last Range must match the added Range expected 0 but got 6 PASS Range 36 [document, 1, document, 2] followed by Range 31 [testDiv, 1, paras[2].firstChild, 5]: first addRange() must not throw exceptions or modify the range it's given PASS Range 36 [document, 1, document, 2] followed by Range 31 [testDiv, 1, paras[2].firstChild, 5]: first addRange() must result in rangeCount being 1 @@ -822,25 +586,11 @@ PASS Range 36 [document, 1, document, 2] 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 36 [document, 1, document, 2] followed by Range 31 [testDiv, 1, paras[2].firstChild, 5]: second addRange() must result in rangeCount being 1 FAIL Range 36 [document, 1, document, 2] followed by Range 31 [testDiv, 1, paras[2].firstChild, 5]: second addRange() must result in the selection's last range having the specified endpoints assert_equals: startContainer of the Selection's last Range must match the added Range expected Element node <div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ -</p><p id="b" s... but got Document node with 2 children -FAIL Range 36 [document, 1, document, 2] followed by Range 31 [testDiv, 1, paras[2].firstChild, 5]: second addRange() must result in the selection's last range being the same object we added assert_equals: getRangeAt(rangeCount - 1) must return the same object we added expected object "Ijklmnop -Qrstu" but got object "Selection.addRange() tests - -Äb̈c̈d̈ëf̈g̈ḧ -Ijklmnop -QrstuvwxYzabcdefGhijklmn - - - - - -"use strict"; - -testAddRangeSubSet(36, 40); -testDiv.style.display = "none"; +</p><p id="b" s... but got Text node "Äb̈c̈d̈ëf̈g̈ḧ " -FAIL Range 36 [document, 1, document, 2] followed by Range 31 [testDiv, 1, paras[2].firstChild, 5]: modifying the second added range must modify the Selection's last Range assert_equals: After mutating the second added Range, startContainer of the Selection's last Range must match the added Range expected Text node "Äb̈c̈d̈ëf̈g̈ḧ -" but got Document node with 2 children +FAIL Range 36 [document, 1, document, 2] followed by Range 31 [testDiv, 1, paras[2].firstChild, 5]: second addRange() must result in the selection's last range being the same object we added assert_equals: getRangeAt(rangeCount - 1) must return the same object we added expected object "Ijklmnop +Qrstu" but got object "" +FAIL Range 36 [document, 1, document, 2] followed by Range 31 [testDiv, 1, paras[2].firstChild, 5]: modifying the second added range must modify the Selection's last Range assert_equals: After mutating the second added Range, startOffset of the Selection's last Range must match the added Range expected 0 but got 6 FAIL Range 36 [document, 1, document, 2] followed by Range 31 [testDiv, 1, paras[2].firstChild, 5]: modifying the Selection's last Range must modify the second added Range assert_equals: After second addRange(), after mutating the Selection's last Range, startOffset of the Selection's last Range must match the added Range expected 0 but got 6 PASS Range 36 [document, 1, document, 2] followed by Range 32 [document.documentElement, 1, document.body, 0]: first addRange() must not throw exceptions or modify the range it's given PASS Range 36 [document, 1, document, 2] followed by Range 32 [document.documentElement, 1, document.body, 0]: first addRange() must result in rangeCount being 1 @@ -851,24 +601,10 @@ PASS Range 36 [document, 1, document, 2] 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 36 [document, 1, document, 2] followed by Range 32 [document.documentElement, 1, document.body, 0]: second addRange() must result in rangeCount being 1 FAIL Range 36 [document, 1, document, 2] followed by Range 32 [document.documentElement, 1, document.body, 0]: second addRange() must result in the selection's last range having the specified endpoints assert_equals: startContainer of the Selection's last Range must match the added Range expected Element node <html><head><title>Selection.addRange() tests</title> -<me... but got Document node with 2 children -FAIL Range 36 [document, 1, document, 2] followed by Range 32 [document.documentElement, 1, document.body, 0]: second addRange() must result in the selection's last range being the same object we added assert_equals: getRangeAt(rangeCount - 1) must return the same object we added expected object "" but got object "Selection.addRange() tests - -Äb̈c̈d̈ëf̈g̈ḧ -Ijklmnop -QrstuvwxYzabcdefGhijklmn - - - - - -"use strict"; - -testAddRangeSubSet(36, 40); -testDiv.style.display = "none"; +<me... but got Text node "Äb̈c̈d̈ëf̈g̈ḧ " -FAIL Range 36 [document, 1, document, 2] followed by Range 32 [document.documentElement, 1, document.body, 0]: modifying the second added range must modify the Selection's last Range assert_equals: After mutating the second added Range, startContainer of the Selection's last Range must match the added Range expected Text node "Äb̈c̈d̈ëf̈g̈ḧ -" but got Document node with 2 children +FAIL Range 36 [document, 1, document, 2] followed by Range 32 [document.documentElement, 1, document.body, 0]: second addRange() must result in the selection's last range being the same object we added assert_equals: getRangeAt(rangeCount - 1) must return the same object we added expected object "" but got object "" +FAIL Range 36 [document, 1, document, 2] followed by Range 32 [document.documentElement, 1, document.body, 0]: modifying the second added range must modify the Selection's last Range assert_equals: After mutating the second added Range, startOffset of the Selection's last Range must match the added Range expected 0 but got 6 FAIL Range 36 [document, 1, document, 2] followed by Range 32 [document.documentElement, 1, document.body, 0]: modifying the Selection's last Range must modify the second added Range assert_equals: After second addRange(), after mutating the Selection's last Range, startOffset of the Selection's last Range must match the added Range expected 0 but got 6 PASS Range 36 [document, 1, document, 2] followed by Range 33 [foreignDoc.documentElement, 1, foreignDoc.body, 0]: first addRange() must not throw exceptions or modify the range it's given PASS Range 36 [document, 1, document, 2] followed by Range 33 [foreignDoc.documentElement, 1, foreignDoc.body, 0]: first addRange() must result in rangeCount being 1 @@ -891,24 +627,10 @@ PASS Range 36 [document, 1, document, 2] followed by Range 34 [document, 0, document, 1]: modifying the Selection's last Range must modify the first added Range PASS Range 36 [document, 1, document, 2] followed by Range 34 [document, 0, document, 1]: second addRange() must not throw exceptions or modify the range it's given PASS Range 36 [document, 1, document, 2] followed by Range 34 [document, 0, document, 1]: second addRange() must result in rangeCount being 1 -FAIL Range 36 [document, 1, document, 2] followed by Range 34 [document, 0, document, 1]: second addRange() must result in the selection's last range having the specified endpoints assert_equals: endOffset of the Selection's last Range must match the added Range expected 1 but got 2 -FAIL Range 36 [document, 1, document, 2] followed by Range 34 [document, 0, document, 1]: second addRange() must result in the selection's last range being the same object we added assert_equals: getRangeAt(rangeCount - 1) must return the same object we added expected object "" but got object "Selection.addRange() tests - -Äb̈c̈d̈ëf̈g̈ḧ -Ijklmnop -QrstuvwxYzabcdefGhijklmn - - - - - -"use strict"; - -testAddRangeSubSet(36, 40); -testDiv.style.display = "none"; +FAIL Range 36 [document, 1, document, 2] followed by Range 34 [document, 0, document, 1]: second addRange() must result in the selection's last range having the specified endpoints assert_equals: startContainer of the Selection's last Range must match the added Range expected Document node with 2 children but got Text node "Äb̈c̈d̈ëf̈g̈ḧ " -FAIL Range 36 [document, 1, document, 2] followed by Range 34 [document, 0, document, 1]: modifying the second added range must modify the Selection's last Range assert_equals: After mutating the second added Range, startContainer of the Selection's last Range must match the added Range expected Text node "Äb̈c̈d̈ëf̈g̈ḧ -" but got Document node with 2 children +FAIL Range 36 [document, 1, document, 2] followed by Range 34 [document, 0, document, 1]: second addRange() must result in the selection's last range being the same object we added assert_equals: getRangeAt(rangeCount - 1) must return the same object we added expected object "" but got object "" +FAIL Range 36 [document, 1, document, 2] followed by Range 34 [document, 0, document, 1]: modifying the second added range must modify the Selection's last Range assert_equals: After mutating the second added Range, startOffset of the Selection's last Range must match the added Range expected 0 but got 6 FAIL Range 36 [document, 1, document, 2] followed by Range 34 [document, 0, document, 1]: modifying the Selection's last Range must modify the second added Range assert_equals: After second addRange(), after mutating the Selection's last Range, startOffset of the Selection's last Range must match the added Range expected 0 but got 6 PASS Range 36 [document, 1, document, 2] followed by Range 35 [document, 0, document, 2]: first addRange() must not throw exceptions or modify the range it's given PASS Range 36 [document, 1, document, 2] followed by Range 35 [document, 0, document, 2]: first addRange() must result in rangeCount being 1 @@ -1000,27 +722,16 @@ PASS Range 36 [document, 1, document, 2] followed by Range 37 [testDiv, 0, comment, 5]: modifying the Selection's last Range must modify the first added Range PASS Range 36 [document, 1, document, 2] followed by Range 37 [testDiv, 0, comment, 5]: second addRange() must not throw exceptions or modify the range it's given PASS Range 36 [document, 1, document, 2] followed by Range 37 [testDiv, 0, comment, 5]: second addRange() must result in rangeCount being 1 -FAIL Range 36 [document, 1, document, 2] followed by Range 37 [testDiv, 0, comment, 5]: second addRange() must result in the selection's last range having the specified endpoints assert_equals: startContainer of the Selection's last Range must match the added Range expected Element node <div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ -</p><p id="b" s... but got Document node with 2 children +FAIL Range 36 [document, 1, document, 2] followed by Range 37 [testDiv, 0, comment, 5]: second addRange() must result in the selection's last range having the specified endpoints assert_equals: endContainer of the Selection's last Range must match the added Range expected Comment node <!--Alphabet soup?--> but got Element node <div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ +</p><p id="b" s... FAIL Range 36 [document, 1, document, 2] followed by Range 37 [testDiv, 0, comment, 5]: second addRange() must result in the selection's last range being the same object we added assert_equals: getRangeAt(rangeCount - 1) must return the same object we added expected object "Äb̈c̈d̈ëf̈g̈ḧ Ijklmnop -QrstuvwxYzabcdefGhijklmn" but got object "Selection.addRange() tests - -Äb̈c̈d̈ëf̈g̈ḧ +QrstuvwxYzabcdefGhijklmn" but got object "Äb̈c̈d̈ëf̈g̈ḧ Ijklmnop -QrstuvwxYzabcdefGhijklmn - - - - - -"use strict"; - -testAddRangeSubSet(36, 40); -testDiv.style.display = "none"; -" +QrstuvwxYzabcdefGhijklmn" FAIL Range 36 [document, 1, document, 2] followed by Range 37 [testDiv, 0, comment, 5]: modifying the second added range must modify the Selection's last Range assert_equals: After mutating the second added Range, startContainer of the Selection's last Range must match the added Range expected Text node "Äb̈c̈d̈ëf̈g̈ḧ -" but got Document node with 2 children +" but got Element node <div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ +</p><p id="b" s... FAIL Range 36 [document, 1, document, 2] followed by Range 37 [testDiv, 0, comment, 5]: modifying the Selection's last Range must modify the second added Range assert_equals: After second addRange(), after mutating the Selection's last Range, startOffset of the Selection's last Range must match the added Range expected 0 but got 6 PASS Range 36 [document, 1, document, 2] followed by Range 38 [paras[2].firstChild, 4, comment, 2]: first addRange() must not throw exceptions or modify the range it's given PASS Range 36 [document, 1, document, 2] followed by Range 38 [paras[2].firstChild, 4, comment, 2]: first addRange() must result in rangeCount being 1 @@ -1030,24 +741,10 @@ PASS Range 36 [document, 1, document, 2] followed by Range 38 [paras[2].firstChild, 4, comment, 2]: modifying the Selection's last Range must modify the first added Range PASS Range 36 [document, 1, document, 2] 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 36 [document, 1, document, 2] followed by Range 38 [paras[2].firstChild, 4, comment, 2]: second addRange() must result in rangeCount being 1 -FAIL Range 36 [document, 1, document, 2] followed by Range 38 [paras[2].firstChild, 4, comment, 2]: second addRange() must result in the selection's last range having the specified endpoints assert_equals: startContainer of the Selection's last Range must match the added Range expected Text node "Qrstuvwx" but got Document node with 2 children -FAIL Range 36 [document, 1, document, 2] followed by Range 38 [paras[2].firstChild, 4, comment, 2]: second addRange() must result in the selection's last range being the same object we added assert_equals: getRangeAt(rangeCount - 1) must return the same object we added expected object "uvwxYzabcdefGhijklmn" but got object "Selection.addRange() tests - -Äb̈c̈d̈ëf̈g̈ḧ -Ijklmnop -QrstuvwxYzabcdefGhijklmn - - - - - -"use strict"; - -testAddRangeSubSet(36, 40); -testDiv.style.display = "none"; +FAIL Range 36 [document, 1, document, 2] followed by Range 38 [paras[2].firstChild, 4, comment, 2]: second addRange() must result in the selection's last range having the specified endpoints assert_equals: startContainer of the Selection's last Range must match the added Range expected Text node "Qrstuvwx" but got Text node "Äb̈c̈d̈ëf̈g̈ḧ " -FAIL Range 36 [document, 1, document, 2] followed by Range 38 [paras[2].firstChild, 4, comment, 2]: modifying the second added range must modify the Selection's last Range assert_equals: After mutating the second added Range, startContainer of the Selection's last Range must match the added Range expected Text node "Äb̈c̈d̈ëf̈g̈ḧ -" but got Document node with 2 children +FAIL Range 36 [document, 1, document, 2] followed by Range 38 [paras[2].firstChild, 4, comment, 2]: second addRange() must result in the selection's last range being the same object we added assert_equals: getRangeAt(rangeCount - 1) must return the same object we added expected object "uvwxYzabcdefGhijklmn" but got object "" +FAIL Range 36 [document, 1, document, 2] followed by Range 38 [paras[2].firstChild, 4, comment, 2]: modifying the second added range must modify the Selection's last Range assert_equals: After mutating the second added Range, startOffset of the Selection's last Range must match the added Range expected 0 but got 6 FAIL Range 36 [document, 1, document, 2] followed by Range 38 [paras[2].firstChild, 4, comment, 2]: modifying the Selection's last Range must modify the second added Range assert_equals: After second addRange(), after mutating the Selection's last Range, startOffset of the Selection's last Range must match the added Range expected 0 but got 6 PASS Range 36 [document, 1, document, 2] followed by Range 39 [paras[3], 1, comment, 8]: first addRange() must not throw exceptions or modify the range it's given PASS Range 36 [document, 1, document, 2] followed by Range 39 [paras[3], 1, comment, 8]: first addRange() must result in rangeCount being 1 @@ -1057,24 +754,10 @@ PASS Range 36 [document, 1, document, 2] followed by Range 39 [paras[3], 1, comment, 8]: modifying the Selection's last Range must modify the first added Range PASS Range 36 [document, 1, document, 2] followed by Range 39 [paras[3], 1, comment, 8]: second addRange() must not throw exceptions or modify the range it's given PASS Range 36 [document, 1, document, 2] followed by Range 39 [paras[3], 1, comment, 8]: second addRange() must result in rangeCount being 1 -FAIL Range 36 [document, 1, document, 2] followed by Range 39 [paras[3], 1, comment, 8]: second addRange() must result in the selection's last range having the specified endpoints assert_equals: startContainer of the Selection's last Range must match the added Range expected Element node <p id="d" style="display:none">Yzabcdef</p> but got Document node with 2 children -FAIL Range 36 [document, 1, document, 2] followed by Range 39 [paras[3], 1, comment, 8]: second addRange() must result in the selection's last range being the same object we added assert_equals: getRangeAt(rangeCount - 1) must return the same object we added expected object "Ghijklmn" but got object "Selection.addRange() tests - -Äb̈c̈d̈ëf̈g̈ḧ -Ijklmnop -QrstuvwxYzabcdefGhijklmn - - - - - -"use strict"; - -testAddRangeSubSet(36, 40); -testDiv.style.display = "none"; +FAIL Range 36 [document, 1, document, 2] followed by Range 39 [paras[3], 1, comment, 8]: second addRange() must result in the selection's last range having the specified endpoints assert_equals: startContainer of the Selection's last Range must match the added Range expected Element node <p id="d" style="display:none">Yzabcdef</p> but got Text node "Äb̈c̈d̈ëf̈g̈ḧ " -FAIL Range 36 [document, 1, document, 2] followed by Range 39 [paras[3], 1, comment, 8]: modifying the second added range must modify the Selection's last Range assert_equals: After mutating the second added Range, startContainer of the Selection's last Range must match the added Range expected Text node "Äb̈c̈d̈ëf̈g̈ḧ -" but got Document node with 2 children +FAIL Range 36 [document, 1, document, 2] followed by Range 39 [paras[3], 1, comment, 8]: second addRange() must result in the selection's last range being the same object we added assert_equals: getRangeAt(rangeCount - 1) must return the same object we added expected object "Ghijklmn" but got object "" +FAIL Range 36 [document, 1, document, 2] followed by Range 39 [paras[3], 1, comment, 8]: modifying the second added range must modify the Selection's last Range assert_equals: After mutating the second added Range, startOffset of the Selection's last Range must match the added Range expected 0 but got 6 FAIL Range 36 [document, 1, document, 2] followed by Range 39 [paras[3], 1, comment, 8]: modifying the Selection's last Range must modify the second added Range assert_equals: After second addRange(), after mutating the Selection's last Range, startOffset of the Selection's last Range must match the added Range expected 0 but got 6 PASS Range 36 [document, 1, document, 2] followed by Range 40 [foreignDoc, 0, foreignDoc, 0]: first addRange() must not throw exceptions or modify the range it's given PASS Range 36 [document, 1, document, 2] followed by Range 40 [foreignDoc, 0, foreignDoc, 0]: first addRange() must result in rangeCount being 1 @@ -1318,15 +1001,9 @@ PASS Range 37 [testDiv, 0, comment, 5] followed by Range 0 [paras[0].firstChild, 0, paras[0].firstChild, 0]: modifying the Selection's last Range must modify the first added Range PASS Range 37 [testDiv, 0, comment, 5] 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 37 [testDiv, 0, comment, 5] followed by Range 0 [paras[0].firstChild, 0, paras[0].firstChild, 0]: second addRange() must result in rangeCount being 1 -FAIL Range 37 [testDiv, 0, comment, 5] followed by Range 0 [paras[0].firstChild, 0, paras[0].firstChild, 0]: second addRange() must result in the selection's last range having the specified endpoints assert_equals: startContainer of the Selection's last Range must match the added Range expected Text node "Äb̈c̈d̈ëf̈g̈ḧ -" but got Element node <div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ -</p><p id="b" s... -FAIL Range 37 [testDiv, 0, comment, 5] followed by Range 0 [paras[0].firstChild, 0, paras[0].firstChild, 0]: second addRange() must result in the selection's last range being the same object we added assert_equals: getRangeAt(rangeCount - 1) must return the same object we added expected object "" but got object "Äb̈c̈d̈ëf̈g̈ḧ -Ijklmnop -QrstuvwxYzabcdefGhijklmn" -FAIL Range 37 [testDiv, 0, comment, 5] followed by Range 0 [paras[0].firstChild, 0, paras[0].firstChild, 0]: modifying the second added range must modify the Selection's last Range assert_equals: After mutating the second added Range, startContainer of the Selection's last Range must match the added Range expected Text node "Äb̈c̈d̈ëf̈g̈ḧ -" but got Element node <div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ -</p><p id="b" s... +FAIL Range 37 [testDiv, 0, comment, 5] followed by Range 0 [paras[0].firstChild, 0, paras[0].firstChild, 0]: second addRange() must result in the selection's last range having the specified endpoints assert_equals: startOffset of the Selection's last Range must match the added Range expected 0 but got 6 +FAIL Range 37 [testDiv, 0, comment, 5] followed by Range 0 [paras[0].firstChild, 0, paras[0].firstChild, 0]: second addRange() must result in the selection's last range being the same object we added assert_equals: getRangeAt(rangeCount - 1) must return the same object we added expected object "" but got object "" +FAIL Range 37 [testDiv, 0, comment, 5] followed by Range 0 [paras[0].firstChild, 0, paras[0].firstChild, 0]: modifying the second added range must modify the Selection's last Range assert_equals: After mutating the second added Range, startOffset of the Selection's last Range must match the added Range expected 0 but got 6 FAIL Range 37 [testDiv, 0, comment, 5] followed by Range 0 [paras[0].firstChild, 0, paras[0].firstChild, 0]: modifying the Selection's last Range must modify the second added Range assert_equals: After second addRange(), after mutating the Selection's last Range, startOffset of the Selection's last Range must match the added Range expected 0 but got 6 PASS Range 37 [testDiv, 0, comment, 5] followed by Range 1 [paras[0].firstChild, 0, paras[0].firstChild, 1]: first addRange() must not throw exceptions or modify the range it's given PASS Range 37 [testDiv, 0, comment, 5] followed by Range 1 [paras[0].firstChild, 0, paras[0].firstChild, 1]: first addRange() must result in rangeCount being 1 @@ -1336,15 +1013,9 @@ PASS Range 37 [testDiv, 0, comment, 5] followed by Range 1 [paras[0].firstChild, 0, paras[0].firstChild, 1]: modifying the Selection's last Range must modify the first added Range PASS Range 37 [testDiv, 0, comment, 5] 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 37 [testDiv, 0, comment, 5] followed by Range 1 [paras[0].firstChild, 0, paras[0].firstChild, 1]: second addRange() must result in rangeCount being 1 -FAIL Range 37 [testDiv, 0, comment, 5] followed by Range 1 [paras[0].firstChild, 0, paras[0].firstChild, 1]: second addRange() must result in the selection's last range having the specified endpoints assert_equals: startContainer of the Selection's last Range must match the added Range expected Text node "Äb̈c̈d̈ëf̈g̈ḧ -" but got Element node <div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ -</p><p id="b" s... -FAIL Range 37 [testDiv, 0, comment, 5] followed by Range 1 [paras[0].firstChild, 0, paras[0].firstChild, 1]: second addRange() must result in the selection's last range being the same object we added assert_equals: getRangeAt(rangeCount - 1) must return the same object we added expected object "A" but got object "Äb̈c̈d̈ëf̈g̈ḧ -Ijklmnop -QrstuvwxYzabcdefGhijklmn" -FAIL Range 37 [testDiv, 0, comment, 5] followed by Range 1 [paras[0].firstChild, 0, paras[0].firstChild, 1]: modifying the second added range must modify the Selection's last Range assert_equals: After mutating the second added Range, startContainer of the Selection's last Range must match the added Range expected Text node "Äb̈c̈d̈ëf̈g̈ḧ -" but got Element node <div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ -</p><p id="b" s... +FAIL Range 37 [testDiv, 0, comment, 5] followed by Range 1 [paras[0].firstChild, 0, paras[0].firstChild, 1]: second addRange() must result in the selection's last range having the specified endpoints assert_equals: startOffset of the Selection's last Range must match the added Range expected 0 but got 6 +FAIL Range 37 [testDiv, 0, comment, 5] followed by Range 1 [paras[0].firstChild, 0, paras[0].firstChild, 1]: second addRange() must result in the selection's last range being the same object we added assert_equals: getRangeAt(rangeCount - 1) must return the same object we added expected object "A" but got object "" +FAIL Range 37 [testDiv, 0, comment, 5] followed by Range 1 [paras[0].firstChild, 0, paras[0].firstChild, 1]: modifying the second added range must modify the Selection's last Range assert_equals: After mutating the second added Range, startOffset of the Selection's last Range must match the added Range expected 0 but got 6 FAIL Range 37 [testDiv, 0, comment, 5] followed by Range 1 [paras[0].firstChild, 0, paras[0].firstChild, 1]: modifying the Selection's last Range must modify the second added Range assert_equals: After second addRange(), after mutating the Selection's last Range, startOffset of the Selection's last Range must match the added Range expected 0 but got 6 PASS Range 37 [testDiv, 0, comment, 5] followed by Range 2 [paras[0].firstChild, 2, paras[0].firstChild, 8]: first addRange() must not throw exceptions or modify the range it's given PASS Range 37 [testDiv, 0, comment, 5] followed by Range 2 [paras[0].firstChild, 2, paras[0].firstChild, 8]: first addRange() must result in rangeCount being 1 @@ -1354,15 +1025,9 @@ PASS Range 37 [testDiv, 0, comment, 5] followed by Range 2 [paras[0].firstChild, 2, paras[0].firstChild, 8]: modifying the Selection's last Range must modify the first added Range PASS Range 37 [testDiv, 0, comment, 5] 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 37 [testDiv, 0, comment, 5] followed by Range 2 [paras[0].firstChild, 2, paras[0].firstChild, 8]: second addRange() must result in rangeCount being 1 -FAIL Range 37 [testDiv, 0, comment, 5] followed by Range 2 [paras[0].firstChild, 2, paras[0].firstChild, 8]: second addRange() must result in the selection's last range having the specified endpoints assert_equals: startContainer of the Selection's last Range must match the added Range expected Text node "Äb̈c̈d̈ëf̈g̈ḧ -" but got Element node <div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ -</p><p id="b" s... -FAIL Range 37 [testDiv, 0, comment, 5] followed by Range 2 [paras[0].firstChild, 2, paras[0].firstChild, 8]: second addRange() must result in the selection's last range being the same object we added assert_equals: getRangeAt(rangeCount - 1) must return the same object we added expected object "b̈c̈d̈" but got object "Äb̈c̈d̈ëf̈g̈ḧ -Ijklmnop -QrstuvwxYzabcdefGhijklmn" -FAIL Range 37 [testDiv, 0, comment, 5] followed by Range 2 [paras[0].firstChild, 2, paras[0].firstChild, 8]: modifying the second added range must modify the Selection's last Range assert_equals: After mutating the second added Range, startContainer of the Selection's last Range must match the added Range expected Text node "Äb̈c̈d̈ëf̈g̈ḧ -" but got Element node <div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ -</p><p id="b" s... +PASS Range 37 [testDiv, 0, comment, 5] followed by Range 2 [paras[0].firstChild, 2, paras[0].firstChild, 8]: second addRange() must result in the selection's last range having the specified endpoints +FAIL Range 37 [testDiv, 0, comment, 5] followed by Range 2 [paras[0].firstChild, 2, paras[0].firstChild, 8]: second addRange() must result in the selection's last range being the same object we added assert_equals: getRangeAt(rangeCount - 1) must return the same object we added expected object "b̈c̈d̈" but got object "b̈c̈d̈" +FAIL Range 37 [testDiv, 0, comment, 5] followed by Range 2 [paras[0].firstChild, 2, paras[0].firstChild, 8]: modifying the second added range must modify the Selection's last Range assert_equals: After mutating the second added Range, startOffset of the Selection's last Range must match the added Range expected 0 but got 2 FAIL Range 37 [testDiv, 0, comment, 5] followed by Range 2 [paras[0].firstChild, 2, paras[0].firstChild, 8]: modifying the Selection's last Range must modify the second added Range assert_equals: After second addRange(), after mutating the Selection's last Range, startOffset of the Selection's last Range must match the added Range expected 0 but got 6 PASS Range 37 [testDiv, 0, comment, 5] followed by Range 3 [paras[0].firstChild, 2, paras[0].firstChild, 9]: first addRange() must not throw exceptions or modify the range it's given PASS Range 37 [testDiv, 0, comment, 5] followed by Range 3 [paras[0].firstChild, 2, paras[0].firstChild, 9]: first addRange() must result in rangeCount being 1 @@ -1372,15 +1037,9 @@ PASS Range 37 [testDiv, 0, comment, 5] followed by Range 3 [paras[0].firstChild, 2, paras[0].firstChild, 9]: modifying the Selection's last Range must modify the first added Range PASS Range 37 [testDiv, 0, comment, 5] 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 37 [testDiv, 0, comment, 5] followed by Range 3 [paras[0].firstChild, 2, paras[0].firstChild, 9]: second addRange() must result in rangeCount being 1 -FAIL Range 37 [testDiv, 0, comment, 5] followed by Range 3 [paras[0].firstChild, 2, paras[0].firstChild, 9]: second addRange() must result in the selection's last range having the specified endpoints assert_equals: startContainer of the Selection's last Range must match the added Range expected Text node "Äb̈c̈d̈ëf̈g̈ḧ -" but got Element node <div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ -</p><p id="b" s... -FAIL Range 37 [testDiv, 0, comment, 5] followed by Range 3 [paras[0].firstChild, 2, paras[0].firstChild, 9]: second addRange() must result in the selection's last range being the same object we added assert_equals: getRangeAt(rangeCount - 1) must return the same object we added expected object "b̈c̈d̈e" but got object "Äb̈c̈d̈ëf̈g̈ḧ -Ijklmnop -QrstuvwxYzabcdefGhijklmn" -FAIL Range 37 [testDiv, 0, comment, 5] followed by Range 3 [paras[0].firstChild, 2, paras[0].firstChild, 9]: modifying the second added range must modify the Selection's last Range assert_equals: After mutating the second added Range, startContainer of the Selection's last Range must match the added Range expected Text node "Äb̈c̈d̈ëf̈g̈ḧ -" but got Element node <div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ -</p><p id="b" s... +PASS Range 37 [testDiv, 0, comment, 5] followed by Range 3 [paras[0].firstChild, 2, paras[0].firstChild, 9]: second addRange() must result in the selection's last range having the specified endpoints +FAIL Range 37 [testDiv, 0, comment, 5] followed by Range 3 [paras[0].firstChild, 2, paras[0].firstChild, 9]: second addRange() must result in the selection's last range being the same object we added assert_equals: getRangeAt(rangeCount - 1) must return the same object we added expected object "b̈c̈d̈e" but got object "b̈c̈d̈e" +FAIL Range 37 [testDiv, 0, comment, 5] followed by Range 3 [paras[0].firstChild, 2, paras[0].firstChild, 9]: modifying the second added range must modify the Selection's last Range assert_equals: After mutating the second added Range, startOffset of the Selection's last Range must match the added Range expected 0 but got 2 FAIL Range 37 [testDiv, 0, comment, 5] followed by Range 3 [paras[0].firstChild, 2, paras[0].firstChild, 9]: modifying the Selection's last Range must modify the second added Range assert_equals: After second addRange(), after mutating the Selection's last Range, startOffset of the Selection's last Range must match the added Range expected 0 but got 6 PASS Range 37 [testDiv, 0, comment, 5] followed by Range 4 [paras[1].firstChild, 0, paras[1].firstChild, 0]: first addRange() must not throw exceptions or modify the range it's given PASS Range 37 [testDiv, 0, comment, 5] followed by Range 4 [paras[1].firstChild, 0, paras[1].firstChild, 0]: first addRange() must result in rangeCount being 1 @@ -1391,14 +1050,10 @@ PASS Range 37 [testDiv, 0, comment, 5] 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 37 [testDiv, 0, comment, 5] followed by Range 4 [paras[1].firstChild, 0, paras[1].firstChild, 0]: second addRange() must result in rangeCount being 1 FAIL Range 37 [testDiv, 0, comment, 5] followed by Range 4 [paras[1].firstChild, 0, paras[1].firstChild, 0]: second addRange() must result in the selection's last range having the specified endpoints assert_equals: startContainer of the Selection's last Range must match the added Range expected Text node "Ijklmnop -" but got Element node <div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ -</p><p id="b" s... -FAIL Range 37 [testDiv, 0, comment, 5] followed by Range 4 [paras[1].firstChild, 0, paras[1].firstChild, 0]: second addRange() must result in the selection's last range being the same object we added assert_equals: getRangeAt(rangeCount - 1) must return the same object we added expected object "" but got object "Äb̈c̈d̈ëf̈g̈ḧ -Ijklmnop -QrstuvwxYzabcdefGhijklmn" -FAIL Range 37 [testDiv, 0, comment, 5] followed by Range 4 [paras[1].firstChild, 0, paras[1].firstChild, 0]: modifying the second added range must modify the Selection's last Range assert_equals: After mutating the second added Range, startContainer of the Selection's last Range must match the added Range expected Text node "Äb̈c̈d̈ëf̈g̈ḧ -" but got Element node <div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ -</p><p id="b" s... +" but got Text node "Äb̈c̈d̈ëf̈g̈ḧ +" +FAIL Range 37 [testDiv, 0, comment, 5] followed by Range 4 [paras[1].firstChild, 0, paras[1].firstChild, 0]: second addRange() must result in the selection's last range being the same object we added assert_equals: getRangeAt(rangeCount - 1) must return the same object we added expected object "" but got object "" +FAIL Range 37 [testDiv, 0, comment, 5] followed by Range 4 [paras[1].firstChild, 0, paras[1].firstChild, 0]: modifying the second added range must modify the Selection's last Range assert_equals: After mutating the second added Range, startOffset of the Selection's last Range must match the added Range expected 0 but got 6 FAIL Range 37 [testDiv, 0, comment, 5] followed by Range 4 [paras[1].firstChild, 0, paras[1].firstChild, 0]: modifying the Selection's last Range must modify the second added Range assert_equals: After second addRange(), after mutating the Selection's last Range, startOffset of the Selection's last Range must match the added Range expected 0 but got 6 PASS Range 37 [testDiv, 0, comment, 5] followed by Range 5 [paras[1].firstChild, 0, paras[1].firstChild, 1]: first addRange() must not throw exceptions or modify the range it's given PASS Range 37 [testDiv, 0, comment, 5] followed by Range 5 [paras[1].firstChild, 0, paras[1].firstChild, 1]: first addRange() must result in rangeCount being 1 @@ -1409,14 +1064,10 @@ PASS Range 37 [testDiv, 0, comment, 5] 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 37 [testDiv, 0, comment, 5] followed by Range 5 [paras[1].firstChild, 0, paras[1].firstChild, 1]: second addRange() must result in rangeCount being 1 FAIL Range 37 [testDiv, 0, comment, 5] followed by Range 5 [paras[1].firstChild, 0, paras[1].firstChild, 1]: second addRange() must result in the selection's last range having the specified endpoints assert_equals: startContainer of the Selection's last Range must match the added Range expected Text node "Ijklmnop -" but got Element node <div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ -</p><p id="b" s... -FAIL Range 37 [testDiv, 0, comment, 5] followed by Range 5 [paras[1].firstChild, 0, paras[1].firstChild, 1]: second addRange() must result in the selection's last range being the same object we added assert_equals: getRangeAt(rangeCount - 1) must return the same object we added expected object "I" but got object "Äb̈c̈d̈ëf̈g̈ḧ -Ijklmnop -QrstuvwxYzabcdefGhijklmn" -FAIL Range 37 [testDiv, 0, comment, 5] followed by Range 5 [paras[1].firstChild, 0, paras[1].firstChild, 1]: modifying the second added range must modify the Selection's last Range assert_equals: After mutating the second added Range, startContainer of the Selection's last Range must match the added Range expected Text node "Äb̈c̈d̈ëf̈g̈ḧ -" but got Element node <div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ -</p><p id="b" s... +" but got Text node "Äb̈c̈d̈ëf̈g̈ḧ +" +FAIL Range 37 [testDiv, 0, comment, 5] followed by Range 5 [paras[1].firstChild, 0, paras[1].firstChild, 1]: second addRange() must result in the selection's last range being the same object we added assert_equals: getRangeAt(rangeCount - 1) must return the same object we added expected object "I" but got object "" +FAIL Range 37 [testDiv, 0, comment, 5] followed by Range 5 [paras[1].firstChild, 0, paras[1].firstChild, 1]: modifying the second added range must modify the Selection's last Range assert_equals: After mutating the second added Range, startOffset of the Selection's last Range must match the added Range expected 0 but got 6 FAIL Range 37 [testDiv, 0, comment, 5] followed by Range 5 [paras[1].firstChild, 0, paras[1].firstChild, 1]: modifying the Selection's last Range must modify the second added Range assert_equals: After second addRange(), after mutating the Selection's last Range, startOffset of the Selection's last Range must match the added Range expected 0 but got 6 PASS Range 37 [testDiv, 0, comment, 5] followed by Range 6 [paras[1].firstChild, 2, paras[1].firstChild, 8]: first addRange() must not throw exceptions or modify the range it's given PASS Range 37 [testDiv, 0, comment, 5] followed by Range 6 [paras[1].firstChild, 2, paras[1].firstChild, 8]: first addRange() must result in rangeCount being 1 @@ -1427,14 +1078,10 @@ PASS Range 37 [testDiv, 0, comment, 5] 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 37 [testDiv, 0, comment, 5] followed by Range 6 [paras[1].firstChild, 2, paras[1].firstChild, 8]: second addRange() must result in rangeCount being 1 FAIL Range 37 [testDiv, 0, comment, 5] followed by Range 6 [paras[1].firstChild, 2, paras[1].firstChild, 8]: second addRange() must result in the selection's last range having the specified endpoints assert_equals: startContainer of the Selection's last Range must match the added Range expected Text node "Ijklmnop -" but got Element node <div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ -</p><p id="b" s... -FAIL Range 37 [testDiv, 0, comment, 5] followed by Range 6 [paras[1].firstChild, 2, paras[1].firstChild, 8]: second addRange() must result in the selection's last range being the same object we added assert_equals: getRangeAt(rangeCount - 1) must return the same object we added expected object "klmnop" but got object "Äb̈c̈d̈ëf̈g̈ḧ -Ijklmnop -QrstuvwxYzabcdefGhijklmn" -FAIL Range 37 [testDiv, 0, comment, 5] followed by Range 6 [paras[1].firstChild, 2, paras[1].firstChild, 8]: modifying the second added range must modify the Selection's last Range assert_equals: After mutating the second added Range, startContainer of the Selection's last Range must match the added Range expected Text node "Äb̈c̈d̈ëf̈g̈ḧ -" but got Element node <div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ -</p><p id="b" s... +" but got Text node "Äb̈c̈d̈ëf̈g̈ḧ +" +FAIL Range 37 [testDiv, 0, comment, 5] followed by Range 6 [paras[1].firstChild, 2, paras[1].firstChild, 8]: second addRange() must result in the selection's last range being the same object we added assert_equals: getRangeAt(rangeCount - 1) must return the same object we added expected object "klmnop" but got object "" +FAIL Range 37 [testDiv, 0, comment, 5] followed by Range 6 [paras[1].firstChild, 2, paras[1].firstChild, 8]: modifying the second added range must modify the Selection's last Range assert_equals: After mutating the second added Range, startOffset of the Selection's last Range must match the added Range expected 0 but got 6 FAIL Range 37 [testDiv, 0, comment, 5] followed by Range 6 [paras[1].firstChild, 2, paras[1].firstChild, 8]: modifying the Selection's last Range must modify the second added Range assert_equals: After second addRange(), after mutating the Selection's last Range, startOffset of the Selection's last Range must match the added Range expected 0 but got 6 PASS Range 37 [testDiv, 0, comment, 5] followed by Range 7 [paras[1].firstChild, 2, paras[1].firstChild, 9]: first addRange() must not throw exceptions or modify the range it's given PASS Range 37 [testDiv, 0, comment, 5] followed by Range 7 [paras[1].firstChild, 2, paras[1].firstChild, 9]: first addRange() must result in rangeCount being 1 @@ -1445,15 +1092,11 @@ PASS Range 37 [testDiv, 0, comment, 5] 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 37 [testDiv, 0, comment, 5] followed by Range 7 [paras[1].firstChild, 2, paras[1].firstChild, 9]: second addRange() must result in rangeCount being 1 FAIL Range 37 [testDiv, 0, comment, 5] followed by Range 7 [paras[1].firstChild, 2, paras[1].firstChild, 9]: second addRange() must result in the selection's last range having the specified endpoints assert_equals: startContainer of the Selection's last Range must match the added Range expected Text node "Ijklmnop -" but got Element node <div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ -</p><p id="b" s... +" but got Text node "Äb̈c̈d̈ëf̈g̈ḧ +" FAIL Range 37 [testDiv, 0, comment, 5] followed by Range 7 [paras[1].firstChild, 2, paras[1].firstChild, 9]: second addRange() must result in the selection's last range being the same object we added assert_equals: getRangeAt(rangeCount - 1) must return the same object we added expected object "klmnop -" but got object "Äb̈c̈d̈ëf̈g̈ḧ -Ijklmnop -QrstuvwxYzabcdefGhijklmn" -FAIL Range 37 [testDiv, 0, comment, 5] followed by Range 7 [paras[1].firstChild, 2, paras[1].firstChild, 9]: modifying the second added range must modify the Selection's last Range assert_equals: After mutating the second added Range, startContainer of the Selection's last Range must match the added Range expected Text node "Äb̈c̈d̈ëf̈g̈ḧ -" but got Element node <div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ -</p><p id="b" s... +" but got object "" +FAIL Range 37 [testDiv, 0, comment, 5] followed by Range 7 [paras[1].firstChild, 2, paras[1].firstChild, 9]: modifying the second added range must modify the Selection's last Range assert_equals: After mutating the second added Range, startOffset of the Selection's last Range must match the added Range expected 0 but got 6 FAIL Range 37 [testDiv, 0, comment, 5] followed by Range 7 [paras[1].firstChild, 2, paras[1].firstChild, 9]: modifying the Selection's last Range must modify the second added Range assert_equals: After second addRange(), after mutating the Selection's last Range, startOffset of the Selection's last Range must match the added Range expected 0 but got 6 PASS Range 37 [testDiv, 0, comment, 5] followed by Range 8 [detachedPara1.firstChild, 0, detachedPara1.firstChild, 0]: first addRange() must not throw exceptions or modify the range it's given PASS Range 37 [testDiv, 0, comment, 5] followed by Range 8 [detachedPara1.firstChild, 0, detachedPara1.firstChild, 0]: first addRange() must result in rangeCount being 1 @@ -1709,14 +1352,10 @@ PASS Range 37 [testDiv, 0, comment, 5] 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 37 [testDiv, 0, comment, 5] followed by Range 22 [paras[0], 0, paras[0], 0]: second addRange() must result in rangeCount being 1 FAIL Range 37 [testDiv, 0, comment, 5] followed by Range 22 [paras[0], 0, paras[0], 0]: second addRange() must result in the selection's last range having the specified endpoints assert_equals: startContainer of the Selection's last Range must match the added Range expected Element node <p id="a">Äb̈c̈d̈ëf̈g̈ḧ -</p> but got Element node <div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ -</p><p id="b" s... -FAIL Range 37 [testDiv, 0, comment, 5] followed by Range 22 [paras[0], 0, paras[0], 0]: second addRange() must result in the selection's last range being the same object we added assert_equals: getRangeAt(rangeCount - 1) must return the same object we added expected object "" but got object "Äb̈c̈d̈ëf̈g̈ḧ -Ijklmnop -QrstuvwxYzabcdefGhijklmn" -FAIL Range 37 [testDiv, 0, comment, 5] followed by Range 22 [paras[0], 0, paras[0], 0]: modifying the second added range must modify the Selection's last Range assert_equals: After mutating the second added Range, startContainer of the Selection's last Range must match the added Range expected Text node "Äb̈c̈d̈ëf̈g̈ḧ -" but got Element node <div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ -</p><p id="b" s... +</p> but got Text node "Äb̈c̈d̈ëf̈g̈ḧ +" +FAIL Range 37 [testDiv, 0, comment, 5] followed by Range 22 [paras[0], 0, paras[0], 0]: second addRange() must result in the selection's last range being the same object we added assert_equals: getRangeAt(rangeCount - 1) must return the same object we added expected object "" but got object "" +FAIL Range 37 [testDiv, 0, comment, 5] followed by Range 22 [paras[0], 0, paras[0], 0]: modifying the second added range must modify the Selection's last Range assert_equals: After mutating the second added Range, startOffset of the Selection's last Range must match the added Range expected 0 but got 6 FAIL Range 37 [testDiv, 0, comment, 5] followed by Range 22 [paras[0], 0, paras[0], 0]: modifying the Selection's last Range must modify the second added Range assert_equals: After second addRange(), after mutating the Selection's last Range, startOffset of the Selection's last Range must match the added Range expected 0 but got 6 PASS Range 37 [testDiv, 0, comment, 5] followed by Range 23 [paras[0], 0, paras[0], 1]: first addRange() must not throw exceptions or modify the range it's given PASS Range 37 [testDiv, 0, comment, 5] followed by Range 23 [paras[0], 0, paras[0], 1]: first addRange() must result in rangeCount being 1 @@ -1726,16 +1365,13 @@ PASS Range 37 [testDiv, 0, comment, 5] followed by Range 23 [paras[0], 0, paras[0], 1]: modifying the Selection's last Range must modify the first added Range PASS Range 37 [testDiv, 0, comment, 5] 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 37 [testDiv, 0, comment, 5] followed by Range 23 [paras[0], 0, paras[0], 1]: second addRange() must result in rangeCount being 1 -FAIL Range 37 [testDiv, 0, comment, 5] followed by Range 23 [paras[0], 0, paras[0], 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 id="a">Äb̈c̈d̈ëf̈g̈ḧ -</p> but got Element node <div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ -</p><p id="b" s... +PASS Range 37 [testDiv, 0, comment, 5] followed by Range 23 [paras[0], 0, paras[0], 1]: second addRange() must result in the selection's last range having the specified endpoints FAIL Range 37 [testDiv, 0, comment, 5] followed by Range 23 [paras[0], 0, paras[0], 1]: second addRange() must result in the selection's last range being the same object we added assert_equals: getRangeAt(rangeCount - 1) must return the same object we added expected object "Äb̈c̈d̈ëf̈g̈ḧ " but got object "Äb̈c̈d̈ëf̈g̈ḧ -Ijklmnop -QrstuvwxYzabcdefGhijklmn" +" FAIL Range 37 [testDiv, 0, comment, 5] followed by Range 23 [paras[0], 0, paras[0], 1]: modifying the second added range must modify the Selection's last Range assert_equals: After mutating the second added Range, startContainer of the Selection's last Range must match the added Range expected Text node "Äb̈c̈d̈ëf̈g̈ḧ -" but got Element node <div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ -</p><p id="b" s... +" but got Element node <p id="a">Äb̈c̈d̈ëf̈g̈ḧ +</p> FAIL Range 37 [testDiv, 0, comment, 5] followed by Range 23 [paras[0], 0, paras[0], 1]: modifying the Selection's last Range must modify the second added Range assert_equals: After second addRange(), after mutating the Selection's last Range, startOffset of the Selection's last Range must match the added Range expected 0 but got 6 PASS Range 37 [testDiv, 0, comment, 5] followed by Range 24 [detachedPara1, 0, detachedPara1, 0]: first addRange() must not throw exceptions or modify the range it's given PASS Range 37 [testDiv, 0, comment, 5] followed by Range 24 [detachedPara1, 0, detachedPara1, 0]: first addRange() must result in rangeCount being 1 @@ -1771,16 +1407,13 @@ PASS Range 37 [testDiv, 0, comment, 5] followed by Range 26 [paras[0].firstChild, 0, paras[1].firstChild, 0]: modifying the Selection's last Range must modify the first added Range PASS Range 37 [testDiv, 0, comment, 5] 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 37 [testDiv, 0, comment, 5] followed by Range 26 [paras[0].firstChild, 0, paras[1].firstChild, 0]: second addRange() must result in rangeCount being 1 -FAIL Range 37 [testDiv, 0, comment, 5] followed by Range 26 [paras[0].firstChild, 0, paras[1].firstChild, 0]: second addRange() must result in the selection's last range having the specified endpoints assert_equals: startContainer of the Selection's last Range must match the added Range expected Text node "Äb̈c̈d̈ëf̈g̈ḧ -" but got Element node <div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ -</p><p id="b" s... +PASS Range 37 [testDiv, 0, comment, 5] followed by Range 26 [paras[0].firstChild, 0, paras[1].firstChild, 0]: second addRange() must result in the selection's last range having the specified endpoints FAIL Range 37 [testDiv, 0, comment, 5] followed by Range 26 [paras[0].firstChild, 0, paras[1].firstChild, 0]: second addRange() must result in the selection's last range being the same object we added assert_equals: getRangeAt(rangeCount - 1) must return the same object we added expected object "Äb̈c̈d̈ëf̈g̈ḧ " but got object "Äb̈c̈d̈ëf̈g̈ḧ -Ijklmnop -QrstuvwxYzabcdefGhijklmn" -FAIL Range 37 [testDiv, 0, comment, 5] followed by Range 26 [paras[0].firstChild, 0, paras[1].firstChild, 0]: modifying the second added range must modify the Selection's last Range assert_equals: After mutating the second added Range, startContainer of the Selection's last Range must match the added Range expected Text node "Äb̈c̈d̈ëf̈g̈ḧ -" but got Element node <div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ -</p><p id="b" s... +" +FAIL Range 37 [testDiv, 0, comment, 5] followed by Range 26 [paras[0].firstChild, 0, paras[1].firstChild, 0]: modifying the second added range must modify the Selection's last Range assert_equals: After mutating the second added Range, endContainer of the Selection's last Range must match the added Range expected Text node "Äb̈c̈d̈ëf̈g̈ḧ +" but got Text node "Ijklmnop +" FAIL Range 37 [testDiv, 0, comment, 5] followed by Range 26 [paras[0].firstChild, 0, paras[1].firstChild, 0]: modifying the Selection's last Range must modify the second added Range assert_equals: After second addRange(), after mutating the Selection's last Range, startOffset of the Selection's last Range must match the added Range expected 0 but got 6 PASS Range 37 [testDiv, 0, comment, 5] followed by Range 27 [paras[0].firstChild, 0, paras[1].firstChild, 8]: first addRange() must not throw exceptions or modify the range it's given PASS Range 37 [testDiv, 0, comment, 5] followed by Range 27 [paras[0].firstChild, 0, paras[1].firstChild, 8]: first addRange() must result in rangeCount being 1 @@ -1790,16 +1423,13 @@ PASS Range 37 [testDiv, 0, comment, 5] followed by Range 27 [paras[0].firstChild, 0, paras[1].firstChild, 8]: modifying the Selection's last Range must modify the first added Range PASS Range 37 [testDiv, 0, comment, 5] 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 37 [testDiv, 0, comment, 5] followed by Range 27 [paras[0].firstChild, 0, paras[1].firstChild, 8]: second addRange() must result in rangeCount being 1 -FAIL Range 37 [testDiv, 0, comment, 5] followed by Range 27 [paras[0].firstChild, 0, paras[1].firstChild, 8]: second addRange() must result in the selection's last range having the specified endpoints assert_equals: startContainer of the Selection's last Range must match the added Range expected Text node "Äb̈c̈d̈ëf̈g̈ḧ -" but got Element node <div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ -</p><p id="b" s... +PASS Range 37 [testDiv, 0, comment, 5] followed by Range 27 [paras[0].firstChild, 0, paras[1].firstChild, 8]: second addRange() must result in the selection's last range having the specified endpoints FAIL Range 37 [testDiv, 0, comment, 5] followed by Range 27 [paras[0].firstChild, 0, paras[1].firstChild, 8]: second addRange() must result in the selection's last range being the same object we added assert_equals: getRangeAt(rangeCount - 1) must return the same object we added expected object "Äb̈c̈d̈ëf̈g̈ḧ Ijklmnop" but got object "Äb̈c̈d̈ëf̈g̈ḧ -Ijklmnop -QrstuvwxYzabcdefGhijklmn" -FAIL Range 37 [testDiv, 0, comment, 5] followed by Range 27 [paras[0].firstChild, 0, paras[1].firstChild, 8]: modifying the second added range must modify the Selection's last Range assert_equals: After mutating the second added Range, startContainer of the Selection's last Range must match the added Range expected Text node "Äb̈c̈d̈ëf̈g̈ḧ -" but got Element node <div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ -</p><p id="b" s... +Ijklmnop" +FAIL Range 37 [testDiv, 0, comment, 5] followed by Range 27 [paras[0].firstChild, 0, paras[1].firstChild, 8]: modifying the second added range must modify the Selection's last Range assert_equals: After mutating the second added Range, endContainer of the Selection's last Range must match the added Range expected Text node "Äb̈c̈d̈ëf̈g̈ḧ +" but got Text node "Ijklmnop +" FAIL Range 37 [testDiv, 0, comment, 5] followed by Range 27 [paras[0].firstChild, 0, paras[1].firstChild, 8]: modifying the Selection's last Range must modify the second added Range assert_equals: After second addRange(), after mutating the Selection's last Range, startOffset of the Selection's last Range must match the added Range expected 0 but got 6 PASS Range 37 [testDiv, 0, comment, 5] followed by Range 28 [paras[0].firstChild, 3, paras[3], 1]: first addRange() must not throw exceptions or modify the range it's given PASS Range 37 [testDiv, 0, comment, 5] followed by Range 28 [paras[0].firstChild, 3, paras[3], 1]: first addRange() must result in rangeCount being 1 @@ -1809,17 +1439,13 @@ PASS Range 37 [testDiv, 0, comment, 5] followed by Range 28 [paras[0].firstChild, 3, paras[3], 1]: modifying the Selection's last Range must modify the first added Range PASS Range 37 [testDiv, 0, comment, 5] 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 37 [testDiv, 0, comment, 5] followed by Range 28 [paras[0].firstChild, 3, paras[3], 1]: second addRange() must result in rangeCount being 1 -FAIL Range 37 [testDiv, 0, comment, 5] followed by Range 28 [paras[0].firstChild, 3, paras[3], 1]: second addRange() must result in the selection's last range having the specified endpoints assert_equals: startContainer of the Selection's last Range must match the added Range expected Text node "Äb̈c̈d̈ëf̈g̈ḧ -" but got Element node <div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ -</p><p id="b" s... +PASS Range 37 [testDiv, 0, comment, 5] followed by Range 28 [paras[0].firstChild, 3, paras[3], 1]: second addRange() must result in the selection's last range having the specified endpoints FAIL Range 37 [testDiv, 0, comment, 5] followed by Range 28 [paras[0].firstChild, 3, paras[3], 1]: second addRange() must result in the selection's last range being the same object we added assert_equals: getRangeAt(rangeCount - 1) must return the same object we added expected object "̈c̈d̈ëf̈g̈ḧ Ijklmnop -QrstuvwxYzabcdef" but got object "Äb̈c̈d̈ëf̈g̈ḧ +QrstuvwxYzabcdef" but got object "̈c̈d̈ëf̈g̈ḧ Ijklmnop -QrstuvwxYzabcdefGhijklmn" -FAIL Range 37 [testDiv, 0, comment, 5] followed by Range 28 [paras[0].firstChild, 3, paras[3], 1]: modifying the second added range must modify the Selection's last Range assert_equals: After mutating the second added Range, startContainer of the Selection's last Range must match the added Range expected Text node "Äb̈c̈d̈ëf̈g̈ḧ -" but got Element node <div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ -</p><p id="b" s... +QrstuvwxYzabcdef" +FAIL Range 37 [testDiv, 0, comment, 5] followed by Range 28 [paras[0].firstChild, 3, paras[3], 1]: modifying the second added range must modify the Selection's last Range assert_equals: After mutating the second added Range, startOffset of the Selection's last Range must match the added Range expected 0 but got 3 FAIL Range 37 [testDiv, 0, comment, 5] followed by Range 28 [paras[0].firstChild, 3, paras[3], 1]: modifying the Selection's last Range must modify the second added Range assert_equals: After second addRange(), after mutating the Selection's last Range, startOffset of the Selection's last Range must match the added Range expected 0 but got 6 PASS Range 37 [testDiv, 0, comment, 5] followed by Range 29 [paras[0], 0, paras[0].firstChild, 7]: first addRange() must not throw exceptions or modify the range it's given PASS Range 37 [testDiv, 0, comment, 5] followed by Range 29 [paras[0], 0, paras[0].firstChild, 7]: first addRange() must result in rangeCount being 1 @@ -1829,15 +1455,11 @@ PASS Range 37 [testDiv, 0, comment, 5] followed by Range 29 [paras[0], 0, paras[0].firstChild, 7]: modifying the Selection's last Range must modify the first added Range PASS Range 37 [testDiv, 0, comment, 5] 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 37 [testDiv, 0, comment, 5] followed by Range 29 [paras[0], 0, paras[0].firstChild, 7]: second addRange() must result in rangeCount being 1 -FAIL Range 37 [testDiv, 0, comment, 5] followed by Range 29 [paras[0], 0, paras[0].firstChild, 7]: second addRange() must result in the selection's last range having the specified endpoints assert_equals: startContainer of the Selection's last Range must match the added Range expected Element node <p id="a">Äb̈c̈d̈ëf̈g̈ḧ -</p> but got Element node <div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ -</p><p id="b" s... -FAIL Range 37 [testDiv, 0, comment, 5] followed by Range 29 [paras[0], 0, paras[0].firstChild, 7]: second addRange() must result in the selection's last range being the same object we added assert_equals: getRangeAt(rangeCount - 1) must return the same object we added expected object "Äb̈c̈d" but got object "Äb̈c̈d̈ëf̈g̈ḧ -Ijklmnop -QrstuvwxYzabcdefGhijklmn" +PASS Range 37 [testDiv, 0, comment, 5] followed by Range 29 [paras[0], 0, paras[0].firstChild, 7]: second addRange() must result in the selection's last range having the specified endpoints +FAIL Range 37 [testDiv, 0, comment, 5] followed by Range 29 [paras[0], 0, paras[0].firstChild, 7]: second addRange() must result in the selection's last range being the same object we added assert_equals: getRangeAt(rangeCount - 1) must return the same object we added expected object "Äb̈c̈d" but got object "Äb̈c̈d" FAIL Range 37 [testDiv, 0, comment, 5] followed by Range 29 [paras[0], 0, paras[0].firstChild, 7]: modifying the second added range must modify the Selection's last Range assert_equals: After mutating the second added Range, startContainer of the Selection's last Range must match the added Range expected Text node "Äb̈c̈d̈ëf̈g̈ḧ -" but got Element node <div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ -</p><p id="b" s... +" but got Element node <p id="a">Äb̈c̈d̈ëf̈g̈ḧ +</p> FAIL Range 37 [testDiv, 0, comment, 5] followed by Range 29 [paras[0], 0, paras[0].firstChild, 7]: modifying the Selection's last Range must modify the second added Range assert_equals: After second addRange(), after mutating the Selection's last Range, startOffset of the Selection's last Range must match the added Range expected 0 but got 6 PASS Range 37 [testDiv, 0, comment, 5] followed by Range 30 [testDiv, 2, paras[4], 1]: first addRange() must not throw exceptions or modify the range it's given PASS Range 37 [testDiv, 0, comment, 5] followed by Range 30 [testDiv, 2, paras[4], 1]: first addRange() must result in rangeCount being 1 @@ -1847,13 +1469,11 @@ PASS Range 37 [testDiv, 0, comment, 5] followed by Range 30 [testDiv, 2, paras[4], 1]: modifying the Selection's last Range must modify the first added Range PASS Range 37 [testDiv, 0, comment, 5] followed by Range 30 [testDiv, 2, paras[4], 1]: second addRange() must not throw exceptions or modify the range it's given PASS Range 37 [testDiv, 0, comment, 5] followed by Range 30 [testDiv, 2, paras[4], 1]: second addRange() must result in rangeCount being 1 -FAIL Range 37 [testDiv, 0, comment, 5] followed by Range 30 [testDiv, 2, paras[4], 1]: second addRange() must result in the selection's last range having the specified endpoints assert_equals: startOffset of the Selection's last Range must match the added Range expected 2 but got 0 -FAIL Range 37 [testDiv, 0, comment, 5] followed by Range 30 [testDiv, 2, paras[4], 1]: second addRange() must result in the selection's last range being the same object we added assert_equals: getRangeAt(rangeCount - 1) must return the same object we added expected object "QrstuvwxYzabcdefGhijklmn" but got object "Äb̈c̈d̈ëf̈g̈ḧ -Ijklmnop -QrstuvwxYzabcdefGhijklmn" -FAIL Range 37 [testDiv, 0, comment, 5] followed by Range 30 [testDiv, 2, paras[4], 1]: modifying the second added range must modify the Selection's last Range assert_equals: After mutating the second added Range, startContainer of the Selection's last Range must match the added Range expected Text node "Äb̈c̈d̈ëf̈g̈ḧ -" but got Element node <div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ -</p><p id="b" s... +FAIL Range 37 [testDiv, 0, comment, 5] followed by Range 30 [testDiv, 2, paras[4], 1]: second addRange() must result in the selection's last range having the specified endpoints assert_equals: startContainer of the Selection's last Range must match the added Range expected Element node <div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ +</p><p id="b" s... but got Text node "Äb̈c̈d̈ëf̈g̈ḧ +" +FAIL Range 37 [testDiv, 0, comment, 5] followed by Range 30 [testDiv, 2, paras[4], 1]: second addRange() must result in the selection's last range being the same object we added assert_equals: getRangeAt(rangeCount - 1) must return the same object we added expected object "QrstuvwxYzabcdefGhijklmn" but got object "" +FAIL Range 37 [testDiv, 0, comment, 5] followed by Range 30 [testDiv, 2, paras[4], 1]: modifying the second added range must modify the Selection's last Range assert_equals: After mutating the second added Range, startOffset of the Selection's last Range must match the added Range expected 0 but got 6 FAIL Range 37 [testDiv, 0, comment, 5] followed by Range 30 [testDiv, 2, paras[4], 1]: modifying the Selection's last Range must modify the second added Range assert_equals: After second addRange(), after mutating the Selection's last Range, startOffset of the Selection's last Range must match the added Range expected 0 but got 6 PASS Range 37 [testDiv, 0, comment, 5] followed by Range 31 [testDiv, 1, paras[2].firstChild, 5]: first addRange() must not throw exceptions or modify the range it's given PASS Range 37 [testDiv, 0, comment, 5] followed by Range 31 [testDiv, 1, paras[2].firstChild, 5]: first addRange() must result in rangeCount being 1 @@ -1863,14 +1483,12 @@ PASS Range 37 [testDiv, 0, comment, 5] followed by Range 31 [testDiv, 1, paras[2].firstChild, 5]: modifying the Selection's last Range must modify the first added Range PASS Range 37 [testDiv, 0, comment, 5] 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 37 [testDiv, 0, comment, 5] followed by Range 31 [testDiv, 1, paras[2].firstChild, 5]: second addRange() must result in rangeCount being 1 -FAIL Range 37 [testDiv, 0, comment, 5] followed by Range 31 [testDiv, 1, paras[2].firstChild, 5]: second addRange() must result in the selection's last range having the specified endpoints assert_equals: startOffset of the Selection's last Range must match the added Range expected 1 but got 0 +FAIL Range 37 [testDiv, 0, comment, 5] followed by Range 31 [testDiv, 1, paras[2].firstChild, 5]: second addRange() must result in the selection's last range having the specified endpoints assert_equals: startContainer of the Selection's last Range must match the added Range expected Element node <div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ +</p><p id="b" s... but got Text node "Äb̈c̈d̈ëf̈g̈ḧ +" FAIL Range 37 [testDiv, 0, comment, 5] followed by Range 31 [testDiv, 1, paras[2].firstChild, 5]: second addRange() must result in the selection's last range being the same object we added assert_equals: getRangeAt(rangeCount - 1) must return the same object we added expected object "Ijklmnop -Qrstu" but got object "Äb̈c̈d̈ëf̈g̈ḧ -Ijklmnop -QrstuvwxYzabcdefGhijklmn" -FAIL Range 37 [testDiv, 0, comment, 5] followed by Range 31 [testDiv, 1, paras[2].firstChild, 5]: modifying the second added range must modify the Selection's last Range assert_equals: After mutating the second added Range, startContainer of the Selection's last Range must match the added Range expected Text node "Äb̈c̈d̈ëf̈g̈ḧ -" but got Element node <div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ -</p><p id="b" s... +Qrstu" but got object "" +FAIL Range 37 [testDiv, 0, comment, 5] followed by Range 31 [testDiv, 1, paras[2].firstChild, 5]: modifying the second added range must modify the Selection's last Range assert_equals: After mutating the second added Range, startOffset of the Selection's last Range must match the added Range expected 0 but got 6 FAIL Range 37 [testDiv, 0, comment, 5] followed by Range 31 [testDiv, 1, paras[2].firstChild, 5]: modifying the Selection's last Range must modify the second added Range assert_equals: After second addRange(), after mutating the Selection's last Range, startOffset of the Selection's last Range must match the added Range expected 0 but got 6 PASS Range 37 [testDiv, 0, comment, 5] followed by Range 32 [document.documentElement, 1, document.body, 0]: first addRange() must not throw exceptions or modify the range it's given PASS Range 37 [testDiv, 0, comment, 5] followed by Range 32 [document.documentElement, 1, document.body, 0]: first addRange() must result in rangeCount being 1 @@ -2021,14 +1639,10 @@ PASS Range 37 [testDiv, 0, comment, 5] followed by Range 38 [paras[2].firstChild, 4, comment, 2]: modifying the Selection's last Range must modify the first added Range PASS Range 37 [testDiv, 0, comment, 5] 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 37 [testDiv, 0, comment, 5] followed by Range 38 [paras[2].firstChild, 4, comment, 2]: second addRange() must result in rangeCount being 1 -FAIL Range 37 [testDiv, 0, comment, 5] followed by Range 38 [paras[2].firstChild, 4, comment, 2]: second addRange() must result in the selection's last range having the specified endpoints assert_equals: startContainer of the Selection's last Range must match the added Range expected Text node "Qrstuvwx" but got Element node <div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ -</p><p id="b" s... -FAIL Range 37 [testDiv, 0, comment, 5] followed by Range 38 [paras[2].firstChild, 4, comment, 2]: second addRange() must result in the selection's last range being the same object we added assert_equals: getRangeAt(rangeCount - 1) must return the same object we added expected object "uvwxYzabcdefGhijklmn" but got object "Äb̈c̈d̈ëf̈g̈ḧ -Ijklmnop -QrstuvwxYzabcdefGhijklmn" -FAIL Range 37 [testDiv, 0, comment, 5] followed by Range 38 [paras[2].firstChild, 4, comment, 2]: modifying the second added range must modify the Selection's last Range assert_equals: After mutating the second added Range, startContainer of the Selection's last Range must match the added Range expected Text node "Äb̈c̈d̈ëf̈g̈ḧ -" but got Element node <div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ -</p><p id="b" s... +FAIL Range 37 [testDiv, 0, comment, 5] followed by Range 38 [paras[2].firstChild, 4, comment, 2]: second addRange() must result in the selection's last range having the specified endpoints assert_equals: startContainer of the Selection's last Range must match the added Range expected Text node "Qrstuvwx" but got Text node "Äb̈c̈d̈ëf̈g̈ḧ +" +FAIL Range 37 [testDiv, 0, comment, 5] followed by Range 38 [paras[2].firstChild, 4, comment, 2]: second addRange() must result in the selection's last range being the same object we added assert_equals: getRangeAt(rangeCount - 1) must return the same object we added expected object "uvwxYzabcdefGhijklmn" but got object "" +FAIL Range 37 [testDiv, 0, comment, 5] followed by Range 38 [paras[2].firstChild, 4, comment, 2]: modifying the second added range must modify the Selection's last Range assert_equals: After mutating the second added Range, startOffset of the Selection's last Range must match the added Range expected 0 but got 6 FAIL Range 37 [testDiv, 0, comment, 5] followed by Range 38 [paras[2].firstChild, 4, comment, 2]: modifying the Selection's last Range must modify the second added Range assert_equals: After second addRange(), after mutating the Selection's last Range, startOffset of the Selection's last Range must match the added Range expected 0 but got 6 PASS Range 37 [testDiv, 0, comment, 5] followed by Range 39 [paras[3], 1, comment, 8]: first addRange() must not throw exceptions or modify the range it's given PASS Range 37 [testDiv, 0, comment, 5] followed by Range 39 [paras[3], 1, comment, 8]: first addRange() must result in rangeCount being 1 @@ -2038,14 +1652,10 @@ PASS Range 37 [testDiv, 0, comment, 5] followed by Range 39 [paras[3], 1, comment, 8]: modifying the Selection's last Range must modify the first added Range PASS Range 37 [testDiv, 0, comment, 5] followed by Range 39 [paras[3], 1, comment, 8]: second addRange() must not throw exceptions or modify the range it's given PASS Range 37 [testDiv, 0, comment, 5] followed by Range 39 [paras[3], 1, comment, 8]: second addRange() must result in rangeCount being 1 -FAIL Range 37 [testDiv, 0, comment, 5] followed by Range 39 [paras[3], 1, comment, 8]: second addRange() must result in the selection's last range having the specified endpoints assert_equals: startContainer of the Selection's last Range must match the added Range expected Element node <p id="d" style="display:none">Yzabcdef</p> but got Element node <div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ -</p><p id="b" s... -FAIL Range 37 [testDiv, 0, comment, 5] followed by Range 39 [paras[3], 1, comment, 8]: second addRange() must result in the selection's last range being the same object we added assert_equals: getRangeAt(rangeCount - 1) must return the same object we added expected object "Ghijklmn" but got object "Äb̈c̈d̈ëf̈g̈ḧ -Ijklmnop -QrstuvwxYzabcdefGhijklmn" -FAIL Range 37 [testDiv, 0, comment, 5] followed by Range 39 [paras[3], 1, comment, 8]: modifying the second added range must modify the Selection's last Range assert_equals: After mutating the second added Range, startContainer of the Selection's last Range must match the added Range expected Text node "Äb̈c̈d̈ëf̈g̈ḧ -" but got Element node <div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ -</p><p id="b" s... +FAIL Range 37 [testDiv, 0, comment, 5] followed by Range 39 [paras[3], 1, comment, 8]: second addRange() must result in the selection's last range having the specified endpoints assert_equals: startContainer of the Selection's last Range must match the added Range expected Element node <p id="d" style="display:none">Yzabcdef</p> but got Text node "Äb̈c̈d̈ëf̈g̈ḧ +" +FAIL Range 37 [testDiv, 0, comment, 5] followed by Range 39 [paras[3], 1, comment, 8]: second addRange() must result in the selection's last range being the same object we added assert_equals: getRangeAt(rangeCount - 1) must return the same object we added expected object "Ghijklmn" but got object "" +FAIL Range 37 [testDiv, 0, comment, 5] followed by Range 39 [paras[3], 1, comment, 8]: modifying the second added range must modify the Selection's last Range assert_equals: After mutating the second added Range, startOffset of the Selection's last Range must match the added Range expected 0 but got 6 FAIL Range 37 [testDiv, 0, comment, 5] followed by Range 39 [paras[3], 1, comment, 8]: modifying the Selection's last Range must modify the second added Range assert_equals: After second addRange(), after mutating the Selection's last Range, startOffset of the Selection's last Range must match the added Range expected 0 but got 6 PASS Range 37 [testDiv, 0, comment, 5] followed by Range 40 [foreignDoc, 0, foreignDoc, 0]: first addRange() must not throw exceptions or modify the range it's given PASS Range 37 [testDiv, 0, comment, 5] followed by Range 40 [foreignDoc, 0, foreignDoc, 0]: first addRange() must result in rangeCount being 1 @@ -2313,9 +1923,9 @@ PASS Range 38 [paras[2].firstChild, 4, comment, 2] followed by Range 2 [paras[0].firstChild, 2, paras[0].firstChild, 8]: modifying the Selection's last Range must modify the first added Range PASS Range 38 [paras[2].firstChild, 4, comment, 2] 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 38 [paras[2].firstChild, 4, comment, 2] followed by Range 2 [paras[0].firstChild, 2, paras[0].firstChild, 8]: second addRange() must result in rangeCount being 1 -FAIL Range 38 [paras[2].firstChild, 4, comment, 2] followed by Range 2 [paras[0].firstChild, 2, paras[0].firstChild, 8]: second addRange() must result in the selection's last range having the specified endpoints assert_equals: startOffset of the Selection's last Range must match the added Range expected 2 but got 6 -FAIL Range 38 [paras[2].firstChild, 4, comment, 2] followed by Range 2 [paras[0].firstChild, 2, paras[0].firstChild, 8]: second addRange() must result in the selection's last range being the same object we added assert_equals: getRangeAt(rangeCount - 1) must return the same object we added expected object "b̈c̈d̈" but got object "" -FAIL Range 38 [paras[2].firstChild, 4, comment, 2] followed by Range 2 [paras[0].firstChild, 2, paras[0].firstChild, 8]: modifying the second added range must modify the Selection's last Range assert_equals: After mutating the second added Range, startOffset of the Selection's last Range must match the added Range expected 0 but got 6 +PASS Range 38 [paras[2].firstChild, 4, comment, 2] followed by Range 2 [paras[0].firstChild, 2, paras[0].firstChild, 8]: second addRange() must result in the selection's last range having the specified endpoints +FAIL Range 38 [paras[2].firstChild, 4, comment, 2] followed by Range 2 [paras[0].firstChild, 2, paras[0].firstChild, 8]: second addRange() must result in the selection's last range being the same object we added assert_equals: getRangeAt(rangeCount - 1) must return the same object we added expected object "b̈c̈d̈" but got object "b̈c̈d̈" +FAIL Range 38 [paras[2].firstChild, 4, comment, 2] followed by Range 2 [paras[0].firstChild, 2, paras[0].firstChild, 8]: modifying the second added range must modify the Selection's last Range assert_equals: After mutating the second added Range, startOffset of the Selection's last Range must match the added Range expected 0 but got 2 FAIL Range 38 [paras[2].firstChild, 4, comment, 2] followed by Range 2 [paras[0].firstChild, 2, paras[0].firstChild, 8]: modifying the Selection's last Range must modify the second added Range assert_equals: After second addRange(), after mutating the Selection's last Range, startOffset of the Selection's last Range must match the added Range expected 0 but got 6 PASS Range 38 [paras[2].firstChild, 4, comment, 2] followed by Range 3 [paras[0].firstChild, 2, paras[0].firstChild, 9]: first addRange() must not throw exceptions or modify the range it's given PASS Range 38 [paras[2].firstChild, 4, comment, 2] followed by Range 3 [paras[0].firstChild, 2, paras[0].firstChild, 9]: first addRange() must result in rangeCount being 1 @@ -2325,9 +1935,9 @@ PASS Range 38 [paras[2].firstChild, 4, comment, 2] followed by Range 3 [paras[0].firstChild, 2, paras[0].firstChild, 9]: modifying the Selection's last Range must modify the first added Range PASS Range 38 [paras[2].firstChild, 4, comment, 2] 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 38 [paras[2].firstChild, 4, comment, 2] followed by Range 3 [paras[0].firstChild, 2, paras[0].firstChild, 9]: second addRange() must result in rangeCount being 1 -FAIL Range 38 [paras[2].firstChild, 4, comment, 2] followed by Range 3 [paras[0].firstChild, 2, paras[0].firstChild, 9]: second addRange() must result in the selection's last range having the specified endpoints assert_equals: startOffset of the Selection's last Range must match the added Range expected 2 but got 6 -FAIL Range 38 [paras[2].firstChild, 4, comment, 2] followed by Range 3 [paras[0].firstChild, 2, paras[0].firstChild, 9]: second addRange() must result in the selection's last range being the same object we added assert_equals: getRangeAt(rangeCount - 1) must return the same object we added expected object "b̈c̈d̈e" but got object "" -FAIL Range 38 [paras[2].firstChild, 4, comment, 2] followed by Range 3 [paras[0].firstChild, 2, paras[0].firstChild, 9]: modifying the second added range must modify the Selection's last Range assert_equals: After mutating the second added Range, startOffset of the Selection's last Range must match the added Range expected 0 but got 6 +PASS Range 38 [paras[2].firstChild, 4, comment, 2] followed by Range 3 [paras[0].firstChild, 2, paras[0].firstChild, 9]: second addRange() must result in the selection's last range having the specified endpoints +FAIL Range 38 [paras[2].firstChild, 4, comment, 2] followed by Range 3 [paras[0].firstChild, 2, paras[0].firstChild, 9]: second addRange() must result in the selection's last range being the same object we added assert_equals: getRangeAt(rangeCount - 1) must return the same object we added expected object "b̈c̈d̈e" but got object "b̈c̈d̈e" +FAIL Range 38 [paras[2].firstChild, 4, comment, 2] followed by Range 3 [paras[0].firstChild, 2, paras[0].firstChild, 9]: modifying the second added range must modify the Selection's last Range assert_equals: After mutating the second added Range, startOffset of the Selection's last Range must match the added Range expected 0 but got 2 FAIL Range 38 [paras[2].firstChild, 4, comment, 2] followed by Range 3 [paras[0].firstChild, 2, paras[0].firstChild, 9]: modifying the Selection's last Range must modify the second added Range assert_equals: After second addRange(), after mutating the Selection's last Range, startOffset of the Selection's last Range must match the added Range expected 0 but got 6 PASS Range 38 [paras[2].firstChild, 4, comment, 2] followed by Range 4 [paras[1].firstChild, 0, paras[1].firstChild, 0]: first addRange() must not throw exceptions or modify the range it's given PASS Range 38 [paras[2].firstChild, 4, comment, 2] followed by Range 4 [paras[1].firstChild, 0, paras[1].firstChild, 0]: first addRange() must result in rangeCount being 1 @@ -2653,12 +2263,13 @@ PASS Range 38 [paras[2].firstChild, 4, comment, 2] followed by Range 23 [paras[0], 0, paras[0], 1]: modifying the Selection's last Range must modify the first added Range PASS Range 38 [paras[2].firstChild, 4, comment, 2] 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 38 [paras[2].firstChild, 4, comment, 2] followed by Range 23 [paras[0], 0, paras[0], 1]: second addRange() must result in rangeCount being 1 -FAIL Range 38 [paras[2].firstChild, 4, comment, 2] followed by Range 23 [paras[0], 0, paras[0], 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 id="a">Äb̈c̈d̈ëf̈g̈ḧ -</p> but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" +PASS Range 38 [paras[2].firstChild, 4, comment, 2] followed by Range 23 [paras[0], 0, paras[0], 1]: second addRange() must result in the selection's last range having the specified endpoints FAIL Range 38 [paras[2].firstChild, 4, comment, 2] followed by Range 23 [paras[0], 0, paras[0], 1]: second addRange() must result in the selection's last range being the same object we added assert_equals: getRangeAt(rangeCount - 1) must return the same object we added expected object "Äb̈c̈d̈ëf̈g̈ḧ -" but got object "" -FAIL Range 38 [paras[2].firstChild, 4, comment, 2] followed by Range 23 [paras[0], 0, paras[0], 1]: modifying the second added range must modify the Selection's last Range assert_equals: After mutating the second added Range, startOffset of the Selection's last Range must match the added Range expected 0 but got 6 +" but got object "Äb̈c̈d̈ëf̈g̈ḧ +" +FAIL Range 38 [paras[2].firstChild, 4, comment, 2] followed by Range 23 [paras[0], 0, paras[0], 1]: modifying the second added range must modify the Selection's last Range assert_equals: After mutating the second added Range, startContainer of the Selection's last Range must match the added Range expected Text node "Äb̈c̈d̈ëf̈g̈ḧ +" but got Element node <p id="a">Äb̈c̈d̈ëf̈g̈ḧ +</p> FAIL Range 38 [paras[2].firstChild, 4, comment, 2] followed by Range 23 [paras[0], 0, paras[0], 1]: modifying the Selection's last Range must modify the second added Range assert_equals: After second addRange(), after mutating the Selection's last Range, startOffset of the Selection's last Range must match the added Range expected 0 but got 6 PASS Range 38 [paras[2].firstChild, 4, comment, 2] followed by Range 24 [detachedPara1, 0, detachedPara1, 0]: first addRange() must not throw exceptions or modify the range it's given PASS Range 38 [paras[2].firstChild, 4, comment, 2] followed by Range 24 [detachedPara1, 0, detachedPara1, 0]: first addRange() must result in rangeCount being 1 @@ -2694,10 +2305,13 @@ PASS Range 38 [paras[2].firstChild, 4, comment, 2] followed by Range 26 [paras[0].firstChild, 0, paras[1].firstChild, 0]: modifying the Selection's last Range must modify the first added Range PASS Range 38 [paras[2].firstChild, 4, comment, 2] 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 38 [paras[2].firstChild, 4, comment, 2] followed by Range 26 [paras[0].firstChild, 0, paras[1].firstChild, 0]: second addRange() must result in rangeCount being 1 -FAIL Range 38 [paras[2].firstChild, 4, comment, 2] followed by Range 26 [paras[0].firstChild, 0, paras[1].firstChild, 0]: second addRange() must result in the selection's last range having the specified endpoints assert_equals: startOffset of the Selection's last Range must match the added Range expected 0 but got 6 +PASS Range 38 [paras[2].firstChild, 4, comment, 2] followed by Range 26 [paras[0].firstChild, 0, paras[1].firstChild, 0]: second addRange() must result in the selection's last range having the specified endpoints FAIL Range 38 [paras[2].firstChild, 4, comment, 2] followed by Range 26 [paras[0].firstChild, 0, paras[1].firstChild, 0]: second addRange() must result in the selection's last range being the same object we added assert_equals: getRangeAt(rangeCount - 1) must return the same object we added expected object "Äb̈c̈d̈ëf̈g̈ḧ -" but got object "" -FAIL Range 38 [paras[2].firstChild, 4, comment, 2] followed by Range 26 [paras[0].firstChild, 0, paras[1].firstChild, 0]: modifying the second added range must modify the Selection's last Range assert_equals: After mutating the second added Range, startOffset of the Selection's last Range must match the added Range expected 0 but got 6 +" but got object "Äb̈c̈d̈ëf̈g̈ḧ +" +FAIL Range 38 [paras[2].firstChild, 4, comment, 2] followed by Range 26 [paras[0].firstChild, 0, paras[1].firstChild, 0]: modifying the second added range must modify the Selection's last Range assert_equals: After mutating the second added Range, endContainer of the Selection's last Range must match the added Range expected Text node "Äb̈c̈d̈ëf̈g̈ḧ +" but got Text node "Ijklmnop +" FAIL Range 38 [paras[2].firstChild, 4, comment, 2] followed by Range 26 [paras[0].firstChild, 0, paras[1].firstChild, 0]: modifying the Selection's last Range must modify the second added Range assert_equals: After second addRange(), after mutating the Selection's last Range, startOffset of the Selection's last Range must match the added Range expected 0 but got 6 PASS Range 38 [paras[2].firstChild, 4, comment, 2] followed by Range 27 [paras[0].firstChild, 0, paras[1].firstChild, 8]: first addRange() must not throw exceptions or modify the range it's given PASS Range 38 [paras[2].firstChild, 4, comment, 2] followed by Range 27 [paras[0].firstChild, 0, paras[1].firstChild, 8]: first addRange() must result in rangeCount being 1 @@ -2707,10 +2321,13 @@ PASS Range 38 [paras[2].firstChild, 4, comment, 2] followed by Range 27 [paras[0].firstChild, 0, paras[1].firstChild, 8]: modifying the Selection's last Range must modify the first added Range PASS Range 38 [paras[2].firstChild, 4, comment, 2] 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 38 [paras[2].firstChild, 4, comment, 2] followed by Range 27 [paras[0].firstChild, 0, paras[1].firstChild, 8]: second addRange() must result in rangeCount being 1 -FAIL Range 38 [paras[2].firstChild, 4, comment, 2] followed by Range 27 [paras[0].firstChild, 0, paras[1].firstChild, 8]: second addRange() must result in the selection's last range having the specified endpoints assert_equals: startOffset of the Selection's last Range must match the added Range expected 0 but got 6 +PASS Range 38 [paras[2].firstChild, 4, comment, 2] followed by Range 27 [paras[0].firstChild, 0, paras[1].firstChild, 8]: second addRange() must result in the selection's last range having the specified endpoints FAIL Range 38 [paras[2].firstChild, 4, comment, 2] followed by Range 27 [paras[0].firstChild, 0, paras[1].firstChild, 8]: second addRange() must result in the selection's last range being the same object we added assert_equals: getRangeAt(rangeCount - 1) must return the same object we added expected object "Äb̈c̈d̈ëf̈g̈ḧ -Ijklmnop" but got object "" -FAIL Range 38 [paras[2].firstChild, 4, comment, 2] followed by Range 27 [paras[0].firstChild, 0, paras[1].firstChild, 8]: modifying the second added range must modify the Selection's last Range assert_equals: After mutating the second added Range, startOffset of the Selection's last Range must match the added Range expected 0 but got 6 +Ijklmnop" but got object "Äb̈c̈d̈ëf̈g̈ḧ +Ijklmnop" +FAIL Range 38 [paras[2].firstChild, 4, comment, 2] followed by Range 27 [paras[0].firstChild, 0, paras[1].firstChild, 8]: modifying the second added range must modify the Selection's last Range assert_equals: After mutating the second added Range, endContainer of the Selection's last Range must match the added Range expected Text node "Äb̈c̈d̈ëf̈g̈ḧ +" but got Text node "Ijklmnop +" FAIL Range 38 [paras[2].firstChild, 4, comment, 2] followed by Range 27 [paras[0].firstChild, 0, paras[1].firstChild, 8]: modifying the Selection's last Range must modify the second added Range assert_equals: After second addRange(), after mutating the Selection's last Range, startOffset of the Selection's last Range must match the added Range expected 0 but got 6 PASS Range 38 [paras[2].firstChild, 4, comment, 2] followed by Range 28 [paras[0].firstChild, 3, paras[3], 1]: first addRange() must not throw exceptions or modify the range it's given PASS Range 38 [paras[2].firstChild, 4, comment, 2] followed by Range 28 [paras[0].firstChild, 3, paras[3], 1]: first addRange() must result in rangeCount being 1 @@ -2720,13 +2337,12 @@ PASS Range 38 [paras[2].firstChild, 4, comment, 2] followed by Range 28 [paras[0].firstChild, 3, paras[3], 1]: modifying the Selection's last Range must modify the first added Range PASS Range 38 [paras[2].firstChild, 4, comment, 2] 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 38 [paras[2].firstChild, 4, comment, 2] followed by Range 28 [paras[0].firstChild, 3, paras[3], 1]: second addRange() must result in rangeCount being 1 -FAIL Range 38 [paras[2].firstChild, 4, comment, 2] followed by Range 28 [paras[0].firstChild, 3, paras[3], 1]: second addRange() must result in the selection's last range having the specified endpoints assert_equals: endContainer of the Selection's last Range must match the added Range expected Element node <p id="d" style="display:none">Yzabcdef</p> but got Element node <div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ -</p><p id="b" s... +PASS Range 38 [paras[2].firstChild, 4, comment, 2] followed by Range 28 [paras[0].firstChild, 3, paras[3], 1]: second addRange() must result in the selection's last range having the specified endpoints FAIL Range 38 [paras[2].firstChild, 4, comment, 2] followed by Range 28 [paras[0].firstChild, 3, paras[3], 1]: second addRange() must result in the selection's last range being the same object we added assert_equals: getRangeAt(rangeCount - 1) must return the same object we added expected object "̈c̈d̈ëf̈g̈ḧ Ijklmnop QrstuvwxYzabcdef" but got object "̈c̈d̈ëf̈g̈ḧ Ijklmnop -QrstuvwxYzabcdefGhijklmn" +QrstuvwxYzabcdef" FAIL Range 38 [paras[2].firstChild, 4, comment, 2] followed by Range 28 [paras[0].firstChild, 3, paras[3], 1]: modifying the second added range must modify the Selection's last Range assert_equals: After mutating the second added Range, startOffset of the Selection's last Range must match the added Range expected 0 but got 3 FAIL Range 38 [paras[2].firstChild, 4, comment, 2] followed by Range 28 [paras[0].firstChild, 3, paras[3], 1]: modifying the Selection's last Range must modify the second added Range assert_equals: After second addRange(), after mutating the Selection's last Range, startOffset of the Selection's last Range must match the added Range expected 0 but got 6 PASS Range 38 [paras[2].firstChild, 4, comment, 2] followed by Range 29 [paras[0], 0, paras[0].firstChild, 7]: first addRange() must not throw exceptions or modify the range it's given @@ -2737,11 +2353,11 @@ PASS Range 38 [paras[2].firstChild, 4, comment, 2] followed by Range 29 [paras[0], 0, paras[0].firstChild, 7]: modifying the Selection's last Range must modify the first added Range PASS Range 38 [paras[2].firstChild, 4, comment, 2] 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 38 [paras[2].firstChild, 4, comment, 2] followed by Range 29 [paras[0], 0, paras[0].firstChild, 7]: second addRange() must result in rangeCount being 1 -FAIL Range 38 [paras[2].firstChild, 4, comment, 2] followed by Range 29 [paras[0], 0, paras[0].firstChild, 7]: second addRange() must result in the selection's last range having the specified endpoints assert_equals: startContainer of the Selection's last Range must match the added Range expected Element node <p id="a">Äb̈c̈d̈ëf̈g̈ḧ -</p> but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -FAIL Range 38 [paras[2].firstChild, 4, comment, 2] followed by Range 29 [paras[0], 0, paras[0].firstChild, 7]: second addRange() must result in the selection's last range being the same object we added assert_equals: getRangeAt(rangeCount - 1) must return the same object we added expected object "Äb̈c̈d" but got object "" -FAIL Range 38 [paras[2].firstChild, 4, comment, 2] followed by Range 29 [paras[0], 0, paras[0].firstChild, 7]: modifying the second added range must modify the Selection's last Range assert_equals: After mutating the second added Range, startOffset of the Selection's last Range must match the added Range expected 0 but got 6 +PASS Range 38 [paras[2].firstChild, 4, comment, 2] followed by Range 29 [paras[0], 0, paras[0].firstChild, 7]: second addRange() must result in the selection's last range having the specified endpoints +FAIL Range 38 [paras[2].firstChild, 4, comment, 2] followed by Range 29 [paras[0], 0, paras[0].firstChild, 7]: second addRange() must result in the selection's last range being the same object we added assert_equals: getRangeAt(rangeCount - 1) must return the same object we added expected object "Äb̈c̈d" but got object "Äb̈c̈d" +FAIL Range 38 [paras[2].firstChild, 4, comment, 2] followed by Range 29 [paras[0], 0, paras[0].firstChild, 7]: modifying the second added range must modify the Selection's last Range assert_equals: After mutating the second added Range, startContainer of the Selection's last Range must match the added Range expected Text node "Äb̈c̈d̈ëf̈g̈ḧ +" but got Element node <p id="a">Äb̈c̈d̈ëf̈g̈ḧ +</p> FAIL Range 38 [paras[2].firstChild, 4, comment, 2] followed by Range 29 [paras[0], 0, paras[0].firstChild, 7]: modifying the Selection's last Range must modify the second added Range assert_equals: After second addRange(), after mutating the Selection's last Range, startOffset of the Selection's last Range must match the added Range expected 0 but got 6 PASS Range 38 [paras[2].firstChild, 4, comment, 2] followed by Range 30 [testDiv, 2, paras[4], 1]: first addRange() must not throw exceptions or modify the range it's given PASS Range 38 [paras[2].firstChild, 4, comment, 2] followed by Range 30 [testDiv, 2, paras[4], 1]: first addRange() must result in rangeCount being 1 @@ -2751,12 +2367,11 @@ PASS Range 38 [paras[2].firstChild, 4, comment, 2] followed by Range 30 [testDiv, 2, paras[4], 1]: modifying the Selection's last Range must modify the first added Range PASS Range 38 [paras[2].firstChild, 4, comment, 2] followed by Range 30 [testDiv, 2, paras[4], 1]: second addRange() must not throw exceptions or modify the range it's given PASS Range 38 [paras[2].firstChild, 4, comment, 2] followed by Range 30 [testDiv, 2, paras[4], 1]: second addRange() must result in rangeCount being 1 -FAIL Range 38 [paras[2].firstChild, 4, comment, 2] followed by Range 30 [testDiv, 2, paras[4], 1]: second addRange() must result in the selection's last range having the specified endpoints assert_equals: endContainer of the Selection's last Range must match the added Range expected Element node <p id="e" style="display:none">Ghijklmn</p> but got Element node <div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ -</p><p id="b" s... -FAIL Range 38 [paras[2].firstChild, 4, comment, 2] followed by Range 30 [testDiv, 2, paras[4], 1]: second addRange() must result in the selection's last range being the same object we added assert_equals: getRangeAt(rangeCount - 1) must return the same object we added expected object "QrstuvwxYzabcdefGhijklmn" but got object "QrstuvwxYzabcdefGhijklmn" -FAIL Range 38 [paras[2].firstChild, 4, comment, 2] followed by Range 30 [testDiv, 2, paras[4], 1]: modifying the second added range must modify the Selection's last Range assert_equals: After mutating the second added Range, startContainer of the Selection's last Range must match the added Range expected Text node "Äb̈c̈d̈ëf̈g̈ḧ -" but got Element node <div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ -</p><p id="b" s... +FAIL Range 38 [paras[2].firstChild, 4, comment, 2] followed by Range 30 [testDiv, 2, paras[4], 1]: second addRange() must result in the selection's last range having the specified endpoints assert_equals: startContainer of the Selection's last Range must match the added Range expected Element node <div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ +</p><p id="b" s... but got Text node "Äb̈c̈d̈ëf̈g̈ḧ +" +FAIL Range 38 [paras[2].firstChild, 4, comment, 2] followed by Range 30 [testDiv, 2, paras[4], 1]: second addRange() must result in the selection's last range being the same object we added assert_equals: getRangeAt(rangeCount - 1) must return the same object we added expected object "QrstuvwxYzabcdefGhijklmn" but got object "" +FAIL Range 38 [paras[2].firstChild, 4, comment, 2] followed by Range 30 [testDiv, 2, paras[4], 1]: modifying the second added range must modify the Selection's last Range assert_equals: After mutating the second added Range, startOffset of the Selection's last Range must match the added Range expected 0 but got 6 FAIL Range 38 [paras[2].firstChild, 4, comment, 2] followed by Range 30 [testDiv, 2, paras[4], 1]: modifying the Selection's last Range must modify the second added Range assert_equals: After second addRange(), after mutating the Selection's last Range, startOffset of the Selection's last Range must match the added Range expected 0 but got 6 PASS Range 38 [paras[2].firstChild, 4, comment, 2] followed by Range 31 [testDiv, 1, paras[2].firstChild, 5]: first addRange() must not throw exceptions or modify the range it's given PASS Range 38 [paras[2].firstChild, 4, comment, 2] followed by Range 31 [testDiv, 1, paras[2].firstChild, 5]: first addRange() must result in rangeCount being 1 @@ -2766,14 +2381,12 @@ PASS Range 38 [paras[2].firstChild, 4, comment, 2] followed by Range 31 [testDiv, 1, paras[2].firstChild, 5]: modifying the Selection's last Range must modify the first added Range PASS Range 38 [paras[2].firstChild, 4, comment, 2] 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 38 [paras[2].firstChild, 4, comment, 2] followed by Range 31 [testDiv, 1, paras[2].firstChild, 5]: second addRange() must result in rangeCount being 1 -FAIL Range 38 [paras[2].firstChild, 4, comment, 2] followed by Range 31 [testDiv, 1, paras[2].firstChild, 5]: second addRange() must result in the selection's last range having the specified endpoints assert_equals: endContainer of the Selection's last Range must match the added Range expected Text node "Qrstuvwx" but got Element node <div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ -</p><p id="b" s... +FAIL Range 38 [paras[2].firstChild, 4, comment, 2] followed by Range 31 [testDiv, 1, paras[2].firstChild, 5]: second addRange() must result in the selection's last range having the specified endpoints assert_equals: startContainer of the Selection's last Range must match the added Range expected Element node <div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ +</p><p id="b" s... but got Text node "Äb̈c̈d̈ëf̈g̈ḧ +" FAIL Range 38 [paras[2].firstChild, 4, comment, 2] followed by Range 31 [testDiv, 1, paras[2].firstChild, 5]: second addRange() must result in the selection's last range being the same object we added assert_equals: getRangeAt(rangeCount - 1) must return the same object we added expected object "Ijklmnop -Qrstu" but got object "Ijklmnop -QrstuvwxYzabcdefGhijklmn" -FAIL Range 38 [paras[2].firstChild, 4, comment, 2] followed by Range 31 [testDiv, 1, paras[2].firstChild, 5]: modifying the second added range must modify the Selection's last Range assert_equals: After mutating the second added Range, startContainer of the Selection's last Range must match the added Range expected Text node "Äb̈c̈d̈ëf̈g̈ḧ -" but got Element node <div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ -</p><p id="b" s... +Qrstu" but got object "" +FAIL Range 38 [paras[2].firstChild, 4, comment, 2] followed by Range 31 [testDiv, 1, paras[2].firstChild, 5]: modifying the second added range must modify the Selection's last Range assert_equals: After mutating the second added Range, startOffset of the Selection's last Range must match the added Range expected 0 but got 6 FAIL Range 38 [paras[2].firstChild, 4, comment, 2] followed by Range 31 [testDiv, 1, paras[2].firstChild, 5]: modifying the Selection's last Range must modify the second added Range assert_equals: After second addRange(), after mutating the Selection's last Range, startOffset of the Selection's last Range must match the added Range expected 0 but got 6 PASS Range 38 [paras[2].firstChild, 4, comment, 2] followed by Range 32 [document.documentElement, 1, document.body, 0]: first addRange() must not throw exceptions or modify the range it's given PASS Range 38 [paras[2].firstChild, 4, comment, 2] followed by Range 32 [document.documentElement, 1, document.body, 0]: first addRange() must result in rangeCount being 1 @@ -2924,11 +2537,10 @@ PASS Range 38 [paras[2].firstChild, 4, comment, 2] followed by Range 38 [paras[2].firstChild, 4, comment, 2]: modifying the Selection's last Range must modify the first added Range PASS Range 38 [paras[2].firstChild, 4, comment, 2] 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 38 [paras[2].firstChild, 4, comment, 2] followed by Range 38 [paras[2].firstChild, 4, comment, 2]: second addRange() must result in rangeCount being 1 -FAIL Range 38 [paras[2].firstChild, 4, comment, 2] followed by Range 38 [paras[2].firstChild, 4, comment, 2]: second addRange() must result in the selection's last range having the specified endpoints assert_equals: endContainer of the Selection's last Range must match the added Range expected Comment node <!--Alphabet soup?--> but got Element node <div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ -</p><p id="b" s... -FAIL Range 38 [paras[2].firstChild, 4, comment, 2] followed by Range 38 [paras[2].firstChild, 4, comment, 2]: second addRange() must result in the selection's last range being the same object we added assert_equals: getRangeAt(rangeCount - 1) must return the same object we added expected object "uvwxYzabcdefGhijklmn" but got object "uvwxYzabcdefGhijklmn" -FAIL Range 38 [paras[2].firstChild, 4, comment, 2] followed by Range 38 [paras[2].firstChild, 4, comment, 2]: modifying the second added range must modify the Selection's last Range assert_equals: After mutating the second added Range, startContainer of the Selection's last Range must match the added Range expected Text node "Äb̈c̈d̈ëf̈g̈ḧ -" but got Text node "Qrstuvwx" +FAIL Range 38 [paras[2].firstChild, 4, comment, 2] followed by Range 38 [paras[2].firstChild, 4, comment, 2]: second addRange() must result in the selection's last range having the specified endpoints assert_equals: startContainer of the Selection's last Range must match the added Range expected Text node "Qrstuvwx" but got Text node "Äb̈c̈d̈ëf̈g̈ḧ +" +FAIL Range 38 [paras[2].firstChild, 4, comment, 2] followed by Range 38 [paras[2].firstChild, 4, comment, 2]: second addRange() must result in the selection's last range being the same object we added assert_equals: getRangeAt(rangeCount - 1) must return the same object we added expected object "uvwxYzabcdefGhijklmn" but got object "" +FAIL Range 38 [paras[2].firstChild, 4, comment, 2] followed by Range 38 [paras[2].firstChild, 4, comment, 2]: modifying the second added range must modify the Selection's last Range assert_equals: After mutating the second added Range, startOffset of the Selection's last Range must match the added Range expected 0 but got 6 FAIL Range 38 [paras[2].firstChild, 4, comment, 2] followed by Range 38 [paras[2].firstChild, 4, comment, 2]: modifying the Selection's last Range must modify the second added Range assert_equals: After second addRange(), after mutating the Selection's last Range, startOffset of the Selection's last Range must match the added Range expected 0 but got 6 PASS Range 38 [paras[2].firstChild, 4, comment, 2] followed by Range 39 [paras[3], 1, comment, 8]: first addRange() must not throw exceptions or modify the range it's given PASS Range 38 [paras[2].firstChild, 4, comment, 2] followed by Range 39 [paras[3], 1, comment, 8]: first addRange() must result in rangeCount being 1 @@ -2938,10 +2550,10 @@ PASS Range 38 [paras[2].firstChild, 4, comment, 2] followed by Range 39 [paras[3], 1, comment, 8]: modifying the Selection's last Range must modify the first added Range PASS Range 38 [paras[2].firstChild, 4, comment, 2] followed by Range 39 [paras[3], 1, comment, 8]: second addRange() must not throw exceptions or modify the range it's given PASS Range 38 [paras[2].firstChild, 4, comment, 2] followed by Range 39 [paras[3], 1, comment, 8]: second addRange() must result in rangeCount being 1 -FAIL Range 38 [paras[2].firstChild, 4, comment, 2] followed by Range 39 [paras[3], 1, comment, 8]: second addRange() must result in the selection's last range having the specified endpoints assert_equals: startContainer of the Selection's last Range must match the added Range expected Element node <p id="d" style="display:none">Yzabcdef</p> but got Text node "Qrstuvwx" -FAIL Range 38 [paras[2].firstChild, 4, comment, 2] followed by Range 39 [paras[3], 1, comment, 8]: second addRange() must result in the selection's last range being the same object we added assert_equals: getRangeAt(rangeCount - 1) must return the same object we added expected object "Ghijklmn" but got object "uvwxYzabcdefGhijklmn" -FAIL Range 38 [paras[2].firstChild, 4, comment, 2] followed by Range 39 [paras[3], 1, comment, 8]: modifying the second added range must modify the Selection's last Range assert_equals: After mutating the second added Range, startContainer of the Selection's last Range must match the added Range expected Text node "Äb̈c̈d̈ëf̈g̈ḧ -" but got Text node "Qrstuvwx" +FAIL Range 38 [paras[2].firstChild, 4, comment, 2] followed by Range 39 [paras[3], 1, comment, 8]: second addRange() must result in the selection's last range having the specified endpoints assert_equals: startContainer of the Selection's last Range must match the added Range expected Element node <p id="d" style="display:none">Yzabcdef</p> but got Text node "Äb̈c̈d̈ëf̈g̈ḧ +" +FAIL Range 38 [paras[2].firstChild, 4, comment, 2] followed by Range 39 [paras[3], 1, comment, 8]: second addRange() must result in the selection's last range being the same object we added assert_equals: getRangeAt(rangeCount - 1) must return the same object we added expected object "Ghijklmn" but got object "" +FAIL Range 38 [paras[2].firstChild, 4, comment, 2] followed by Range 39 [paras[3], 1, comment, 8]: modifying the second added range must modify the Selection's last Range assert_equals: After mutating the second added Range, startOffset of the Selection's last Range must match the added Range expected 0 but got 6 FAIL Range 38 [paras[2].firstChild, 4, comment, 2] followed by Range 39 [paras[3], 1, comment, 8]: modifying the Selection's last Range must modify the second added Range assert_equals: After second addRange(), after mutating the Selection's last Range, startOffset of the Selection's last Range must match the added Range expected 0 but got 6 PASS Range 38 [paras[2].firstChild, 4, comment, 2] followed by Range 40 [foreignDoc, 0, foreignDoc, 0]: first addRange() must not throw exceptions or modify the range it's given PASS Range 38 [paras[2].firstChild, 4, comment, 2] followed by Range 40 [foreignDoc, 0, foreignDoc, 0]: first addRange() must result in rangeCount being 1 @@ -3209,9 +2821,9 @@ PASS Range 39 [paras[3], 1, comment, 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 PASS Range 39 [paras[3], 1, comment, 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 39 [paras[3], 1, comment, 8] followed by Range 2 [paras[0].firstChild, 2, paras[0].firstChild, 8]: second addRange() must result in rangeCount being 1 -FAIL Range 39 [paras[3], 1, comment, 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 assert_equals: startOffset of the Selection's last Range must match the added Range expected 2 but got 6 -FAIL Range 39 [paras[3], 1, comment, 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 assert_equals: getRangeAt(rangeCount - 1) must return the same object we added expected object "b̈c̈d̈" but got object "" -FAIL Range 39 [paras[3], 1, comment, 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 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 +PASS Range 39 [paras[3], 1, comment, 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 +FAIL Range 39 [paras[3], 1, comment, 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 assert_equals: getRangeAt(rangeCount - 1) must return the same object we added expected object "b̈c̈d̈" but got object "b̈c̈d̈" +FAIL Range 39 [paras[3], 1, comment, 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 assert_equals: After mutating the second added Range, startOffset of the Selection's last Range must match the added Range expected 0 but got 2 FAIL Range 39 [paras[3], 1, comment, 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 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 39 [paras[3], 1, comment, 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 PASS Range 39 [paras[3], 1, comment, 8] followed by Range 3 [paras[0].firstChild, 2, paras[0].firstChild, 9]: first addRange() must result in rangeCount being 1 @@ -3221,9 +2833,9 @@ PASS Range 39 [paras[3], 1, comment, 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 PASS Range 39 [paras[3], 1, comment, 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 39 [paras[3], 1, comment, 8] followed by Range 3 [paras[0].firstChild, 2, paras[0].firstChild, 9]: second addRange() must result in rangeCount being 1 -FAIL Range 39 [paras[3], 1, comment, 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 assert_equals: startOffset of the Selection's last Range must match the added Range expected 2 but got 6 -FAIL Range 39 [paras[3], 1, comment, 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 assert_equals: getRangeAt(rangeCount - 1) must return the same object we added expected object "b̈c̈d̈e" but got object "" -FAIL Range 39 [paras[3], 1, comment, 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 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 +PASS Range 39 [paras[3], 1, comment, 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 +FAIL Range 39 [paras[3], 1, comment, 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 assert_equals: getRangeAt(rangeCount - 1) must return the same object we added expected object "b̈c̈d̈e" but got object "b̈c̈d̈e" +FAIL Range 39 [paras[3], 1, comment, 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 assert_equals: After mutating the second added Range, startOffset of the Selection's last Range must match the added Range expected 0 but got 2 FAIL Range 39 [paras[3], 1, comment, 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 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 39 [paras[3], 1, comment, 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 PASS Range 39 [paras[3], 1, comment, 8] followed by Range 4 [paras[1].firstChild, 0, paras[1].firstChild, 0]: first addRange() must result in rangeCount being 1 @@ -3549,12 +3161,13 @@ PASS Range 39 [paras[3], 1, comment, 8] followed by Range 23 [paras[0], 0, paras[0], 1]: modifying the Selection's last Range must modify the first added Range PASS Range 39 [paras[3], 1, comment, 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 39 [paras[3], 1, comment, 8] followed by Range 23 [paras[0], 0, paras[0], 1]: second addRange() must result in rangeCount being 1 -FAIL Range 39 [paras[3], 1, comment, 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 assert_equals: startContainer of the Selection's last Range must match the added Range expected Element node <p id="a">Äb̈c̈d̈ëf̈g̈ḧ -</p> but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" +PASS Range 39 [paras[3], 1, comment, 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 FAIL Range 39 [paras[3], 1, comment, 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 assert_equals: getRangeAt(rangeCount - 1) must return the same object we added expected object "Äb̈c̈d̈ëf̈g̈ḧ -" but got object "" -FAIL Range 39 [paras[3], 1, comment, 8] followed by Range 23 [paras[0], 0, paras[0], 1]: modifying the second added range must modify the Selection's last Range assert_equals: After mutating the second added Range, startOffset of the Selection's last Range must match the added Range expected 0 but got 6 +" but got object "Äb̈c̈d̈ëf̈g̈ḧ +" +FAIL Range 39 [paras[3], 1, comment, 8] followed by Range 23 [paras[0], 0, paras[0], 1]: modifying the second added range must modify the Selection's last Range assert_equals: After mutating the second added Range, startContainer of the Selection's last Range must match the added Range expected Text node "Äb̈c̈d̈ëf̈g̈ḧ +" but got Element node <p id="a">Äb̈c̈d̈ëf̈g̈ḧ +</p> FAIL Range 39 [paras[3], 1, comment, 8] followed by Range 23 [paras[0], 0, paras[0], 1]: modifying the Selection's last Range must modify the second added Range assert_equals: After second addRange(), after mutating the Selection's last Range, startOffset of the Selection's last Range must match the added Range expected 0 but got 6 PASS Range 39 [paras[3], 1, comment, 8] followed by Range 24 [detachedPara1, 0, detachedPara1, 0]: first addRange() must not throw exceptions or modify the range it's given PASS Range 39 [paras[3], 1, comment, 8] followed by Range 24 [detachedPara1, 0, detachedPara1, 0]: first addRange() must result in rangeCount being 1 @@ -3590,10 +3203,13 @@ PASS Range 39 [paras[3], 1, comment, 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 PASS Range 39 [paras[3], 1, comment, 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 39 [paras[3], 1, comment, 8] followed by Range 26 [paras[0].firstChild, 0, paras[1].firstChild, 0]: second addRange() must result in rangeCount being 1 -FAIL Range 39 [paras[3], 1, comment, 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 assert_equals: startOffset of the Selection's last Range must match the added Range expected 0 but got 6 +PASS Range 39 [paras[3], 1, comment, 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 FAIL Range 39 [paras[3], 1, comment, 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 assert_equals: getRangeAt(rangeCount - 1) must return the same object we added expected object "Äb̈c̈d̈ëf̈g̈ḧ -" but got object "" -FAIL Range 39 [paras[3], 1, comment, 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 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 +" but got object "Äb̈c̈d̈ëf̈g̈ḧ +" +FAIL Range 39 [paras[3], 1, comment, 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 assert_equals: After mutating the second added Range, endContainer of the Selection's last Range must match the added Range expected Text node "Äb̈c̈d̈ëf̈g̈ḧ +" but got Text node "Ijklmnop +" FAIL Range 39 [paras[3], 1, comment, 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 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 39 [paras[3], 1, comment, 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 PASS Range 39 [paras[3], 1, comment, 8] followed by Range 27 [paras[0].firstChild, 0, paras[1].firstChild, 8]: first addRange() must result in rangeCount being 1 @@ -3603,10 +3219,13 @@ PASS Range 39 [paras[3], 1, comment, 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 PASS Range 39 [paras[3], 1, comment, 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 39 [paras[3], 1, comment, 8] followed by Range 27 [paras[0].firstChild, 0, paras[1].firstChild, 8]: second addRange() must result in rangeCount being 1 -FAIL Range 39 [paras[3], 1, comment, 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 assert_equals: startOffset of the Selection's last Range must match the added Range expected 0 but got 6 +PASS Range 39 [paras[3], 1, comment, 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 FAIL Range 39 [paras[3], 1, comment, 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 assert_equals: getRangeAt(rangeCount - 1) must return the same object we added expected object "Äb̈c̈d̈ëf̈g̈ḧ -Ijklmnop" but got object "" -FAIL Range 39 [paras[3], 1, comment, 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 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 +Ijklmnop" but got object "Äb̈c̈d̈ëf̈g̈ḧ +Ijklmnop" +FAIL Range 39 [paras[3], 1, comment, 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 assert_equals: After mutating the second added Range, endContainer of the Selection's last Range must match the added Range expected Text node "Äb̈c̈d̈ëf̈g̈ḧ +" but got Text node "Ijklmnop +" FAIL Range 39 [paras[3], 1, comment, 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 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 39 [paras[3], 1, comment, 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 PASS Range 39 [paras[3], 1, comment, 8] followed by Range 28 [paras[0].firstChild, 3, paras[3], 1]: first addRange() must result in rangeCount being 1 @@ -3616,13 +3235,12 @@ PASS Range 39 [paras[3], 1, comment, 8] followed by Range 28 [paras[0].firstChild, 3, paras[3], 1]: modifying the Selection's last Range must modify the first added Range PASS Range 39 [paras[3], 1, comment, 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 39 [paras[3], 1, comment, 8] followed by Range 28 [paras[0].firstChild, 3, paras[3], 1]: second addRange() must result in rangeCount being 1 -FAIL Range 39 [paras[3], 1, comment, 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 assert_equals: endContainer of the Selection's last Range must match the added Range expected Element node <p id="d" style="display:none">Yzabcdef</p> but got Element node <div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ -</p><p id="b" s... +PASS Range 39 [paras[3], 1, comment, 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 FAIL Range 39 [paras[3], 1, comment, 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 assert_equals: getRangeAt(rangeCount - 1) must return the same object we added expected object "̈c̈d̈ëf̈g̈ḧ Ijklmnop QrstuvwxYzabcdef" but got object "̈c̈d̈ëf̈g̈ḧ Ijklmnop -QrstuvwxYzabcdefGhijklmn" +QrstuvwxYzabcdef" FAIL Range 39 [paras[3], 1, comment, 8] followed by Range 28 [paras[0].firstChild, 3, paras[3], 1]: modifying the second added range must modify the Selection's last Range assert_equals: After mutating the second added Range, startOffset of the Selection's last Range must match the added Range expected 0 but got 3 FAIL Range 39 [paras[3], 1, comment, 8] followed by Range 28 [paras[0].firstChild, 3, paras[3], 1]: modifying the Selection's last Range must modify the second added Range assert_equals: After second addRange(), after mutating the Selection's last Range, startOffset of the Selection's last Range must match the added Range expected 0 but got 6 PASS Range 39 [paras[3], 1, comment, 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 @@ -3633,11 +3251,11 @@ PASS Range 39 [paras[3], 1, comment, 8] followed by Range 29 [paras[0], 0, paras[0].firstChild, 7]: modifying the Selection's last Range must modify the first added Range PASS Range 39 [paras[3], 1, comment, 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 39 [paras[3], 1, comment, 8] followed by Range 29 [paras[0], 0, paras[0].firstChild, 7]: second addRange() must result in rangeCount being 1 -FAIL Range 39 [paras[3], 1, comment, 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 assert_equals: startContainer of the Selection's last Range must match the added Range expected Element node <p id="a">Äb̈c̈d̈ëf̈g̈ḧ -</p> but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -FAIL Range 39 [paras[3], 1, comment, 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 assert_equals: getRangeAt(rangeCount - 1) must return the same object we added expected object "Äb̈c̈d" but got object "" -FAIL Range 39 [paras[3], 1, comment, 8] followed by Range 29 [paras[0], 0, paras[0].firstChild, 7]: modifying the second added range must modify the Selection's last Range assert_equals: After mutating the second added Range, startOffset of the Selection's last Range must match the added Range expected 0 but got 6 +PASS Range 39 [paras[3], 1, comment, 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 +FAIL Range 39 [paras[3], 1, comment, 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 assert_equals: getRangeAt(rangeCount - 1) must return the same object we added expected object "Äb̈c̈d" but got object "Äb̈c̈d" +FAIL Range 39 [paras[3], 1, comment, 8] followed by Range 29 [paras[0], 0, paras[0].firstChild, 7]: modifying the second added range must modify the Selection's last Range assert_equals: After mutating the second added Range, startContainer of the Selection's last Range must match the added Range expected Text node "Äb̈c̈d̈ëf̈g̈ḧ +" but got Element node <p id="a">Äb̈c̈d̈ëf̈g̈ḧ +</p> FAIL Range 39 [paras[3], 1, comment, 8] followed by Range 29 [paras[0], 0, paras[0].firstChild, 7]: modifying the Selection's last Range must modify the second added Range assert_equals: After second addRange(), after mutating the Selection's last Range, startOffset of the Selection's last Range must match the added Range expected 0 but got 6 PASS Range 39 [paras[3], 1, comment, 8] followed by Range 30 [testDiv, 2, paras[4], 1]: first addRange() must not throw exceptions or modify the range it's given PASS Range 39 [paras[3], 1, comment, 8] followed by Range 30 [testDiv, 2, paras[4], 1]: first addRange() must result in rangeCount being 1 @@ -3647,12 +3265,11 @@ PASS Range 39 [paras[3], 1, comment, 8] followed by Range 30 [testDiv, 2, paras[4], 1]: modifying the Selection's last Range must modify the first added Range PASS Range 39 [paras[3], 1, comment, 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 39 [paras[3], 1, comment, 8] followed by Range 30 [testDiv, 2, paras[4], 1]: second addRange() must result in rangeCount being 1 -FAIL Range 39 [paras[3], 1, comment, 8] followed by Range 30 [testDiv, 2, paras[4], 1]: second addRange() must result in the selection's last range having the specified endpoints assert_equals: endContainer of the Selection's last Range must match the added Range expected Element node <p id="e" style="display:none">Ghijklmn</p> but got Element node <div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ -</p><p id="b" s... -FAIL Range 39 [paras[3], 1, comment, 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 assert_equals: getRangeAt(rangeCount - 1) must return the same object we added expected object "QrstuvwxYzabcdefGhijklmn" but got object "QrstuvwxYzabcdefGhijklmn" -FAIL Range 39 [paras[3], 1, comment, 8] followed by Range 30 [testDiv, 2, paras[4], 1]: modifying the second added range must modify the Selection's last Range assert_equals: After mutating the second added Range, startContainer of the Selection's last Range must match the added Range expected Text node "Äb̈c̈d̈ëf̈g̈ḧ -" but got Element node <div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ -</p><p id="b" s... +FAIL Range 39 [paras[3], 1, comment, 8] followed by Range 30 [testDiv, 2, paras[4], 1]: second addRange() must result in the selection's last range having the specified endpoints assert_equals: startContainer of the Selection's last Range must match the added Range expected Element node <div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ +</p><p id="b" s... but got Text node "Äb̈c̈d̈ëf̈g̈ḧ +" +FAIL Range 39 [paras[3], 1, comment, 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 assert_equals: getRangeAt(rangeCount - 1) must return the same object we added expected object "QrstuvwxYzabcdefGhijklmn" but got object "" +FAIL Range 39 [paras[3], 1, comment, 8] followed by Range 30 [testDiv, 2, paras[4], 1]: modifying the second added range must modify the Selection's last Range assert_equals: After mutating the second added Range, startOffset of the Selection's last Range must match the added Range expected 0 but got 6 FAIL Range 39 [paras[3], 1, comment, 8] followed by Range 30 [testDiv, 2, paras[4], 1]: modifying the Selection's last Range must modify the second added Range assert_equals: After second addRange(), after mutating the Selection's last Range, startOffset of the Selection's last Range must match the added Range expected 0 but got 6 PASS Range 39 [paras[3], 1, comment, 8] followed by Range 31 [testDiv, 1, paras[2].firstChild, 5]: first addRange() must not throw exceptions or modify the range it's given PASS Range 39 [paras[3], 1, comment, 8] followed by Range 31 [testDiv, 1, paras[2].firstChild, 5]: first addRange() must result in rangeCount being 1 @@ -3818,11 +3435,10 @@ PASS Range 39 [paras[3], 1, comment, 8] followed by Range 38 [paras[2].firstChild, 4, comment, 2]: modifying the Selection's last Range must modify the first added Range PASS Range 39 [paras[3], 1, comment, 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 39 [paras[3], 1, comment, 8] followed by Range 38 [paras[2].firstChild, 4, comment, 2]: second addRange() must result in rangeCount being 1 -FAIL Range 39 [paras[3], 1, comment, 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 assert_equals: endContainer of the Selection's last Range must match the added Range expected Comment node <!--Alphabet soup?--> but got Element node <div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ -</p><p id="b" s... -FAIL Range 39 [paras[3], 1, comment, 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 assert_equals: getRangeAt(rangeCount - 1) must return the same object we added expected object "uvwxYzabcdefGhijklmn" but got object "uvwxYzabcdefGhijklmn" -FAIL Range 39 [paras[3], 1, comment, 8] followed by Range 38 [paras[2].firstChild, 4, comment, 2]: modifying the second added range must modify the Selection's last Range assert_equals: After mutating the second added Range, startContainer of the Selection's last Range must match the added Range expected Text node "Äb̈c̈d̈ëf̈g̈ḧ -" but got Text node "Qrstuvwx" +FAIL Range 39 [paras[3], 1, comment, 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 assert_equals: startContainer of the Selection's last Range must match the added Range expected Text node "Qrstuvwx" but got Text node "Äb̈c̈d̈ëf̈g̈ḧ +" +FAIL Range 39 [paras[3], 1, comment, 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 assert_equals: getRangeAt(rangeCount - 1) must return the same object we added expected object "uvwxYzabcdefGhijklmn" but got object "" +FAIL Range 39 [paras[3], 1, comment, 8] followed by Range 38 [paras[2].firstChild, 4, comment, 2]: modifying the second added range must modify the Selection's last Range assert_equals: After mutating the second added Range, startOffset of the Selection's last Range must match the added Range expected 0 but got 6 FAIL Range 39 [paras[3], 1, comment, 8] followed by Range 38 [paras[2].firstChild, 4, comment, 2]: modifying the Selection's last Range must modify the second added Range assert_equals: After second addRange(), after mutating the Selection's last Range, startOffset of the Selection's last Range must match the added Range expected 0 but got 6 PASS Range 39 [paras[3], 1, comment, 8] followed by Range 39 [paras[3], 1, comment, 8]: first addRange() must not throw exceptions or modify the range it's given PASS Range 39 [paras[3], 1, comment, 8] followed by Range 39 [paras[3], 1, comment, 8]: first addRange() must result in rangeCount being 1 @@ -3832,11 +3448,10 @@ PASS Range 39 [paras[3], 1, comment, 8] followed by Range 39 [paras[3], 1, comment, 8]: modifying the Selection's last Range must modify the first added Range PASS Range 39 [paras[3], 1, comment, 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 39 [paras[3], 1, comment, 8] followed by Range 39 [paras[3], 1, comment, 8]: second addRange() must result in rangeCount being 1 -FAIL Range 39 [paras[3], 1, comment, 8] followed by Range 39 [paras[3], 1, comment, 8]: second addRange() must result in the selection's last range having the specified endpoints assert_equals: endContainer of the Selection's last Range must match the added Range expected Comment node <!--Alphabet soup?--> but got Element node <div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ -</p><p id="b" s... -FAIL Range 39 [paras[3], 1, comment, 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 assert_equals: getRangeAt(rangeCount - 1) must return the same object we added expected object "Ghijklmn" but got object "Ghijklmn" -FAIL Range 39 [paras[3], 1, comment, 8] followed by Range 39 [paras[3], 1, comment, 8]: modifying the second added range must modify the Selection's last Range assert_equals: After mutating the second added Range, startContainer of the Selection's last Range must match the added Range expected Text node "Äb̈c̈d̈ëf̈g̈ḧ -" but got Element node <p id="d" style="display:none">Yzabcdef</p> +FAIL Range 39 [paras[3], 1, comment, 8] followed by Range 39 [paras[3], 1, comment, 8]: second addRange() must result in the selection's last range having the specified endpoints assert_equals: startContainer of the Selection's last Range must match the added Range expected Element node <p id="d" style="display:none">Yzabcdef</p> but got Text node "Äb̈c̈d̈ëf̈g̈ḧ +" +FAIL Range 39 [paras[3], 1, comment, 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 assert_equals: getRangeAt(rangeCount - 1) must return the same object we added expected object "Ghijklmn" but got object "" +FAIL Range 39 [paras[3], 1, comment, 8] followed by Range 39 [paras[3], 1, comment, 8]: modifying the second added range must modify the Selection's last Range assert_equals: After mutating the second added Range, startOffset of the Selection's last Range must match the added Range expected 0 but got 6 FAIL Range 39 [paras[3], 1, comment, 8] followed by Range 39 [paras[3], 1, comment, 8]: modifying the Selection's last Range must modify the second added Range assert_equals: After second addRange(), after mutating the Selection's last Range, startOffset of the Selection's last Range must match the added Range expected 0 but got 6 PASS Range 39 [paras[3], 1, comment, 8] followed by Range 40 [foreignDoc, 0, foreignDoc, 0]: first addRange() must not throw exceptions or modify the range it's given PASS Range 39 [paras[3], 1, comment, 8] followed by Range 40 [foreignDoc, 0, foreignDoc, 0]: first addRange() must result in rangeCount being 1
diff --git a/third_party/WebKit/LayoutTests/fast/dom/defaultView-on-detached-document-expected.txt b/third_party/WebKit/LayoutTests/fast/dom/defaultView-on-detached-document-expected.txt index 1f6252f..6e91db4a 100644 --- a/third_party/WebKit/LayoutTests/fast/dom/defaultView-on-detached-document-expected.txt +++ b/third_party/WebKit/LayoutTests/fast/dom/defaultView-on-detached-document-expected.txt
@@ -4,7 +4,7 @@ PASS testFrameUnloaded is true -PASS cachedDocument.defaultView is null +PASS cachedDocument.defaultView is undefined. PASS successfullyParsed is true TEST COMPLETE
diff --git a/third_party/WebKit/LayoutTests/fast/dom/defaultView-on-detached-document.html b/third_party/WebKit/LayoutTests/fast/dom/defaultView-on-detached-document.html index 0a14301..b5095d2d 100644 --- a/third_party/WebKit/LayoutTests/fast/dom/defaultView-on-detached-document.html +++ b/third_party/WebKit/LayoutTests/fast/dom/defaultView-on-detached-document.html
@@ -40,7 +40,7 @@ function finishTest() { shouldBeTrue("testFrameUnloaded"); - shouldBeNull("cachedDocument.defaultView"); + shouldBeUndefined("cachedDocument.defaultView"); finishJSTest(); } </script>
diff --git a/third_party/WebKit/LayoutTests/fast/text/insert-text-crash-expected.txt b/third_party/WebKit/LayoutTests/fast/text/insert-text-crash-expected.txt index 8df2d0b1..f2bb124 100644 --- a/third_party/WebKit/LayoutTests/fast/text/insert-text-crash-expected.txt +++ b/third_party/WebKit/LayoutTests/fast/text/insert-text-crash-expected.txt
@@ -1,5 +1,4 @@ CONSOLE ERROR: line 24: Uncaught TypeError: oElement.insertAdjacentHTML is not a function CONSOLE ERROR: line 60: Uncaught TypeError: Cannot read property 'parentNode' of null a:ce#@::l - Test passes if it does not CRASH.
diff --git a/third_party/WebKit/LayoutTests/images/element-gcd-while-generating-alt-content-expected.txt b/third_party/WebKit/LayoutTests/images/element-gcd-while-generating-alt-content-expected.txt index 21b6d46..e004062 100644 --- a/third_party/WebKit/LayoutTests/images/element-gcd-while-generating-alt-content-expected.txt +++ b/third_party/WebKit/LayoutTests/images/element-gcd-while-generating-alt-content-expected.txt
@@ -2,7 +2,7 @@ -A A +A
diff --git a/third_party/WebKit/LayoutTests/platform/linux/editing/selection/addRange-expected.txt b/third_party/WebKit/LayoutTests/platform/linux/editing/selection/addRange-expected.txt index b4b35312..ba63f0c 100644 --- a/third_party/WebKit/LayoutTests/platform/linux/editing/selection/addRange-expected.txt +++ b/third_party/WebKit/LayoutTests/platform/linux/editing/selection/addRange-expected.txt
@@ -1,5 +1,5 @@ -CONSOLE ERROR: line 25: Discontiguous selection is not supported. -CONSOLE ERROR: line 30: Discontiguous selection is not supported. +CONSOLE ERROR: line 28: Discontiguous selection is not supported. +CONSOLE ERROR: line 34: Discontiguous selection is not supported. layer at (0,0) size 800x600 LayoutView at (0,0) size 800x600 layer at (0,0) size 800x600
diff --git a/third_party/WebKit/LayoutTests/platform/mac/editing/selection/addRange-expected.txt b/third_party/WebKit/LayoutTests/platform/mac/editing/selection/addRange-expected.txt index fb6e2de..198bd8e3 100644 --- a/third_party/WebKit/LayoutTests/platform/mac/editing/selection/addRange-expected.txt +++ b/third_party/WebKit/LayoutTests/platform/mac/editing/selection/addRange-expected.txt
@@ -1,5 +1,5 @@ -CONSOLE ERROR: line 25: Discontiguous selection is not supported. -CONSOLE ERROR: line 30: Discontiguous selection is not supported. +CONSOLE ERROR: line 28: Discontiguous selection is not supported. +CONSOLE ERROR: line 34: Discontiguous selection is not supported. layer at (0,0) size 800x600 LayoutView at (0,0) size 800x600 layer at (0,0) size 800x600
diff --git a/third_party/WebKit/LayoutTests/platform/mac/paint/spellmarkers/document-markers-expected.png b/third_party/WebKit/LayoutTests/platform/mac/paint/spellmarkers/document-markers-expected.png index 0f500d6..881865c 100644 --- a/third_party/WebKit/LayoutTests/platform/mac/paint/spellmarkers/document-markers-expected.png +++ b/third_party/WebKit/LayoutTests/platform/mac/paint/spellmarkers/document-markers-expected.png Binary files differ
diff --git a/third_party/WebKit/LayoutTests/platform/mac/paint/spellmarkers/document-markers-expected.txt b/third_party/WebKit/LayoutTests/platform/mac/paint/spellmarkers/document-markers-expected.txt index 124104d..c2d3ebf 100644 --- a/third_party/WebKit/LayoutTests/platform/mac/paint/spellmarkers/document-markers-expected.txt +++ b/third_party/WebKit/LayoutTests/platform/mac/paint/spellmarkers/document-markers-expected.txt
@@ -6,4 +6,5 @@ LayoutBlockFlow {DIV} at (0,0) size 784x18 LayoutText {#text} at (0,0) size 180x18 text run at (0,0) width 180: "wellcome should be marked" -caret: position 0 of child 0 {#text} of child 1 {DIV} of body +selection start: position 0 of child 0 {#text} of child 1 {DIV} of body +selection end: position 25 of child 0 {#text} of child 1 {DIV} of body
diff --git a/third_party/WebKit/LayoutTests/platform/mac/paint/spellmarkers/document-markers-zoom-125-expected.png b/third_party/WebKit/LayoutTests/platform/mac/paint/spellmarkers/document-markers-zoom-125-expected.png index ed440400..d248f5a 100644 --- a/third_party/WebKit/LayoutTests/platform/mac/paint/spellmarkers/document-markers-zoom-125-expected.png +++ b/third_party/WebKit/LayoutTests/platform/mac/paint/spellmarkers/document-markers-zoom-125-expected.png Binary files differ
diff --git a/third_party/WebKit/LayoutTests/platform/mac/paint/spellmarkers/document-markers-zoom-125-expected.txt b/third_party/WebKit/LayoutTests/platform/mac/paint/spellmarkers/document-markers-zoom-125-expected.txt index 8024668..4df17bb 100644 --- a/third_party/WebKit/LayoutTests/platform/mac/paint/spellmarkers/document-markers-zoom-125-expected.txt +++ b/third_party/WebKit/LayoutTests/platform/mac/paint/spellmarkers/document-markers-zoom-125-expected.txt
@@ -6,4 +6,5 @@ LayoutBlockFlow {DIV} at (0,0) size 784x23 LayoutText {#text} at (0,0) size 225x23 text run at (0,0) width 225: "wellcome should be marked" -caret: position 0 of child 0 {#text} of child 1 {DIV} of body +selection start: position 0 of child 0 {#text} of child 1 {DIV} of body +selection end: position 25 of child 0 {#text} of child 1 {DIV} of body
diff --git a/third_party/WebKit/LayoutTests/platform/mac/paint/spellmarkers/document-markers-zoom-150-expected.png b/third_party/WebKit/LayoutTests/platform/mac/paint/spellmarkers/document-markers-zoom-150-expected.png index c545e327..ada195f 100644 --- a/third_party/WebKit/LayoutTests/platform/mac/paint/spellmarkers/document-markers-zoom-150-expected.png +++ b/third_party/WebKit/LayoutTests/platform/mac/paint/spellmarkers/document-markers-zoom-150-expected.png Binary files differ
diff --git a/third_party/WebKit/LayoutTests/platform/mac/paint/spellmarkers/document-markers-zoom-150-expected.txt b/third_party/WebKit/LayoutTests/platform/mac/paint/spellmarkers/document-markers-zoom-150-expected.txt index e881a6f..30daec7 100644 --- a/third_party/WebKit/LayoutTests/platform/mac/paint/spellmarkers/document-markers-zoom-150-expected.txt +++ b/third_party/WebKit/LayoutTests/platform/mac/paint/spellmarkers/document-markers-zoom-150-expected.txt
@@ -6,4 +6,5 @@ LayoutBlockFlow {DIV} at (0,0) size 784x28 LayoutText {#text} at (0,0) size 270x28 text run at (0,0) width 270: "wellcome should be marked" -caret: position 0 of child 0 {#text} of child 1 {DIV} of body +selection start: position 0 of child 0 {#text} of child 1 {DIV} of body +selection end: position 25 of child 0 {#text} of child 1 {DIV} of body
diff --git a/third_party/WebKit/LayoutTests/platform/mac/paint/spellmarkers/document-markers-zoom-175-expected.png b/third_party/WebKit/LayoutTests/platform/mac/paint/spellmarkers/document-markers-zoom-175-expected.png index 4562f674..eae0784 100644 --- a/third_party/WebKit/LayoutTests/platform/mac/paint/spellmarkers/document-markers-zoom-175-expected.png +++ b/third_party/WebKit/LayoutTests/platform/mac/paint/spellmarkers/document-markers-zoom-175-expected.png Binary files differ
diff --git a/third_party/WebKit/LayoutTests/platform/mac/paint/spellmarkers/document-markers-zoom-175-expected.txt b/third_party/WebKit/LayoutTests/platform/mac/paint/spellmarkers/document-markers-zoom-175-expected.txt index 7db867d..4eb18544 100644 --- a/third_party/WebKit/LayoutTests/platform/mac/paint/spellmarkers/document-markers-zoom-175-expected.txt +++ b/third_party/WebKit/LayoutTests/platform/mac/paint/spellmarkers/document-markers-zoom-175-expected.txt
@@ -6,4 +6,5 @@ LayoutBlockFlow {DIV} at (0,0) size 784x32 LayoutText {#text} at (0,0) size 315x32 text run at (0,0) width 315: "wellcome should be marked" -caret: position 0 of child 0 {#text} of child 1 {DIV} of body +selection start: position 0 of child 0 {#text} of child 1 {DIV} of body +selection end: position 25 of child 0 {#text} of child 1 {DIV} of body
diff --git a/third_party/WebKit/LayoutTests/platform/mac/paint/spellmarkers/document-markers-zoom-200-expected.png b/third_party/WebKit/LayoutTests/platform/mac/paint/spellmarkers/document-markers-zoom-200-expected.png index 08e28e686..788e923 100644 --- a/third_party/WebKit/LayoutTests/platform/mac/paint/spellmarkers/document-markers-zoom-200-expected.png +++ b/third_party/WebKit/LayoutTests/platform/mac/paint/spellmarkers/document-markers-zoom-200-expected.png Binary files differ
diff --git a/third_party/WebKit/LayoutTests/platform/mac/paint/spellmarkers/document-markers-zoom-200-expected.txt b/third_party/WebKit/LayoutTests/platform/mac/paint/spellmarkers/document-markers-zoom-200-expected.txt index 9c6028283..7447344 100644 --- a/third_party/WebKit/LayoutTests/platform/mac/paint/spellmarkers/document-markers-zoom-200-expected.txt +++ b/third_party/WebKit/LayoutTests/platform/mac/paint/spellmarkers/document-markers-zoom-200-expected.txt
@@ -6,4 +6,5 @@ LayoutBlockFlow {DIV} at (0,0) size 784x37 LayoutText {#text} at (0,0) size 360x37 text run at (0,0) width 360: "wellcome should be marked" -caret: position 0 of child 0 {#text} of child 1 {DIV} of body +selection start: position 0 of child 0 {#text} of child 1 {DIV} of body +selection end: position 25 of child 0 {#text} of child 1 {DIV} of body
diff --git a/third_party/WebKit/LayoutTests/platform/mac/paint/spellmarkers/document-markers-zoom-250-expected.png b/third_party/WebKit/LayoutTests/platform/mac/paint/spellmarkers/document-markers-zoom-250-expected.png index 483a9ace..6f6d99ed 100644 --- a/third_party/WebKit/LayoutTests/platform/mac/paint/spellmarkers/document-markers-zoom-250-expected.png +++ b/third_party/WebKit/LayoutTests/platform/mac/paint/spellmarkers/document-markers-zoom-250-expected.png Binary files differ
diff --git a/third_party/WebKit/LayoutTests/platform/mac/paint/spellmarkers/document-markers-zoom-250-expected.txt b/third_party/WebKit/LayoutTests/platform/mac/paint/spellmarkers/document-markers-zoom-250-expected.txt index df14c014..20059bc2 100644 --- a/third_party/WebKit/LayoutTests/platform/mac/paint/spellmarkers/document-markers-zoom-250-expected.txt +++ b/third_party/WebKit/LayoutTests/platform/mac/paint/spellmarkers/document-markers-zoom-250-expected.txt
@@ -6,4 +6,5 @@ LayoutBlockFlow {DIV} at (0,0) size 784x46 LayoutText {#text} at (0,0) size 450x46 text run at (0,0) width 450: "wellcome should be marked" -caret: position 0 of child 0 {#text} of child 1 {DIV} of body +selection start: position 0 of child 0 {#text} of child 1 {DIV} of body +selection end: position 25 of child 0 {#text} of child 1 {DIV} of body
diff --git a/third_party/WebKit/LayoutTests/platform/win/editing/selection/addRange-expected.txt b/third_party/WebKit/LayoutTests/platform/win/editing/selection/addRange-expected.txt index 1886bc80..38d78eb 100644 --- a/third_party/WebKit/LayoutTests/platform/win/editing/selection/addRange-expected.txt +++ b/third_party/WebKit/LayoutTests/platform/win/editing/selection/addRange-expected.txt
@@ -1,5 +1,5 @@ -CONSOLE ERROR: line 25: Discontiguous selection is not supported. -CONSOLE ERROR: line 30: Discontiguous selection is not supported. +CONSOLE ERROR: line 28: Discontiguous selection is not supported. +CONSOLE ERROR: line 34: Discontiguous selection is not supported. layer at (0,0) size 800x600 LayoutView at (0,0) size 800x600 layer at (0,0) size 800x600
diff --git a/third_party/WebKit/Source/bindings/bindings.gni b/third_party/WebKit/Source/bindings/bindings.gni index 470cac7..a4ba8791 100644 --- a/third_party/WebKit/Source/bindings/bindings.gni +++ b/third_party/WebKit/Source/bindings/bindings.gni
@@ -130,6 +130,7 @@ "core/v8/TraceWrapperMember.h", "core/v8/TraceWrapperV8Reference.h", "core/v8/Transferables.h", + "core/v8/ToV8.cpp", "core/v8/ToV8.h", "core/v8/V8AbstractEventListener.cpp", "core/v8/V8AbstractEventListener.h",
diff --git a/third_party/WebKit/Source/bindings/core/v8/DOMDataStore.h b/third_party/WebKit/Source/bindings/core/v8/DOMDataStore.h index 9969a1e..7a06239 100644 --- a/third_party/WebKit/Source/bindings/core/v8/DOMDataStore.h +++ b/third_party/WebKit/Source/bindings/core/v8/DOMDataStore.h
@@ -156,12 +156,6 @@ m_wrapperMap->markWrapper(scriptWrappable); } - // Dissociates a wrapper, if any, from |scriptWrappable|. - void unsetWrapperIfAny(ScriptWrappable* scriptWrappable) { - DCHECK(!m_isMainWorld); - m_wrapperMap->removeIfAny(scriptWrappable); - } - bool setReturnValueFrom(v8::ReturnValue<v8::Value> returnValue, ScriptWrappable* object) { if (m_isMainWorld) @@ -219,16 +213,18 @@ template <> inline void DOMWrapperMap<ScriptWrappable>::PersistentValueMapTraits::Dispose( v8::Isolate*, - v8::Global<v8::Object>, + v8::Global<v8::Object> value, ScriptWrappable*) { - WrapperTypeInfo::wrapperDestroyed(); + toWrapperTypeInfo(value)->wrapperDestroyed(); } template <> inline void DOMWrapperMap<ScriptWrappable>::PersistentValueMapTraits::DisposeWeak( - const v8::WeakCallbackInfo<WeakCallbackDataType>&) { - WrapperTypeInfo::wrapperDestroyed(); + const v8::WeakCallbackInfo<WeakCallbackDataType>& data) { + auto wrapperTypeInfo = reinterpret_cast<WrapperTypeInfo*>( + data.GetInternalField(v8DOMWrapperTypeIndex)); + wrapperTypeInfo->wrapperDestroyed(); } } // namespace blink
diff --git a/third_party/WebKit/Source/bindings/core/v8/DOMWrapperMap.h b/third_party/WebKit/Source/bindings/core/v8/DOMWrapperMap.h index 6bf1f758..3cbbca9e 100644 --- a/third_party/WebKit/Source/bindings/core/v8/DOMWrapperMap.h +++ b/third_party/WebKit/Source/bindings/core/v8/DOMWrapperMap.h
@@ -79,12 +79,13 @@ return true; } - void removeIfAny(KeyType* key) { + void clear() { m_map.Clear(); } + + void removeAndDispose(KeyType* key) { + ASSERT(containsKey(key)); m_map.Remove(key); } - void clear() { m_map.Clear(); } - void markWrapper(KeyType* object) { m_map.RegisterExternallyReferencedObject(object); }
diff --git a/third_party/WebKit/Source/bindings/core/v8/DOMWrapperWorld.cpp b/third_party/WebKit/Source/bindings/core/v8/DOMWrapperWorld.cpp index e6d7abb8..10b5dbee 100644 --- a/third_party/WebKit/Source/bindings/core/v8/DOMWrapperWorld.cpp +++ b/third_party/WebKit/Source/bindings/core/v8/DOMWrapperWorld.cpp
@@ -30,13 +30,19 @@ #include "bindings/core/v8/DOMWrapperWorld.h" -#include <memory> - #include "bindings/core/v8/DOMDataStore.h" -#include "bindings/core/v8/ScriptFunction.h" +#include "bindings/core/v8/ScriptController.h" +#include "bindings/core/v8/V8Binding.h" +#include "bindings/core/v8/V8DOMActivityLogger.h" +#include "bindings/core/v8/V8DOMWrapper.h" +#include "bindings/core/v8/V8Window.h" +#include "bindings/core/v8/WindowProxy.h" +#include "bindings/core/v8/WrapperTypeInfo.h" +#include "core/dom/ExecutionContext.h" #include "wtf/HashTraits.h" #include "wtf/PtrUtil.h" #include "wtf/StdLibExtras.h" +#include <memory> namespace blink { @@ -309,16 +315,4 @@ holderBase->world()->unregisterDOMObjectHolder(holderBase); } -void DOMWrapperWorld::dissociateDOMWindowWrappersInAllWorlds( - ScriptWrappable* scriptWrappable) { - DCHECK(scriptWrappable); - DCHECK(isMainThread()); - - scriptWrappable->unsetWrapperIfAny(); - - for (auto& world : isolatedWorldMap().values()) { - world->domDataStore().unsetWrapperIfAny(scriptWrappable); - } -} - } // namespace blink
diff --git a/third_party/WebKit/Source/bindings/core/v8/DOMWrapperWorld.h b/third_party/WebKit/Source/bindings/core/v8/DOMWrapperWorld.h index 2f6db850..fdbaa43 100644 --- a/third_party/WebKit/Source/bindings/core/v8/DOMWrapperWorld.h +++ b/third_party/WebKit/Source/bindings/core/v8/DOMWrapperWorld.h
@@ -43,7 +43,6 @@ namespace blink { class DOMDataStore; -class DOMObjectHolderBase; enum WorldIdConstants { MainWorldId = 0, @@ -55,6 +54,8 @@ TestingWorldId, }; +class DOMObjectHolderBase; + // This class represent a collection of DOM wrappers for a specific world. class CORE_EXPORT DOMWrapperWorld : public RefCounted<DOMWrapperWorld> { public: @@ -113,6 +114,7 @@ int worldId() const { return m_worldId; } DOMDataStore& domDataStore() const { return *m_domDataStore; } + public: template <typename T> void registerDOMObjectHolder(v8::Isolate*, T*, v8::Local<v8::Value>); @@ -124,29 +126,6 @@ void registerDOMObjectHolderInternal(std::unique_ptr<DOMObjectHolderBase>); void unregisterDOMObjectHolder(DOMObjectHolderBase*); - // Dissociates all wrappers in all worlds associated with |scriptWrappable|. - // - // Do not use this function except for DOMWindow. Only DOMWindow needs to - // dissociate wrappers from the ScriptWrappable because of the following two - // reasons. - // - // Reason 1) Case of the main world - // A DOMWindow may be collected by Blink GC *before* V8 GC collects the - // wrapper because the wrapper object associated with a DOMWindow is a global - // proxy object, which remains after navigations. We don't want V8 GC - // to reset the weak persistent handle within the DOMWindow *after* Blink GC - // collects the DOMWindow because it's use-after-free. Thus, we need to - // dissociate the wrapper in advance. - // - // Reason 2) Case of isolated worlds - // As same, a DOMWindow may be collected before the wrapper gets collected. - // A DOMWrapperMap supports mapping from ScriptWrappable* to v8::Global<T>, - // and we don't want to leave an entry of an already-dead DOMWindow* to the - // persistent handle for the global proxy object, especially considering that - // the address to the already-dead DOMWindow* may be re-used. - friend class DOMWindow; - static void dissociateDOMWindowWrappersInAllWorlds(ScriptWrappable*); - static unsigned isolatedWorldCount; const int m_worldId;
diff --git a/third_party/WebKit/Source/bindings/core/v8/ScriptWrappable.h b/third_party/WebKit/Source/bindings/core/v8/ScriptWrappable.h index 86f7ae5..cc970e7 100644 --- a/third_party/WebKit/Source/bindings/core/v8/ScriptWrappable.h +++ b/third_party/WebKit/Source/bindings/core/v8/ScriptWrappable.h
@@ -128,14 +128,6 @@ return true; } - // Dissociates the wrapper, if any, from this instance. - void unsetWrapperIfAny() { - if (containsWrapper()) { - m_mainWorldWrapper.Reset(); - WrapperTypeInfo::wrapperDestroyed(); - } - } - bool isEqualTo(const v8::Local<v8::Object>& other) const { return m_mainWorldWrapper == other; }
diff --git a/third_party/WebKit/Source/bindings/core/v8/ToV8.cpp b/third_party/WebKit/Source/bindings/core/v8/ToV8.cpp new file mode 100644 index 0000000..4288949 --- /dev/null +++ b/third_party/WebKit/Source/bindings/core/v8/ToV8.cpp
@@ -0,0 +1,43 @@ +// Copyright 2015 The Chromium Authors. All rights reserved. +// Use of this source code is governed by a BSD-style license that can be +// found in the LICENSE file. + +#include "bindings/core/v8/ToV8.h" + +#include "bindings/core/v8/WindowProxy.h" +#include "core/events/EventTarget.h" +#include "core/frame/DOMWindow.h" +#include "core/frame/Frame.h" + +namespace blink { + +v8::Local<v8::Value> ToV8(DOMWindow* window, + v8::Local<v8::Object> creationContext, + v8::Isolate* isolate) { + // Notice that we explicitly ignore creationContext because the DOMWindow + // has its own creationContext. + + if (UNLIKELY(!window)) + return v8::Null(isolate); + // Initializes environment of a frame, and return the global object + // of the frame. + Frame* frame = window->frame(); + if (!frame) + return v8Undefined(); + + return frame->windowProxy(DOMWrapperWorld::current(isolate)) + ->globalIfNotDetached(); +} + +v8::Local<v8::Value> ToV8(EventTarget* impl, + v8::Local<v8::Object> creationContext, + v8::Isolate* isolate) { + if (UNLIKELY(!impl)) + return v8::Null(isolate); + + if (impl->interfaceName() == EventTargetNames::DOMWindow) + return ToV8(static_cast<DOMWindow*>(impl), creationContext, isolate); + return ToV8(static_cast<ScriptWrappable*>(impl), creationContext, isolate); +} + +} // namespace blink
diff --git a/third_party/WebKit/Source/bindings/core/v8/ToV8.h b/third_party/WebKit/Source/bindings/core/v8/ToV8.h index c3530fe..3e1503a6 100644 --- a/third_party/WebKit/Source/bindings/core/v8/ToV8.h +++ b/third_party/WebKit/Source/bindings/core/v8/ToV8.h
@@ -22,7 +22,9 @@ namespace blink { +class DOMWindow; class Dictionary; +class EventTarget; // ScriptWrappable @@ -54,6 +56,15 @@ return wrapper; } +// Special versions for DOMWindow and EventTarget + +CORE_EXPORT v8::Local<v8::Value> ToV8(DOMWindow*, + v8::Local<v8::Object> creationContext, + v8::Isolate*); +CORE_EXPORT v8::Local<v8::Value> ToV8(EventTarget*, + v8::Local<v8::Object> creationContext, + v8::Isolate*); + // Primitives inline v8::Local<v8::Value> ToV8(const String& value,
diff --git a/third_party/WebKit/Source/bindings/core/v8/V8Binding.h b/third_party/WebKit/Source/bindings/core/v8/V8Binding.h index 8df4565..2a52935 100644 --- a/third_party/WebKit/Source/bindings/core/v8/V8Binding.h +++ b/third_party/WebKit/Source/bindings/core/v8/V8Binding.h
@@ -202,6 +202,22 @@ v8SetReturnValue(callbackInfo, wrapper); } +// Special versions for DOMWindow and EventTarget + +template <typename CallbackInfo> +inline void v8SetReturnValue(const CallbackInfo& callbackInfo, + DOMWindow* impl) { + v8SetReturnValue(callbackInfo, ToV8(impl, callbackInfo.Holder(), + callbackInfo.GetIsolate())); +} + +template <typename CallbackInfo> +inline void v8SetReturnValue(const CallbackInfo& callbackInfo, + EventTarget* impl) { + v8SetReturnValue(callbackInfo, ToV8(impl, callbackInfo.Holder(), + callbackInfo.GetIsolate())); +} + template <typename CallbackInfo, typename T> inline void v8SetReturnValue(const CallbackInfo& callbackInfo, PassRefPtr<T> impl) { @@ -224,6 +240,46 @@ v8SetReturnValue(callbackInfo, wrapper); } +template <typename CallbackInfo> +inline void v8SetReturnValueForMainWorld(const CallbackInfo& callbackInfo, + Node* impl) { + // Since EventTarget has a special version of ToV8 and V8EventTarget.h + // defines its own v8SetReturnValue family, which are slow, we need to + // override them with optimized versions for Node and its subclasses. + // Without this overload, v8SetReturnValueForMainWorld for Node would be + // very slow. + // + // class hierarchy: + // ScriptWrappable <-- EventTarget <--+-- Node <-- ... + // +-- Window + // overloads: + // v8SetReturnValueForMainWorld(ScriptWrappable*) + // Optimized and very fast. + // v8SetReturnValueForMainWorld(EventTarget*) + // Uses custom toV8 function and slow. + // v8SetReturnValueForMainWorld(Node*) + // Optimized and very fast. + // v8SetReturnValueForMainWorld(Window*) + // Uses custom toV8 function and slow. + v8SetReturnValueForMainWorld(callbackInfo, ScriptWrappable::fromNode(impl)); +} + +// Special versions for DOMWindow and EventTarget + +template <typename CallbackInfo> +inline void v8SetReturnValueForMainWorld(const CallbackInfo& callbackInfo, + DOMWindow* impl) { + v8SetReturnValue(callbackInfo, ToV8(impl, callbackInfo.Holder(), + callbackInfo.GetIsolate())); +} + +template <typename CallbackInfo> +inline void v8SetReturnValueForMainWorld(const CallbackInfo& callbackInfo, + EventTarget* impl) { + v8SetReturnValue(callbackInfo, ToV8(impl, callbackInfo.Holder(), + callbackInfo.GetIsolate())); +} + template <typename CallbackInfo, typename T> inline void v8SetReturnValueForMainWorld(const CallbackInfo& callbackInfo, PassRefPtr<T> impl) { @@ -262,6 +318,24 @@ v8SetReturnValue(callbackInfo, wrapper); } +// Special versions for DOMWindow and EventTarget + +template <typename CallbackInfo> +inline void v8SetReturnValueFast(const CallbackInfo& callbackInfo, + DOMWindow* impl, + const ScriptWrappable*) { + v8SetReturnValue(callbackInfo, ToV8(impl, callbackInfo.Holder(), + callbackInfo.GetIsolate())); +} + +template <typename CallbackInfo> +inline void v8SetReturnValueFast(const CallbackInfo& callbackInfo, + EventTarget* impl, + const ScriptWrappable*) { + v8SetReturnValue(callbackInfo, ToV8(impl, callbackInfo.Holder(), + callbackInfo.GetIsolate())); +} + template <typename CallbackInfo, typename T, typename Wrappable> inline void v8SetReturnValueFast(const CallbackInfo& callbackInfo, PassRefPtr<T> impl,
diff --git a/third_party/WebKit/Source/bindings/core/v8/V8DOMWrapper.h b/third_party/WebKit/Source/bindings/core/v8/V8DOMWrapper.h index 84b0c6d9..2d4af91 100644 --- a/third_party/WebKit/Source/bindings/core/v8/V8DOMWrapper.h +++ b/third_party/WebKit/Source/bindings/core/v8/V8DOMWrapper.h
@@ -117,7 +117,7 @@ const WrapperTypeInfo* wrapperTypeInfo, v8::Local<v8::Object> wrapper) { if (DOMDataStore::setWrapper(isolate, impl, wrapperTypeInfo, wrapper)) { - WrapperTypeInfo::wrapperCreated(); + wrapperTypeInfo->wrapperCreated(); setNativeInfo(isolate, wrapper, wrapperTypeInfo, impl); ASSERT(hasInternalFieldsSet(wrapper)); } @@ -131,7 +131,7 @@ const WrapperTypeInfo* wrapperTypeInfo, v8::Local<v8::Object> wrapper) { if (DOMDataStore::setWrapper(isolate, node, wrapperTypeInfo, wrapper)) { - WrapperTypeInfo::wrapperCreated(); + wrapperTypeInfo->wrapperCreated(); setNativeInfo(isolate, wrapper, wrapperTypeInfo, ScriptWrappable::fromNode(node)); ASSERT(hasInternalFieldsSet(wrapper));
diff --git a/third_party/WebKit/Source/bindings/core/v8/V8GCController.cpp b/third_party/WebKit/Source/bindings/core/v8/V8GCController.cpp index 4c0255f..0d099cca 100644 --- a/third_party/WebKit/Source/bindings/core/v8/V8GCController.cpp +++ b/third_party/WebKit/Source/bindings/core/v8/V8GCController.cpp
@@ -468,9 +468,7 @@ class DOMWrapperTracer : public v8::PersistentHandleVisitor { public: - explicit DOMWrapperTracer(Visitor* visitor) : m_visitor(visitor) { - DCHECK(m_visitor); - } + explicit DOMWrapperTracer(Visitor* visitor) : m_visitor(visitor) {} void VisitPersistentHandle(v8::Persistent<v8::Value>* value, uint16_t classId) override { @@ -481,8 +479,8 @@ const v8::Persistent<v8::Object>& wrapper = v8::Persistent<v8::Object>::Cast(*value); - if (ScriptWrappable* scriptWrappable = toScriptWrappable(wrapper)) - toWrapperTypeInfo(wrapper)->trace(m_visitor, scriptWrappable); + if (m_visitor) + toWrapperTypeInfo(wrapper)->trace(m_visitor, toScriptWrappable(wrapper)); } private:
diff --git a/third_party/WebKit/Source/bindings/core/v8/WindowProxy.cpp b/third_party/WebKit/Source/bindings/core/v8/WindowProxy.cpp index 30be01c..b750f26 100644 --- a/third_party/WebKit/Source/bindings/core/v8/WindowProxy.cpp +++ b/third_party/WebKit/Source/bindings/core/v8/WindowProxy.cpp
@@ -204,18 +204,6 @@ // object is created together with a new v8::Context, but the global proxy // object doesn't change. // [3] WindowProperties is a named properties object of Window interface. - // - // Note that the wrapper object of a DOMWindow is the global proxy object, not - // the global object, although both of them have the internal field which - // points to the DOMWindow. Since the global proxy object remains the same - // while navigations, the management of the wrapper association for DOMWindow - // is special compared to other objects. See DOMWindow::~DOMWindow for the - // need of dissociation of the wrappers from DOMWindow instance. - // - // global proxy object <====> DOMWindow instance - // ^ - // | - // global object --------+ DOMWindow* window = m_frame->domWindow(); const WrapperTypeInfo* wrapperTypeInfo = window->wrapperTypeInfo(); @@ -224,10 +212,7 @@ // The global proxy object. Note this is not the global object. v8::Local<v8::Object> globalProxy = context->Global(); CHECK(m_globalProxy == globalProxy); - v8::Local<v8::Object> associatedWrapper = - V8DOMWrapper::associateObjectWithWrapper( - m_isolate, window, wrapperTypeInfo, globalProxy); - CHECK(globalProxy == associatedWrapper); + V8DOMWrapper::setNativeInfo(m_isolate, globalProxy, wrapperTypeInfo, window); // Mark the handle to be traced by Oilpan, since the global proxy has a // reference to the DOMWindow. m_globalProxy.get().SetWrapperClassId(wrapperTypeInfo->wrapperClassId); @@ -235,8 +220,8 @@ // The global object, aka window wrapper object. v8::Local<v8::Object> windowWrapper = globalProxy->GetPrototype().As<v8::Object>(); - V8DOMWrapper::setNativeInfo(m_isolate, windowWrapper, wrapperTypeInfo, - window); + windowWrapper = V8DOMWrapper::associateObjectWithWrapper( + m_isolate, window, wrapperTypeInfo, windowWrapper); // The prototype object of Window interface. v8::Local<v8::Object> windowPrototype =
diff --git a/third_party/WebKit/Source/bindings/core/v8/WrapperTypeInfo.h b/third_party/WebKit/Source/bindings/core/v8/WrapperTypeInfo.h index bb33cfe2..9b32a213 100644 --- a/third_party/WebKit/Source/bindings/core/v8/WrapperTypeInfo.h +++ b/third_party/WebKit/Source/bindings/core/v8/WrapperTypeInfo.h
@@ -134,11 +134,11 @@ return domTemplateFunction(isolate, world); } - static void wrapperCreated() { + void wrapperCreated() const { ThreadState::current()->heap().heapStats().increaseWrapperCount(1); } - static void wrapperDestroyed() { + void wrapperDestroyed() const { ThreadHeapStats& heapStats = ThreadState::current()->heap().heapStats(); heapStats.decreaseWrapperCount(1); heapStats.increaseCollectedWrapperCount(1); @@ -203,8 +203,6 @@ wrapper->GetAlignedPointerFromInternalField(offset)); } -// The return value can be null if |wrapper| is a global proxy object, which -// points to nothing while a navigation. inline ScriptWrappable* toScriptWrappable( const v8::PersistentBase<v8::Object>& wrapper) { return getInternalField<ScriptWrappable, v8DOMWrapperObjectIndex>(wrapper);
diff --git a/third_party/WebKit/Source/core/css/ElementRuleCollector.cpp b/third_party/WebKit/Source/core/css/ElementRuleCollector.cpp index 3be2f2c..22d131e79 100644 --- a/third_party/WebKit/Source/core/css/ElementRuleCollector.cpp +++ b/third_party/WebKit/Source/core/css/ElementRuleCollector.cpp
@@ -340,7 +340,7 @@ m_style->setHasPseudoStyle(dynamicPseudo); } else { if (m_style && ruleData.containsUncommonAttributeSelector()) - m_style->setUnique(true); + m_style->setUnique(); m_matchedRules.push_back( MatchedRule(&ruleData, result.specificity, cascadeOrder,
diff --git a/third_party/WebKit/Source/core/css/SelectorChecker.cpp b/third_party/WebKit/Source/core/css/SelectorChecker.cpp index e6327380..da7b0ec 100644 --- a/third_party/WebKit/Source/core/css/SelectorChecker.cpp +++ b/third_party/WebKit/Source/core/css/SelectorChecker.cpp
@@ -884,7 +884,7 @@ if (context.inRightmostCompound) { m_elementStyle->setAffectedByDrag(); } else { - m_elementStyle->setUnique(true); + m_elementStyle->setUnique(); element.setChildrenOrSiblingsAffectedByDrag(); } } @@ -896,7 +896,7 @@ if (context.inRightmostCompound) { m_elementStyle->setAffectedByFocus(); } else { - m_elementStyle->setUnique(true); + m_elementStyle->setUnique(); element.setChildrenOrSiblingsAffectedByFocus(); } } @@ -908,7 +908,7 @@ if (context.inRightmostCompound) { m_elementStyle->setAffectedByHover(); } else { - m_elementStyle->setUnique(true); + m_elementStyle->setUnique(); element.setChildrenOrSiblingsAffectedByHover(); } } @@ -925,7 +925,7 @@ if (context.inRightmostCompound) { m_elementStyle->setAffectedByActive(); } else { - m_elementStyle->setUnique(true); + m_elementStyle->setUnique(); element.setChildrenOrSiblingsAffectedByActive(); } }
diff --git a/third_party/WebKit/Source/core/css/resolver/StyleAdjuster.cpp b/third_party/WebKit/Source/core/css/resolver/StyleAdjuster.cpp index 31d6f404..1a23328 100644 --- a/third_party/WebKit/Source/core/css/resolver/StyleAdjuster.cpp +++ b/third_party/WebKit/Source/core/css/resolver/StyleAdjuster.cpp
@@ -458,7 +458,7 @@ // share this style. if (style.hasPseudoStyle(PseudoIdFirstLetter) || style.transitions() || style.animations()) - style.setUnique(true); + style.setUnique(); adjustStyleForEditing(style);
diff --git a/third_party/WebKit/Source/core/css/resolver/StyleBuilderCustom.cpp b/third_party/WebKit/Source/core/css/resolver/StyleBuilderCustom.cpp index ba5f4f2..a3a30d32 100644 --- a/third_party/WebKit/Source/core/css/resolver/StyleBuilderCustom.cpp +++ b/third_party/WebKit/Source/core/css/resolver/StyleBuilderCustom.cpp
@@ -794,9 +794,9 @@ DCHECK_EQ(functionValue->functionType(), CSSValueAttr); // FIXME: Can a namespace be specified for an attr(foo)? if (state.style()->styleType() == PseudoIdNone) - state.style()->setUnique(true); + state.style()->setUnique(); else - state.parentStyle()->setUnique(true); + state.parentStyle()->setUnique(); QualifiedName attr( nullAtom, toCSSCustomIdentValue(functionValue->item(0)).value(), nullAtom);
diff --git a/third_party/WebKit/Source/core/css/resolver/StyleResolver.cpp b/third_party/WebKit/Source/core/css/resolver/StyleResolver.cpp index 56c31fe..7f86007 100644 --- a/third_party/WebKit/Source/core/css/resolver/StyleResolver.cpp +++ b/third_party/WebKit/Source/core/css/resolver/StyleResolver.cpp
@@ -736,7 +736,7 @@ // computation of font-relative lengths. state.style()->setTextAutosizingMultiplier( element->computedStyle()->textAutosizingMultiplier()); - state.style()->setUnique(true); + state.style()->setUnique(); } if (state.hasDirAutoAttribute())
diff --git a/third_party/WebKit/Source/core/dom/Document.cpp b/third_party/WebKit/Source/core/dom/Document.cpp index 6eb130f..77c1366b 100644 --- a/third_party/WebKit/Source/core/dom/Document.cpp +++ b/third_party/WebKit/Source/core/dom/Document.cpp
@@ -5211,13 +5211,6 @@ name); } -LocalDOMWindow* Document::defaultView() const { - // The HTML spec requires to return null if the document is detached from a - // frame. However, |m_domWindow| is not cleared on the detachment. So, we - // need to check |m_frame| to tell whether the document is attached or not. - return m_frame ? m_domWindow : nullptr; -} - void Document::finishedParsing() { DCHECK(!scriptableDocumentParser() || !m_parser->isParsing()); DCHECK(!scriptableDocumentParser() || m_readyState != Loading);
diff --git a/third_party/WebKit/Source/core/dom/Document.h b/third_party/WebKit/Source/core/dom/Document.h index f8a84c2..0ed30f7 100644 --- a/third_party/WebKit/Source/core/dom/Document.h +++ b/third_party/WebKit/Source/core/dom/Document.h
@@ -415,9 +415,6 @@ HTMLCollection* windowNamedItems(const AtomicString& name); DocumentNameCollection* documentNamedItems(const AtomicString& name); - // "defaultView" attribute defined in HTML spec. - LocalDOMWindow* defaultView() const; - bool isHTMLDocument() const { return m_documentClasses & HTMLDocumentClass; } bool isXHTMLDocument() const { return m_documentClasses & XHTMLDocumentClass;
diff --git a/third_party/WebKit/Source/core/dom/Document.idl b/third_party/WebKit/Source/core/dom/Document.idl index a9f225e..87ca6f5 100644 --- a/third_party/WebKit/Source/core/dom/Document.idl +++ b/third_party/WebKit/Source/core/dom/Document.idl
@@ -119,7 +119,7 @@ [CallWith=EnteredWindow, CEReactions, CustomElementCallbacks, RaisesException] void writeln(DOMString... text); // user interaction - readonly attribute Window? defaultView; + [ImplementedAs=domWindow] readonly attribute Window? defaultView; boolean hasFocus(); [CEReactions, CustomElementCallbacks, MeasureAs=DocumentDesignMode] attribute DOMString designMode; [CEReactions, CustomElementCallbacks, RaisesException] boolean execCommand(DOMString commandId, optional boolean showUI = false, optional DOMString value = "");
diff --git a/third_party/WebKit/Source/core/dom/Range.cpp b/third_party/WebKit/Source/core/dom/Range.cpp index 3187a1e9..0805621 100644 --- a/third_party/WebKit/Source/core/dom/Range.cpp +++ b/third_party/WebKit/Source/core/dom/Range.cpp
@@ -36,6 +36,8 @@ #include "core/dom/ProcessingInstruction.h" #include "core/dom/Text.h" #include "core/editing/EditingUtilities.h" +#include "core/editing/EphemeralRange.h" +#include "core/editing/FrameSelection.h" #include "core/editing/VisiblePosition.h" #include "core/editing/VisibleUnits.h" #include "core/editing/iterators/TextIterator.h" @@ -170,6 +172,7 @@ return; } + Document& oldDocument = ownerDocument(); bool didMoveDocument = false; if (refNode->document() != m_ownerDocument) { setDocument(refNode->document()); @@ -182,8 +185,12 @@ m_start.set(refNode, offset, childNode); - if (didMoveDocument || checkForDifferentRootContainer(m_start, m_end)) + if (didMoveDocument || checkForDifferentRootContainer(m_start, m_end)) { + removeFromSelectionIfInDifferentRoot(oldDocument); collapse(true); + return; + } + updateSelectionIfAddedToSelection(); } void Range::setEnd(Node* refNode, int offset, ExceptionState& exceptionState) { @@ -195,6 +202,7 @@ } bool didMoveDocument = false; + Document& oldDocument = ownerDocument(); if (refNode->document() != m_ownerDocument) { setDocument(refNode->document()); didMoveDocument = true; @@ -206,8 +214,12 @@ m_end.set(refNode, offset, childNode); - if (didMoveDocument || checkForDifferentRootContainer(m_start, m_end)) + if (didMoveDocument || checkForDifferentRootContainer(m_start, m_end)) { + removeFromSelectionIfInDifferentRoot(oldDocument); collapse(false); + return; + } + updateSelectionIfAddedToSelection(); } void Range::setStart(const Position& start, ExceptionState& exceptionState) { @@ -227,6 +239,7 @@ m_end = m_start; else m_start = m_end; + updateSelectionIfAddedToSelection(); } bool Range::isNodeFullyContained(Node& node) const { @@ -1176,9 +1189,6 @@ return; } - if (m_ownerDocument != refNode->document()) - setDocument(refNode->document()); - setStartBefore(refNode); setEndAfter(refNode); } @@ -1213,11 +1223,14 @@ } } + Document& oldDocument = ownerDocument(); if (m_ownerDocument != refNode->document()) setDocument(refNode->document()); m_start.setToStartOfNode(*refNode); m_end.setToEndOfNode(*refNode); + removeFromSelectionIfInDifferentRoot(oldDocument); + updateSelectionIfAddedToSelection(); } bool Range::selectNodeContents(Node* refNode, Position& start, Position& end) { @@ -1700,6 +1713,33 @@ return result; } +void Range::updateSelectionIfAddedToSelection() { + if (!ownerDocument().frame()) + return; + FrameSelection& selection = ownerDocument().frame()->selection(); + if (this != selection.documentCachedRange()) + return; + DCHECK(startContainer()->isConnected()); + DCHECK(startContainer()->document() == ownerDocument()); + DCHECK(endContainer()->isConnected()); + DCHECK(endContainer()->document() == ownerDocument()); + selection.setSelectedRange(EphemeralRange(this), VP_DEFAULT_AFFINITY); + selection.cacheRangeOfDocument(this); +} + +void Range::removeFromSelectionIfInDifferentRoot(Document& oldDocument) { + if (!oldDocument.frame()) + return; + FrameSelection& selection = oldDocument.frame()->selection(); + if (this != selection.documentCachedRange()) + return; + if (ownerDocument() == oldDocument && startContainer()->isConnected() && + endContainer()->isConnected()) + return; + selection.clear(); + selection.clearDocumentCachedRange(); +} + DEFINE_TRACE(Range) { visitor->trace(m_ownerDocument); visitor->trace(m_start);
diff --git a/third_party/WebKit/Source/core/dom/Range.h b/third_party/WebKit/Source/core/dom/Range.h index 7332da6..18bc278c 100644 --- a/third_party/WebKit/Source/core/dom/Range.h +++ b/third_party/WebKit/Source/core/dom/Range.h
@@ -207,6 +207,8 @@ Node* clonedContainer, Node* commonRoot, ExceptionState&); + void updateSelectionIfAddedToSelection(); + void removeFromSelectionIfInDifferentRoot(Document& oldDocument); Member<Document> m_ownerDocument; // Cannot be null. RangeBoundaryPoint m_start;
diff --git a/third_party/WebKit/Source/core/frame/DOMWindow.cpp b/third_party/WebKit/Source/core/frame/DOMWindow.cpp index b61c198c..6a8dfce8 100644 --- a/third_party/WebKit/Source/core/frame/DOMWindow.cpp +++ b/third_party/WebKit/Source/core/frame/DOMWindow.cpp
@@ -5,7 +5,6 @@ #include "core/frame/DOMWindow.h" #include <memory> -#include "bindings/core/v8/WindowProxy.h" #include "core/dom/Document.h" #include "core/dom/ExecutionContext.h" #include "core/dom/SecurityContext.h" @@ -35,34 +34,23 @@ DOMWindow::~DOMWindow() { // The frame must be disconnected before finalization. DCHECK(!m_frame); - - // Because the wrapper object of a DOMWindow is the global proxy object which - // may live much longer than the DOMWindow, we need to dissociate all wrappers - // for this instance. - DOMWrapperWorld::dissociateDOMWindowWrappersInAllWorlds(this); } -v8::Local<v8::Object> DOMWindow::wrap(v8::Isolate* isolate, +v8::Local<v8::Object> DOMWindow::wrap(v8::Isolate*, v8::Local<v8::Object> creationContext) { - // Notice that we explicitly ignore |creationContext| because the DOMWindow - // has its own creation context. - - Frame* frame = this->frame(); - CHECK(frame); - - v8::Local<v8::Object> globalProxy = - frame->windowProxy(DOMWrapperWorld::current(isolate)) - ->globalIfNotDetached(); - CHECK(!globalProxy.IsEmpty()); - - return globalProxy; + LOG(FATAL) << "DOMWindow must never be wrapped with wrap method. The " + "wrappers must be created at WindowProxy::createContext() and " + "setupWindowPrototypeChain()."; + return v8::Local<v8::Object>(); } v8::Local<v8::Object> DOMWindow::associateWithWrapper( v8::Isolate*, const WrapperTypeInfo*, v8::Local<v8::Object> wrapper) { - NOTREACHED(); + LOG(FATAL) << "DOMWindow must never be wrapped with wrap method. The " + "wrappers must be created at WindowProxy::createContext() and " + "setupWindowPrototypeChain()."; return v8::Local<v8::Object>(); }
diff --git a/third_party/WebKit/Source/core/frame/FrameView.h b/third_party/WebKit/Source/core/frame/FrameView.h index 9d4f245..f9384441 100644 --- a/third_party/WebKit/Source/core/frame/FrameView.h +++ b/third_party/WebKit/Source/core/frame/FrameView.h
@@ -1039,13 +1039,6 @@ // Member<Widget> instead. HashSet<RefPtr<LayoutPart>> m_parts; - // The RefPtr cycle between LocalFrame and FrameView is broken - // when a LocalFrame is detached by LocalFrame::detach(). - // It clears the LocalFrame's m_view reference via setView(nullptr). - // - // For Oilpan, Member reference cycles pose no problem, but - // LocalFrame's FrameView is also cleared by that setView(), so as to - // keep the observable lifespan of LocalFrame::view() identical. Member<LocalFrame> m_frame; WebDisplayMode m_displayMode;
diff --git a/third_party/WebKit/Source/core/frame/LocalFrame.h b/third_party/WebKit/Source/core/frame/LocalFrame.h index f6018a4..d18ac13 100644 --- a/third_party/WebKit/Source/core/frame/LocalFrame.h +++ b/third_party/WebKit/Source/core/frame/LocalFrame.h
@@ -249,6 +249,8 @@ mutable FrameLoader m_loader; Member<NavigationScheduler> m_navigationScheduler; + // Cleared by LocalFrame::detach(), so as to keep the observable lifespan + // of LocalFrame::view(). Member<FrameView> m_view; // Usually 0. Non-null if this is the top frame of PagePopup. Member<Element> m_pagePopupOwner;
diff --git a/third_party/WebKit/Source/core/html/HTMLFrameOwnerElement.h b/third_party/WebKit/Source/core/html/HTMLFrameOwnerElement.h index 90bea16..16e7a51b 100644 --- a/third_party/WebKit/Source/core/html/HTMLFrameOwnerElement.h +++ b/third_party/WebKit/Source/core/html/HTMLFrameOwnerElement.h
@@ -23,7 +23,6 @@ #include "core/CoreExport.h" #include "core/dom/Document.h" -#include "core/frame/DOMWindow.h" #include "core/frame/FrameOwner.h" #include "core/html/HTMLElement.h" #include "platform/heap/Handle.h"
diff --git a/third_party/WebKit/Source/core/html/forms/MultipleFieldsTemporalInputTypeView.cpp b/third_party/WebKit/Source/core/html/forms/MultipleFieldsTemporalInputTypeView.cpp index 184f3b7f..2094e3a6 100644 --- a/third_party/WebKit/Source/core/html/forms/MultipleFieldsTemporalInputTypeView.cpp +++ b/third_party/WebKit/Source/core/html/forms/MultipleFieldsTemporalInputTypeView.cpp
@@ -346,7 +346,7 @@ RefPtr<ComputedStyle> style = ComputedStyle::clone(*originalStyle); style->setDirection(contentDirection); style->setDisplay(newDisplay); - style->setUnique(true); + style->setUnique(); return style.release(); }
diff --git a/third_party/WebKit/Source/core/html/shadow/DateTimeEditElement.cpp b/third_party/WebKit/Source/core/html/shadow/DateTimeEditElement.cpp index 0cc8b09..38d5e27 100644 --- a/third_party/WebKit/Source/core/html/shadow/DateTimeEditElement.cpp +++ b/third_party/WebKit/Source/core/html/shadow/DateTimeEditElement.cpp
@@ -581,7 +581,7 @@ } } style->setWidth(Length(ceilf(width), Fixed)); - style->setUnique(true); + style->setUnique(); return style.release(); }
diff --git a/third_party/WebKit/Source/core/html/shadow/TextControlInnerElements.cpp b/third_party/WebKit/Source/core/html/shadow/TextControlInnerElements.cpp index 94e72359..7ba751e3 100644 --- a/third_party/WebKit/Source/core/html/shadow/TextControlInnerElements.cpp +++ b/third_party/WebKit/Source/core/html/shadow/TextControlInnerElements.cpp
@@ -87,7 +87,7 @@ // We don't want the shadow dom to be editable, so we set this block to // read-only in case the input itself is editable. style->setUserModify(READ_ONLY); - style->setUnique(true); + style->setUnique(); if (const ComputedStyle* parentStyle = parentComputedStyle()) StyleAdjuster::adjustStyleForAlignment(*style, *parentStyle);
diff --git a/third_party/WebKit/Source/core/layout/LayoutTextControlMultiLine.cpp b/third_party/WebKit/Source/core/layout/LayoutTextControlMultiLine.cpp index 38bf0e9..3a7bf40 100644 --- a/third_party/WebKit/Source/core/layout/LayoutTextControlMultiLine.cpp +++ b/third_party/WebKit/Source/core/layout/LayoutTextControlMultiLine.cpp
@@ -93,7 +93,7 @@ textBlockStyle->inheritFrom(startStyle); adjustInnerEditorStyle(*textBlockStyle); textBlockStyle->setDisplay(EDisplay::Block); - textBlockStyle->setUnique(true); + textBlockStyle->setUnique(); return textBlockStyle.release(); }
diff --git a/third_party/WebKit/Source/core/layout/LayoutTextControlSingleLine.cpp b/third_party/WebKit/Source/core/layout/LayoutTextControlSingleLine.cpp index 2580d9b83..f0ea860 100644 --- a/third_party/WebKit/Source/core/layout/LayoutTextControlSingleLine.cpp +++ b/third_party/WebKit/Source/core/layout/LayoutTextControlSingleLine.cpp
@@ -327,7 +327,7 @@ textBlockStyle->setLineHeight(ComputedStyle::initialLineHeight()); textBlockStyle->setDisplay(EDisplay::Block); - textBlockStyle->setUnique(true); + textBlockStyle->setUnique(); if (inputElement()->shouldRevealPassword()) textBlockStyle->setTextSecurity(TSNONE);
diff --git a/third_party/WebKit/Source/core/layout/TextAutosizer.cpp b/third_party/WebKit/Source/core/layout/TextAutosizer.cpp index 4b838e0..af61f4e 100644 --- a/third_party/WebKit/Source/core/layout/TextAutosizer.cpp +++ b/third_party/WebKit/Source/core/layout/TextAutosizer.cpp
@@ -1163,7 +1163,7 @@ // We need to clone the layoutObject style to avoid breaking style sharing. RefPtr<ComputedStyle> style = ComputedStyle::clone(currentStyle); style->setTextAutosizingMultiplier(multiplier); - style->setUnique(true); + style->setUnique(); switch (relayoutBehavior) { case AlreadyInLayout:
diff --git a/third_party/WebKit/Source/core/style/ComputedStyle.h b/third_party/WebKit/Source/core/style/ComputedStyle.h index 3ea19184..e026aad5 100644 --- a/third_party/WebKit/Source/core/style/ComputedStyle.h +++ b/third_party/WebKit/Source/core/style/ComputedStyle.h
@@ -2515,7 +2515,7 @@ bool emptyState() const { return m_nonInheritedData.m_emptyState; } void setEmptyState(bool b) { - setUnique(true); + setUnique(); m_nonInheritedData.m_emptyState = b; } @@ -2588,7 +2588,7 @@ // A unique style is one that has matches something that makes it impossible // to share. bool unique() const { return m_nonInheritedData.m_unique; } - void setUnique(bool v) { m_nonInheritedData.m_unique = v; } + void setUnique() { m_nonInheritedData.m_unique = true; } float textAutosizingMultiplier() const { return m_styleInheritedData->textAutosizingMultiplier;
diff --git a/third_party/WebKit/Source/core/workers/WorkerThread.cpp b/third_party/WebKit/Source/core/workers/WorkerThread.cpp index 43970ce..cd48725 100644 --- a/third_party/WebKit/Source/core/workers/WorkerThread.cpp +++ b/third_party/WebKit/Source/core/workers/WorkerThread.cpp
@@ -225,11 +225,8 @@ ThreadDebugger::idleStarted(isolate()); std::unique_ptr<CrossThreadClosure> task; do { - { - SafePointScope safePointScope(BlinkGC::HeapPointersOnStack); - task = - m_inspectorTaskRunner->takeNextTask(InspectorTaskRunner::WaitForTask); - } + task = + m_inspectorTaskRunner->takeNextTask(InspectorTaskRunner::WaitForTask); if (task) (*task)(); // Keep waiting until execution is resumed.
diff --git a/third_party/WebKit/Source/modules/webdatabase/sqlite/SQLiteFileSystem.cpp b/third_party/WebKit/Source/modules/webdatabase/sqlite/SQLiteFileSystem.cpp index 9c25341c..e87cfa1f 100644 --- a/third_party/WebKit/Source/modules/webdatabase/sqlite/SQLiteFileSystem.cpp +++ b/third_party/WebKit/Source/modules/webdatabase/sqlite/SQLiteFileSystem.cpp
@@ -42,7 +42,6 @@ SQLiteFileSystem::SQLiteFileSystem() {} int SQLiteFileSystem::openDatabase(const String& filename, sqlite3** database) { - SafePointScope scope(BlinkGC::HeapPointersOnStack); return sqlite3_open_v2(filename.utf8().data(), database, SQLITE_OPEN_READWRITE | SQLITE_OPEN_CREATE, "chromium_vfs");
diff --git a/third_party/WebKit/Source/modules/webdatabase/sqlite/SQLiteStatement.cpp b/third_party/WebKit/Source/modules/webdatabase/sqlite/SQLiteStatement.cpp index b2ad120..251daa0 100644 --- a/third_party/WebKit/Source/modules/webdatabase/sqlite/SQLiteStatement.cpp +++ b/third_party/WebKit/Source/modules/webdatabase/sqlite/SQLiteStatement.cpp
@@ -102,8 +102,6 @@ *statement = nullptr; int error; { - SafePointScope scope(BlinkGC::HeapPointersOnStack); - SQL_DVLOG(1) << "SQL - prepare - " << query.data(); // Pass the length of the string including the null character to @@ -130,9 +128,6 @@ } int SQLiteStatement::step() { - SafePointScope scope(BlinkGC::HeapPointersOnStack); - // ASSERT(m_isPrepared); - if (!m_statement) return SQLITE_OK;
diff --git a/third_party/WebKit/Source/platform/WaitableEvent.cpp b/third_party/WebKit/Source/platform/WaitableEvent.cpp index 9bb28431..d06e20b 100644 --- a/third_party/WebKit/Source/platform/WaitableEvent.cpp +++ b/third_party/WebKit/Source/platform/WaitableEvent.cpp
@@ -30,15 +30,7 @@ } void WaitableEvent::wait() { - if (ThreadState::current()) { - // We only enter a safe point scope if the thread is attached, ex. never - // during shutdown. - // TODO(esprehn): Why can't SafePointScope do this for us? - SafePointScope scope(BlinkGC::HeapPointersOnStack); - m_impl->Wait(); - } else { - m_impl->Wait(); - } + m_impl->Wait(); } void WaitableEvent::signal() {
diff --git a/third_party/WebKit/Source/platform/WebThreadSupportingGC.cpp b/third_party/WebKit/Source/platform/WebThreadSupportingGC.cpp index d6b944a3..c333acc 100644 --- a/third_party/WebKit/Source/platform/WebThreadSupportingGC.cpp +++ b/third_party/WebKit/Source/platform/WebThreadSupportingGC.cpp
@@ -39,11 +39,8 @@ } WebThreadSupportingGC::~WebThreadSupportingGC() { - if (ThreadState::current() && m_owningThread) { - // WebThread's destructor blocks until all the tasks are processed. - SafePointScope scope(BlinkGC::HeapPointersOnStack); - m_owningThread.reset(); - } + // WebThread's destructor blocks until all the tasks are processed. + m_owningThread.reset(); } void WebThreadSupportingGC::initialize() {
diff --git a/third_party/WebKit/Source/platform/heap/Heap.cpp b/third_party/WebKit/Source/platform/heap/Heap.cpp index c3542780..4b952f5 100644 --- a/third_party/WebKit/Source/platform/heap/Heap.cpp +++ b/third_party/WebKit/Source/platform/heap/Heap.cpp
@@ -568,11 +568,6 @@ state->visitStack(visitor); } -void ThreadHeap::checkAndPark(ThreadState* threadState, - SafePointAwareMutexLocker* locker) { - m_safePointBarrier->checkAndPark(threadState, locker); -} - void ThreadHeap::enterSafePoint(ThreadState* threadState) { m_safePointBarrier->enterSafePoint(threadState); }
diff --git a/third_party/WebKit/Source/platform/heap/Heap.h b/third_party/WebKit/Source/platform/heap/Heap.h index 4a18944..fde83bf8 100644 --- a/third_party/WebKit/Source/platform/heap/Heap.h +++ b/third_party/WebKit/Source/platform/heap/Heap.h
@@ -290,7 +290,6 @@ void visitPersistentRoots(Visitor*); void visitStackRoots(Visitor*); - void checkAndPark(ThreadState*, SafePointAwareMutexLocker*); void enterSafePoint(ThreadState*); void leaveSafePoint(ThreadState*, SafePointAwareMutexLocker*);
diff --git a/third_party/WebKit/Source/platform/heap/SafePoint.cpp b/third_party/WebKit/Source/platform/heap/SafePoint.cpp index 451a425..b2e19583 100644 --- a/third_party/WebKit/Source/platform/heap/SafePoint.cpp +++ b/third_party/WebKit/Source/platform/heap/SafePoint.cpp
@@ -5,8 +5,6 @@ #include "platform/heap/SafePoint.h" #include "platform/heap/Heap.h" -#include "wtf/Atomics.h" -#include "wtf/CurrentTime.h" namespace blink { @@ -17,83 +15,10 @@ ThreadState*, PushAllRegistersCallback); -static double lockingTimeout() { - // Wait time for parking all threads is at most 100 ms. - return 0.100; -} - -SafePointBarrier::SafePointBarrier() - : m_unparkedThreadCount(0), m_parkingRequested(0) {} +SafePointBarrier::SafePointBarrier() {} SafePointBarrier::~SafePointBarrier() {} -bool SafePointBarrier::parkOthers() { - ASSERT(ThreadState::current()->isAtSafePoint()); - - ThreadState* current = ThreadState::current(); - // Lock threadAttachMutex() to prevent threads from attaching. - current->lockThreadAttachMutex(); - const ThreadStateSet& threads = current->heap().threads(); - - MutexLocker locker(m_mutex); - atomicAdd(&m_unparkedThreadCount, threads.size()); - releaseStore(&m_parkingRequested, 1); - - for (ThreadState* state : threads) { - if (state == current) - continue; - - for (auto& interruptor : state->interruptors()) - interruptor->requestInterrupt(); - } - - while (acquireLoad(&m_unparkedThreadCount) > 0) { - double expirationTime = currentTime() + lockingTimeout(); - if (!m_parked.timedWait(m_mutex, expirationTime)) { - // One of the other threads did not return to a safepoint within the - // maximum time we allow for threads to be parked. Abandon the GC and - // resume the currently parked threads. - resumeOthers(true); - return false; - } - } - return true; -} - -void SafePointBarrier::resumeOthers(bool barrierLocked) { - ThreadState* current = ThreadState::current(); - const ThreadStateSet& threads = current->heap().threads(); - atomicSubtract(&m_unparkedThreadCount, threads.size()); - releaseStore(&m_parkingRequested, 0); - - if (UNLIKELY(barrierLocked)) { - m_resume.broadcast(); - } else { - // FIXME: Resumed threads will all contend for m_mutex just - // to unlock it later which is a waste of resources. - MutexLocker locker(m_mutex); - m_resume.broadcast(); - } - - current->unlockThreadAttachMutex(); - ASSERT(ThreadState::current()->isAtSafePoint()); -} - -void SafePointBarrier::checkAndPark(ThreadState* state, - SafePointAwareMutexLocker* locker) { - ASSERT(!state->sweepForbidden()); - if (acquireLoad(&m_parkingRequested)) { - // If we are leaving the safepoint from a SafePointAwareMutexLocker - // call out to release the lock before going to sleep. This enables the - // lock to be acquired in the sweep phase, e.g. during weak processing - // or finalization. The SafePointAwareLocker will reenter the safepoint - // and reacquire the lock after leaving this safepoint. - if (locker) - locker->reset(); - pushAllRegisters(this, state, parkAfterPushRegisters); - } -} - void SafePointBarrier::enterSafePoint(ThreadState* state) { ASSERT(!state->sweepForbidden()); pushAllRegisters(this, state, enterSafePointAfterPushRegisters); @@ -101,28 +26,12 @@ void SafePointBarrier::leaveSafePoint(ThreadState* state, SafePointAwareMutexLocker* locker) { - if (atomicIncrement(&m_unparkedThreadCount) > 0) - checkAndPark(state, locker); -} - -void SafePointBarrier::doPark(ThreadState* state, intptr_t* stackEnd) { - state->recordStackEnd(stackEnd); - MutexLocker locker(m_mutex); - if (!atomicDecrement(&m_unparkedThreadCount)) - m_parked.signal(); - while (acquireLoad(&m_parkingRequested)) - m_resume.wait(m_mutex); - atomicIncrement(&m_unparkedThreadCount); } void SafePointBarrier::doEnterSafePoint(ThreadState* state, intptr_t* stackEnd) { state->recordStackEnd(stackEnd); state->copyStackUntilSafePointScope(); - if (!atomicDecrement(&m_unparkedThreadCount)) { - MutexLocker locker(m_mutex); - m_parked.signal(); // Safe point reached. - } } } // namespace blink
diff --git a/third_party/WebKit/Source/platform/heap/SafePoint.h b/third_party/WebKit/Source/platform/heap/SafePoint.h index 727b8cfc..4b1bfcd 100644 --- a/third_party/WebKit/Source/platform/heap/SafePoint.h +++ b/third_party/WebKit/Source/platform/heap/SafePoint.h
@@ -96,65 +96,18 @@ SafePointBarrier(); ~SafePointBarrier(); - // Request other attached threads that are not at safe points to park - // themselves on safepoints. - bool parkOthers(); - - // Resume executions of other attached threads that are parked at - // the safe points. - void resumeOthers(bool barrierLocked = false); - - // Park this thread if there exists a request to park attached threads. - // This method must be called at a safe point. - void checkAndPark(ThreadState*, SafePointAwareMutexLocker* = nullptr); - void enterSafePoint(ThreadState*); void leaveSafePoint(ThreadState*, SafePointAwareMutexLocker* = nullptr); private: void doPark(ThreadState*, intptr_t* stackEnd); - static void parkAfterPushRegisters(SafePointBarrier* barrier, - ThreadState* state, - intptr_t* stackEnd) { - barrier->doPark(state, stackEnd); - } void doEnterSafePoint(ThreadState*, intptr_t* stackEnd); static void enterSafePointAfterPushRegisters(SafePointBarrier* barrier, ThreadState* state, intptr_t* stackEnd) { barrier->doEnterSafePoint(state, stackEnd); } - - // |m_unparkedThreadCount| tracks amount of unparked threads. It is - // positive if and only if a thread has requested the other threads - // to park themselves at safe-points in preparation for a GC. - // - // The last thread to park itself will make the counter hit zero - // and should notify GC-requesting thread that it is safe to proceed. - // - // If no other thread is waiting for other threads to park then - // this counter can be negative: if N threads are at safe-points - // the counter will be -N. - volatile int m_unparkedThreadCount; - - // |m_parkingRequested| is used to control the transition of threads parked - // at a safepoint back to running state. In the event a thread requests - // another GC, threads that have yet to leave their safepoint (due to lock - // contention, scheduling etc), shouldn't be allowed to leave, but continue - // being parked when they do end up getting to run. - // - // |m_parkingRequested| is set when parkOthers() runs, and cleared by - // resumeOthers(), when the global GC steps have completed. - // - // Threads that were parked after they were requested to and then signalled, - // check that no other thread has made another parking request when attempting - // to resume in doPark(). - volatile int m_parkingRequested; - Mutex m_mutex; - - ThreadCondition m_parked; - ThreadCondition m_resume; }; } // namespace blink
diff --git a/third_party/WebKit/Source/platform/heap/ThreadState.cpp b/third_party/WebKit/Source/platform/heap/ThreadState.cpp index 769710984..27bb5d5 100644 --- a/third_party/WebKit/Source/platform/heap/ThreadState.cpp +++ b/third_party/WebKit/Source/platform/heap/ThreadState.cpp
@@ -1172,10 +1172,6 @@ runScheduledGC(stackState); ASSERT(!m_atSafePoint); - m_stackState = stackState; - m_atSafePoint = true; - m_heap->checkAndPark(this, nullptr); - m_atSafePoint = false; m_stackState = BlinkGC::HeapPointersOnStack; }
diff --git a/third_party/WebKit/Source/web/WebHeap.cpp b/third_party/WebKit/Source/web/WebHeap.cpp index 151dadc..99925fe 100644 --- a/third_party/WebKit/Source/web/WebHeap.cpp +++ b/third_party/WebKit/Source/web/WebHeap.cpp
@@ -34,15 +34,6 @@ namespace blink { -WebHeap::SafePointScope::SafePointScope() { - CHECK(!ThreadState::current()->isAtSafePoint()); - ThreadState::current()->enterSafePoint(BlinkGC::HeapPointersOnStack, this); -} - -WebHeap::SafePointScope::~SafePointScope() { - ThreadState::current()->leaveSafePoint(); -} - void WebHeap::collectGarbageForTesting() { ThreadState::current()->collectGarbage( BlinkGC::HeapPointersOnStack, BlinkGC::GCWithSweep, BlinkGC::ForcedGC);
diff --git a/third_party/WebKit/Source/wtf/Vector.h b/third_party/WebKit/Source/wtf/Vector.h index 9b068f1c..9483a550 100644 --- a/third_party/WebKit/Source/wtf/Vector.h +++ b/third_party/WebKit/Source/wtf/Vector.h
@@ -57,6 +57,14 @@ template <typename T, size_t inlineBuffer, typename Allocator> class Deque; +// +// Vector Traits +// + +// Bunch of traits for Vector are defined here, with which you can customize +// Vector's behavior. In most cases the default traits are appropriate, so you +// usually don't have to specialize those traits by yourself. + template <bool needsDestruction, typename T> struct VectorDestructor; @@ -279,6 +287,9 @@ } }; +// A collection of all the traits used by Vector. This is basically an +// implementation detail of Vector, and you should specialize individual traits +// defined above, if you want to customize Vector's behavior. template <typename T> struct VectorTypeOperations { STATIC_ONLY(VectorTypeOperations); @@ -327,6 +338,16 @@ } }; +// +// VectorBuffer +// + +// VectorBuffer is an implementation detail of Vector and Deque. It manages +// Vector's underlying buffer, and does operations like allocation or +// expansion. +// +// Not meant for general consumption. + template <typename T, bool hasInlineCapacity, typename Allocator> class VectorBufferBase { WTF_MAKE_NONCOPYABLE(VectorBufferBase); @@ -795,12 +816,17 @@ template <typename U, size_t inlineBuffer, typename V> friend class Deque; }; -// Heap-allocated vectors with no inlineCapacity never need a destructor. + +// +// Vector +// + template <typename T, size_t inlineCapacity = 0, typename Allocator = PartitionAllocator> class Vector : private VectorBuffer<T, INLINE_CAPACITY, Allocator>, + // Heap-allocated vectors with no inlineCapacity never need a destructor. public ConditionalDestructor<Vector<T, INLINE_CAPACITY, Allocator>, (INLINE_CAPACITY == 0) && Allocator::isGarbageCollected> { @@ -1040,6 +1066,10 @@ using Base::allocationSize; }; +// +// Vector out-of-line implementation +// + template <typename T, size_t inlineCapacity, typename Allocator> Vector<T, inlineCapacity, Allocator>::Vector(const Vector& other) : Base(other.capacity()) {
diff --git a/third_party/WebKit/public/web/WebHeap.h b/third_party/WebKit/public/web/WebHeap.h index b51617a..748a2d27 100644 --- a/third_party/WebKit/public/web/WebHeap.h +++ b/third_party/WebKit/public/web/WebHeap.h
@@ -37,17 +37,6 @@ class WebHeap { public: - // While this object is active on the stack current thread is marked as - // being at safepoint. It can't manipulate garbage collector managed objects - // until it leaves safepoint, but it can block indefinitely. - // When thread is not at safe-point it must not block indefinitely because - // garbage collector might want to stop it. - class SafePointScope { - public: - BLINK_EXPORT SafePointScope(); - BLINK_EXPORT ~SafePointScope(); - }; - // These APIs are only for testing purposes and should not be used // outside of tests. BLINK_EXPORT static void collectGarbageForTesting();