blob: c066ce2d8f44d0845970db4832fea1d6f0f66e25 [file] [log] [blame]
PASS Range 36 [document, 1, document, 2] followed by Range 0 [paras[0].firstChild, 0, paras[0].firstChild, 0]: first addRange() must not throw exceptions or modify the range it's given
PASS Range 36 [document, 1, document, 2] followed by Range 0 [paras[0].firstChild, 0, paras[0].firstChild, 0]: first 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]: first addRange() must result in 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 0 [paras[0].firstChild, 0, paras[0].firstChild, 0]: first addRange() must result in the selection's last range being the same object we added assert_equals: getRangeAt(rangeCount - 1) must return the same object we added expected object "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̈ḧ
Ijklmnop
Qrstuvwx"
FAIL Range 36 [document, 1, document, 2] followed by Range 0 [paras[0].firstChild, 0, paras[0].firstChild, 0]: modifying the first added range must modify the Selection's last Range assert_equals: After mutating the first added Range, 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"
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 first added Range assert_equals: After first addRange(), after mutating the Selection's last Range, startOffset of the Selection's last Range must match the added Range expected 0 but got 6
FAIL Range 36 [document, 1, document, 2] followed by Range 0 [paras[0].firstChild, 0, paras[0].firstChild, 0]: second addRange() must do nothing assert_equals: The operation should not replace a registered Range expected object "Äb̈c̈d̈ëf̈g̈ḧ
Ijklmnop
Qrstuvwx" but got object "Äb̈c̈d̈ëf̈g̈ḧ
Ijklmnop
Qrstuvwx"
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
FAIL Range 36 [document, 1, document, 2] followed by Range 1 [paras[0].firstChild, 0, paras[0].firstChild, 1]: first addRange() must result in the selection's last range having the specified endpoints assert_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 1 [paras[0].firstChild, 0, paras[0].firstChild, 1]: first addRange() must result in the selection's last range being the same object we added assert_equals: getRangeAt(rangeCount - 1) must return the same object we added expected object "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̈ḧ
Ijklmnop
Qrstuvwx"
FAIL Range 36 [document, 1, document, 2] followed by Range 1 [paras[0].firstChild, 0, paras[0].firstChild, 1]: modifying the first added range must modify the Selection's last Range assert_equals: After mutating the first added Range, 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"
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 first added Range assert_equals: After first addRange(), after mutating the Selection's last Range, startOffset of the Selection's last Range must match the added Range expected 0 but got 6
FAIL Range 36 [document, 1, document, 2] followed by Range 1 [paras[0].firstChild, 0, paras[0].firstChild, 1]: second addRange() must do nothing assert_equals: The operation should not replace a registered Range expected object "Äb̈c̈d̈ëf̈g̈ḧ
Ijklmnop
Qrstuvwx" but got object "Äb̈c̈d̈ëf̈g̈ḧ
Ijklmnop
Qrstuvwx"
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
FAIL Range 36 [document, 1, document, 2] followed by Range 2 [paras[0].firstChild, 2, paras[0].firstChild, 8]: first addRange() must result in the selection's last range having the specified endpoints assert_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 2 [paras[0].firstChild, 2, paras[0].firstChild, 8]: first addRange() must result in the selection's last range being the same object we added assert_equals: getRangeAt(rangeCount - 1) must return the same object we added expected object "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̈ḧ
Ijklmnop
Qrstuvwx"
FAIL Range 36 [document, 1, document, 2] followed by Range 2 [paras[0].firstChild, 2, paras[0].firstChild, 8]: modifying the first added range must modify the Selection's last Range assert_equals: After mutating the first added Range, 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"
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 first added Range assert_equals: After first addRange(), after mutating the Selection's last Range, startOffset of the Selection's last Range must match the added Range expected 0 but got 6
FAIL Range 36 [document, 1, document, 2] followed by Range 2 [paras[0].firstChild, 2, paras[0].firstChild, 8]: second addRange() must do nothing assert_equals: The operation should not replace a registered Range expected object "Äb̈c̈d̈ëf̈g̈ḧ
Ijklmnop
Qrstuvwx" but got object "Äb̈c̈d̈ëf̈g̈ḧ
Ijklmnop
Qrstuvwx"
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
FAIL Range 36 [document, 1, document, 2] followed by Range 3 [paras[0].firstChild, 2, paras[0].firstChild, 9]: first addRange() must result in the selection's last range having the specified endpoints assert_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 3 [paras[0].firstChild, 2, paras[0].firstChild, 9]: first addRange() must result in the selection's last range being the same object we added assert_equals: getRangeAt(rangeCount - 1) must return the same object we added expected object "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̈ḧ
Ijklmnop
Qrstuvwx"
FAIL Range 36 [document, 1, document, 2] followed by Range 3 [paras[0].firstChild, 2, paras[0].firstChild, 9]: modifying the first added range must modify the Selection's last Range assert_equals: After mutating the first added Range, 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"
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 first added Range assert_equals: After first addRange(), after mutating the Selection's last Range, startOffset of the Selection's last Range must match the added Range expected 0 but got 6
FAIL Range 36 [document, 1, document, 2] followed by Range 3 [paras[0].firstChild, 2, paras[0].firstChild, 9]: second addRange() must do nothing assert_equals: The operation should not replace a registered Range expected object "Äb̈c̈d̈ëf̈g̈ḧ
Ijklmnop
Qrstuvwx" but got object "Äb̈c̈d̈ëf̈g̈ḧ
Ijklmnop
Qrstuvwx"
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
FAIL Range 36 [document, 1, document, 2] followed by Range 4 [paras[1].firstChild, 0, paras[1].firstChild, 0]: first addRange() must result in the selection's last range having the specified endpoints assert_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 4 [paras[1].firstChild, 0, paras[1].firstChild, 0]: first addRange() must result in the selection's last range being the same object we added assert_equals: getRangeAt(rangeCount - 1) must return the same object we added expected object "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̈ḧ
Ijklmnop
Qrstuvwx"
FAIL Range 36 [document, 1, document, 2] followed by Range 4 [paras[1].firstChild, 0, paras[1].firstChild, 0]: modifying the first added range must modify the Selection's last Range assert_equals: After mutating the first added Range, 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"
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 first added Range assert_equals: After first addRange(), after mutating the Selection's last Range, startOffset of the Selection's last Range must match the added Range expected 0 but got 6
FAIL Range 36 [document, 1, document, 2] followed by Range 4 [paras[1].firstChild, 0, paras[1].firstChild, 0]: second addRange() must do nothing assert_equals: The operation should not replace a registered Range expected object "Äb̈c̈d̈ëf̈g̈ḧ
Ijklmnop
Qrstuvwx" but got object "Äb̈c̈d̈ëf̈g̈ḧ
Ijklmnop
Qrstuvwx"
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
FAIL Range 36 [document, 1, document, 2] followed by Range 5 [paras[1].firstChild, 0, paras[1].firstChild, 1]: first addRange() must result in the selection's last range having the specified endpoints assert_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 5 [paras[1].firstChild, 0, paras[1].firstChild, 1]: first addRange() must result in the selection's last range being the same object we added assert_equals: getRangeAt(rangeCount - 1) must return the same object we added expected object "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̈ḧ
Ijklmnop
Qrstuvwx"
FAIL Range 36 [document, 1, document, 2] followed by Range 5 [paras[1].firstChild, 0, paras[1].firstChild, 1]: modifying the first added range must modify the Selection's last Range assert_equals: After mutating the first added Range, 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"
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 first added Range assert_equals: After first addRange(), after mutating the Selection's last Range, startOffset of the Selection's last Range must match the added Range expected 0 but got 6
FAIL Range 36 [document, 1, document, 2] followed by Range 5 [paras[1].firstChild, 0, paras[1].firstChild, 1]: second addRange() must do nothing assert_equals: The operation should not replace a registered Range expected object "Äb̈c̈d̈ëf̈g̈ḧ
Ijklmnop
Qrstuvwx" but got object "Äb̈c̈d̈ëf̈g̈ḧ
Ijklmnop
Qrstuvwx"
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
FAIL Range 36 [document, 1, document, 2] followed by Range 6 [paras[1].firstChild, 2, paras[1].firstChild, 8]: first addRange() must result in the selection's last range having the specified endpoints assert_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 6 [paras[1].firstChild, 2, paras[1].firstChild, 8]: first addRange() must result in the selection's last range being the same object we added assert_equals: getRangeAt(rangeCount - 1) must return the same object we added expected object "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̈ḧ
Ijklmnop
Qrstuvwx"
FAIL Range 36 [document, 1, document, 2] followed by Range 6 [paras[1].firstChild, 2, paras[1].firstChild, 8]: modifying the first added range must modify the Selection's last Range assert_equals: After mutating the first added Range, 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"
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 first added Range assert_equals: After first addRange(), after mutating the Selection's last Range, startOffset of the Selection's last Range must match the added Range expected 0 but got 6
FAIL Range 36 [document, 1, document, 2] followed by Range 6 [paras[1].firstChild, 2, paras[1].firstChild, 8]: second addRange() must do nothing assert_equals: The operation should not replace a registered Range expected object "Äb̈c̈d̈ëf̈g̈ḧ
Ijklmnop
Qrstuvwx" but got object "Äb̈c̈d̈ëf̈g̈ḧ
Ijklmnop
Qrstuvwx"
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
FAIL Range 36 [document, 1, document, 2] followed by Range 7 [paras[1].firstChild, 2, paras[1].firstChild, 9]: first addRange() must result in the selection's last range having the specified endpoints assert_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 7 [paras[1].firstChild, 2, paras[1].firstChild, 9]: first addRange() must result in the selection's last range being the same object we added assert_equals: getRangeAt(rangeCount - 1) must return the same object we added expected object "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̈ḧ
Ijklmnop
Qrstuvwx"
FAIL Range 36 [document, 1, document, 2] followed by Range 7 [paras[1].firstChild, 2, paras[1].firstChild, 9]: modifying the first added range must modify the Selection's last Range assert_equals: After mutating the first added Range, 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"
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 first added Range assert_equals: After first addRange(), after mutating the Selection's last Range, startOffset of the Selection's last Range must match the added Range expected 0 but got 6
FAIL Range 36 [document, 1, document, 2] followed by Range 7 [paras[1].firstChild, 2, paras[1].firstChild, 9]: second addRange() must do nothing assert_equals: The operation should not replace a registered Range expected object "Äb̈c̈d̈ëf̈g̈ḧ
Ijklmnop
Qrstuvwx" but got object "Äb̈c̈d̈ëf̈g̈ḧ
Ijklmnop
Qrstuvwx"
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
FAIL Range 36 [document, 1, document, 2] followed by Range 8 [detachedPara1.firstChild, 0, detachedPara1.firstChild, 0]: first addRange() must result in the selection's last range having the specified endpoints assert_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 8 [detachedPara1.firstChild, 0, detachedPara1.firstChild, 0]: first addRange() must result in the selection's last range being the same object we added assert_equals: getRangeAt(rangeCount - 1) must return the same object we added expected object "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̈ḧ
Ijklmnop
Qrstuvwx"
FAIL Range 36 [document, 1, document, 2] followed by Range 8 [detachedPara1.firstChild, 0, detachedPara1.firstChild, 0]: modifying the first added range must modify the Selection's last Range assert_equals: After mutating the first added Range, 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"
FAIL Range 36 [document, 1, document, 2] followed by Range 8 [detachedPara1.firstChild, 0, detachedPara1.firstChild, 0]: modifying the Selection's last Range must modify the first added Range assert_equals: After first addRange(), after mutating the Selection's last Range, startOffset of the Selection's last Range must match the added Range expected 0 but got 6
FAIL Range 36 [document, 1, document, 2] followed by Range 8 [detachedPara1.firstChild, 0, detachedPara1.firstChild, 0]: second addRange() must do nothing assert_equals: The operation should not replace a registered Range expected object "Äb̈c̈d̈ëf̈g̈ḧ
Ijklmnop
Qrstuvwx" but got object "Äb̈c̈d̈ëf̈g̈ḧ
Ijklmnop
Qrstuvwx"
PASS Range 36 [document, 1, document, 2] followed by Range 9 [detachedPara1.firstChild, 0, detachedPara1.firstChild, 1]: first addRange() must not throw exceptions or modify the range it's given
PASS Range 36 [document, 1, document, 2] followed by Range 9 [detachedPara1.firstChild, 0, detachedPara1.firstChild, 1]: first addRange() must result in rangeCount being 1
FAIL Range 36 [document, 1, document, 2] followed by Range 9 [detachedPara1.firstChild, 0, detachedPara1.firstChild, 1]: first addRange() must result in the selection's last range having the specified endpoints 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 9 [detachedPara1.firstChild, 0, detachedPara1.firstChild, 1]: first addRange() must result in the selection's last range being the same object we added assert_equals: getRangeAt(rangeCount - 1) must return the same object we added expected object "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̈ḧ
Ijklmnop
Qrstuvwx"
FAIL Range 36 [document, 1, document, 2] followed by Range 9 [detachedPara1.firstChild, 0, detachedPara1.firstChild, 1]: modifying the first added range must modify the Selection's last Range assert_equals: After mutating the first added Range, 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"
FAIL Range 36 [document, 1, document, 2] followed by Range 9 [detachedPara1.firstChild, 0, detachedPara1.firstChild, 1]: modifying the Selection's last Range must modify the first added Range assert_equals: After first addRange(), after mutating the Selection's last Range, startOffset of the Selection's last Range must match the added Range expected 0 but got 6
FAIL Range 36 [document, 1, document, 2] followed by Range 9 [detachedPara1.firstChild, 0, detachedPara1.firstChild, 1]: second addRange() must do nothing assert_equals: The operation should not replace a registered Range expected object "Äb̈c̈d̈ëf̈g̈ḧ
Ijklmnop
Qrstuvwx" but got object "Äb̈c̈d̈ëf̈g̈ḧ
Ijklmnop
Qrstuvwx"
PASS Range 36 [document, 1, document, 2] followed by Range 10 [detachedPara1.firstChild, 2, detachedPara1.firstChild, 8]: first addRange() must not throw exceptions or modify the range it's given
PASS Range 36 [document, 1, document, 2] followed by Range 10 [detachedPara1.firstChild, 2, detachedPara1.firstChild, 8]: first addRange() must result in rangeCount being 1
FAIL Range 36 [document, 1, document, 2] followed by Range 10 [detachedPara1.firstChild, 2, detachedPara1.firstChild, 8]: first addRange() must result in the selection's last range having the specified endpoints 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 10 [detachedPara1.firstChild, 2, detachedPara1.firstChild, 8]: first addRange() must result in the selection's last range being the same object we added assert_equals: getRangeAt(rangeCount - 1) must return the same object we added expected object "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̈ḧ
Ijklmnop
Qrstuvwx"
FAIL Range 36 [document, 1, document, 2] followed by Range 10 [detachedPara1.firstChild, 2, detachedPara1.firstChild, 8]: modifying the first added range must modify the Selection's last Range assert_equals: After mutating the first added Range, 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"
FAIL Range 36 [document, 1, document, 2] followed by Range 10 [detachedPara1.firstChild, 2, detachedPara1.firstChild, 8]: modifying the Selection's last Range must modify the first added Range assert_equals: After first addRange(), after mutating the Selection's last Range, startOffset of the Selection's last Range must match the added Range expected 0 but got 6
FAIL Range 36 [document, 1, document, 2] followed by Range 10 [detachedPara1.firstChild, 2, detachedPara1.firstChild, 8]: second addRange() must do nothing assert_equals: The operation should not replace a registered Range expected object "Äb̈c̈d̈ëf̈g̈ḧ
Ijklmnop
Qrstuvwx" but got object "Äb̈c̈d̈ëf̈g̈ḧ
Ijklmnop
Qrstuvwx"
PASS Range 36 [document, 1, document, 2] followed by Range 11 [foreignPara1.firstChild, 0, foreignPara1.firstChild, 0]: first addRange() must not throw exceptions or modify the range it's given
PASS Range 36 [document, 1, document, 2] followed by Range 11 [foreignPara1.firstChild, 0, foreignPara1.firstChild, 0]: first addRange() must result in rangeCount being 1
FAIL Range 36 [document, 1, document, 2] followed by Range 11 [foreignPara1.firstChild, 0, foreignPara1.firstChild, 0]: first addRange() must result in the selection's last range having the specified endpoints 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 11 [foreignPara1.firstChild, 0, foreignPara1.firstChild, 0]: first addRange() must result in the selection's last range being the same object we added assert_equals: getRangeAt(rangeCount - 1) must return the same object we added expected object "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̈ḧ
Ijklmnop
Qrstuvwx"
FAIL Range 36 [document, 1, document, 2] followed by Range 11 [foreignPara1.firstChild, 0, foreignPara1.firstChild, 0]: modifying the first added range must modify the Selection's last Range assert_equals: After mutating the first added Range, 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"
FAIL Range 36 [document, 1, document, 2] followed by Range 11 [foreignPara1.firstChild, 0, foreignPara1.firstChild, 0]: modifying the Selection's last Range must modify the first added Range assert_equals: After first addRange(), after mutating the Selection's last Range, startOffset of the Selection's last Range must match the added Range expected 0 but got 6
FAIL Range 36 [document, 1, document, 2] followed by Range 11 [foreignPara1.firstChild, 0, foreignPara1.firstChild, 0]: second addRange() must do nothing assert_equals: The operation should not replace a registered Range expected object "Äb̈c̈d̈ëf̈g̈ḧ
Ijklmnop
Qrstuvwx" but got object "Äb̈c̈d̈ëf̈g̈ḧ
Ijklmnop
Qrstuvwx"
PASS Range 36 [document, 1, document, 2] followed by Range 12 [foreignPara1.firstChild, 0, foreignPara1.firstChild, 1]: first addRange() must not throw exceptions or modify the range it's given
PASS Range 36 [document, 1, document, 2] followed by Range 12 [foreignPara1.firstChild, 0, foreignPara1.firstChild, 1]: first addRange() must result in rangeCount being 1
FAIL Range 36 [document, 1, document, 2] followed by Range 12 [foreignPara1.firstChild, 0, foreignPara1.firstChild, 1]: first addRange() must result in the selection's last range having the specified endpoints 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 12 [foreignPara1.firstChild, 0, foreignPara1.firstChild, 1]: first addRange() must result in the selection's last range being the same object we added assert_equals: getRangeAt(rangeCount - 1) must return the same object we added expected object "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̈ḧ
Ijklmnop
Qrstuvwx"
FAIL Range 36 [document, 1, document, 2] followed by Range 12 [foreignPara1.firstChild, 0, foreignPara1.firstChild, 1]: modifying the first added range must modify the Selection's last Range assert_equals: After mutating the first added Range, 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"
FAIL Range 36 [document, 1, document, 2] followed by Range 12 [foreignPara1.firstChild, 0, foreignPara1.firstChild, 1]: modifying the Selection's last Range must modify the first added Range assert_equals: After first addRange(), after mutating the Selection's last Range, startOffset of the Selection's last Range must match the added Range expected 0 but got 6
FAIL Range 36 [document, 1, document, 2] followed by Range 12 [foreignPara1.firstChild, 0, foreignPara1.firstChild, 1]: second addRange() must do nothing assert_equals: The operation should not replace a registered Range expected object "Äb̈c̈d̈ëf̈g̈ḧ
Ijklmnop
Qrstuvwx" but got object "Äb̈c̈d̈ëf̈g̈ḧ
Ijklmnop
Qrstuvwx"
PASS Range 36 [document, 1, document, 2] followed by Range 13 [foreignPara1.firstChild, 2, foreignPara1.firstChild, 8]: first addRange() must not throw exceptions or modify the range it's given
PASS Range 36 [document, 1, document, 2] followed by Range 13 [foreignPara1.firstChild, 2, foreignPara1.firstChild, 8]: first addRange() must result in rangeCount being 1
FAIL Range 36 [document, 1, document, 2] followed by Range 13 [foreignPara1.firstChild, 2, foreignPara1.firstChild, 8]: first addRange() must result in the selection's last range having the specified endpoints 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 13 [foreignPara1.firstChild, 2, foreignPara1.firstChild, 8]: first addRange() must result in the selection's last range being the same object we added assert_equals: getRangeAt(rangeCount - 1) must return the same object we added expected object "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̈ḧ
Ijklmnop
Qrstuvwx"
FAIL Range 36 [document, 1, document, 2] followed by Range 13 [foreignPara1.firstChild, 2, foreignPara1.firstChild, 8]: modifying the first added range must modify the Selection's last Range assert_equals: After mutating the first added Range, 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"
FAIL Range 36 [document, 1, document, 2] followed by Range 13 [foreignPara1.firstChild, 2, foreignPara1.firstChild, 8]: modifying the Selection's last Range must modify the first added Range assert_equals: After first addRange(), after mutating the Selection's last Range, startOffset of the Selection's last Range must match the added Range expected 0 but got 6
FAIL Range 36 [document, 1, document, 2] followed by Range 13 [foreignPara1.firstChild, 2, foreignPara1.firstChild, 8]: second addRange() must do nothing assert_equals: The operation should not replace a registered Range expected object "Äb̈c̈d̈ëf̈g̈ḧ
Ijklmnop
Qrstuvwx" but got object "Äb̈c̈d̈ëf̈g̈ḧ
Ijklmnop
Qrstuvwx"
PASS Range 36 [document, 1, document, 2] followed by Range 14 [document.documentElement, 0, document.documentElement, 1]: first addRange() must not throw exceptions or modify the range it's given
PASS Range 36 [document, 1, document, 2] followed by Range 14 [document.documentElement, 0, document.documentElement, 1]: first addRange() must result in rangeCount being 1
FAIL Range 36 [document, 1, document, 2] followed by Range 14 [document.documentElement, 0, document.documentElement, 1]: first addRange() must result in the selection's last range having the specified endpoints 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 14 [document.documentElement, 0, document.documentElement, 1]: first addRange() must result in the selection's last range being the same object we added assert_equals: getRangeAt(rangeCount - 1) must return the same object we added expected object "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̈ḧ
Ijklmnop
Qrstuvwx"
FAIL Range 36 [document, 1, document, 2] followed by Range 14 [document.documentElement, 0, document.documentElement, 1]: modifying the first added range must modify the Selection's last Range assert_equals: After mutating the first added Range, 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"
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 first added Range assert_equals: After first addRange(), after mutating the Selection's last Range, startOffset of the Selection's last Range must match the added Range expected 0 but got 6
FAIL Range 36 [document, 1, document, 2] followed by Range 14 [document.documentElement, 0, document.documentElement, 1]: second addRange() must do nothing assert_equals: The operation should not replace a registered Range expected object "Äb̈c̈d̈ëf̈g̈ḧ
Ijklmnop
Qrstuvwx" but got object "Äb̈c̈d̈ëf̈g̈ḧ
Ijklmnop
Qrstuvwx"
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
FAIL Range 36 [document, 1, document, 2] followed by Range 15 [document.documentElement, 0, document.documentElement, 2]: first addRange() must result in the selection's last range having the specified endpoints assert_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 15 [document.documentElement, 0, document.documentElement, 2]: first addRange() must result in the selection's last range being the same object we added assert_equals: getRangeAt(rangeCount - 1) must return the same object we added expected object "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̈ḧ
Ijklmnop
Qrstuvwx"
FAIL Range 36 [document, 1, document, 2] followed by Range 15 [document.documentElement, 0, document.documentElement, 2]: modifying the first added range must modify the Selection's last Range assert_equals: After mutating the first added Range, 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"
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 first added Range assert_equals: After first addRange(), after mutating the Selection's last Range, startOffset of the Selection's last Range must match the added Range expected 0 but got 6
FAIL Range 36 [document, 1, document, 2] followed by Range 15 [document.documentElement, 0, document.documentElement, 2]: second addRange() must do nothing assert_equals: The operation should not replace a registered Range expected object "Äb̈c̈d̈ëf̈g̈ḧ
Ijklmnop
Qrstuvwx" but got object "Äb̈c̈d̈ëf̈g̈ḧ
Ijklmnop
Qrstuvwx"
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
FAIL Range 36 [document, 1, document, 2] followed by Range 16 [document.documentElement, 1, document.documentElement, 2]: first addRange() must result in the selection's last range having the specified endpoints assert_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 16 [document.documentElement, 1, document.documentElement, 2]: first addRange() must result in the selection's last range being the same object we added assert_equals: getRangeAt(rangeCount - 1) must return the same object we added expected object "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̈ḧ
Ijklmnop
Qrstuvwx"
FAIL Range 36 [document, 1, document, 2] followed by Range 16 [document.documentElement, 1, document.documentElement, 2]: modifying the first added range must modify the Selection's last Range assert_equals: After mutating the first added Range, 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"
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 first added Range assert_equals: After first addRange(), after mutating the Selection's last Range, startOffset of the Selection's last Range must match the added Range expected 0 but got 6
FAIL Range 36 [document, 1, document, 2] followed by Range 16 [document.documentElement, 1, document.documentElement, 2]: second addRange() must do nothing assert_equals: The operation should not replace a registered Range expected object "Äb̈c̈d̈ëf̈g̈ḧ
Ijklmnop
Qrstuvwx" but got object "Äb̈c̈d̈ëf̈g̈ḧ
Ijklmnop
Qrstuvwx"
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
FAIL Range 36 [document, 1, document, 2] followed by Range 17 [document.head, 1, document.head, 1]: first addRange() must result in the selection's last range having the specified endpoints assert_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 17 [document.head, 1, document.head, 1]: first addRange() must result in the selection's last range being the same object we added assert_equals: getRangeAt(rangeCount - 1) must return the same object we added expected object "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̈ḧ
Ijklmnop
Qrstuvwx"
FAIL Range 36 [document, 1, document, 2] followed by Range 17 [document.head, 1, document.head, 1]: modifying the first added range must modify the Selection's last Range assert_equals: After mutating the first added Range, 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"
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 first added Range assert_equals: After first addRange(), after mutating the Selection's last Range, startOffset of the Selection's last Range must match the added Range expected 0 but got 6
FAIL Range 36 [document, 1, document, 2] followed by Range 17 [document.head, 1, document.head, 1]: second addRange() must do nothing assert_equals: The operation should not replace a registered Range expected object "Äb̈c̈d̈ëf̈g̈ḧ
Ijklmnop
Qrstuvwx" but got object "Äb̈c̈d̈ëf̈g̈ḧ
Ijklmnop
Qrstuvwx"
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
FAIL Range 36 [document, 1, document, 2] followed by Range 18 [document.body, 0, document.body, 1]: first addRange() must result in the selection's last range having the specified endpoints assert_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 18 [document.body, 0, document.body, 1]: first addRange() must result in the selection's last range being the same object we added assert_equals: getRangeAt(rangeCount - 1) must return the same object we added expected object "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̈ḧ
Ijklmnop
Qrstuvwx"
FAIL Range 36 [document, 1, document, 2] followed by Range 18 [document.body, 0, document.body, 1]: modifying the first added range must modify the Selection's last Range assert_equals: After mutating the first added Range, 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"
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 first added Range assert_equals: After first addRange(), after mutating the Selection's last Range, startOffset of the Selection's last Range must match the added Range expected 0 but got 6
FAIL Range 36 [document, 1, document, 2] followed by Range 18 [document.body, 0, document.body, 1]: second addRange() must do nothing assert_equals: The operation should not replace a registered Range expected object "Äb̈c̈d̈ëf̈g̈ḧ
Ijklmnop
Qrstuvwx" but got object "Äb̈c̈d̈ëf̈g̈ḧ
Ijklmnop
Qrstuvwx"
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
FAIL Range 36 [document, 1, document, 2] followed by Range 19 [foreignDoc.documentElement, 0, foreignDoc.documentElement, 1]: first addRange() must result in the selection's last range having the specified endpoints assert_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 19 [foreignDoc.documentElement, 0, foreignDoc.documentElement, 1]: first addRange() must result in the selection's last range being the same object we added assert_equals: getRangeAt(rangeCount - 1) must return the same object we added expected object "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̈ḧ
Ijklmnop
Qrstuvwx"
FAIL Range 36 [document, 1, document, 2] followed by Range 19 [foreignDoc.documentElement, 0, foreignDoc.documentElement, 1]: modifying the first added range must modify the Selection's last Range assert_equals: After mutating the first added Range, 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"
FAIL Range 36 [document, 1, document, 2] followed by Range 19 [foreignDoc.documentElement, 0, foreignDoc.documentElement, 1]: modifying the Selection's last Range must modify the first added Range assert_equals: After first addRange(), after mutating the Selection's last Range, startOffset of the Selection's last Range must match the added Range expected 0 but got 6
FAIL Range 36 [document, 1, document, 2] followed by Range 19 [foreignDoc.documentElement, 0, foreignDoc.documentElement, 1]: second addRange() must do nothing assert_equals: The operation should not replace a registered Range expected object "Äb̈c̈d̈ëf̈g̈ḧ
Ijklmnop
Qrstuvwx" but got object "Äb̈c̈d̈ëf̈g̈ḧ
Ijklmnop
Qrstuvwx"
PASS Range 36 [document, 1, document, 2] followed by Range 20 [foreignDoc.head, 1, foreignDoc.head, 1]: first addRange() must not throw exceptions or modify the range it's given
PASS Range 36 [document, 1, document, 2] followed by Range 20 [foreignDoc.head, 1, foreignDoc.head, 1]: first addRange() must result in rangeCount being 1
FAIL Range 36 [document, 1, document, 2] followed by Range 20 [foreignDoc.head, 1, foreignDoc.head, 1]: first addRange() must result in the selection's last range having the specified endpoints 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 20 [foreignDoc.head, 1, foreignDoc.head, 1]: first addRange() must result in the selection's last range being the same object we added assert_equals: getRangeAt(rangeCount - 1) must return the same object we added expected object "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̈ḧ
Ijklmnop
Qrstuvwx"
FAIL Range 36 [document, 1, document, 2] followed by Range 20 [foreignDoc.head, 1, foreignDoc.head, 1]: modifying the first added range must modify the Selection's last Range assert_equals: After mutating the first added Range, 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"
FAIL Range 36 [document, 1, document, 2] followed by Range 20 [foreignDoc.head, 1, foreignDoc.head, 1]: modifying the Selection's last Range must modify the first added Range assert_equals: After first addRange(), after mutating the Selection's last Range, startOffset of the Selection's last Range must match the added Range expected 0 but got 6
FAIL Range 36 [document, 1, document, 2] followed by Range 20 [foreignDoc.head, 1, foreignDoc.head, 1]: second addRange() must do nothing assert_equals: The operation should not replace a registered Range expected object "Äb̈c̈d̈ëf̈g̈ḧ
Ijklmnop
Qrstuvwx" but got object "Äb̈c̈d̈ëf̈g̈ḧ
Ijklmnop
Qrstuvwx"
PASS Range 36 [document, 1, document, 2] followed by Range 21 [foreignDoc.body, 0, foreignDoc.body, 0]: first addRange() must not throw exceptions or modify the range it's given
PASS Range 36 [document, 1, document, 2] followed by Range 21 [foreignDoc.body, 0, foreignDoc.body, 0]: first addRange() must result in rangeCount being 1
FAIL Range 36 [document, 1, document, 2] followed by Range 21 [foreignDoc.body, 0, foreignDoc.body, 0]: first addRange() must result in the selection's last range having the specified endpoints 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 21 [foreignDoc.body, 0, foreignDoc.body, 0]: first addRange() must result in the selection's last range being the same object we added assert_equals: getRangeAt(rangeCount - 1) must return the same object we added expected object "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̈ḧ
Ijklmnop
Qrstuvwx"
FAIL Range 36 [document, 1, document, 2] followed by Range 21 [foreignDoc.body, 0, foreignDoc.body, 0]: modifying the first added range must modify the Selection's last Range assert_equals: After mutating the first added Range, 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"
FAIL Range 36 [document, 1, document, 2] followed by Range 21 [foreignDoc.body, 0, foreignDoc.body, 0]: modifying the Selection's last Range must modify the first added Range assert_equals: After first addRange(), after mutating the Selection's last Range, startOffset of the Selection's last Range must match the added Range expected 0 but got 6
FAIL Range 36 [document, 1, document, 2] followed by Range 21 [foreignDoc.body, 0, foreignDoc.body, 0]: second addRange() must do nothing assert_equals: The operation should not replace a registered Range expected object "Äb̈c̈d̈ëf̈g̈ḧ
Ijklmnop
Qrstuvwx" but got object "Äb̈c̈d̈ëf̈g̈ḧ
Ijklmnop
Qrstuvwx"
PASS Range 36 [document, 1, document, 2] followed by Range 22 [paras[0], 0, paras[0], 0]: first addRange() must not throw exceptions or modify the range it's given
PASS Range 36 [document, 1, document, 2] followed by Range 22 [paras[0], 0, paras[0], 0]: first addRange() must result in rangeCount being 1
FAIL Range 36 [document, 1, document, 2] followed by Range 22 [paras[0], 0, paras[0], 0]: first addRange() must result in the selection's last range having the specified endpoints 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 22 [paras[0], 0, paras[0], 0]: first addRange() must result in the selection's last range being the same object we added assert_equals: getRangeAt(rangeCount - 1) must return the same object we added expected object "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̈ḧ
Ijklmnop
Qrstuvwx"
FAIL Range 36 [document, 1, document, 2] followed by Range 22 [paras[0], 0, paras[0], 0]: modifying the first added range must modify the Selection's last Range assert_equals: After mutating the first added Range, 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"
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 first added Range assert_equals: After first addRange(), after mutating the Selection's last Range, startOffset of the Selection's last Range must match the added Range expected 0 but got 6
FAIL Range 36 [document, 1, document, 2] followed by Range 22 [paras[0], 0, paras[0], 0]: second addRange() must do nothing assert_equals: The operation should not replace a registered Range expected object "Äb̈c̈d̈ëf̈g̈ḧ
Ijklmnop
Qrstuvwx" but got object "Äb̈c̈d̈ëf̈g̈ḧ
Ijklmnop
Qrstuvwx"
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
FAIL Range 36 [document, 1, document, 2] followed by Range 23 [paras[0], 0, paras[0], 1]: first addRange() must result in the selection's last range having the specified endpoints assert_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 23 [paras[0], 0, paras[0], 1]: first addRange() must result in the selection's last range being the same object we added assert_equals: getRangeAt(rangeCount - 1) must return the same object we added expected object "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̈ḧ
Ijklmnop
Qrstuvwx"
FAIL Range 36 [document, 1, document, 2] followed by Range 23 [paras[0], 0, paras[0], 1]: modifying the first added range must modify the Selection's last Range assert_equals: After mutating the first added Range, 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"
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 first added Range assert_equals: After first addRange(), after mutating the Selection's last Range, startOffset of the Selection's last Range must match the added Range expected 0 but got 6
FAIL Range 36 [document, 1, document, 2] followed by Range 23 [paras[0], 0, paras[0], 1]: second addRange() must do nothing assert_equals: The operation should not replace a registered Range expected object "Äb̈c̈d̈ëf̈g̈ḧ
Ijklmnop
Qrstuvwx" but got object "Äb̈c̈d̈ëf̈g̈ḧ
Ijklmnop
Qrstuvwx"
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
FAIL Range 36 [document, 1, document, 2] followed by Range 24 [detachedPara1, 0, detachedPara1, 0]: first addRange() must result in 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 24 [detachedPara1, 0, detachedPara1, 0]: first addRange() must result in the selection's last range being the same object we added assert_equals: getRangeAt(rangeCount - 1) must return the same object we added expected object "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̈ḧ
Ijklmnop
Qrstuvwx"
FAIL Range 36 [document, 1, document, 2] followed by Range 24 [detachedPara1, 0, detachedPara1, 0]: modifying the first added range must modify the Selection's last Range assert_equals: After mutating the first added Range, 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"
FAIL Range 36 [document, 1, document, 2] followed by Range 24 [detachedPara1, 0, detachedPara1, 0]: modifying the Selection's last Range must modify the first added Range assert_equals: After first addRange(), after mutating the Selection's last Range, startOffset of the Selection's last Range must match the added Range expected 0 but got 6
FAIL Range 36 [document, 1, document, 2] followed by Range 24 [detachedPara1, 0, detachedPara1, 0]: second addRange() must do nothing assert_equals: The operation should not replace a registered Range expected object "Äb̈c̈d̈ëf̈g̈ḧ
Ijklmnop
Qrstuvwx" but got object "Äb̈c̈d̈ëf̈g̈ḧ
Ijklmnop
Qrstuvwx"
PASS Range 36 [document, 1, document, 2] followed by Range 25 [detachedPara1, 0, detachedPara1, 1]: first addRange() must not throw exceptions or modify the range it's given
PASS Range 36 [document, 1, document, 2] followed by Range 25 [detachedPara1, 0, detachedPara1, 1]: first addRange() must result in rangeCount being 1
FAIL Range 36 [document, 1, document, 2] followed by Range 25 [detachedPara1, 0, detachedPara1, 1]: first addRange() must result in 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 25 [detachedPara1, 0, detachedPara1, 1]: first addRange() must result in the selection's last range being the same object we added assert_equals: getRangeAt(rangeCount - 1) must return the same object we added expected object "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̈ḧ
Ijklmnop
Qrstuvwx"
FAIL Range 36 [document, 1, document, 2] followed by Range 25 [detachedPara1, 0, detachedPara1, 1]: modifying the first added range must modify the Selection's last Range assert_equals: After mutating the first added Range, 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"
FAIL Range 36 [document, 1, document, 2] followed by Range 25 [detachedPara1, 0, detachedPara1, 1]: modifying the Selection's last Range must modify the first added Range assert_equals: After first addRange(), after mutating the Selection's last Range, startOffset of the Selection's last Range must match the added Range expected 0 but got 6
FAIL Range 36 [document, 1, document, 2] followed by Range 25 [detachedPara1, 0, detachedPara1, 1]: second addRange() must do nothing assert_equals: The operation should not replace a registered Range expected object "Äb̈c̈d̈ëf̈g̈ḧ
Ijklmnop
Qrstuvwx" but got object "Äb̈c̈d̈ëf̈g̈ḧ
Ijklmnop
Qrstuvwx"
PASS Range 36 [document, 1, document, 2] followed by Range 26 [paras[0].firstChild, 0, paras[1].firstChild, 0]: first addRange() must not throw exceptions or modify the range it's given
PASS Range 36 [document, 1, document, 2] followed by Range 26 [paras[0].firstChild, 0, paras[1].firstChild, 0]: first 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]: first addRange() must result in 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 26 [paras[0].firstChild, 0, paras[1].firstChild, 0]: first addRange() must result in the selection's last range being the same object we added assert_equals: getRangeAt(rangeCount - 1) must return the same object we added expected object "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̈ḧ
Ijklmnop
Qrstuvwx"
FAIL Range 36 [document, 1, document, 2] followed by Range 26 [paras[0].firstChild, 0, paras[1].firstChild, 0]: modifying the first added range must modify the Selection's last Range assert_equals: After mutating the first added Range, 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"
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 first added Range assert_equals: After first addRange(), after mutating the Selection's last Range, startOffset of the Selection's last Range must match the added Range expected 0 but got 6
FAIL Range 36 [document, 1, document, 2] followed by Range 26 [paras[0].firstChild, 0, paras[1].firstChild, 0]: second addRange() must do nothing assert_equals: The operation should not replace a registered Range expected object "Äb̈c̈d̈ëf̈g̈ḧ
Ijklmnop
Qrstuvwx" but got object "Äb̈c̈d̈ëf̈g̈ḧ
Ijklmnop
Qrstuvwx"
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
FAIL Range 36 [document, 1, document, 2] followed by Range 27 [paras[0].firstChild, 0, paras[1].firstChild, 8]: first addRange() must result in the selection's last range having the specified endpoints assert_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 27 [paras[0].firstChild, 0, paras[1].firstChild, 8]: first addRange() must result in the selection's last range being the same object we added assert_equals: getRangeAt(rangeCount - 1) must return the same object we added expected object "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̈ḧ
Ijklmnop
Qrstuvwx"
FAIL Range 36 [document, 1, document, 2] followed by Range 27 [paras[0].firstChild, 0, paras[1].firstChild, 8]: modifying the first added range must modify the Selection's last Range assert_equals: After mutating the first added Range, 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"
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 first added Range assert_equals: After first addRange(), after mutating the Selection's last Range, startOffset of the Selection's last Range must match the added Range expected 0 but got 6
FAIL Range 36 [document, 1, document, 2] followed by Range 27 [paras[0].firstChild, 0, paras[1].firstChild, 8]: second addRange() must do nothing assert_equals: The operation should not replace a registered Range expected object "Äb̈c̈d̈ëf̈g̈ḧ
Ijklmnop
Qrstuvwx" but got object "Äb̈c̈d̈ëf̈g̈ḧ
Ijklmnop
Qrstuvwx"
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
FAIL Range 36 [document, 1, document, 2] followed by Range 28 [paras[0].firstChild, 3, paras[3], 1]: first addRange() must result in the selection's last range having the specified endpoints assert_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 28 [paras[0].firstChild, 3, paras[3], 1]: first addRange() must result in the selection's last range being the same object we added assert_equals: getRangeAt(rangeCount - 1) must return the same object we added expected object "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̈ḧ
Ijklmnop
Qrstuvwx"
FAIL Range 36 [document, 1, document, 2] followed by Range 28 [paras[0].firstChild, 3, paras[3], 1]: modifying the first added range must modify the Selection's last Range assert_equals: After mutating the first added Range, 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"
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 first added Range assert_equals: After first addRange(), after mutating the Selection's last Range, startOffset of the Selection's last Range must match the added Range expected 0 but got 6
FAIL Range 36 [document, 1, document, 2] followed by Range 28 [paras[0].firstChild, 3, paras[3], 1]: second addRange() must do nothing assert_equals: The operation should not replace a registered Range expected object "Äb̈c̈d̈ëf̈g̈ḧ
Ijklmnop
Qrstuvwx" but got object "Äb̈c̈d̈ëf̈g̈ḧ
Ijklmnop
Qrstuvwx"
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
FAIL Range 36 [document, 1, document, 2] followed by Range 29 [paras[0], 0, paras[0].firstChild, 7]: first addRange() must result in the selection's last range having the specified endpoints assert_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 29 [paras[0], 0, paras[0].firstChild, 7]: first addRange() must result in the selection's last range being the same object we added assert_equals: getRangeAt(rangeCount - 1) must return the same object we added expected object "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̈ḧ
Ijklmnop
Qrstuvwx"
FAIL Range 36 [document, 1, document, 2] followed by Range 29 [paras[0], 0, paras[0].firstChild, 7]: modifying the first added range must modify the Selection's last Range assert_equals: After mutating the first added Range, 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"
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 first added Range assert_equals: After first addRange(), after mutating the Selection's last Range, startOffset of the Selection's last Range must match the added Range expected 0 but got 6
FAIL Range 36 [document, 1, document, 2] followed by Range 29 [paras[0], 0, paras[0].firstChild, 7]: second addRange() must do nothing assert_equals: The operation should not replace a registered Range expected object "Äb̈c̈d̈ëf̈g̈ḧ
Ijklmnop
Qrstuvwx" but got object "Äb̈c̈d̈ëf̈g̈ḧ
Ijklmnop
Qrstuvwx"
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
FAIL Range 36 [document, 1, document, 2] followed by Range 30 [testDiv, 2, paras[4], 1]: first addRange() must result in 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 30 [testDiv, 2, paras[4], 1]: first addRange() must result in the selection's last range being the same object we added assert_equals: getRangeAt(rangeCount - 1) must return the same object we added expected object "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̈ḧ
Ijklmnop
Qrstuvwx"
FAIL Range 36 [document, 1, document, 2] followed by Range 30 [testDiv, 2, paras[4], 1]: modifying the first added range must modify the Selection's last Range assert_equals: After mutating the first added Range, 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"
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 first added Range assert_equals: After first addRange(), after mutating the Selection's last Range, startOffset of the Selection's last Range must match the added Range expected 0 but got 6
FAIL Range 36 [document, 1, document, 2] followed by Range 30 [testDiv, 2, paras[4], 1]: second addRange() must do nothing assert_equals: The operation should not replace a registered Range expected object "Äb̈c̈d̈ëf̈g̈ḧ
Ijklmnop
Qrstuvwx" but got object "Äb̈c̈d̈ëf̈g̈ḧ
Ijklmnop
Qrstuvwx"
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
FAIL Range 36 [document, 1, document, 2] followed by Range 31 [testDiv, 1, paras[2].firstChild, 5]: first addRange() must result in the selection's last range having the specified endpoints assert_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 31 [testDiv, 1, paras[2].firstChild, 5]: first addRange() must result in the selection's last range being the same object we added assert_equals: getRangeAt(rangeCount - 1) must return the same object we added expected object "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̈ḧ
Ijklmnop
Qrstuvwx"
FAIL Range 36 [document, 1, document, 2] followed by Range 31 [testDiv, 1, paras[2].firstChild, 5]: modifying the first added range must modify the Selection's last Range assert_equals: After mutating the first added Range, 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"
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 first added Range assert_equals: After first addRange(), after mutating the Selection's last Range, startOffset of the Selection's last Range must match the added Range expected 0 but got 6
FAIL Range 36 [document, 1, document, 2] followed by Range 31 [testDiv, 1, paras[2].firstChild, 5]: second addRange() must do nothing assert_equals: The operation should not replace a registered Range expected object "Äb̈c̈d̈ëf̈g̈ḧ
Ijklmnop
Qrstuvwx" but got object "Äb̈c̈d̈ëf̈g̈ḧ
Ijklmnop
Qrstuvwx"
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
FAIL Range 36 [document, 1, document, 2] followed by Range 32 [document.documentElement, 1, document.body, 0]: first addRange() must result in the selection's last range having the specified endpoints assert_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 32 [document.documentElement, 1, document.body, 0]: first addRange() must result in the selection's last range being the same object we added assert_equals: getRangeAt(rangeCount - 1) must return the same object we added expected object "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̈ḧ
Ijklmnop
Qrstuvwx"
FAIL Range 36 [document, 1, document, 2] followed by Range 32 [document.documentElement, 1, document.body, 0]: modifying the first added range must modify the Selection's last Range assert_equals: After mutating the first added Range, 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"
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 first added Range assert_equals: After first addRange(), after mutating the Selection's last Range, startOffset of the Selection's last Range must match the added Range expected 0 but got 6
FAIL Range 36 [document, 1, document, 2] followed by Range 32 [document.documentElement, 1, document.body, 0]: second addRange() must do nothing assert_equals: The operation should not replace a registered Range expected object "Äb̈c̈d̈ëf̈g̈ḧ
Ijklmnop
Qrstuvwx" but got object "Äb̈c̈d̈ëf̈g̈ḧ
Ijklmnop
Qrstuvwx"
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
FAIL Range 36 [document, 1, document, 2] followed by Range 33 [foreignDoc.documentElement, 1, foreignDoc.body, 0]: first addRange() must result in the selection's last range having the specified endpoints assert_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 33 [foreignDoc.documentElement, 1, foreignDoc.body, 0]: first addRange() must result in the selection's last range being the same object we added assert_equals: getRangeAt(rangeCount - 1) must return the same object we added expected object "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̈ḧ
Ijklmnop
Qrstuvwx"
FAIL Range 36 [document, 1, document, 2] followed by Range 33 [foreignDoc.documentElement, 1, foreignDoc.body, 0]: modifying the first added range must modify the Selection's last Range assert_equals: After mutating the first added Range, 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"
FAIL Range 36 [document, 1, document, 2] followed by Range 33 [foreignDoc.documentElement, 1, foreignDoc.body, 0]: modifying the Selection's last Range must modify the first added Range assert_equals: After first addRange(), after mutating the Selection's last Range, startOffset of the Selection's last Range must match the added Range expected 0 but got 6
FAIL Range 36 [document, 1, document, 2] followed by Range 33 [foreignDoc.documentElement, 1, foreignDoc.body, 0]: second addRange() must do nothing assert_equals: The operation should not replace a registered Range expected object "Äb̈c̈d̈ëf̈g̈ḧ
Ijklmnop
Qrstuvwx" but got object "Äb̈c̈d̈ëf̈g̈ḧ
Ijklmnop
Qrstuvwx"
PASS Range 36 [document, 1, document, 2] followed by Range 34 [document, 0, document, 1]: first 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]: first addRange() must result in rangeCount being 1
FAIL Range 36 [document, 1, document, 2] followed by Range 34 [document, 0, document, 1]: first addRange() must result in 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]: first addRange() must result in the selection's last range being the same object we added assert_equals: getRangeAt(rangeCount - 1) must return the same object we added expected object "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̈ḧ
Ijklmnop
Qrstuvwx"
FAIL Range 36 [document, 1, document, 2] followed by Range 34 [document, 0, document, 1]: modifying the first added range must modify the Selection's last Range assert_equals: After mutating the first added Range, 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"
FAIL 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 assert_equals: After first addRange(), after mutating the Selection's last Range, startOffset of the Selection's last Range must match the added Range expected 0 but got 6
FAIL Range 36 [document, 1, document, 2] followed by Range 34 [document, 0, document, 1]: second addRange() must do nothing assert_equals: The operation should not replace a registered Range expected object "Äb̈c̈d̈ëf̈g̈ḧ
Ijklmnop
Qrstuvwx" but got object "Äb̈c̈d̈ëf̈g̈ḧ
Ijklmnop
Qrstuvwx"
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
FAIL Range 36 [document, 1, document, 2] followed by Range 35 [document, 0, document, 2]: first addRange() must result in 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 35 [document, 0, document, 2]: first addRange() must result in the selection's last range being the same object we added assert_equals: getRangeAt(rangeCount - 1) must return the same object we added expected object "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̈ḧ
Ijklmnop
Qrstuvwx"
FAIL Range 36 [document, 1, document, 2] followed by Range 35 [document, 0, document, 2]: modifying the first added range must modify the Selection's last Range assert_equals: After mutating the first added Range, 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"
FAIL Range 36 [document, 1, document, 2] followed by Range 35 [document, 0, document, 2]: modifying the Selection's last Range must modify the first added Range assert_equals: After first addRange(), after mutating the Selection's last Range, startOffset of the Selection's last Range must match the added Range expected 0 but got 6
FAIL Range 36 [document, 1, document, 2] followed by Range 35 [document, 0, document, 2]: second addRange() must do nothing assert_equals: The operation should not replace a registered Range expected object "Äb̈c̈d̈ëf̈g̈ḧ
Ijklmnop
Qrstuvwx" but got object "Äb̈c̈d̈ëf̈g̈ḧ
Ijklmnop
Qrstuvwx"
PASS Range 36 [document, 1, document, 2] followed by Range 36 [document, 1, 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 36 [document, 1, document, 2]: first addRange() must result in rangeCount being 1
FAIL Range 36 [document, 1, document, 2] followed by Range 36 [document, 1, document, 2]: first addRange() must result in 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 36 [document, 1, document, 2]: first addRange() must result in the selection's last range being the same object we added assert_equals: getRangeAt(rangeCount - 1) must return the same object we added expected object "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̈ḧ
Ijklmnop
Qrstuvwx"
FAIL Range 36 [document, 1, document, 2] followed by Range 36 [document, 1, document, 2]: modifying the first added range must modify the Selection's last Range assert_equals: After mutating the first added Range, 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"
FAIL Range 36 [document, 1, document, 2] followed by Range 36 [document, 1, document, 2]: modifying the Selection's last Range must modify the first added Range assert_equals: After first addRange(), after mutating the Selection's last Range, startOffset of the Selection's last Range must match the added Range expected 0 but got 6
FAIL Range 36 [document, 1, document, 2] followed by Range 36 [document, 1, document, 2]: second addRange() must do nothing assert_equals: The operation should not replace a registered Range expected object "Äb̈c̈d̈ëf̈g̈ḧ
Ijklmnop
Qrstuvwx" but got object "Äb̈c̈d̈ëf̈g̈ḧ
Ijklmnop
Qrstuvwx"
PASS Range 36 [document, 1, document, 2] followed by Range 37 [testDiv, 0, comment, 5]: first 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]: first addRange() must result in rangeCount being 1
FAIL Range 36 [document, 1, document, 2] followed by Range 37 [testDiv, 0, comment, 5]: first addRange() must result in 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 37 [testDiv, 0, comment, 5]: first addRange() must result in the selection's last range being the same object we added assert_equals: getRangeAt(rangeCount - 1) must return the same object we added expected object "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̈ḧ
Ijklmnop
Qrstuvwx"
FAIL Range 36 [document, 1, document, 2] followed by Range 37 [testDiv, 0, comment, 5]: modifying the first added range must modify the Selection's last Range assert_equals: After mutating the first added Range, 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"
FAIL 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 assert_equals: After first addRange(), after mutating the Selection's last Range, startOffset of the Selection's last Range must match the added Range expected 0 but got 6
FAIL Range 36 [document, 1, document, 2] followed by Range 37 [testDiv, 0, comment, 5]: second addRange() must do nothing assert_equals: The operation should not replace a registered Range expected object "Äb̈c̈d̈ëf̈g̈ḧ
Ijklmnop
Qrstuvwx" but got object "Äb̈c̈d̈ëf̈g̈ḧ
Ijklmnop
Qrstuvwx"
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
FAIL Range 36 [document, 1, document, 2] followed by Range 38 [paras[2].firstChild, 4, comment, 2]: first addRange() must result in the selection's last range having the specified endpoints assert_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 38 [paras[2].firstChild, 4, comment, 2]: first addRange() must result in the selection's last range being the same object we added assert_equals: getRangeAt(rangeCount - 1) must return the same object we added expected object "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̈ḧ
Ijklmnop
Qrstuvwx"
FAIL Range 36 [document, 1, document, 2] followed by Range 38 [paras[2].firstChild, 4, comment, 2]: modifying the first added range must modify the Selection's last Range assert_equals: After mutating the first added Range, 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"
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 first added Range assert_equals: After first addRange(), after mutating the Selection's last Range, startOffset of the Selection's last Range must match the added Range expected 0 but got 6
FAIL Range 36 [document, 1, document, 2] followed by Range 38 [paras[2].firstChild, 4, comment, 2]: second addRange() must do nothing assert_equals: The operation should not replace a registered Range expected object "Äb̈c̈d̈ëf̈g̈ḧ
Ijklmnop
Qrstuvwx" but got object "Äb̈c̈d̈ëf̈g̈ḧ
Ijklmnop
Qrstuvwx"
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
FAIL Range 36 [document, 1, document, 2] followed by Range 39 [paras[3], 1, comment, 8]: first addRange() must result in 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 39 [paras[3], 1, comment, 8]: first addRange() must result in the selection's last range being the same object we added assert_equals: getRangeAt(rangeCount - 1) must return the same object we added expected object "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̈ḧ
Ijklmnop
Qrstuvwx"
FAIL Range 36 [document, 1, document, 2] followed by Range 39 [paras[3], 1, comment, 8]: modifying the first added range must modify the Selection's last Range assert_equals: After mutating the first added Range, 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"
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 first added Range assert_equals: After first addRange(), after mutating the Selection's last Range, startOffset of the Selection's last Range must match the added Range expected 0 but got 6
FAIL Range 36 [document, 1, document, 2] followed by Range 39 [paras[3], 1, comment, 8]: second addRange() must do nothing assert_equals: The operation should not replace a registered Range expected object "Äb̈c̈d̈ëf̈g̈ḧ
Ijklmnop
Qrstuvwx" but got object "Äb̈c̈d̈ëf̈g̈ḧ
Ijklmnop
Qrstuvwx"
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
FAIL Range 36 [document, 1, document, 2] followed by Range 40 [foreignDoc, 0, foreignDoc, 0]: first addRange() must result in 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 40 [foreignDoc, 0, foreignDoc, 0]: first addRange() must result in the selection's last range being the same object we added assert_equals: getRangeAt(rangeCount - 1) must return the same object we added expected object "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̈ḧ
Ijklmnop
Qrstuvwx"
FAIL Range 36 [document, 1, document, 2] followed by Range 40 [foreignDoc, 0, foreignDoc, 0]: modifying the first added range must modify the Selection's last Range assert_equals: After mutating the first added Range, 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"
FAIL Range 36 [document, 1, document, 2] followed by Range 40 [foreignDoc, 0, foreignDoc, 0]: modifying the Selection's last Range must modify the first added Range assert_equals: After first addRange(), after mutating the Selection's last Range, startOffset of the Selection's last Range must match the added Range expected 0 but got 6
FAIL Range 36 [document, 1, document, 2] followed by Range 40 [foreignDoc, 0, foreignDoc, 0]: second addRange() must do nothing assert_equals: The operation should not replace a registered Range expected object "Äb̈c̈d̈ëf̈g̈ḧ
Ijklmnop
Qrstuvwx" but got object "Äb̈c̈d̈ëf̈g̈ḧ
Ijklmnop
Qrstuvwx"
PASS Range 36 [document, 1, document, 2] followed by Range 41 [foreignDoc, 1, foreignComment, 2]: first addRange() must not throw exceptions or modify the range it's given
PASS Range 36 [document, 1, document, 2] followed by Range 41 [foreignDoc, 1, foreignComment, 2]: first addRange() must result in rangeCount being 1
FAIL Range 36 [document, 1, document, 2] followed by Range 41 [foreignDoc, 1, foreignComment, 2]: first addRange() must result in 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 41 [foreignDoc, 1, foreignComment, 2]: first addRange() must result in the selection's last range being the same object we added assert_equals: getRangeAt(rangeCount - 1) must return the same object we added expected object "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̈ḧ
Ijklmnop
Qrstuvwx"
FAIL Range 36 [document, 1, document, 2] followed by Range 41 [foreignDoc, 1, foreignComment, 2]: modifying the first added range must modify the Selection's last Range assert_equals: After mutating the first added Range, 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"
FAIL Range 36 [document, 1, document, 2] followed by Range 41 [foreignDoc, 1, foreignComment, 2]: modifying the Selection's last Range must modify the first added Range assert_equals: After first addRange(), after mutating the Selection's last Range, startOffset of the Selection's last Range must match the added Range expected 0 but got 6
FAIL Range 36 [document, 1, document, 2] followed by Range 41 [foreignDoc, 1, foreignComment, 2]: second addRange() must do nothing assert_equals: The operation should not replace a registered Range expected object "Äb̈c̈d̈ëf̈g̈ḧ
Ijklmnop
Qrstuvwx" but got object "Äb̈c̈d̈ëf̈g̈ḧ
Ijklmnop
Qrstuvwx"
PASS Range 36 [document, 1, document, 2] followed by Range 42 [foreignDoc.body, 0, foreignTextNode, 36]: first addRange() must not throw exceptions or modify the range it's given
PASS Range 36 [document, 1, document, 2] followed by Range 42 [foreignDoc.body, 0, foreignTextNode, 36]: first addRange() must result in rangeCount being 1
FAIL Range 36 [document, 1, document, 2] followed by Range 42 [foreignDoc.body, 0, foreignTextNode, 36]: first addRange() must result in 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 42 [foreignDoc.body, 0, foreignTextNode, 36]: first addRange() must result in the selection's last range being the same object we added assert_equals: getRangeAt(rangeCount - 1) must return the same object we added expected object "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̈ḧ
Ijklmnop
Qrstuvwx"
FAIL Range 36 [document, 1, document, 2] followed by Range 42 [foreignDoc.body, 0, foreignTextNode, 36]: modifying the first added range must modify the Selection's last Range assert_equals: After mutating the first added Range, 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"
FAIL Range 36 [document, 1, document, 2] followed by Range 42 [foreignDoc.body, 0, foreignTextNode, 36]: modifying the Selection's last Range must modify the first added Range assert_equals: After first addRange(), after mutating the Selection's last Range, startOffset of the Selection's last Range must match the added Range expected 0 but got 6
FAIL Range 36 [document, 1, document, 2] followed by Range 42 [foreignDoc.body, 0, foreignTextNode, 36]: second addRange() must do nothing assert_equals: The operation should not replace a registered Range expected object "Äb̈c̈d̈ëf̈g̈ḧ
Ijklmnop
Qrstuvwx" but got object "Äb̈c̈d̈ëf̈g̈ḧ
Ijklmnop
Qrstuvwx"
PASS Range 36 [document, 1, document, 2] followed by Range 43 [xmlDoc, 0, xmlDoc, 0]: first addRange() must not throw exceptions or modify the range it's given
PASS Range 36 [document, 1, document, 2] followed by Range 43 [xmlDoc, 0, xmlDoc, 0]: first addRange() must result in rangeCount being 1
FAIL Range 36 [document, 1, document, 2] followed by Range 43 [xmlDoc, 0, xmlDoc, 0]: first addRange() must result in 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 43 [xmlDoc, 0, xmlDoc, 0]: first addRange() must result in the selection's last range being the same object we added assert_equals: getRangeAt(rangeCount - 1) must return the same object we added expected object "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̈ḧ
Ijklmnop
Qrstuvwx"
FAIL Range 36 [document, 1, document, 2] followed by Range 43 [xmlDoc, 0, xmlDoc, 0]: modifying the first added range must modify the Selection's last Range assert_equals: After mutating the first added Range, 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"
FAIL Range 36 [document, 1, document, 2] followed by Range 43 [xmlDoc, 0, xmlDoc, 0]: modifying the Selection's last Range must modify the first added Range assert_equals: After first addRange(), after mutating the Selection's last Range, startOffset of the Selection's last Range must match the added Range expected 0 but got 6
FAIL Range 36 [document, 1, document, 2] followed by Range 43 [xmlDoc, 0, xmlDoc, 0]: second addRange() must do nothing assert_equals: The operation should not replace a registered Range expected object "Äb̈c̈d̈ëf̈g̈ḧ
Ijklmnop
Qrstuvwx" but got object "Äb̈c̈d̈ëf̈g̈ḧ
Ijklmnop
Qrstuvwx"
PASS Range 36 [document, 1, document, 2] followed by Range 44 [xmlDoc, 1, xmlComment, 0]: first addRange() must not throw exceptions or modify the range it's given
PASS Range 36 [document, 1, document, 2] followed by Range 44 [xmlDoc, 1, xmlComment, 0]: first addRange() must result in rangeCount being 1
FAIL Range 36 [document, 1, document, 2] followed by Range 44 [xmlDoc, 1, xmlComment, 0]: first addRange() must result in 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 44 [xmlDoc, 1, xmlComment, 0]: first addRange() must result in the selection's last range being the same object we added assert_equals: getRangeAt(rangeCount - 1) must return the same object we added expected object "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̈ḧ
Ijklmnop
Qrstuvwx"
FAIL Range 36 [document, 1, document, 2] followed by Range 44 [xmlDoc, 1, xmlComment, 0]: modifying the first added range must modify the Selection's last Range assert_equals: After mutating the first added Range, 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"
FAIL Range 36 [document, 1, document, 2] followed by Range 44 [xmlDoc, 1, xmlComment, 0]: modifying the Selection's last Range must modify the first added Range assert_equals: After first addRange(), after mutating the Selection's last Range, startOffset of the Selection's last Range must match the added Range expected 0 but got 6
FAIL Range 36 [document, 1, document, 2] followed by Range 44 [xmlDoc, 1, xmlComment, 0]: second addRange() must do nothing assert_equals: The operation should not replace a registered Range expected object "Äb̈c̈d̈ëf̈g̈ḧ
Ijklmnop
Qrstuvwx" but got object "Äb̈c̈d̈ëf̈g̈ḧ
Ijklmnop
Qrstuvwx"
PASS Range 36 [document, 1, document, 2] followed by Range 45 [detachedTextNode, 0, detachedTextNode, 8]: first addRange() must not throw exceptions or modify the range it's given
PASS Range 36 [document, 1, document, 2] followed by Range 45 [detachedTextNode, 0, detachedTextNode, 8]: first addRange() must result in rangeCount being 1
FAIL Range 36 [document, 1, document, 2] followed by Range 45 [detachedTextNode, 0, detachedTextNode, 8]: first addRange() must result in 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 45 [detachedTextNode, 0, detachedTextNode, 8]: first addRange() must result in the selection's last range being the same object we added assert_equals: getRangeAt(rangeCount - 1) must return the same object we added expected object "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̈ḧ
Ijklmnop
Qrstuvwx"
FAIL Range 36 [document, 1, document, 2] followed by Range 45 [detachedTextNode, 0, detachedTextNode, 8]: modifying the first added range must modify the Selection's last Range assert_equals: After mutating the first added Range, 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"
FAIL Range 36 [document, 1, document, 2] followed by Range 45 [detachedTextNode, 0, detachedTextNode, 8]: modifying the Selection's last Range must modify the first added Range assert_equals: After first addRange(), after mutating the Selection's last Range, startOffset of the Selection's last Range must match the added Range expected 0 but got 6
FAIL Range 36 [document, 1, document, 2] followed by Range 45 [detachedTextNode, 0, detachedTextNode, 8]: second addRange() must do nothing assert_equals: The operation should not replace a registered Range expected object "Äb̈c̈d̈ëf̈g̈ḧ
Ijklmnop
Qrstuvwx" but got object "Äb̈c̈d̈ëf̈g̈ḧ
Ijklmnop
Qrstuvwx"
PASS Range 36 [document, 1, document, 2] followed by Range 46 [detachedForeignTextNode, 7, detachedForeignTextNode, 7]: first addRange() must not throw exceptions or modify the range it's given
PASS Range 36 [document, 1, document, 2] followed by Range 46 [detachedForeignTextNode, 7, detachedForeignTextNode, 7]: first addRange() must result in rangeCount being 1
FAIL Range 36 [document, 1, document, 2] followed by Range 46 [detachedForeignTextNode, 7, detachedForeignTextNode, 7]: first addRange() must result in 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 46 [detachedForeignTextNode, 7, detachedForeignTextNode, 7]: first addRange() must result in the selection's last range being the same object we added assert_equals: getRangeAt(rangeCount - 1) must return the same object we added expected object "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̈ḧ
Ijklmnop
Qrstuvwx"
FAIL Range 36 [document, 1, document, 2] followed by Range 46 [detachedForeignTextNode, 7, detachedForeignTextNode, 7]: modifying the first added range must modify the Selection's last Range assert_equals: After mutating the first added Range, 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"
FAIL Range 36 [document, 1, document, 2] followed by Range 46 [detachedForeignTextNode, 7, detachedForeignTextNode, 7]: modifying the Selection's last Range must modify the first added Range assert_equals: After first addRange(), after mutating the Selection's last Range, startOffset of the Selection's last Range must match the added Range expected 0 but got 6
FAIL Range 36 [document, 1, document, 2] followed by Range 46 [detachedForeignTextNode, 7, detachedForeignTextNode, 7]: second addRange() must do nothing assert_equals: The operation should not replace a registered Range expected object "Äb̈c̈d̈ëf̈g̈ḧ
Ijklmnop
Qrstuvwx" but got object "Äb̈c̈d̈ëf̈g̈ḧ
Ijklmnop
Qrstuvwx"
PASS Range 36 [document, 1, document, 2] followed by Range 47 [detachedForeignTextNode, 0, detachedForeignTextNode, 8]: first addRange() must not throw exceptions or modify the range it's given
PASS Range 36 [document, 1, document, 2] followed by Range 47 [detachedForeignTextNode, 0, detachedForeignTextNode, 8]: first addRange() must result in rangeCount being 1
FAIL Range 36 [document, 1, document, 2] followed by Range 47 [detachedForeignTextNode, 0, detachedForeignTextNode, 8]: first addRange() must result in 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 47 [detachedForeignTextNode, 0, detachedForeignTextNode, 8]: first addRange() must result in the selection's last range being the same object we added assert_equals: getRangeAt(rangeCount - 1) must return the same object we added expected object "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̈ḧ
Ijklmnop
Qrstuvwx"
FAIL Range 36 [document, 1, document, 2] followed by Range 47 [detachedForeignTextNode, 0, detachedForeignTextNode, 8]: modifying the first added range must modify the Selection's last Range assert_equals: After mutating the first added Range, 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"
FAIL Range 36 [document, 1, document, 2] followed by Range 47 [detachedForeignTextNode, 0, detachedForeignTextNode, 8]: modifying the Selection's last Range must modify the first added Range assert_equals: After first addRange(), after mutating the Selection's last Range, startOffset of the Selection's last Range must match the added Range expected 0 but got 6
FAIL Range 36 [document, 1, document, 2] followed by Range 47 [detachedForeignTextNode, 0, detachedForeignTextNode, 8]: second addRange() must do nothing assert_equals: The operation should not replace a registered Range expected object "Äb̈c̈d̈ëf̈g̈ḧ
Ijklmnop
Qrstuvwx" but got object "Äb̈c̈d̈ëf̈g̈ḧ
Ijklmnop
Qrstuvwx"
PASS Range 36 [document, 1, document, 2] followed by Range 48 [detachedXmlTextNode, 7, detachedXmlTextNode, 7]: first addRange() must not throw exceptions or modify the range it's given
PASS Range 36 [document, 1, document, 2] followed by Range 48 [detachedXmlTextNode, 7, detachedXmlTextNode, 7]: first addRange() must result in rangeCount being 1
FAIL Range 36 [document, 1, document, 2] followed by Range 48 [detachedXmlTextNode, 7, detachedXmlTextNode, 7]: first addRange() must result in 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 48 [detachedXmlTextNode, 7, detachedXmlTextNode, 7]: first addRange() must result in the selection's last range being the same object we added assert_equals: getRangeAt(rangeCount - 1) must return the same object we added expected object "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̈ḧ
Ijklmnop
Qrstuvwx"
FAIL Range 36 [document, 1, document, 2] followed by Range 48 [detachedXmlTextNode, 7, detachedXmlTextNode, 7]: modifying the first added range must modify the Selection's last Range assert_equals: After mutating the first added Range, 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"
FAIL Range 36 [document, 1, document, 2] followed by Range 48 [detachedXmlTextNode, 7, detachedXmlTextNode, 7]: modifying the Selection's last Range must modify the first added Range assert_equals: After first addRange(), after mutating the Selection's last Range, startOffset of the Selection's last Range must match the added Range expected 0 but got 6
FAIL Range 36 [document, 1, document, 2] followed by Range 48 [detachedXmlTextNode, 7, detachedXmlTextNode, 7]: second addRange() must do nothing assert_equals: The operation should not replace a registered Range expected object "Äb̈c̈d̈ëf̈g̈ḧ
Ijklmnop
Qrstuvwx" but got object "Äb̈c̈d̈ëf̈g̈ḧ
Ijklmnop
Qrstuvwx"
PASS Range 36 [document, 1, document, 2] followed by Range 49 [detachedXmlTextNode, 0, detachedXmlTextNode, 8]: first addRange() must not throw exceptions or modify the range it's given
PASS Range 36 [document, 1, document, 2] followed by Range 49 [detachedXmlTextNode, 0, detachedXmlTextNode, 8]: first addRange() must result in rangeCount being 1
FAIL Range 36 [document, 1, document, 2] followed by Range 49 [detachedXmlTextNode, 0, detachedXmlTextNode, 8]: first addRange() must result in 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 49 [detachedXmlTextNode, 0, detachedXmlTextNode, 8]: first addRange() must result in the selection's last range being the same object we added assert_equals: getRangeAt(rangeCount - 1) must return the same object we added expected object "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̈ḧ
Ijklmnop
Qrstuvwx"
FAIL Range 36 [document, 1, document, 2] followed by Range 49 [detachedXmlTextNode, 0, detachedXmlTextNode, 8]: modifying the first added range must modify the Selection's last Range assert_equals: After mutating the first added Range, 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"
FAIL Range 36 [document, 1, document, 2] followed by Range 49 [detachedXmlTextNode, 0, detachedXmlTextNode, 8]: modifying the Selection's last Range must modify the first added Range assert_equals: After first addRange(), after mutating the Selection's last Range, startOffset of the Selection's last Range must match the added Range expected 0 but got 6
FAIL Range 36 [document, 1, document, 2] followed by Range 49 [detachedXmlTextNode, 0, detachedXmlTextNode, 8]: second addRange() must do nothing assert_equals: The operation should not replace a registered Range expected object "Äb̈c̈d̈ëf̈g̈ḧ
Ijklmnop
Qrstuvwx" but got object "Äb̈c̈d̈ëf̈g̈ḧ
Ijklmnop
Qrstuvwx"
PASS Range 36 [document, 1, document, 2] followed by Range 50 [detachedComment, 3, detachedComment, 4]: first addRange() must not throw exceptions or modify the range it's given
PASS Range 36 [document, 1, document, 2] followed by Range 50 [detachedComment, 3, detachedComment, 4]: first addRange() must result in rangeCount being 1
FAIL Range 36 [document, 1, document, 2] followed by Range 50 [detachedComment, 3, detachedComment, 4]: first addRange() must result in 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 50 [detachedComment, 3, detachedComment, 4]: first addRange() must result in the selection's last range being the same object we added assert_equals: getRangeAt(rangeCount - 1) must return the same object we added expected object "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̈ḧ
Ijklmnop
Qrstuvwx"
FAIL Range 36 [document, 1, document, 2] followed by Range 50 [detachedComment, 3, detachedComment, 4]: modifying the first added range must modify the Selection's last Range assert_equals: After mutating the first added Range, 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"
FAIL Range 36 [document, 1, document, 2] followed by Range 50 [detachedComment, 3, detachedComment, 4]: modifying the Selection's last Range must modify the first added Range assert_equals: After first addRange(), after mutating the Selection's last Range, startOffset of the Selection's last Range must match the added Range expected 0 but got 6
FAIL Range 36 [document, 1, document, 2] followed by Range 50 [detachedComment, 3, detachedComment, 4]: second addRange() must do nothing assert_equals: The operation should not replace a registered Range expected object "Äb̈c̈d̈ëf̈g̈ḧ
Ijklmnop
Qrstuvwx" but got object "Äb̈c̈d̈ëf̈g̈ḧ
Ijklmnop
Qrstuvwx"
PASS Range 36 [document, 1, document, 2] followed by Range 51 [detachedComment, 5, detachedComment, 5]: first addRange() must not throw exceptions or modify the range it's given
PASS Range 36 [document, 1, document, 2] followed by Range 51 [detachedComment, 5, detachedComment, 5]: first addRange() must result in rangeCount being 1
FAIL Range 36 [document, 1, document, 2] followed by Range 51 [detachedComment, 5, detachedComment, 5]: first addRange() must result in 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 51 [detachedComment, 5, detachedComment, 5]: first addRange() must result in the selection's last range being the same object we added assert_equals: getRangeAt(rangeCount - 1) must return the same object we added expected object "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̈ḧ
Ijklmnop
Qrstuvwx"
FAIL Range 36 [document, 1, document, 2] followed by Range 51 [detachedComment, 5, detachedComment, 5]: modifying the first added range must modify the Selection's last Range assert_equals: After mutating the first added Range, 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"
FAIL Range 36 [document, 1, document, 2] followed by Range 51 [detachedComment, 5, detachedComment, 5]: modifying the Selection's last Range must modify the first added Range assert_equals: After first addRange(), after mutating the Selection's last Range, startOffset of the Selection's last Range must match the added Range expected 0 but got 6
FAIL Range 36 [document, 1, document, 2] followed by Range 51 [detachedComment, 5, detachedComment, 5]: second addRange() must do nothing assert_equals: The operation should not replace a registered Range expected object "Äb̈c̈d̈ëf̈g̈ḧ
Ijklmnop
Qrstuvwx" but got object "Äb̈c̈d̈ëf̈g̈ḧ
Ijklmnop
Qrstuvwx"
PASS Range 36 [document, 1, document, 2] followed by Range 52 [detachedForeignComment, 0, detachedForeignComment, 1]: first addRange() must not throw exceptions or modify the range it's given
PASS Range 36 [document, 1, document, 2] followed by Range 52 [detachedForeignComment, 0, detachedForeignComment, 1]: first addRange() must result in rangeCount being 1
FAIL Range 36 [document, 1, document, 2] followed by Range 52 [detachedForeignComment, 0, detachedForeignComment, 1]: first addRange() must result in 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 52 [detachedForeignComment, 0, detachedForeignComment, 1]: first addRange() must result in the selection's last range being the same object we added assert_equals: getRangeAt(rangeCount - 1) must return the same object we added expected object "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̈ḧ
Ijklmnop
Qrstuvwx"
FAIL Range 36 [document, 1, document, 2] followed by Range 52 [detachedForeignComment, 0, detachedForeignComment, 1]: modifying the first added range must modify the Selection's last Range assert_equals: After mutating the first added Range, 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"
FAIL Range 36 [document, 1, document, 2] followed by Range 52 [detachedForeignComment, 0, detachedForeignComment, 1]: modifying the Selection's last Range must modify the first added Range assert_equals: After first addRange(), after mutating the Selection's last Range, startOffset of the Selection's last Range must match the added Range expected 0 but got 6
FAIL Range 36 [document, 1, document, 2] followed by Range 52 [detachedForeignComment, 0, detachedForeignComment, 1]: second addRange() must do nothing assert_equals: The operation should not replace a registered Range expected object "Äb̈c̈d̈ëf̈g̈ḧ
Ijklmnop
Qrstuvwx" but got object "Äb̈c̈d̈ëf̈g̈ḧ
Ijklmnop
Qrstuvwx"
PASS Range 36 [document, 1, document, 2] followed by Range 53 [detachedForeignComment, 4, detachedForeignComment, 4]: first addRange() must not throw exceptions or modify the range it's given
PASS Range 36 [document, 1, document, 2] followed by Range 53 [detachedForeignComment, 4, detachedForeignComment, 4]: first addRange() must result in rangeCount being 1
FAIL Range 36 [document, 1, document, 2] followed by Range 53 [detachedForeignComment, 4, detachedForeignComment, 4]: first addRange() must result in 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 53 [detachedForeignComment, 4, detachedForeignComment, 4]: first addRange() must result in the selection's last range being the same object we added assert_equals: getRangeAt(rangeCount - 1) must return the same object we added expected object "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̈ḧ
Ijklmnop
Qrstuvwx"
FAIL Range 36 [document, 1, document, 2] followed by Range 53 [detachedForeignComment, 4, detachedForeignComment, 4]: modifying the first added range must modify the Selection's last Range assert_equals: After mutating the first added Range, 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"
FAIL Range 36 [document, 1, document, 2] followed by Range 53 [detachedForeignComment, 4, detachedForeignComment, 4]: modifying the Selection's last Range must modify the first added Range assert_equals: After first addRange(), after mutating the Selection's last Range, startOffset of the Selection's last Range must match the added Range expected 0 but got 6
FAIL Range 36 [document, 1, document, 2] followed by Range 53 [detachedForeignComment, 4, detachedForeignComment, 4]: second addRange() must do nothing assert_equals: The operation should not replace a registered Range expected object "Äb̈c̈d̈ëf̈g̈ḧ
Ijklmnop
Qrstuvwx" but got object "Äb̈c̈d̈ëf̈g̈ḧ
Ijklmnop
Qrstuvwx"
PASS Range 36 [document, 1, document, 2] followed by Range 54 [detachedXmlComment, 2, detachedXmlComment, 6]: first addRange() must not throw exceptions or modify the range it's given
PASS Range 36 [document, 1, document, 2] followed by Range 54 [detachedXmlComment, 2, detachedXmlComment, 6]: first addRange() must result in rangeCount being 1
FAIL Range 36 [document, 1, document, 2] followed by Range 54 [detachedXmlComment, 2, detachedXmlComment, 6]: first addRange() must result in 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 54 [detachedXmlComment, 2, detachedXmlComment, 6]: first addRange() must result in the selection's last range being the same object we added assert_equals: getRangeAt(rangeCount - 1) must return the same object we added expected object "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̈ḧ
Ijklmnop
Qrstuvwx"
FAIL Range 36 [document, 1, document, 2] followed by Range 54 [detachedXmlComment, 2, detachedXmlComment, 6]: modifying the first added range must modify the Selection's last Range assert_equals: After mutating the first added Range, 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"
FAIL Range 36 [document, 1, document, 2] followed by Range 54 [detachedXmlComment, 2, detachedXmlComment, 6]: modifying the Selection's last Range must modify the first added Range assert_equals: After first addRange(), after mutating the Selection's last Range, startOffset of the Selection's last Range must match the added Range expected 0 but got 6
FAIL Range 36 [document, 1, document, 2] followed by Range 54 [detachedXmlComment, 2, detachedXmlComment, 6]: second addRange() must do nothing assert_equals: The operation should not replace a registered Range expected object "Äb̈c̈d̈ëf̈g̈ḧ
Ijklmnop
Qrstuvwx" but got object "Äb̈c̈d̈ëf̈g̈ḧ
Ijklmnop
Qrstuvwx"
PASS Range 36 [document, 1, document, 2] followed by Range 55 [docfrag, 0, docfrag, 0]: first addRange() must not throw exceptions or modify the range it's given
PASS Range 36 [document, 1, document, 2] followed by Range 55 [docfrag, 0, docfrag, 0]: first addRange() must result in rangeCount being 1
FAIL Range 36 [document, 1, document, 2] followed by Range 55 [docfrag, 0, docfrag, 0]: first addRange() must result in 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 55 [docfrag, 0, docfrag, 0]: first addRange() must result in the selection's last range being the same object we added assert_equals: getRangeAt(rangeCount - 1) must return the same object we added expected object "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̈ḧ
Ijklmnop
Qrstuvwx"
FAIL Range 36 [document, 1, document, 2] followed by Range 55 [docfrag, 0, docfrag, 0]: modifying the first added range must modify the Selection's last Range assert_equals: After mutating the first added Range, 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"
FAIL Range 36 [document, 1, document, 2] followed by Range 55 [docfrag, 0, docfrag, 0]: modifying the Selection's last Range must modify the first added Range assert_equals: After first addRange(), after mutating the Selection's last Range, startOffset of the Selection's last Range must match the added Range expected 0 but got 6
FAIL Range 36 [document, 1, document, 2] followed by Range 55 [docfrag, 0, docfrag, 0]: second addRange() must do nothing assert_equals: The operation should not replace a registered Range expected object "Äb̈c̈d̈ëf̈g̈ḧ
Ijklmnop
Qrstuvwx" but got object "Äb̈c̈d̈ëf̈g̈ḧ
Ijklmnop
Qrstuvwx"
PASS Range 36 [document, 1, document, 2] followed by Range 56 [foreignDocfrag, 0, foreignDocfrag, 0]: first addRange() must not throw exceptions or modify the range it's given
PASS Range 36 [document, 1, document, 2] followed by Range 56 [foreignDocfrag, 0, foreignDocfrag, 0]: first addRange() must result in rangeCount being 1
FAIL Range 36 [document, 1, document, 2] followed by Range 56 [foreignDocfrag, 0, foreignDocfrag, 0]: first addRange() must result in 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 56 [foreignDocfrag, 0, foreignDocfrag, 0]: first addRange() must result in the selection's last range being the same object we added assert_equals: getRangeAt(rangeCount - 1) must return the same object we added expected object "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̈ḧ
Ijklmnop
Qrstuvwx"
FAIL Range 36 [document, 1, document, 2] followed by Range 56 [foreignDocfrag, 0, foreignDocfrag, 0]: modifying the first added range must modify the Selection's last Range assert_equals: After mutating the first added Range, 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"
FAIL Range 36 [document, 1, document, 2] followed by Range 56 [foreignDocfrag, 0, foreignDocfrag, 0]: modifying the Selection's last Range must modify the first added Range assert_equals: After first addRange(), after mutating the Selection's last Range, startOffset of the Selection's last Range must match the added Range expected 0 but got 6
FAIL Range 36 [document, 1, document, 2] followed by Range 56 [foreignDocfrag, 0, foreignDocfrag, 0]: second addRange() must do nothing assert_equals: The operation should not replace a registered Range expected object "Äb̈c̈d̈ëf̈g̈ḧ
Ijklmnop
Qrstuvwx" but got object "Äb̈c̈d̈ëf̈g̈ḧ
Ijklmnop
Qrstuvwx"
PASS Range 36 [document, 1, document, 2] followed by Range 57 [xmlDocfrag, 0, xmlDocfrag, 0]: first addRange() must not throw exceptions or modify the range it's given
PASS Range 36 [document, 1, document, 2] followed by Range 57 [xmlDocfrag, 0, xmlDocfrag, 0]: first addRange() must result in rangeCount being 1
FAIL Range 36 [document, 1, document, 2] followed by Range 57 [xmlDocfrag, 0, xmlDocfrag, 0]: first addRange() must result in 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 57 [xmlDocfrag, 0, xmlDocfrag, 0]: first addRange() must result in the selection's last range being the same object we added assert_equals: getRangeAt(rangeCount - 1) must return the same object we added expected object "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̈ḧ
Ijklmnop
Qrstuvwx"
FAIL Range 36 [document, 1, document, 2] followed by Range 57 [xmlDocfrag, 0, xmlDocfrag, 0]: modifying the first added range must modify the Selection's last Range assert_equals: After mutating the first added Range, 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"
FAIL Range 36 [document, 1, document, 2] followed by Range 57 [xmlDocfrag, 0, xmlDocfrag, 0]: modifying the Selection's last Range must modify the first added Range assert_equals: After first addRange(), after mutating the Selection's last Range, startOffset of the Selection's last Range must match the added Range expected 0 but got 6
FAIL Range 36 [document, 1, document, 2] followed by Range 57 [xmlDocfrag, 0, xmlDocfrag, 0]: second addRange() must do nothing assert_equals: The operation should not replace a registered Range expected object "Äb̈c̈d̈ëf̈g̈ḧ
Ijklmnop
Qrstuvwx" but got object "Äb̈c̈d̈ëf̈g̈ḧ
Ijklmnop
Qrstuvwx"
PASS Range 37 [testDiv, 0, comment, 5] followed by Range 0 [paras[0].firstChild, 0, paras[0].firstChild, 0]: first addRange() must not throw exceptions or modify the range it's given
PASS Range 37 [testDiv, 0, comment, 5] followed by Range 0 [paras[0].firstChild, 0, paras[0].firstChild, 0]: first 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]: first addRange() must result in 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 0 [paras[0].firstChild, 0, paras[0].firstChild, 0]: first addRange() must result in the selection's last range being the same object we added assert_equals: getRangeAt(rangeCount - 1) must return the same object we added expected object "Äb̈c̈d̈ëf̈g̈ḧ
Ijklmnop
QrstuvwxYzabcdefGhijklmn" but got object "Äb̈c̈d̈ëf̈g̈ḧ
Ijklmnop
Qrstuvwx"
FAIL Range 37 [testDiv, 0, comment, 5] followed by Range 0 [paras[0].firstChild, 0, paras[0].firstChild, 0]: modifying the first added range must modify the Selection's last Range assert_equals: After mutating the first added Range, 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"
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 first added Range assert_equals: After first addRange(), after mutating the Selection's last Range, startOffset of the Selection's last Range must match the added Range expected 0 but got 6
FAIL Range 37 [testDiv, 0, comment, 5] followed by Range 0 [paras[0].firstChild, 0, paras[0].firstChild, 0]: second addRange() must do nothing assert_equals: The operation should not replace a registered Range expected object "Äb̈c̈d̈ëf̈g̈ḧ
Ijklmnop
Qrstuvwx" but got object "Äb̈c̈d̈ëf̈g̈ḧ
Ijklmnop
Qrstuvwx"
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
FAIL Range 37 [testDiv, 0, comment, 5] followed by Range 1 [paras[0].firstChild, 0, paras[0].firstChild, 1]: first addRange() must result in the selection's last range having the specified endpoints assert_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 1 [paras[0].firstChild, 0, paras[0].firstChild, 1]: first addRange() must result in the selection's last range being the same object we added assert_equals: getRangeAt(rangeCount - 1) must return the same object we added expected object "Äb̈c̈d̈ëf̈g̈ḧ
Ijklmnop
QrstuvwxYzabcdefGhijklmn" but got object "Äb̈c̈d̈ëf̈g̈ḧ
Ijklmnop
Qrstuvwx"
FAIL Range 37 [testDiv, 0, comment, 5] followed by Range 1 [paras[0].firstChild, 0, paras[0].firstChild, 1]: modifying the first added range must modify the Selection's last Range assert_equals: After mutating the first added Range, 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"
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 first added Range assert_equals: After first addRange(), after mutating the Selection's last Range, startOffset of the Selection's last Range must match the added Range expected 0 but got 6
FAIL Range 37 [testDiv, 0, comment, 5] followed by Range 1 [paras[0].firstChild, 0, paras[0].firstChild, 1]: second addRange() must do nothing assert_equals: The operation should not replace a registered Range expected object "Äb̈c̈d̈ëf̈g̈ḧ
Ijklmnop
Qrstuvwx" but got object "Äb̈c̈d̈ëf̈g̈ḧ
Ijklmnop
Qrstuvwx"
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
FAIL Range 37 [testDiv, 0, comment, 5] followed by Range 2 [paras[0].firstChild, 2, paras[0].firstChild, 8]: first addRange() must result in the selection's last range having the specified endpoints assert_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 2 [paras[0].firstChild, 2, paras[0].firstChild, 8]: first addRange() must result in the selection's last range being the same object we added assert_equals: getRangeAt(rangeCount - 1) must return the same object we added expected object "Äb̈c̈d̈ëf̈g̈ḧ
Ijklmnop
QrstuvwxYzabcdefGhijklmn" but got object "Äb̈c̈d̈ëf̈g̈ḧ
Ijklmnop
Qrstuvwx"
FAIL Range 37 [testDiv, 0, comment, 5] followed by Range 2 [paras[0].firstChild, 2, paras[0].firstChild, 8]: modifying the first added range must modify the Selection's last Range assert_equals: After mutating the first added Range, 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"
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 first added Range assert_equals: After first addRange(), after mutating the Selection's last Range, startOffset of the Selection's last Range must match the added Range expected 0 but got 6
FAIL Range 37 [testDiv, 0, comment, 5] followed by Range 2 [paras[0].firstChild, 2, paras[0].firstChild, 8]: second addRange() must do nothing assert_equals: The operation should not replace a registered Range expected object "Äb̈c̈d̈ëf̈g̈ḧ
Ijklmnop
Qrstuvwx" but got object "Äb̈c̈d̈ëf̈g̈ḧ
Ijklmnop
Qrstuvwx"
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
FAIL Range 37 [testDiv, 0, comment, 5] followed by Range 3 [paras[0].firstChild, 2, paras[0].firstChild, 9]: first addRange() must result in the selection's last range having the specified endpoints assert_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 3 [paras[0].firstChild, 2, paras[0].firstChild, 9]: first addRange() must result in the selection's last range being the same object we added assert_equals: getRangeAt(rangeCount - 1) must return the same object we added expected object "Äb̈c̈d̈ëf̈g̈ḧ
Ijklmnop
QrstuvwxYzabcdefGhijklmn" but got object "Äb̈c̈d̈ëf̈g̈ḧ
Ijklmnop
Qrstuvwx"
FAIL Range 37 [testDiv, 0, comment, 5] followed by Range 3 [paras[0].firstChild, 2, paras[0].firstChild, 9]: modifying the first added range must modify the Selection's last Range assert_equals: After mutating the first added Range, 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"
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 first added Range assert_equals: After first addRange(), after mutating the Selection's last Range, startOffset of the Selection's last Range must match the added Range expected 0 but got 6
FAIL Range 37 [testDiv, 0, comment, 5] followed by Range 3 [paras[0].firstChild, 2, paras[0].firstChild, 9]: second addRange() must do nothing assert_equals: The operation should not replace a registered Range expected object "Äb̈c̈d̈ëf̈g̈ḧ
Ijklmnop
Qrstuvwx" but got object "Äb̈c̈d̈ëf̈g̈ḧ
Ijklmnop
Qrstuvwx"
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
FAIL Range 37 [testDiv, 0, comment, 5] followed by Range 4 [paras[1].firstChild, 0, paras[1].firstChild, 0]: first addRange() must result in the selection's last range having the specified endpoints assert_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 4 [paras[1].firstChild, 0, paras[1].firstChild, 0]: first addRange() must result in the selection's last range being the same object we added assert_equals: getRangeAt(rangeCount - 1) must return the same object we added expected object "Äb̈c̈d̈ëf̈g̈ḧ
Ijklmnop
QrstuvwxYzabcdefGhijklmn" but got object "Äb̈c̈d̈ëf̈g̈ḧ
Ijklmnop
Qrstuvwx"
FAIL Range 37 [testDiv, 0, comment, 5] followed by Range 4 [paras[1].firstChild, 0, paras[1].firstChild, 0]: modifying the first added range must modify the Selection's last Range assert_equals: After mutating the first added Range, 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"
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 first added Range assert_equals: After first addRange(), after mutating the Selection's last Range, startOffset of the Selection's last Range must match the added Range expected 0 but got 6
FAIL Range 37 [testDiv, 0, comment, 5] followed by Range 4 [paras[1].firstChild, 0, paras[1].firstChild, 0]: second addRange() must do nothing assert_equals: The operation should not replace a registered Range expected object "Äb̈c̈d̈ëf̈g̈ḧ
Ijklmnop
Qrstuvwx" but got object "Äb̈c̈d̈ëf̈g̈ḧ
Ijklmnop
Qrstuvwx"
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
FAIL Range 37 [testDiv, 0, comment, 5] followed by Range 5 [paras[1].firstChild, 0, paras[1].firstChild, 1]: first addRange() must result in the selection's last range having the specified endpoints assert_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 5 [paras[1].firstChild, 0, paras[1].firstChild, 1]: first addRange() must result in the selection's last range being the same object we added assert_equals: getRangeAt(rangeCount - 1) must return the same object we added expected object "Äb̈c̈d̈ëf̈g̈ḧ
Ijklmnop
QrstuvwxYzabcdefGhijklmn" but got object "Äb̈c̈d̈ëf̈g̈ḧ
Ijklmnop
Qrstuvwx"
FAIL Range 37 [testDiv, 0, comment, 5] followed by Range 5 [paras[1].firstChild, 0, paras[1].firstChild, 1]: modifying the first added range must modify the Selection's last Range assert_equals: After mutating the first added Range, 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"
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 first added Range assert_equals: After first addRange(), after mutating the Selection's last Range, startOffset of the Selection's last Range must match the added Range expected 0 but got 6
FAIL Range 37 [testDiv, 0, comment, 5] followed by Range 5 [paras[1].firstChild, 0, paras[1].firstChild, 1]: second addRange() must do nothing assert_equals: The operation should not replace a registered Range expected object "Äb̈c̈d̈ëf̈g̈ḧ
Ijklmnop
Qrstuvwx" but got object "Äb̈c̈d̈ëf̈g̈ḧ
Ijklmnop
Qrstuvwx"
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
FAIL Range 37 [testDiv, 0, comment, 5] followed by Range 6 [paras[1].firstChild, 2, paras[1].firstChild, 8]: first addRange() must result in the selection's last range having the specified endpoints assert_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 6 [paras[1].firstChild, 2, paras[1].firstChild, 8]: first addRange() must result in the selection's last range being the same object we added assert_equals: getRangeAt(rangeCount - 1) must return the same object we added expected object "Äb̈c̈d̈ëf̈g̈ḧ
Ijklmnop
QrstuvwxYzabcdefGhijklmn" but got object "Äb̈c̈d̈ëf̈g̈ḧ
Ijklmnop
Qrstuvwx"
FAIL Range 37 [testDiv, 0, comment, 5] followed by Range 6 [paras[1].firstChild, 2, paras[1].firstChild, 8]: modifying the first added range must modify the Selection's last Range assert_equals: After mutating the first added Range, 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"
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 first added Range assert_equals: After first addRange(), after mutating the Selection's last Range, startOffset of the Selection's last Range must match the added Range expected 0 but got 6
FAIL Range 37 [testDiv, 0, comment, 5] followed by Range 6 [paras[1].firstChild, 2, paras[1].firstChild, 8]: second addRange() must do nothing assert_equals: The operation should not replace a registered Range expected object "Äb̈c̈d̈ëf̈g̈ḧ
Ijklmnop
Qrstuvwx" but got object "Äb̈c̈d̈ëf̈g̈ḧ
Ijklmnop
Qrstuvwx"
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
FAIL Range 37 [testDiv, 0, comment, 5] followed by Range 7 [paras[1].firstChild, 2, paras[1].firstChild, 9]: first addRange() must result in the selection's last range having the specified endpoints assert_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 7 [paras[1].firstChild, 2, paras[1].firstChild, 9]: first addRange() must result in the selection's last range being the same object we added assert_equals: getRangeAt(rangeCount - 1) must return the same object we added expected object "Äb̈c̈d̈ëf̈g̈ḧ
Ijklmnop
QrstuvwxYzabcdefGhijklmn" but got object "Äb̈c̈d̈ëf̈g̈ḧ
Ijklmnop
Qrstuvwx"
FAIL Range 37 [testDiv, 0, comment, 5] followed by Range 7 [paras[1].firstChild, 2, paras[1].firstChild, 9]: modifying the first added range must modify the Selection's last Range assert_equals: After mutating the first added Range, 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"
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 first added Range assert_equals: After first addRange(), after mutating the Selection's last Range, startOffset of the Selection's last Range must match the added Range expected 0 but got 6
FAIL Range 37 [testDiv, 0, comment, 5] followed by Range 7 [paras[1].firstChild, 2, paras[1].firstChild, 9]: second addRange() must do nothing assert_equals: The operation should not replace a registered Range expected object "Äb̈c̈d̈ëf̈g̈ḧ
Ijklmnop
Qrstuvwx" but got object "Äb̈c̈d̈ëf̈g̈ḧ
Ijklmnop
Qrstuvwx"
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
FAIL Range 37 [testDiv, 0, comment, 5] followed by Range 8 [detachedPara1.firstChild, 0, detachedPara1.firstChild, 0]: first addRange() must result in the selection's last range having the specified endpoints assert_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 8 [detachedPara1.firstChild, 0, detachedPara1.firstChild, 0]: first addRange() must result in the selection's last range being the same object we added assert_equals: getRangeAt(rangeCount - 1) must return the same object we added expected object "Äb̈c̈d̈ëf̈g̈ḧ
Ijklmnop
QrstuvwxYzabcdefGhijklmn" but got object "Äb̈c̈d̈ëf̈g̈ḧ
Ijklmnop
Qrstuvwx"
FAIL Range 37 [testDiv, 0, comment, 5] followed by Range 8 [detachedPara1.firstChild, 0, detachedPara1.firstChild, 0]: modifying the first added range must modify the Selection's last Range assert_equals: After mutating the first added Range, 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"
FAIL Range 37 [testDiv, 0, comment, 5] followed by Range 8 [detachedPara1.firstChild, 0, detachedPara1.firstChild, 0]: modifying the Selection's last Range must modify the first added Range assert_equals: After first addRange(), after mutating the Selection's last Range, startOffset of the Selection's last Range must match the added Range expected 0 but got 6
FAIL Range 37 [testDiv, 0, comment, 5] followed by Range 8 [detachedPara1.firstChild, 0, detachedPara1.firstChild, 0]: second addRange() must do nothing assert_equals: The operation should not replace a registered Range expected object "Äb̈c̈d̈ëf̈g̈ḧ
Ijklmnop
Qrstuvwx" but got object "Äb̈c̈d̈ëf̈g̈ḧ
Ijklmnop
Qrstuvwx"
PASS Range 37 [testDiv, 0, comment, 5] followed by Range 9 [detachedPara1.firstChild, 0, detachedPara1.firstChild, 1]: first addRange() must not throw exceptions or modify the range it's given
PASS Range 37 [testDiv, 0, comment, 5] followed by Range 9 [detachedPara1.firstChild, 0, detachedPara1.firstChild, 1]: first addRange() must result in rangeCount being 1
FAIL Range 37 [testDiv, 0, comment, 5] followed by Range 9 [detachedPara1.firstChild, 0, detachedPara1.firstChild, 1]: first addRange() must result in the selection's last range having the specified endpoints assert_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 9 [detachedPara1.firstChild, 0, detachedPara1.firstChild, 1]: first addRange() must result in the selection's last range being the same object we added assert_equals: getRangeAt(rangeCount - 1) must return the same object we added expected object "Äb̈c̈d̈ëf̈g̈ḧ
Ijklmnop
QrstuvwxYzabcdefGhijklmn" but got object "Äb̈c̈d̈ëf̈g̈ḧ
Ijklmnop
Qrstuvwx"
FAIL Range 37 [testDiv, 0, comment, 5] followed by Range 9 [detachedPara1.firstChild, 0, detachedPara1.firstChild, 1]: modifying the first added range must modify the Selection's last Range assert_equals: After mutating the first added Range, 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"
FAIL Range 37 [testDiv, 0, comment, 5] followed by Range 9 [detachedPara1.firstChild, 0, detachedPara1.firstChild, 1]: modifying the Selection's last Range must modify the first added Range assert_equals: After first addRange(), after mutating the Selection's last Range, startOffset of the Selection's last Range must match the added Range expected 0 but got 6
FAIL Range 37 [testDiv, 0, comment, 5] followed by Range 9 [detachedPara1.firstChild, 0, detachedPara1.firstChild, 1]: second addRange() must do nothing assert_equals: The operation should not replace a registered Range expected object "Äb̈c̈d̈ëf̈g̈ḧ
Ijklmnop
Qrstuvwx" but got object "Äb̈c̈d̈ëf̈g̈ḧ
Ijklmnop
Qrstuvwx"
PASS Range 37 [testDiv, 0, comment, 5] followed by Range 10 [detachedPara1.firstChild, 2, detachedPara1.firstChild, 8]: first addRange() must not throw exceptions or modify the range it's given
PASS Range 37 [testDiv, 0, comment, 5] followed by Range 10 [detachedPara1.firstChild, 2, detachedPara1.firstChild, 8]: first addRange() must result in rangeCount being 1
FAIL Range 37 [testDiv, 0, comment, 5] followed by Range 10 [detachedPara1.firstChild, 2, detachedPara1.firstChild, 8]: first addRange() must result in the selection's last range having the specified endpoints assert_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 10 [detachedPara1.firstChild, 2, detachedPara1.firstChild, 8]: first addRange() must result in the selection's last range being the same object we added assert_equals: getRangeAt(rangeCount - 1) must return the same object we added expected object "Äb̈c̈d̈ëf̈g̈ḧ
Ijklmnop
QrstuvwxYzabcdefGhijklmn" but got object "Äb̈c̈d̈ëf̈g̈ḧ
Ijklmnop
Qrstuvwx"
FAIL Range 37 [testDiv, 0, comment, 5] followed by Range 10 [detachedPara1.firstChild, 2, detachedPara1.firstChild, 8]: modifying the first added range must modify the Selection's last Range assert_equals: After mutating the first added Range, 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"
FAIL Range 37 [testDiv, 0, comment, 5] followed by Range 10 [detachedPara1.firstChild, 2, detachedPara1.firstChild, 8]: modifying the Selection's last Range must modify the first added Range assert_equals: After first addRange(), after mutating the Selection's last Range, startOffset of the Selection's last Range must match the added Range expected 0 but got 6
FAIL Range 37 [testDiv, 0, comment, 5] followed by Range 10 [detachedPara1.firstChild, 2, detachedPara1.firstChild, 8]: second addRange() must do nothing assert_equals: The operation should not replace a registered Range expected object "Äb̈c̈d̈ëf̈g̈ḧ
Ijklmnop
Qrstuvwx" but got object "Äb̈c̈d̈ëf̈g̈ḧ
Ijklmnop
Qrstuvwx"
PASS Range 37 [testDiv, 0, comment, 5] followed by Range 11 [foreignPara1.firstChild, 0, foreignPara1.firstChild, 0]: first addRange() must not throw exceptions or modify the range it's given
PASS Range 37 [testDiv, 0, comment, 5] followed by Range 11 [foreignPara1.firstChild, 0, foreignPara1.firstChild, 0]: first addRange() must result in rangeCount being 1
FAIL Range 37 [testDiv, 0, comment, 5] followed by Range 11 [foreignPara1.firstChild, 0, foreignPara1.firstChild, 0]: first addRange() must result in the selection's last range having the specified endpoints assert_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 11 [foreignPara1.firstChild, 0, foreignPara1.firstChild, 0]: first addRange() must result in the selection's last range being the same object we added assert_equals: getRangeAt(rangeCount - 1) must return the same object we added expected object "Äb̈c̈d̈ëf̈g̈ḧ
Ijklmnop
QrstuvwxYzabcdefGhijklmn" but got object "Äb̈c̈d̈ëf̈g̈ḧ
Ijklmnop
Qrstuvwx"
FAIL Range 37 [testDiv, 0, comment, 5] followed by Range 11 [foreignPara1.firstChild, 0, foreignPara1.firstChild, 0]: modifying the first added range must modify the Selection's last Range assert_equals: After mutating the first added Range, 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"
FAIL Range 37 [testDiv, 0, comment, 5] followed by Range 11 [foreignPara1.firstChild, 0, foreignPara1.firstChild, 0]: modifying the Selection's last Range must modify the first added Range assert_equals: After first addRange(), after mutating the Selection's last Range, startOffset of the Selection's last Range must match the added Range expected 0 but got 6
FAIL Range 37 [testDiv, 0, comment, 5] followed by Range 11 [foreignPara1.firstChild, 0, foreignPara1.firstChild, 0]: second addRange() must do nothing assert_equals: The operation should not replace a registered Range expected object "Äb̈c̈d̈ëf̈g̈ḧ
Ijklmnop
Qrstuvwx" but got object "Äb̈c̈d̈ëf̈g̈ḧ
Ijklmnop
Qrstuvwx"
PASS Range 37 [testDiv, 0, comment, 5] followed by Range 12 [foreignPara1.firstChild, 0, foreignPara1.firstChild, 1]: first addRange() must not throw exceptions or modify the range it's given
PASS Range 37 [testDiv, 0, comment, 5] followed by Range 12 [foreignPara1.firstChild, 0, foreignPara1.firstChild, 1]: first addRange() must result in rangeCount being 1
FAIL Range 37 [testDiv, 0, comment, 5] followed by Range 12 [foreignPara1.firstChild, 0, foreignPara1.firstChild, 1]: first addRange() must result in the selection's last range having the specified endpoints assert_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 12 [foreignPara1.firstChild, 0, foreignPara1.firstChild, 1]: first addRange() must result in the selection's last range being the same object we added assert_equals: getRangeAt(rangeCount - 1) must return the same object we added expected object "Äb̈c̈d̈ëf̈g̈ḧ
Ijklmnop
QrstuvwxYzabcdefGhijklmn" but got object "Äb̈c̈d̈ëf̈g̈ḧ
Ijklmnop
Qrstuvwx"
FAIL Range 37 [testDiv, 0, comment, 5] followed by Range 12 [foreignPara1.firstChild, 0, foreignPara1.firstChild, 1]: modifying the first added range must modify the Selection's last Range assert_equals: After mutating the first added Range, 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"
FAIL Range 37 [testDiv, 0, comment, 5] followed by Range 12 [foreignPara1.firstChild, 0, foreignPara1.firstChild, 1]: modifying the Selection's last Range must modify the first added Range assert_equals: After first addRange(), after mutating the Selection's last Range, startOffset of the Selection's last Range must match the added Range expected 0 but got 6
FAIL Range 37 [testDiv, 0, comment, 5] followed by Range 12 [foreignPara1.firstChild, 0, foreignPara1.firstChild, 1]: second addRange() must do nothing assert_equals: The operation should not replace a registered Range expected object "Äb̈c̈d̈ëf̈g̈ḧ
Ijklmnop
Qrstuvwx" but got object "Äb̈c̈d̈ëf̈g̈ḧ
Ijklmnop
Qrstuvwx"
PASS Range 37 [testDiv, 0, comment, 5] followed by Range 13 [foreignPara1.firstChild, 2, foreignPara1.firstChild, 8]: first addRange() must not throw exceptions or modify the range it's given
PASS Range 37 [testDiv, 0, comment, 5] followed by Range 13 [foreignPara1.firstChild, 2, foreignPara1.firstChild, 8]: first addRange() must result in rangeCount being 1
FAIL Range 37 [testDiv, 0, comment, 5] followed by Range 13 [foreignPara1.firstChild, 2, foreignPara1.firstChild, 8]: first addRange() must result in the selection's last range having the specified endpoints assert_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 13 [foreignPara1.firstChild, 2, foreignPara1.firstChild, 8]: first addRange() must result in the selection's last range being the same object we added assert_equals: getRangeAt(rangeCount - 1) must return the same object we added expected object "Äb̈c̈d̈ëf̈g̈ḧ
Ijklmnop
QrstuvwxYzabcdefGhijklmn" but got object "Äb̈c̈d̈ëf̈g̈ḧ
Ijklmnop
Qrstuvwx"
FAIL Range 37 [testDiv, 0, comment, 5] followed by Range 13 [foreignPara1.firstChild, 2, foreignPara1.firstChild, 8]: modifying the first added range must modify the Selection's last Range assert_equals: After mutating the first added Range, 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"
FAIL Range 37 [testDiv, 0, comment, 5] followed by Range 13 [foreignPara1.firstChild, 2, foreignPara1.firstChild, 8]: modifying the Selection's last Range must modify the first added Range assert_equals: After first addRange(), after mutating the Selection's last Range, startOffset of the Selection's last Range must match the added Range expected 0 but got 6
FAIL Range 37 [testDiv, 0, comment, 5] followed by Range 13 [foreignPara1.firstChild, 2, foreignPara1.firstChild, 8]: second addRange() must do nothing assert_equals: The operation should not replace a registered Range expected object "Äb̈c̈d̈ëf̈g̈ḧ
Ijklmnop
Qrstuvwx" but got object "Äb̈c̈d̈ëf̈g̈ḧ
Ijklmnop
Qrstuvwx"
PASS Range 37 [testDiv, 0, comment, 5] followed by Range 14 [document.documentElement, 0, document.documentElement, 1]: first addRange() must not throw exceptions or modify the range it's given
PASS Range 37 [testDiv, 0, comment, 5] followed by Range 14 [document.documentElement, 0, document.documentElement, 1]: first addRange() must result in rangeCount being 1
FAIL Range 37 [testDiv, 0, comment, 5] followed by Range 14 [document.documentElement, 0, document.documentElement, 1]: first addRange() must result in the selection's last range having the specified endpoints assert_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 14 [document.documentElement, 0, document.documentElement, 1]: first addRange() must result in the selection's last range being the same object we added assert_equals: getRangeAt(rangeCount - 1) must return the same object we added expected object "Äb̈c̈d̈ëf̈g̈ḧ
Ijklmnop
QrstuvwxYzabcdefGhijklmn" but got object "Äb̈c̈d̈ëf̈g̈ḧ
Ijklmnop
Qrstuvwx"
FAIL Range 37 [testDiv, 0, comment, 5] followed by Range 14 [document.documentElement, 0, document.documentElement, 1]: modifying the first added range must modify the Selection's last Range assert_equals: After mutating the first added Range, 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"
FAIL Range 37 [testDiv, 0, comment, 5] followed by Range 14 [document.documentElement, 0, document.documentElement, 1]: modifying the Selection's last Range must modify the first added Range assert_equals: After first addRange(), after mutating the Selection's last Range, startOffset of the Selection's last Range must match the added Range expected 0 but got 6
FAIL Range 37 [testDiv, 0, comment, 5] followed by Range 14 [document.documentElement, 0, document.documentElement, 1]: second addRange() must do nothing assert_equals: The operation should not replace a registered Range expected object "Äb̈c̈d̈ëf̈g̈ḧ
Ijklmnop
Qrstuvwx" but got object "Äb̈c̈d̈ëf̈g̈ḧ
Ijklmnop
Qrstuvwx"
PASS Range 37 [testDiv, 0, comment, 5] 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 37 [testDiv, 0, comment, 5] followed by Range 15 [document.documentElement, 0, document.documentElement, 2]: first addRange() must result in rangeCount being 1
FAIL Range 37 [testDiv, 0, comment, 5] followed by Range 15 [document.documentElement, 0, document.documentElement, 2]: first addRange() must result in the selection's last range having the specified endpoints assert_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 15 [document.documentElement, 0, document.documentElement, 2]: first addRange() must result in the selection's last range being the same object we added assert_equals: getRangeAt(rangeCount - 1) must return the same object we added expected object "Äb̈c̈d̈ëf̈g̈ḧ
Ijklmnop
QrstuvwxYzabcdefGhijklmn" but got object "Äb̈c̈d̈ëf̈g̈ḧ
Ijklmnop
Qrstuvwx"
FAIL Range 37 [testDiv, 0, comment, 5] followed by Range 15 [document.documentElement, 0, document.documentElement, 2]: modifying the first added range must modify the Selection's last Range assert_equals: After mutating the first added Range, 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"
FAIL Range 37 [testDiv, 0, comment, 5] followed by Range 15 [document.documentElement, 0, document.documentElement, 2]: modifying the Selection's last Range must modify the first added Range assert_equals: After first addRange(), after mutating the Selection's last Range, startOffset of the Selection's last Range must match the added Range expected 0 but got 6
FAIL Range 37 [testDiv, 0, comment, 5] followed by Range 15 [document.documentElement, 0, document.documentElement, 2]: second addRange() must do nothing assert_equals: The operation should not replace a registered Range expected object "Äb̈c̈d̈ëf̈g̈ḧ
Ijklmnop
Qrstuvwx" but got object "Äb̈c̈d̈ëf̈g̈ḧ
Ijklmnop
Qrstuvwx"
PASS Range 37 [testDiv, 0, comment, 5] 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 37 [testDiv, 0, comment, 5] followed by Range 16 [document.documentElement, 1, document.documentElement, 2]: first addRange() must result in rangeCount being 1
FAIL Range 37 [testDiv, 0, comment, 5] followed by Range 16 [document.documentElement, 1, document.documentElement, 2]: first addRange() must result in the selection's last range having the specified endpoints assert_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 16 [document.documentElement, 1, document.documentElement, 2]: first addRange() must result in the selection's last range being the same object we added assert_equals: getRangeAt(rangeCount - 1) must return the same object we added expected object "Äb̈c̈d̈ëf̈g̈ḧ
Ijklmnop
QrstuvwxYzabcdefGhijklmn" but got object "Äb̈c̈d̈ëf̈g̈ḧ
Ijklmnop
Qrstuvwx"
FAIL Range 37 [testDiv, 0, comment, 5] followed by Range 16 [document.documentElement, 1, document.documentElement, 2]: modifying the first added range must modify the Selection's last Range assert_equals: After mutating the first added Range, 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"
FAIL Range 37 [testDiv, 0, comment, 5] followed by Range 16 [document.documentElement, 1, document.documentElement, 2]: modifying the Selection's last Range must modify the first added Range assert_equals: After first addRange(), after mutating the Selection's last Range, startOffset of the Selection's last Range must match the added Range expected 0 but got 6
FAIL Range 37 [testDiv, 0, comment, 5] followed by Range 16 [document.documentElement, 1, document.documentElement, 2]: second addRange() must do nothing assert_equals: The operation should not replace a registered Range expected object "Äb̈c̈d̈ëf̈g̈ḧ
Ijklmnop
Qrstuvwx" but got object "Äb̈c̈d̈ëf̈g̈ḧ
Ijklmnop
Qrstuvwx"
PASS Range 37 [testDiv, 0, comment, 5] 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 37 [testDiv, 0, comment, 5] followed by Range 17 [document.head, 1, document.head, 1]: first addRange() must result in rangeCount being 1
FAIL Range 37 [testDiv, 0, comment, 5] followed by Range 17 [document.head, 1, document.head, 1]: first addRange() must result in the selection's last range having the specified endpoints assert_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 17 [document.head, 1, document.head, 1]: first addRange() must result in the selection's last range being the same object we added assert_equals: getRangeAt(rangeCount - 1) must return the same object we added expected object "Äb̈c̈d̈ëf̈g̈ḧ
Ijklmnop
QrstuvwxYzabcdefGhijklmn" but got object "Äb̈c̈d̈ëf̈g̈ḧ
Ijklmnop
Qrstuvwx"
FAIL Range 37 [testDiv, 0, comment, 5] followed by Range 17 [document.head, 1, document.head, 1]: modifying the first added range must modify the Selection's last Range assert_equals: After mutating the first added Range, 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"
FAIL Range 37 [testDiv, 0, comment, 5] followed by Range 17 [document.head, 1, document.head, 1]: modifying the Selection's last Range must modify the first added Range assert_equals: After first addRange(), after mutating the Selection's last Range, startOffset of the Selection's last Range must match the added Range expected 0 but got 6
FAIL Range 37 [testDiv, 0, comment, 5] followed by Range 17 [document.head, 1, document.head, 1]: second addRange() must do nothing assert_equals: The operation should not replace a registered Range expected object "Äb̈c̈d̈ëf̈g̈ḧ
Ijklmnop
Qrstuvwx" but got object "Äb̈c̈d̈ëf̈g̈ḧ
Ijklmnop
Qrstuvwx"
PASS Range 37 [testDiv, 0, comment, 5] 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 37 [testDiv, 0, comment, 5] followed by Range 18 [document.body, 0, document.body, 1]: first addRange() must result in rangeCount being 1
FAIL Range 37 [testDiv, 0, comment, 5] followed by Range 18 [document.body, 0, document.body, 1]: first addRange() must result in the selection's last range having the specified endpoints assert_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 18 [document.body, 0, document.body, 1]: first addRange() must result in the selection's last range being the same object we added assert_equals: getRangeAt(rangeCount - 1) must return the same object we added expected object "Äb̈c̈d̈ëf̈g̈ḧ
Ijklmnop
QrstuvwxYzabcdefGhijklmn" but got object "Äb̈c̈d̈ëf̈g̈ḧ
Ijklmnop
Qrstuvwx"
FAIL Range 37 [testDiv, 0, comment, 5] followed by Range 18 [document.body, 0, document.body, 1]: modifying the first added range must modify the Selection's last Range assert_equals: After mutating the first added Range, 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"
FAIL Range 37 [testDiv, 0, comment, 5] followed by Range 18 [document.body, 0, document.body, 1]: modifying the Selection's last Range must modify the first added Range assert_equals: After first addRange(), after mutating the Selection's last Range, startOffset of the Selection's last Range must match the added Range expected 0 but got 6
FAIL Range 37 [testDiv, 0, comment, 5] followed by Range 18 [document.body, 0, document.body, 1]: second addRange() must do nothing assert_equals: The operation should not replace a registered Range expected object "Äb̈c̈d̈ëf̈g̈ḧ
Ijklmnop
Qrstuvwx" but got object "Äb̈c̈d̈ëf̈g̈ḧ
Ijklmnop
Qrstuvwx"
PASS Range 37 [testDiv, 0, comment, 5] 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 37 [testDiv, 0, comment, 5] followed by Range 19 [foreignDoc.documentElement, 0, foreignDoc.documentElement, 1]: first addRange() must result in rangeCount being 1
FAIL Range 37 [testDiv, 0, comment, 5] followed by Range 19 [foreignDoc.documentElement, 0, foreignDoc.documentElement, 1]: first addRange() must result in the selection's last range having the specified endpoints assert_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 19 [foreignDoc.documentElement, 0, foreignDoc.documentElement, 1]: first addRange() must result in the selection's last range being the same object we added assert_equals: getRangeAt(rangeCount - 1) must return the same object we added expected object "Äb̈c̈d̈ëf̈g̈ḧ
Ijklmnop
QrstuvwxYzabcdefGhijklmn" but got object "Äb̈c̈d̈ëf̈g̈ḧ
Ijklmnop
Qrstuvwx"
FAIL Range 37 [testDiv, 0, comment, 5] followed by Range 19 [foreignDoc.documentElement, 0, foreignDoc.documentElement, 1]: modifying the first added range must modify the Selection's last Range assert_equals: After mutating the first added Range, 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"
FAIL Range 37 [testDiv, 0, comment, 5] followed by Range 19 [foreignDoc.documentElement, 0, foreignDoc.documentElement, 1]: modifying the Selection's last Range must modify the first added Range assert_equals: After first addRange(), after mutating the Selection's last Range, startOffset of the Selection's last Range must match the added Range expected 0 but got 6
FAIL Range 37 [testDiv, 0, comment, 5] followed by Range 19 [foreignDoc.documentElement, 0, foreignDoc.documentElement, 1]: second addRange() must do nothing assert_equals: The operation should not replace a registered Range expected object "Äb̈c̈d̈ëf̈g̈ḧ
Ijklmnop
Qrstuvwx" but got object "Äb̈c̈d̈ëf̈g̈ḧ
Ijklmnop
Qrstuvwx"
PASS Range 37 [testDiv, 0, comment, 5] followed by Range 20 [foreignDoc.head, 1, foreignDoc.head, 1]: first addRange() must not throw exceptions or modify the range it's given
PASS Range 37 [testDiv, 0, comment, 5] followed by Range 20 [foreignDoc.head, 1, foreignDoc.head, 1]: first addRange() must result in rangeCount being 1
FAIL Range 37 [testDiv, 0, comment, 5] followed by Range 20 [foreignDoc.head, 1, foreignDoc.head, 1]: first addRange() must result in the selection's last range having the specified endpoints assert_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 20 [foreignDoc.head, 1, foreignDoc.head, 1]: first addRange() must result in the selection's last range being the same object we added assert_equals: getRangeAt(rangeCount - 1) must return the same object we added expected object "Äb̈c̈d̈ëf̈g̈ḧ
Ijklmnop
QrstuvwxYzabcdefGhijklmn" but got object "Äb̈c̈d̈ëf̈g̈ḧ
Ijklmnop
Qrstuvwx"
FAIL Range 37 [testDiv, 0, comment, 5] followed by Range 20 [foreignDoc.head, 1, foreignDoc.head, 1]: modifying the first added range must modify the Selection's last Range assert_equals: After mutating the first added Range, 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"
FAIL Range 37 [testDiv, 0, comment, 5] followed by Range 20 [foreignDoc.head, 1, foreignDoc.head, 1]: modifying the Selection's last Range must modify the first added Range assert_equals: After first addRange(), after mutating the Selection's last Range, startOffset of the Selection's last Range must match the added Range expected 0 but got 6
FAIL Range 37 [testDiv, 0, comment, 5] followed by Range 20 [foreignDoc.head, 1, foreignDoc.head, 1]: second addRange() must do nothing assert_equals: The operation should not replace a registered Range expected object "Äb̈c̈d̈ëf̈g̈ḧ
Ijklmnop
Qrstuvwx" but got object "Äb̈c̈d̈ëf̈g̈ḧ
Ijklmnop
Qrstuvwx"
PASS Range 37 [testDiv, 0, comment, 5] followed by Range 21 [foreignDoc.body, 0, foreignDoc.body, 0]: first addRange() must not throw exceptions or modify the range it's given
PASS Range 37 [testDiv, 0, comment, 5] followed by Range 21 [foreignDoc.body, 0, foreignDoc.body, 0]: first addRange() must result in rangeCount being 1
FAIL Range 37 [testDiv, 0, comment, 5] followed by Range 21 [foreignDoc.body, 0, foreignDoc.body, 0]: first addRange() must result in the selection's last range having the specified endpoints assert_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 21 [foreignDoc.body, 0, foreignDoc.body, 0]: first addRange() must result in the selection's last range being the same object we added assert_equals: getRangeAt(rangeCount - 1) must return the same object we added expected object "Äb̈c̈d̈ëf̈g̈ḧ
Ijklmnop
QrstuvwxYzabcdefGhijklmn" but got object "Äb̈c̈d̈ëf̈g̈ḧ
Ijklmnop
Qrstuvwx"
FAIL Range 37 [testDiv, 0, comment, 5] followed by Range 21 [foreignDoc.body, 0, foreignDoc.body, 0]: modifying the first added range must modify the Selection's last Range assert_equals: After mutating the first added Range, 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"
FAIL Range 37 [testDiv, 0, comment, 5] followed by Range 21 [foreignDoc.body, 0, foreignDoc.body, 0]: modifying the Selection's last Range must modify the first added Range assert_equals: After first addRange(), after mutating the Selection's last Range, startOffset of the Selection's last Range must match the added Range expected 0 but got 6
FAIL Range 37 [testDiv, 0, comment, 5] followed by Range 21 [foreignDoc.body, 0, foreignDoc.body, 0]: second addRange() must do nothing assert_equals: The operation should not replace a registered Range expected object "Äb̈c̈d̈ëf̈g̈ḧ
Ijklmnop
Qrstuvwx" but got object "Äb̈c̈d̈ëf̈g̈ḧ
Ijklmnop
Qrstuvwx"
PASS Range 37 [testDiv, 0, comment, 5] followed by Range 22 [paras[0], 0, paras[0], 0]: first addRange() must not throw exceptions or modify the range it's given
PASS Range 37 [testDiv, 0, comment, 5] followed by Range 22 [paras[0], 0, paras[0], 0]: first addRange() must result in rangeCount being 1
FAIL Range 37 [testDiv, 0, comment, 5] followed by Range 22 [paras[0], 0, paras[0], 0]: first addRange() must result in the selection's last range having the specified endpoints assert_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 22 [paras[0], 0, paras[0], 0]: first addRange() must result in the selection's last range being the same object we added assert_equals: getRangeAt(rangeCount - 1) must return the same object we added expected object "Äb̈c̈d̈ëf̈g̈ḧ
Ijklmnop
QrstuvwxYzabcdefGhijklmn" but got object "Äb̈c̈d̈ëf̈g̈ḧ
Ijklmnop
Qrstuvwx"
FAIL Range 37 [testDiv, 0, comment, 5] followed by Range 22 [paras[0], 0, paras[0], 0]: modifying the first added range must modify the Selection's last Range assert_equals: After mutating the first added Range, 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"
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 first added Range assert_equals: After first addRange(), after mutating the Selection's last Range, startOffset of the Selection's last Range must match the added Range expected 0 but got 6
FAIL Range 37 [testDiv, 0, comment, 5] followed by Range 22 [paras[0], 0, paras[0], 0]: second addRange() must do nothing assert_equals: The operation should not replace a registered Range expected object "Äb̈c̈d̈ëf̈g̈ḧ
Ijklmnop
Qrstuvwx" but got object "Äb̈c̈d̈ëf̈g̈ḧ
Ijklmnop
Qrstuvwx"
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
FAIL Range 37 [testDiv, 0, comment, 5] followed by Range 23 [paras[0], 0, paras[0], 1]: first addRange() must result in the selection's last range having the specified endpoints assert_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 23 [paras[0], 0, paras[0], 1]: first addRange() must result in the selection's last range being the same object we added assert_equals: getRangeAt(rangeCount - 1) must return the same object we added expected object "Äb̈c̈d̈ëf̈g̈ḧ
Ijklmnop
QrstuvwxYzabcdefGhijklmn" but got object "Äb̈c̈d̈ëf̈g̈ḧ
Ijklmnop
Qrstuvwx"
FAIL Range 37 [testDiv, 0, comment, 5] followed by Range 23 [paras[0], 0, paras[0], 1]: modifying the first added range must modify the Selection's last Range assert_equals: After mutating the first added Range, 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"
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 first added Range assert_equals: After first addRange(), after mutating the Selection's last Range, startOffset of the Selection's last Range must match the added Range expected 0 but got 6
FAIL Range 37 [testDiv, 0, comment, 5] followed by Range 23 [paras[0], 0, paras[0], 1]: second addRange() must do nothing assert_equals: The operation should not replace a registered Range expected object "Äb̈c̈d̈ëf̈g̈ḧ
Ijklmnop
Qrstuvwx" but got object "Äb̈c̈d̈ëf̈g̈ḧ
Ijklmnop
Qrstuvwx"
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
FAIL Range 37 [testDiv, 0, comment, 5] followed by Range 24 [detachedPara1, 0, detachedPara1, 0]: first addRange() must result in 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 24 [detachedPara1, 0, detachedPara1, 0]: first addRange() must result in the selection's last range being the same object we added assert_equals: getRangeAt(rangeCount - 1) must return the same object we added expected object "Äb̈c̈d̈ëf̈g̈ḧ
Ijklmnop
QrstuvwxYzabcdefGhijklmn" but got object "Äb̈c̈d̈ëf̈g̈ḧ
Ijklmnop
Qrstuvwx"
FAIL Range 37 [testDiv, 0, comment, 5] followed by Range 24 [detachedPara1, 0, detachedPara1, 0]: modifying the first added range must modify the Selection's last Range assert_equals: After mutating the first added Range, 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"
FAIL Range 37 [testDiv, 0, comment, 5] followed by Range 24 [detachedPara1, 0, detachedPara1, 0]: modifying the Selection's last Range must modify the first added Range assert_equals: After first addRange(), after mutating the Selection's last Range, startOffset of the Selection's last Range must match the added Range expected 0 but got 6
FAIL Range 37 [testDiv, 0, comment, 5] followed by Range 24 [detachedPara1, 0, detachedPara1, 0]: second addRange() must do nothing assert_equals: The operation should not replace a registered Range expected object "Äb̈c̈d̈ëf̈g̈ḧ
Ijklmnop
Qrstuvwx" but got object "Äb̈c̈d̈ëf̈g̈ḧ
Ijklmnop
Qrstuvwx"
PASS Range 37 [testDiv, 0, comment, 5] followed by Range 25 [detachedPara1, 0, detachedPara1, 1]: first addRange() must not throw exceptions or modify the range it's given
PASS Range 37 [testDiv, 0, comment, 5] followed by Range 25 [detachedPara1, 0, detachedPara1, 1]: first addRange() must result in rangeCount being 1
FAIL Range 37 [testDiv, 0, comment, 5] followed by Range 25 [detachedPara1, 0, detachedPara1, 1]: first addRange() must result in 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 25 [detachedPara1, 0, detachedPara1, 1]: first addRange() must result in the selection's last range being the same object we added assert_equals: getRangeAt(rangeCount - 1) must return the same object we added expected object "Äb̈c̈d̈ëf̈g̈ḧ
Ijklmnop
QrstuvwxYzabcdefGhijklmn" but got object "Äb̈c̈d̈ëf̈g̈ḧ
Ijklmnop
Qrstuvwx"
FAIL Range 37 [testDiv, 0, comment, 5] followed by Range 25 [detachedPara1, 0, detachedPara1, 1]: modifying the first added range must modify the Selection's last Range assert_equals: After mutating the first added Range, 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"
FAIL Range 37 [testDiv, 0, comment, 5] followed by Range 25 [detachedPara1, 0, detachedPara1, 1]: modifying the Selection's last Range must modify the first added Range assert_equals: After first addRange(), after mutating the Selection's last Range, startOffset of the Selection's last Range must match the added Range expected 0 but got 6
FAIL Range 37 [testDiv, 0, comment, 5] followed by Range 25 [detachedPara1, 0, detachedPara1, 1]: second addRange() must do nothing assert_equals: The operation should not replace a registered Range expected object "Äb̈c̈d̈ëf̈g̈ḧ
Ijklmnop
Qrstuvwx" but got object "Äb̈c̈d̈ëf̈g̈ḧ
Ijklmnop
Qrstuvwx"
PASS Range 37 [testDiv, 0, comment, 5] followed by Range 26 [paras[0].firstChild, 0, paras[1].firstChild, 0]: first addRange() must not throw exceptions or modify the range it's given
PASS Range 37 [testDiv, 0, comment, 5] followed by Range 26 [paras[0].firstChild, 0, paras[1].firstChild, 0]: first 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]: first addRange() must result in 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 26 [paras[0].firstChild, 0, paras[1].firstChild, 0]: first addRange() must result in the selection's last range being the same object we added assert_equals: getRangeAt(rangeCount - 1) must return the same object we added expected object "Äb̈c̈d̈ëf̈g̈ḧ
Ijklmnop
QrstuvwxYzabcdefGhijklmn" but got object "Äb̈c̈d̈ëf̈g̈ḧ
Ijklmnop
Qrstuvwx"
FAIL Range 37 [testDiv, 0, comment, 5] followed by Range 26 [paras[0].firstChild, 0, paras[1].firstChild, 0]: modifying the first added range must modify the Selection's last Range assert_equals: After mutating the first added Range, 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"
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 first added Range assert_equals: After first addRange(), after mutating the Selection's last Range, startOffset of the Selection's last Range must match the added Range expected 0 but got 6
FAIL Range 37 [testDiv, 0, comment, 5] followed by Range 26 [paras[0].firstChild, 0, paras[1].firstChild, 0]: second addRange() must do nothing assert_equals: The operation should not replace a registered Range expected object "Äb̈c̈d̈ëf̈g̈ḧ
Ijklmnop
Qrstuvwx" but got object "Äb̈c̈d̈ëf̈g̈ḧ
Ijklmnop
Qrstuvwx"
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
FAIL Range 37 [testDiv, 0, comment, 5] followed by Range 27 [paras[0].firstChild, 0, paras[1].firstChild, 8]: first addRange() must result in the selection's last range having the specified endpoints assert_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 27 [paras[0].firstChild, 0, paras[1].firstChild, 8]: first addRange() must result in the selection's last range being the same object we added assert_equals: getRangeAt(rangeCount - 1) must return the same object we added expected object "Äb̈c̈d̈ëf̈g̈ḧ
Ijklmnop
QrstuvwxYzabcdefGhijklmn" but got object "Äb̈c̈d̈ëf̈g̈ḧ
Ijklmnop
Qrstuvwx"
FAIL Range 37 [testDiv, 0, comment, 5] followed by Range 27 [paras[0].firstChild, 0, paras[1].firstChild, 8]: modifying the first added range must modify the Selection's last Range assert_equals: After mutating the first added Range, 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"
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 first added Range assert_equals: After first addRange(), after mutating the Selection's last Range, startOffset of the Selection's last Range must match the added Range expected 0 but got 6
FAIL Range 37 [testDiv, 0, comment, 5] followed by Range 27 [paras[0].firstChild, 0, paras[1].firstChild, 8]: second addRange() must do nothing assert_equals: The operation should not replace a registered Range expected object "Äb̈c̈d̈ëf̈g̈ḧ
Ijklmnop
Qrstuvwx" but got object "Äb̈c̈d̈ëf̈g̈ḧ
Ijklmnop
Qrstuvwx"
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
FAIL Range 37 [testDiv, 0, comment, 5] followed by Range 28 [paras[0].firstChild, 3, paras[3], 1]: first addRange() must result in the selection's last range having the specified endpoints assert_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 28 [paras[0].firstChild, 3, paras[3], 1]: first addRange() must result in the selection's last range being the same object we added assert_equals: getRangeAt(rangeCount - 1) must return the same object we added expected object "Äb̈c̈d̈ëf̈g̈ḧ
Ijklmnop
QrstuvwxYzabcdefGhijklmn" but got object "Äb̈c̈d̈ëf̈g̈ḧ
Ijklmnop
Qrstuvwx"
FAIL Range 37 [testDiv, 0, comment, 5] followed by Range 28 [paras[0].firstChild, 3, paras[3], 1]: modifying the first added range must modify the Selection's last Range assert_equals: After mutating the first added Range, 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"
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 first added Range assert_equals: After first addRange(), after mutating the Selection's last Range, startOffset of the Selection's last Range must match the added Range expected 0 but got 6
FAIL Range 37 [testDiv, 0, comment, 5] followed by Range 28 [paras[0].firstChild, 3, paras[3], 1]: second addRange() must do nothing assert_equals: The operation should not replace a registered Range expected object "Äb̈c̈d̈ëf̈g̈ḧ
Ijklmnop
Qrstuvwx" but got object "Äb̈c̈d̈ëf̈g̈ḧ
Ijklmnop
Qrstuvwx"
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
FAIL Range 37 [testDiv, 0, comment, 5] followed by Range 29 [paras[0], 0, paras[0].firstChild, 7]: first addRange() must result in the selection's last range having the specified endpoints assert_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 29 [paras[0], 0, paras[0].firstChild, 7]: first addRange() must result in the selection's last range being the same object we added assert_equals: getRangeAt(rangeCount - 1) must return the same object we added expected object "Äb̈c̈d̈ëf̈g̈ḧ
Ijklmnop
QrstuvwxYzabcdefGhijklmn" but got object "Äb̈c̈d̈ëf̈g̈ḧ
Ijklmnop
Qrstuvwx"
FAIL Range 37 [testDiv, 0, comment, 5] followed by Range 29 [paras[0], 0, paras[0].firstChild, 7]: modifying the first added range must modify the Selection's last Range assert_equals: After mutating the first added Range, 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"
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 first added Range assert_equals: After first addRange(), after mutating the Selection's last Range, startOffset of the Selection's last Range must match the added Range expected 0 but got 6
FAIL Range 37 [testDiv, 0, comment, 5] followed by Range 29 [paras[0], 0, paras[0].firstChild, 7]: second addRange() must do nothing assert_equals: The operation should not replace a registered Range expected object "Äb̈c̈d̈ëf̈g̈ḧ
Ijklmnop
Qrstuvwx" but got object "Äb̈c̈d̈ëf̈g̈ḧ
Ijklmnop
Qrstuvwx"
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
FAIL Range 37 [testDiv, 0, comment, 5] followed by Range 30 [testDiv, 2, paras[4], 1]: first addRange() must result in 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]: first addRange() must result in the selection's last range being the same object we added assert_equals: getRangeAt(rangeCount - 1) must return the same object we added expected object "Äb̈c̈d̈ëf̈g̈ḧ
Ijklmnop
QrstuvwxYzabcdefGhijklmn" but got object "Äb̈c̈d̈ëf̈g̈ḧ
Ijklmnop
Qrstuvwx"
FAIL Range 37 [testDiv, 0, comment, 5] followed by Range 30 [testDiv, 2, paras[4], 1]: modifying the first added range must modify the Selection's last Range assert_equals: After mutating the first added Range, 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"
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 first added Range assert_equals: After first addRange(), after mutating the Selection's last Range, startOffset of the Selection's last Range must match the added Range expected 0 but got 6
FAIL Range 37 [testDiv, 0, comment, 5] followed by Range 30 [testDiv, 2, paras[4], 1]: second addRange() must do nothing assert_equals: The operation should not replace a registered Range expected object "Äb̈c̈d̈ëf̈g̈ḧ
Ijklmnop
Qrstuvwx" but got object "Äb̈c̈d̈ëf̈g̈ḧ
Ijklmnop
Qrstuvwx"
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
FAIL Range 37 [testDiv, 0, comment, 5] followed by Range 31 [testDiv, 1, paras[2].firstChild, 5]: first addRange() must result in the selection's last range having the specified endpoints assert_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]: first addRange() must result in the selection's last range being the same object we added assert_equals: getRangeAt(rangeCount - 1) must return the same object we added expected object "Äb̈c̈d̈ëf̈g̈ḧ
Ijklmnop
QrstuvwxYzabcdefGhijklmn" but got object "Äb̈c̈d̈ëf̈g̈ḧ
Ijklmnop
Qrstuvwx"
FAIL Range 37 [testDiv, 0, comment, 5] followed by Range 31 [testDiv, 1, paras[2].firstChild, 5]: modifying the first added range must modify the Selection's last Range assert_equals: After mutating the first added Range, 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"
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 first added Range assert_equals: After first addRange(), after mutating the Selection's last Range, startOffset of the Selection's last Range must match the added Range expected 0 but got 6
FAIL Range 37 [testDiv, 0, comment, 5] followed by Range 31 [testDiv, 1, paras[2].firstChild, 5]: second addRange() must do nothing assert_equals: The operation should not replace a registered Range expected object "Äb̈c̈d̈ëf̈g̈ḧ
Ijklmnop
Qrstuvwx" but got object "Äb̈c̈d̈ëf̈g̈ḧ
Ijklmnop
Qrstuvwx"
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
FAIL Range 37 [testDiv, 0, comment, 5] followed by Range 32 [document.documentElement, 1, document.body, 0]: first addRange() must result in the selection's last range having the specified endpoints assert_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 32 [document.documentElement, 1, document.body, 0]: first addRange() must result in the selection's last range being the same object we added assert_equals: getRangeAt(rangeCount - 1) must return the same object we added expected object "Äb̈c̈d̈ëf̈g̈ḧ
Ijklmnop
QrstuvwxYzabcdefGhijklmn" but got object "Äb̈c̈d̈ëf̈g̈ḧ
Ijklmnop
Qrstuvwx"
FAIL Range 37 [testDiv, 0, comment, 5] followed by Range 32 [document.documentElement, 1, document.body, 0]: modifying the first added range must modify the Selection's last Range assert_equals: After mutating the first added Range, 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"
FAIL Range 37 [testDiv, 0, comment, 5] followed by Range 32 [document.documentElement, 1, document.body, 0]: modifying the Selection's last Range must modify the first added Range assert_equals: After first addRange(), after mutating the Selection's last Range, startOffset of the Selection's last Range must match the added Range expected 0 but got 6
FAIL Range 37 [testDiv, 0, comment, 5] followed by Range 32 [document.documentElement, 1, document.body, 0]: second addRange() must do nothing assert_equals: The operation should not replace a registered Range expected object "Äb̈c̈d̈ëf̈g̈ḧ
Ijklmnop
Qrstuvwx" but got object "Äb̈c̈d̈ëf̈g̈ḧ
Ijklmnop
Qrstuvwx"
PASS Range 37 [testDiv, 0, comment, 5] 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 37 [testDiv, 0, comment, 5] followed by Range 33 [foreignDoc.documentElement, 1, foreignDoc.body, 0]: first addRange() must result in rangeCount being 1
FAIL Range 37 [testDiv, 0, comment, 5] followed by Range 33 [foreignDoc.documentElement, 1, foreignDoc.body, 0]: first addRange() must result in the selection's last range having the specified endpoints assert_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 33 [foreignDoc.documentElement, 1, foreignDoc.body, 0]: first addRange() must result in the selection's last range being the same object we added assert_equals: getRangeAt(rangeCount - 1) must return the same object we added expected object "Äb̈c̈d̈ëf̈g̈ḧ
Ijklmnop
QrstuvwxYzabcdefGhijklmn" but got object "Äb̈c̈d̈ëf̈g̈ḧ
Ijklmnop
Qrstuvwx"
FAIL Range 37 [testDiv, 0, comment, 5] followed by Range 33 [foreignDoc.documentElement, 1, foreignDoc.body, 0]: modifying the first added range must modify the Selection's last Range assert_equals: After mutating the first added Range, 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"
FAIL Range 37 [testDiv, 0, comment, 5] followed by Range 33 [foreignDoc.documentElement, 1, foreignDoc.body, 0]: modifying the Selection's last Range must modify the first added Range assert_equals: After first addRange(), after mutating the Selection's last Range, startOffset of the Selection's last Range must match the added Range expected 0 but got 6
FAIL Range 37 [testDiv, 0, comment, 5] followed by Range 33 [foreignDoc.documentElement, 1, foreignDoc.body, 0]: second addRange() must do nothing assert_equals: The operation should not replace a registered Range expected object "Äb̈c̈d̈ëf̈g̈ḧ
Ijklmnop
Qrstuvwx" but got object "Äb̈c̈d̈ëf̈g̈ḧ
Ijklmnop
Qrstuvwx"
PASS Range 37 [testDiv, 0, comment, 5] followed by Range 34 [document, 0, document, 1]: first addRange() must not throw exceptions or modify the range it's given
PASS Range 37 [testDiv, 0, comment, 5] followed by Range 34 [document, 0, document, 1]: first addRange() must result in rangeCount being 1
FAIL Range 37 [testDiv, 0, comment, 5] followed by Range 34 [document, 0, document, 1]: first addRange() must result in 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 34 [document, 0, document, 1]: first addRange() must result in the selection's last range being the same object we added assert_equals: getRangeAt(rangeCount - 1) must return the same object we added expected object "Äb̈c̈d̈ëf̈g̈ḧ
Ijklmnop
QrstuvwxYzabcdefGhijklmn" but got object "Äb̈c̈d̈ëf̈g̈ḧ
Ijklmnop
Qrstuvwx"
FAIL Range 37 [testDiv, 0, comment, 5] followed by Range 34 [document, 0, document, 1]: modifying the first added range must modify the Selection's last Range assert_equals: After mutating the first added Range, 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"
FAIL Range 37 [testDiv, 0, comment, 5] followed by Range 34 [document, 0, document, 1]: modifying the Selection's last Range must modify the first added Range assert_equals: After first addRange(), after mutating the Selection's last Range, startOffset of the Selection's last Range must match the added Range expected 0 but got 6
FAIL Range 37 [testDiv, 0, comment, 5] followed by Range 34 [document, 0, document, 1]: second addRange() must do nothing assert_equals: The operation should not replace a registered Range expected object "Äb̈c̈d̈ëf̈g̈ḧ
Ijklmnop
Qrstuvwx" but got object "Äb̈c̈d̈ëf̈g̈ḧ
Ijklmnop
Qrstuvwx"
PASS Range 37 [testDiv, 0, comment, 5] followed by Range 35 [document, 0, document, 2]: first addRange() must not throw exceptions or modify the range it's given
PASS Range 37 [testDiv, 0, comment, 5] followed by Range 35 [document, 0, document, 2]: first addRange() must result in rangeCount being 1
FAIL Range 37 [testDiv, 0, comment, 5] followed by Range 35 [document, 0, document, 2]: first addRange() must result in 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 35 [document, 0, document, 2]: first addRange() must result in the selection's last range being the same object we added assert_equals: getRangeAt(rangeCount - 1) must return the same object we added expected object "Äb̈c̈d̈ëf̈g̈ḧ
Ijklmnop
QrstuvwxYzabcdefGhijklmn" but got object "Äb̈c̈d̈ëf̈g̈ḧ
Ijklmnop
Qrstuvwx"
FAIL Range 37 [testDiv, 0, comment, 5] followed by Range 35 [document, 0, document, 2]: modifying the first added range must modify the Selection's last Range assert_equals: After mutating the first added Range, 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"
FAIL Range 37 [testDiv, 0, comment, 5] followed by Range 35 [document, 0, document, 2]: modifying the Selection's last Range must modify the first added Range assert_equals: After first addRange(), after mutating the Selection's last Range, startOffset of the Selection's last Range must match the added Range expected 0 but got 6
FAIL Range 37 [testDiv, 0, comment, 5] followed by Range 35 [document, 0, document, 2]: second addRange() must do nothing assert_equals: The operation should not replace a registered Range expected object "Äb̈c̈d̈ëf̈g̈ḧ
Ijklmnop
Qrstuvwx" but got object "Äb̈c̈d̈ëf̈g̈ḧ
Ijklmnop
Qrstuvwx"
PASS Range 37 [testDiv, 0, comment, 5] followed by Range 36 [document, 1, document, 2]: first addRange() must not throw exceptions or modify the range it's given
PASS Range 37 [testDiv, 0, comment, 5] followed by Range 36 [document, 1, document, 2]: first addRange() must result in rangeCount being 1
FAIL Range 37 [testDiv, 0, comment, 5] followed by Range 36 [document, 1, document, 2]: first addRange() must result in 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 36 [document, 1, document, 2]: first addRange() must result in the selection's last range being the same object we added assert_equals: getRangeAt(rangeCount - 1) must return the same object we added expected object "Äb̈c̈d̈ëf̈g̈ḧ
Ijklmnop
QrstuvwxYzabcdefGhijklmn" but got object "Äb̈c̈d̈ëf̈g̈ḧ
Ijklmnop
Qrstuvwx"
FAIL Range 37 [testDiv, 0, comment, 5] followed by Range 36 [document, 1, document, 2]: modifying the first added range must modify the Selection's last Range assert_equals: After mutating the first added Range, 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"
FAIL Range 37 [testDiv, 0, comment, 5] followed by Range 36 [document, 1, document, 2]: modifying the Selection's last Range must modify the first added Range assert_equals: After first addRange(), after mutating the Selection's last Range, startOffset of the Selection's last Range must match the added Range expected 0 but got 6
FAIL Range 37 [testDiv, 0, comment, 5] followed by Range 36 [document, 1, document, 2]: second addRange() must do nothing assert_equals: The operation should not replace a registered Range expected object "Äb̈c̈d̈ëf̈g̈ḧ
Ijklmnop
Qrstuvwx" but got object "Äb̈c̈d̈ëf̈g̈ḧ
Ijklmnop
Qrstuvwx"
PASS Range 37 [testDiv, 0, comment, 5] followed by Range 37 [testDiv, 0, comment, 5]: first addRange() must not throw exceptions or modify the range it's given
PASS Range 37 [testDiv, 0, comment, 5] followed by Range 37 [testDiv, 0, comment, 5]: first addRange() must result in rangeCount being 1
FAIL Range 37 [testDiv, 0, comment, 5] followed by Range 37 [testDiv, 0, comment, 5]: first addRange() must result in 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 37 [testDiv, 0, comment, 5]: first addRange() must result in the selection's last range being the same object we added assert_equals: getRangeAt(rangeCount - 1) must return the same object we added expected object "Äb̈c̈d̈ëf̈g̈ḧ
Ijklmnop
QrstuvwxYzabcdefGhijklmn" but got object "Äb̈c̈d̈ëf̈g̈ḧ
Ijklmnop
Qrstuvwx"
FAIL Range 37 [testDiv, 0, comment, 5] followed by Range 37 [testDiv, 0, comment, 5]: modifying the first added range must modify the Selection's last Range assert_equals: After mutating the first added Range, 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"
FAIL Range 37 [testDiv, 0, comment, 5] followed by Range 37 [testDiv, 0, comment, 5]: modifying the Selection's last Range must modify the first added Range assert_equals: After first addRange(), after mutating the Selection's last Range, startOffset of the Selection's last Range must match the added Range expected 0 but got 6
FAIL Range 37 [testDiv, 0, comment, 5] followed by Range 37 [testDiv, 0, comment, 5]: second addRange() must do nothing assert_equals: The operation should not replace a registered Range expected object "Äb̈c̈d̈ëf̈g̈ḧ
Ijklmnop
Qrstuvwx" but got object "Äb̈c̈d̈ëf̈g̈ḧ
Ijklmnop
Qrstuvwx"
PASS Range 37 [testDiv, 0, comment, 5] 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 37 [testDiv, 0, comment, 5] followed by Range 38 [paras[2].firstChild, 4, comment, 2]: first addRange() must result in rangeCount being 1
FAIL Range 37 [testDiv, 0, comment, 5] followed by Range 38 [paras[2].firstChild, 4, comment, 2]: first addRange() must result in the selection's last range having the specified endpoints assert_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 38 [paras[2].firstChild, 4, comment, 2]: first addRange() must result in the selection's last range being the same object we added assert_equals: getRangeAt(rangeCount - 1) must return the same object we added expected object "Äb̈c̈d̈ëf̈g̈ḧ
Ijklmnop
QrstuvwxYzabcdefGhijklmn" but got object "Äb̈c̈d̈ëf̈g̈ḧ
Ijklmnop
Qrstuvwx"
FAIL Range 37 [testDiv, 0, comment, 5] followed by Range 38 [paras[2].firstChild, 4, comment, 2]: modifying the first added range must modify the Selection's last Range assert_equals: After mutating the first added Range, 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"
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 first added Range assert_equals: After first addRange(), after mutating the Selection's last Range, startOffset of the Selection's last Range must match the added Range expected 0 but got 6
FAIL Range 37 [testDiv, 0, comment, 5] followed by Range 38 [paras[2].firstChild, 4, comment, 2]: second addRange() must do nothing assert_equals: The operation should not replace a registered Range expected object "Äb̈c̈d̈ëf̈g̈ḧ
Ijklmnop
Qrstuvwx" but got object "Äb̈c̈d̈ëf̈g̈ḧ
Ijklmnop
Qrstuvwx"
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
FAIL Range 37 [testDiv, 0, comment, 5] followed by Range 39 [paras[3], 1, comment, 8]: first addRange() must result in 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 39 [paras[3], 1, comment, 8]: first addRange() must result in the selection's last range being the same object we added assert_equals: getRangeAt(rangeCount - 1) must return the same object we added expected object "Äb̈c̈d̈ëf̈g̈ḧ
Ijklmnop
QrstuvwxYzabcdefGhijklmn" but got object "Äb̈c̈d̈ëf̈g̈ḧ
Ijklmnop
Qrstuvwx"
FAIL Range 37 [testDiv, 0, comment, 5] followed by Range 39 [paras[3], 1, comment, 8]: modifying the first added range must modify the Selection's last Range assert_equals: After mutating the first added Range, 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"
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 first added Range assert_equals: After first addRange(), after mutating the Selection's last Range, startOffset of the Selection's last Range must match the added Range expected 0 but got 6
FAIL Range 37 [testDiv, 0, comment, 5] followed by Range 39 [paras[3], 1, comment, 8]: second addRange() must do nothing assert_equals: The operation should not replace a registered Range expected object "Äb̈c̈d̈ëf̈g̈ḧ
Ijklmnop
Qrstuvwx" but got object "Äb̈c̈d̈ëf̈g̈ḧ
Ijklmnop
Qrstuvwx"
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
FAIL Range 37 [testDiv, 0, comment, 5] followed by Range 40 [foreignDoc, 0, foreignDoc, 0]: first addRange() must result in 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 40 [foreignDoc, 0, foreignDoc, 0]: first addRange() must result in the selection's last range being the same object we added assert_equals: getRangeAt(rangeCount - 1) must return the same object we added expected object "Äb̈c̈d̈ëf̈g̈ḧ
Ijklmnop
QrstuvwxYzabcdefGhijklmn" but got object "Äb̈c̈d̈ëf̈g̈ḧ
Ijklmnop
Qrstuvwx"
FAIL Range 37 [testDiv, 0, comment, 5] followed by Range 40 [foreignDoc, 0, foreignDoc, 0]: modifying the first added range must modify the Selection's last Range assert_equals: After mutating the first added Range, 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"
FAIL Range 37 [testDiv, 0, comment, 5] followed by Range 40 [foreignDoc, 0, foreignDoc, 0]: modifying the Selection's last Range must modify the first added Range assert_equals: After first addRange(), after mutating the Selection's last Range, startOffset of the Selection's last Range must match the added Range expected 0 but got 6
FAIL Range 37 [testDiv, 0, comment, 5] followed by Range 40 [foreignDoc, 0, foreignDoc, 0]: second addRange() must do nothing assert_equals: The operation should not replace a registered Range expected object "Äb̈c̈d̈ëf̈g̈ḧ
Ijklmnop
Qrstuvwx" but got object "Äb̈c̈d̈ëf̈g̈ḧ
Ijklmnop
Qrstuvwx"
PASS Range 37 [testDiv, 0, comment, 5] followed by Range 41 [foreignDoc, 1, foreignComment, 2]: first addRange() must not throw exceptions or modify the range it's given
PASS Range 37 [testDiv, 0, comment, 5] followed by Range 41 [foreignDoc, 1, foreignComment, 2]: first addRange() must result in rangeCount being 1
FAIL Range 37 [testDiv, 0, comment, 5] followed by Range 41 [foreignDoc, 1, foreignComment, 2]: first addRange() must result in 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 41 [foreignDoc, 1, foreignComment, 2]: first addRange() must result in the selection's last range being the same object we added assert_equals: getRangeAt(rangeCount - 1) must return the same object we added expected object "Äb̈c̈d̈ëf̈g̈ḧ
Ijklmnop
QrstuvwxYzabcdefGhijklmn" but got object "Äb̈c̈d̈ëf̈g̈ḧ
Ijklmnop
Qrstuvwx"
FAIL Range 37 [testDiv, 0, comment, 5] followed by Range 41 [foreignDoc, 1, foreignComment, 2]: modifying the first added range must modify the Selection's last Range assert_equals: After mutating the first added Range, 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"
FAIL Range 37 [testDiv, 0, comment, 5] followed by Range 41 [foreignDoc, 1, foreignComment, 2]: modifying the Selection's last Range must modify the first added Range assert_equals: After first addRange(), after mutating the Selection's last Range, startOffset of the Selection's last Range must match the added Range expected 0 but got 6
FAIL Range 37 [testDiv, 0, comment, 5] followed by Range 41 [foreignDoc, 1, foreignComment, 2]: second addRange() must do nothing assert_equals: The operation should not replace a registered Range expected object "Äb̈c̈d̈ëf̈g̈ḧ
Ijklmnop
Qrstuvwx" but got object "Äb̈c̈d̈ëf̈g̈ḧ
Ijklmnop
Qrstuvwx"
PASS Range 37 [testDiv, 0, comment, 5] followed by Range 42 [foreignDoc.body, 0, foreignTextNode, 36]: first addRange() must not throw exceptions or modify the range it's given
PASS Range 37 [testDiv, 0, comment, 5] followed by Range 42 [foreignDoc.body, 0, foreignTextNode, 36]: first addRange() must result in rangeCount being 1
FAIL Range 37 [testDiv, 0, comment, 5] followed by Range 42 [foreignDoc.body, 0, foreignTextNode, 36]: first addRange() must result in 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 42 [foreignDoc.body, 0, foreignTextNode, 36]: first addRange() must result in the selection's last range being the same object we added assert_equals: getRangeAt(rangeCount - 1) must return the same object we added expected object "Äb̈c̈d̈ëf̈g̈ḧ
Ijklmnop
QrstuvwxYzabcdefGhijklmn" but got object "Äb̈c̈d̈ëf̈g̈ḧ
Ijklmnop
Qrstuvwx"
FAIL Range 37 [testDiv, 0, comment, 5] followed by Range 42 [foreignDoc.body, 0, foreignTextNode, 36]: modifying the first added range must modify the Selection's last Range assert_equals: After mutating the first added Range, 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"
FAIL Range 37 [testDiv, 0, comment, 5] followed by Range 42 [foreignDoc.body, 0, foreignTextNode, 36]: modifying the Selection's last Range must modify the first added Range assert_equals: After first addRange(), after mutating the Selection's last Range, startOffset of the Selection's last Range must match the added Range expected 0 but got 6
FAIL Range 37 [testDiv, 0, comment, 5] followed by Range 42 [foreignDoc.body, 0, foreignTextNode, 36]: second addRange() must do nothing assert_equals: The operation should not replace a registered Range expected object "Äb̈c̈d̈ëf̈g̈ḧ
Ijklmnop
Qrstuvwx" but got object "Äb̈c̈d̈ëf̈g̈ḧ
Ijklmnop
Qrstuvwx"
PASS Range 37 [testDiv, 0, comment, 5] followed by Range 43 [xmlDoc, 0, xmlDoc, 0]: first addRange() must not throw exceptions or modify the range it's given
PASS Range 37 [testDiv, 0, comment, 5] followed by Range 43 [xmlDoc, 0, xmlDoc, 0]: first addRange() must result in rangeCount being 1
FAIL Range 37 [testDiv, 0, comment, 5] followed by Range 43 [xmlDoc, 0, xmlDoc, 0]: first addRange() must result in 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 43 [xmlDoc, 0, xmlDoc, 0]: first addRange() must result in the selection's last range being the same object we added assert_equals: getRangeAt(rangeCount - 1) must return the same object we added expected object "Äb̈c̈d̈ëf̈g̈ḧ
Ijklmnop
QrstuvwxYzabcdefGhijklmn" but got object "Äb̈c̈d̈ëf̈g̈ḧ
Ijklmnop
Qrstuvwx"
FAIL Range 37 [testDiv, 0, comment, 5] followed by Range 43 [xmlDoc, 0, xmlDoc, 0]: modifying the first added range must modify the Selection's last Range assert_equals: After mutating the first added Range, 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"
FAIL Range 37 [testDiv, 0, comment, 5] followed by Range 43 [xmlDoc, 0, xmlDoc, 0]: modifying the Selection's last Range must modify the first added Range assert_equals: After first addRange(), after mutating the Selection's last Range, startOffset of the Selection's last Range must match the added Range expected 0 but got 6
FAIL Range 37 [testDiv, 0, comment, 5] followed by Range 43 [xmlDoc, 0, xmlDoc, 0]: second addRange() must do nothing assert_equals: The operation should not replace a registered Range expected object "Äb̈c̈d̈ëf̈g̈ḧ
Ijklmnop
Qrstuvwx" but got object "Äb̈c̈d̈ëf̈g̈ḧ
Ijklmnop
Qrstuvwx"
PASS Range 37 [testDiv, 0, comment, 5] followed by Range 44 [xmlDoc, 1, xmlComment, 0]: first addRange() must not throw exceptions or modify the range it's given
PASS Range 37 [testDiv, 0, comment, 5] followed by Range 44 [xmlDoc, 1, xmlComment, 0]: first addRange() must result in rangeCount being 1
FAIL Range 37 [testDiv, 0, comment, 5] followed by Range 44 [xmlDoc, 1, xmlComment, 0]: first addRange() must result in 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 44 [xmlDoc, 1, xmlComment, 0]: first addRange() must result in the selection's last range being the same object we added assert_equals: getRangeAt(rangeCount - 1) must return the same object we added expected object "Äb̈c̈d̈ëf̈g̈ḧ
Ijklmnop
QrstuvwxYzabcdefGhijklmn" but got object "Äb̈c̈d̈ëf̈g̈ḧ
Ijklmnop
Qrstuvwx"
FAIL Range 37 [testDiv, 0, comment, 5] followed by Range 44 [xmlDoc, 1, xmlComment, 0]: modifying the first added range must modify the Selection's last Range assert_equals: After mutating the first added Range, 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"
FAIL Range 37 [testDiv, 0, comment, 5] followed by Range 44 [xmlDoc, 1, xmlComment, 0]: modifying the Selection's last Range must modify the first added Range assert_equals: After first addRange(), after mutating the Selection's last Range, startOffset of the Selection's last Range must match the added Range expected 0 but got 6
FAIL Range 37 [testDiv, 0, comment, 5] followed by Range 44 [xmlDoc, 1, xmlComment, 0]: second addRange() must do nothing assert_equals: The operation should not replace a registered Range expected object "Äb̈c̈d̈ëf̈g̈ḧ
Ijklmnop
Qrstuvwx" but got object "Äb̈c̈d̈ëf̈g̈ḧ
Ijklmnop
Qrstuvwx"
PASS Range 37 [testDiv, 0, comment, 5] followed by Range 45 [detachedTextNode, 0, detachedTextNode, 8]: first addRange() must not throw exceptions or modify the range it's given
PASS Range 37 [testDiv, 0, comment, 5] followed by Range 45 [detachedTextNode, 0, detachedTextNode, 8]: first addRange() must result in rangeCount being 1
FAIL Range 37 [testDiv, 0, comment, 5] followed by Range 45 [detachedTextNode, 0, detachedTextNode, 8]: first addRange() must result in 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 45 [detachedTextNode, 0, detachedTextNode, 8]: first addRange() must result in the selection's last range being the same object we added assert_equals: getRangeAt(rangeCount - 1) must return the same object we added expected object "Äb̈c̈d̈ëf̈g̈ḧ
Ijklmnop
QrstuvwxYzabcdefGhijklmn" but got object "Äb̈c̈d̈ëf̈g̈ḧ
Ijklmnop
Qrstuvwx"
FAIL Range 37 [testDiv, 0, comment, 5] followed by Range 45 [detachedTextNode, 0, detachedTextNode, 8]: modifying the first added range must modify the Selection's last Range assert_equals: After mutating the first added Range, 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"
FAIL Range 37 [testDiv, 0, comment, 5] followed by Range 45 [detachedTextNode, 0, detachedTextNode, 8]: modifying the Selection's last Range must modify the first added Range assert_equals: After first addRange(), after mutating the Selection's last Range, startOffset of the Selection's last Range must match the added Range expected 0 but got 6
FAIL Range 37 [testDiv, 0, comment, 5] followed by Range 45 [detachedTextNode, 0, detachedTextNode, 8]: second addRange() must do nothing assert_equals: The operation should not replace a registered Range expected object "Äb̈c̈d̈ëf̈g̈ḧ
Ijklmnop
Qrstuvwx" but got object "Äb̈c̈d̈ëf̈g̈ḧ
Ijklmnop
Qrstuvwx"
PASS Range 37 [testDiv, 0, comment, 5] followed by Range 46 [detachedForeignTextNode, 7, detachedForeignTextNode, 7]: first addRange() must not throw exceptions or modify the range it's given
PASS Range 37 [testDiv, 0, comment, 5] followed by Range 46 [detachedForeignTextNode, 7, detachedForeignTextNode, 7]: first addRange() must result in rangeCount being 1
FAIL Range 37 [testDiv, 0, comment, 5] followed by Range 46 [detachedForeignTextNode, 7, detachedForeignTextNode, 7]: first addRange() must result in 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 46 [detachedForeignTextNode, 7, detachedForeignTextNode, 7]: first addRange() must result in the selection's last range being the same object we added assert_equals: getRangeAt(rangeCount - 1) must return the same object we added expected object "Äb̈c̈d̈ëf̈g̈ḧ
Ijklmnop
QrstuvwxYzabcdefGhijklmn" but got object "Äb̈c̈d̈ëf̈g̈ḧ
Ijklmnop
Qrstuvwx"
FAIL Range 37 [testDiv, 0, comment, 5] followed by Range 46 [detachedForeignTextNode, 7, detachedForeignTextNode, 7]: modifying the first added range must modify the Selection's last Range assert_equals: After mutating the first added Range, 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"
FAIL Range 37 [testDiv, 0, comment, 5] followed by Range 46 [detachedForeignTextNode, 7, detachedForeignTextNode, 7]: modifying the Selection's last Range must modify the first added Range assert_equals: After first addRange(), after mutating the Selection's last Range, startOffset of the Selection's last Range must match the added Range expected 0 but got 6
FAIL Range 37 [testDiv, 0, comment, 5] followed by Range 46 [detachedForeignTextNode, 7, detachedForeignTextNode, 7]: second addRange() must do nothing assert_equals: The operation should not replace a registered Range expected object "Äb̈c̈d̈ëf̈g̈ḧ
Ijklmnop
Qrstuvwx" but got object "Äb̈c̈d̈ëf̈g̈ḧ
Ijklmnop
Qrstuvwx"
PASS Range 37 [testDiv, 0, comment, 5] followed by Range 47 [detachedForeignTextNode, 0, detachedForeignTextNode, 8]: first addRange() must not throw exceptions or modify the range it's given
PASS Range 37 [testDiv, 0, comment, 5] followed by Range 47 [detachedForeignTextNode, 0, detachedForeignTextNode, 8]: first addRange() must result in rangeCount being 1
FAIL Range 37 [testDiv, 0, comment, 5] followed by Range 47 [detachedForeignTextNode, 0, detachedForeignTextNode, 8]: first addRange() must result in 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 47 [detachedForeignTextNode, 0, detachedForeignTextNode, 8]: first addRange() must result in the selection's last range being the same object we added assert_equals: getRangeAt(rangeCount - 1) must return the same object we added expected object "Äb̈c̈d̈ëf̈g̈ḧ
Ijklmnop
QrstuvwxYzabcdefGhijklmn" but got object "Äb̈c̈d̈ëf̈g̈ḧ
Ijklmnop
Qrstuvwx"
FAIL Range 37 [testDiv, 0, comment, 5] followed by Range 47 [detachedForeignTextNode, 0, detachedForeignTextNode, 8]: modifying the first added range must modify the Selection's last Range assert_equals: After mutating the first added Range, 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"
FAIL Range 37 [testDiv, 0, comment, 5] followed by Range 47 [detachedForeignTextNode, 0, detachedForeignTextNode, 8]: modifying the Selection's last Range must modify the first added Range assert_equals: After first addRange(), after mutating the Selection's last Range, startOffset of the Selection's last Range must match the added Range expected 0 but got 6
FAIL Range 37 [testDiv, 0, comment, 5] followed by Range 47 [detachedForeignTextNode, 0, detachedForeignTextNode, 8]: second addRange() must do nothing assert_equals: The operation should not replace a registered Range expected object "Äb̈c̈d̈ëf̈g̈ḧ
Ijklmnop
Qrstuvwx" but got object "Äb̈c̈d̈ëf̈g̈ḧ
Ijklmnop
Qrstuvwx"
PASS Range 37 [testDiv, 0, comment, 5] followed by Range 48 [detachedXmlTextNode, 7, detachedXmlTextNode, 7]: first addRange() must not throw exceptions or modify the range it's given
PASS Range 37 [testDiv, 0, comment, 5] followed by Range 48 [detachedXmlTextNode, 7, detachedXmlTextNode, 7]: first addRange() must result in rangeCount being 1
FAIL Range 37 [testDiv, 0, comment, 5] followed by Range 48 [detachedXmlTextNode, 7, detachedXmlTextNode, 7]: first addRange() must result in 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 48 [detachedXmlTextNode, 7, detachedXmlTextNode, 7]: first addRange() must result in the selection's last range being the same object we added assert_equals: getRangeAt(rangeCount - 1) must return the same object we added expected object "Äb̈c̈d̈ëf̈g̈ḧ
Ijklmnop
QrstuvwxYzabcdefGhijklmn" but got object "Äb̈c̈d̈ëf̈g̈ḧ
Ijklmnop
Qrstuvwx"
FAIL Range 37 [testDiv, 0, comment, 5] followed by Range 48 [detachedXmlTextNode, 7, detachedXmlTextNode, 7]: modifying the first added range must modify the Selection's last Range assert_equals: After mutating the first added Range, 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"
FAIL Range 37 [testDiv, 0, comment, 5] followed by Range 48 [detachedXmlTextNode, 7, detachedXmlTextNode, 7]: modifying the Selection's last Range must modify the first added Range assert_equals: After first addRange(), after mutating the Selection's last Range, startOffset of the Selection's last Range must match the added Range expected 0 but got 6
FAIL Range 37 [testDiv, 0, comment, 5] followed by Range 48 [detachedXmlTextNode, 7, detachedXmlTextNode, 7]: second addRange() must do nothing assert_equals: The operation should not replace a registered Range expected object "Äb̈c̈d̈ëf̈g̈ḧ
Ijklmnop
Qrstuvwx" but got object "Äb̈c̈d̈ëf̈g̈ḧ
Ijklmnop
Qrstuvwx"
PASS Range 37 [testDiv, 0, comment, 5] followed by Range 49 [detachedXmlTextNode, 0, detachedXmlTextNode, 8]: first addRange() must not throw exceptions or modify the range it's given
PASS Range 37 [testDiv, 0, comment, 5] followed by Range 49 [detachedXmlTextNode, 0, detachedXmlTextNode, 8]: first addRange() must result in rangeCount being 1
FAIL Range 37 [testDiv, 0, comment, 5] followed by Range 49 [detachedXmlTextNode, 0, detachedXmlTextNode, 8]: first addRange() must result in 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 49 [detachedXmlTextNode, 0, detachedXmlTextNode, 8]: first addRange() must result in the selection's last range being the same object we added assert_equals: getRangeAt(rangeCount - 1) must return the same object we added expected object "Äb̈c̈d̈ëf̈g̈ḧ
Ijklmnop
QrstuvwxYzabcdefGhijklmn" but got object "Äb̈c̈d̈ëf̈g̈ḧ
Ijklmnop
Qrstuvwx"
FAIL Range 37 [testDiv, 0, comment, 5] followed by Range 49 [detachedXmlTextNode, 0, detachedXmlTextNode, 8]: modifying the first added range must modify the Selection's last Range assert_equals: After mutating the first added Range, 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"
FAIL Range 37 [testDiv, 0, comment, 5] followed by Range 49 [detachedXmlTextNode, 0, detachedXmlTextNode, 8]: modifying the Selection's last Range must modify the first added Range assert_equals: After first addRange(), after mutating the Selection's last Range, startOffset of the Selection's last Range must match the added Range expected 0 but got 6
FAIL Range 37 [testDiv, 0, comment, 5] followed by Range 49 [detachedXmlTextNode, 0, detachedXmlTextNode, 8]: second addRange() must do nothing assert_equals: The operation should not replace a registered Range expected object "Äb̈c̈d̈ëf̈g̈ḧ
Ijklmnop
Qrstuvwx" but got object "Äb̈c̈d̈ëf̈g̈ḧ
Ijklmnop
Qrstuvwx"
PASS Range 37 [testDiv, 0, comment, 5] followed by Range 50 [detachedComment, 3, detachedComment, 4]: first addRange() must not throw exceptions or modify the range it's given
PASS Range 37 [testDiv, 0, comment, 5] followed by Range 50 [detachedComment, 3, detachedComment, 4]: first addRange() must result in rangeCount being 1
FAIL Range 37 [testDiv, 0, comment, 5] followed by Range 50 [detachedComment, 3, detachedComment, 4]: first addRange() must result in 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 50 [detachedComment, 3, detachedComment, 4]: first addRange() must result in the selection's last range being the same object we added assert_equals: getRangeAt(rangeCount - 1) must return the same object we added expected object "Äb̈c̈d̈ëf̈g̈ḧ
Ijklmnop
QrstuvwxYzabcdefGhijklmn" but got object "Äb̈c̈d̈ëf̈g̈ḧ
Ijklmnop
Qrstuvwx"
FAIL Range 37 [testDiv, 0, comment, 5] followed by Range 50 [detachedComment, 3, detachedComment, 4]: modifying the first added range must modify the Selection's last Range assert_equals: After mutating the first added Range, 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"
FAIL Range 37 [testDiv, 0, comment, 5] followed by Range 50 [detachedComment, 3, detachedComment, 4]: modifying the Selection's last Range must modify the first added Range assert_equals: After first addRange(), after mutating the Selection's last Range, startOffset of the Selection's last Range must match the added Range expected 0 but got 6
FAIL Range 37 [testDiv, 0, comment, 5] followed by Range 50 [detachedComment, 3, detachedComment, 4]: second addRange() must do nothing assert_equals: The operation should not replace a registered Range expected object "Äb̈c̈d̈ëf̈g̈ḧ
Ijklmnop
Qrstuvwx" but got object "Äb̈c̈d̈ëf̈g̈ḧ
Ijklmnop
Qrstuvwx"
PASS Range 37 [testDiv, 0, comment, 5] followed by Range 51 [detachedComment, 5, detachedComment, 5]: first addRange() must not throw exceptions or modify the range it's given
PASS Range 37 [testDiv, 0, comment, 5] followed by Range 51 [detachedComment, 5, detachedComment, 5]: first addRange() must result in rangeCount being 1
FAIL Range 37 [testDiv, 0, comment, 5] followed by Range 51 [detachedComment, 5, detachedComment, 5]: first addRange() must result in 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 51 [detachedComment, 5, detachedComment, 5]: first addRange() must result in the selection's last range being the same object we added assert_equals: getRangeAt(rangeCount - 1) must return the same object we added expected object "Äb̈c̈d̈ëf̈g̈ḧ
Ijklmnop
QrstuvwxYzabcdefGhijklmn" but got object "Äb̈c̈d̈ëf̈g̈ḧ
Ijklmnop
Qrstuvwx"
FAIL Range 37 [testDiv, 0, comment, 5] followed by Range 51 [detachedComment, 5, detachedComment, 5]: modifying the first added range must modify the Selection's last Range assert_equals: After mutating the first added Range, 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"
FAIL Range 37 [testDiv, 0, comment, 5] followed by Range 51 [detachedComment, 5, detachedComment, 5]: modifying the Selection's last Range must modify the first added Range assert_equals: After first addRange(), after mutating the Selection's last Range, startOffset of the Selection's last Range must match the added Range expected 0 but got 6
FAIL Range 37 [testDiv, 0, comment, 5] followed by Range 51 [detachedComment, 5, detachedComment, 5]: second addRange() must do nothing assert_equals: The operation should not replace a registered Range expected object "Äb̈c̈d̈ëf̈g̈ḧ
Ijklmnop
Qrstuvwx" but got object "Äb̈c̈d̈ëf̈g̈ḧ
Ijklmnop
Qrstuvwx"
PASS Range 37 [testDiv, 0, comment, 5] followed by Range 52 [detachedForeignComment, 0, detachedForeignComment, 1]: first addRange() must not throw exceptions or modify the range it's given
PASS Range 37 [testDiv, 0, comment, 5] followed by Range 52 [detachedForeignComment, 0, detachedForeignComment, 1]: first addRange() must result in rangeCount being 1
FAIL Range 37 [testDiv, 0, comment, 5] followed by Range 52 [detachedForeignComment, 0, detachedForeignComment, 1]: first addRange() must result in 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 52 [detachedForeignComment, 0, detachedForeignComment, 1]: first addRange() must result in the selection's last range being the same object we added assert_equals: getRangeAt(rangeCount - 1) must return the same object we added expected object "Äb̈c̈d̈ëf̈g̈ḧ
Ijklmnop
QrstuvwxYzabcdefGhijklmn" but got object "Äb̈c̈d̈ëf̈g̈ḧ
Ijklmnop
Qrstuvwx"
FAIL Range 37 [testDiv, 0, comment, 5] followed by Range 52 [detachedForeignComment, 0, detachedForeignComment, 1]: modifying the first added range must modify the Selection's last Range assert_equals: After mutating the first added Range, 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"
FAIL Range 37 [testDiv, 0, comment, 5] followed by Range 52 [detachedForeignComment, 0, detachedForeignComment, 1]: modifying the Selection's last Range must modify the first added Range assert_equals: After first addRange(), after mutating the Selection's last Range, startOffset of the Selection's last Range must match the added Range expected 0 but got 6
FAIL Range 37 [testDiv, 0, comment, 5] followed by Range 52 [detachedForeignComment, 0, detachedForeignComment, 1]: second addRange() must do nothing assert_equals: The operation should not replace a registered Range expected object "Äb̈c̈d̈ëf̈g̈ḧ
Ijklmnop
Qrstuvwx" but got object "Äb̈c̈d̈ëf̈g̈ḧ
Ijklmnop
Qrstuvwx"
PASS Range 37 [testDiv, 0, comment, 5] followed by Range 53 [detachedForeignComment, 4, detachedForeignComment, 4]: first addRange() must not throw exceptions or modify the range it's given
PASS Range 37 [testDiv, 0, comment, 5] followed by Range 53 [detachedForeignComment, 4, detachedForeignComment, 4]: first addRange() must result in rangeCount being 1
FAIL Range 37 [testDiv, 0, comment, 5] followed by Range 53 [detachedForeignComment, 4, detachedForeignComment, 4]: first addRange() must result in 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 53 [detachedForeignComment, 4, detachedForeignComment, 4]: first addRange() must result in the selection's last range being the same object we added assert_equals: getRangeAt(rangeCount - 1) must return the same object we added expected object "Äb̈c̈d̈ëf̈g̈ḧ
Ijklmnop
QrstuvwxYzabcdefGhijklmn" but got object "Äb̈c̈d̈ëf̈g̈ḧ
Ijklmnop
Qrstuvwx"
FAIL Range 37 [testDiv, 0, comment, 5] followed by Range 53 [detachedForeignComment, 4, detachedForeignComment, 4]: modifying the first added range must modify the Selection's last Range assert_equals: After mutating the first added Range, 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"
FAIL Range 37 [testDiv, 0, comment, 5] followed by Range 53 [detachedForeignComment, 4, detachedForeignComment, 4]: modifying the Selection's last Range must modify the first added Range assert_equals: After first addRange(), after mutating the Selection's last Range, startOffset of the Selection's last Range must match the added Range expected 0 but got 6
FAIL Range 37 [testDiv, 0, comment, 5] followed by Range 53 [detachedForeignComment, 4, detachedForeignComment, 4]: second addRange() must do nothing assert_equals: The operation should not replace a registered Range expected object "Äb̈c̈d̈ëf̈g̈ḧ
Ijklmnop
Qrstuvwx" but got object "Äb̈c̈d̈ëf̈g̈ḧ
Ijklmnop
Qrstuvwx"
PASS Range 37 [testDiv, 0, comment, 5] followed by Range 54 [detachedXmlComment, 2, detachedXmlComment, 6]: first addRange() must not throw exceptions or modify the range it's given
PASS Range 37 [testDiv, 0, comment, 5] followed by Range 54 [detachedXmlComment, 2, detachedXmlComment, 6]: first addRange() must result in rangeCount being 1
FAIL Range 37 [testDiv, 0, comment, 5] followed by Range 54 [detachedXmlComment, 2, detachedXmlComment, 6]: first addRange() must result in 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 54 [detachedXmlComment, 2, detachedXmlComment, 6]: first addRange() must result in the selection's last range being the same object we added assert_equals: getRangeAt(rangeCount - 1) must return the same object we added expected object "Äb̈c̈d̈ëf̈g̈ḧ
Ijklmnop
QrstuvwxYzabcdefGhijklmn" but got object "Äb̈c̈d̈ëf̈g̈ḧ
Ijklmnop
Qrstuvwx"
FAIL Range 37 [testDiv, 0, comment, 5] followed by Range 54 [detachedXmlComment, 2, detachedXmlComment, 6]: modifying the first added range must modify the Selection's last Range assert_equals: After mutating the first added Range, 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"
FAIL Range 37 [testDiv, 0, comment, 5] followed by Range 54 [detachedXmlComment, 2, detachedXmlComment, 6]: modifying the Selection's last Range must modify the first added Range assert_equals: After first addRange(), after mutating the Selection's last Range, startOffset of the Selection's last Range must match the added Range expected 0 but got 6
FAIL Range 37 [testDiv, 0, comment, 5] followed by Range 54 [detachedXmlComment, 2, detachedXmlComment, 6]: second addRange() must do nothing assert_equals: The operation should not replace a registered Range expected object "Äb̈c̈d̈ëf̈g̈ḧ
Ijklmnop
Qrstuvwx" but got object "Äb̈c̈d̈ëf̈g̈ḧ
Ijklmnop
Qrstuvwx"
PASS Range 37 [testDiv, 0, comment, 5] followed by Range 55 [docfrag, 0, docfrag, 0]: first addRange() must not throw exceptions or modify the range it's given
PASS Range 37 [testDiv, 0, comment, 5] followed by Range 55 [docfrag, 0, docfrag, 0]: first addRange() must result in rangeCount being 1
FAIL Range 37 [testDiv, 0, comment, 5] followed by Range 55 [docfrag, 0, docfrag, 0]: first addRange() must result in 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 55 [docfrag, 0, docfrag, 0]: first addRange() must result in the selection's last range being the same object we added assert_equals: getRangeAt(rangeCount - 1) must return the same object we added expected object "Äb̈c̈d̈ëf̈g̈ḧ
Ijklmnop
QrstuvwxYzabcdefGhijklmn" but got object "Äb̈c̈d̈ëf̈g̈ḧ
Ijklmnop
Qrstuvwx"
FAIL Range 37 [testDiv, 0, comment, 5] followed by Range 55 [docfrag, 0, docfrag, 0]: modifying the first added range must modify the Selection's last Range assert_equals: After mutating the first added Range, 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"
FAIL Range 37 [testDiv, 0, comment, 5] followed by Range 55 [docfrag, 0, docfrag, 0]: modifying the Selection's last Range must modify the first added Range assert_equals: After first addRange(), after mutating the Selection's last Range, startOffset of the Selection's last Range must match the added Range expected 0 but got 6
FAIL Range 37 [testDiv, 0, comment, 5] followed by Range 55 [docfrag, 0, docfrag, 0]: second addRange() must do nothing assert_equals: The operation should not replace a registered Range expected object "Äb̈c̈d̈ëf̈g̈ḧ
Ijklmnop
Qrstuvwx" but got object "Äb̈c̈d̈ëf̈g̈ḧ
Ijklmnop
Qrstuvwx"
PASS Range 37 [testDiv, 0, comment, 5] followed by Range 56 [foreignDocfrag, 0, foreignDocfrag, 0]: first addRange() must not throw exceptions or modify the range it's given
PASS Range 37 [testDiv, 0, comment, 5] followed by Range 56 [foreignDocfrag, 0, foreignDocfrag, 0]: first addRange() must result in rangeCount being 1
FAIL Range 37 [testDiv, 0, comment, 5] followed by Range 56 [foreignDocfrag, 0, foreignDocfrag, 0]: first addRange() must result in 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 56 [foreignDocfrag, 0, foreignDocfrag, 0]: first addRange() must result in the selection's last range being the same object we added assert_equals: getRangeAt(rangeCount - 1) must return the same object we added expected object "Äb̈c̈d̈ëf̈g̈ḧ
Ijklmnop
QrstuvwxYzabcdefGhijklmn" but got object "Äb̈c̈d̈ëf̈g̈ḧ
Ijklmnop
Qrstuvwx"
FAIL Range 37 [testDiv, 0, comment, 5] followed by Range 56 [foreignDocfrag, 0, foreignDocfrag, 0]: modifying the first added range must modify the Selection's last Range assert_equals: After mutating the first added Range, 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"
FAIL Range 37 [testDiv, 0, comment, 5] followed by Range 56 [foreignDocfrag, 0, foreignDocfrag, 0]: modifying the Selection's last Range must modify the first added Range assert_equals: After first addRange(), after mutating the Selection's last Range, startOffset of the Selection's last Range must match the added Range expected 0 but got 6
FAIL Range 37 [testDiv, 0, comment, 5] followed by Range 56 [foreignDocfrag, 0, foreignDocfrag, 0]: second addRange() must do nothing assert_equals: The operation should not replace a registered Range expected object "Äb̈c̈d̈ëf̈g̈ḧ
Ijklmnop
Qrstuvwx" but got object "Äb̈c̈d̈ëf̈g̈ḧ
Ijklmnop
Qrstuvwx"
PASS Range 37 [testDiv, 0, comment, 5] followed by Range 57 [xmlDocfrag, 0, xmlDocfrag, 0]: first addRange() must not throw exceptions or modify the range it's given
PASS Range 37 [testDiv, 0, comment, 5] followed by Range 57 [xmlDocfrag, 0, xmlDocfrag, 0]: first addRange() must result in rangeCount being 1
FAIL Range 37 [testDiv, 0, comment, 5] followed by Range 57 [xmlDocfrag, 0, xmlDocfrag, 0]: first addRange() must result in 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 57 [xmlDocfrag, 0, xmlDocfrag, 0]: first addRange() must result in the selection's last range being the same object we added assert_equals: getRangeAt(rangeCount - 1) must return the same object we added expected object "Äb̈c̈d̈ëf̈g̈ḧ
Ijklmnop
QrstuvwxYzabcdefGhijklmn" but got object "Äb̈c̈d̈ëf̈g̈ḧ
Ijklmnop
Qrstuvwx"
FAIL Range 37 [testDiv, 0, comment, 5] followed by Range 57 [xmlDocfrag, 0, xmlDocfrag, 0]: modifying the first added range must modify the Selection's last Range assert_equals: After mutating the first added Range, 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"
FAIL Range 37 [testDiv, 0, comment, 5] followed by Range 57 [xmlDocfrag, 0, xmlDocfrag, 0]: modifying the Selection's last Range must modify the first added Range assert_equals: After first addRange(), after mutating the Selection's last Range, startOffset of the Selection's last Range must match the added Range expected 0 but got 6
FAIL Range 37 [testDiv, 0, comment, 5] followed by Range 57 [xmlDocfrag, 0, xmlDocfrag, 0]: second addRange() must do nothing assert_equals: The operation should not replace a registered Range expected object "Äb̈c̈d̈ëf̈g̈ḧ
Ijklmnop
Qrstuvwx" but got object "Äb̈c̈d̈ëf̈g̈ḧ
Ijklmnop
Qrstuvwx"
PASS Range 38 [paras[2].firstChild, 4, comment, 2] followed by Range 0 [paras[0].firstChild, 0, paras[0].firstChild, 0]: first addRange() must not throw exceptions or modify the range it's given
PASS Range 38 [paras[2].firstChild, 4, comment, 2] followed by Range 0 [paras[0].firstChild, 0, paras[0].firstChild, 0]: first addRange() must result in rangeCount being 1
FAIL Range 38 [paras[2].firstChild, 4, comment, 2] followed by Range 0 [paras[0].firstChild, 0, paras[0].firstChild, 0]: first addRange() must result in the selection's last range having the specified endpoints assert_equals: endContainer of the Selection's last Range must match the added Range expected Comment node <!--Alphabet soup?--> but got Text node "Qrstuvwx"
FAIL Range 38 [paras[2].firstChild, 4, comment, 2] followed by Range 0 [paras[0].firstChild, 0, paras[0].firstChild, 0]: first addRange() must result in the selection's last range being the same object we added assert_equals: getRangeAt(rangeCount - 1) must return the same object we added expected object "uvwxYzabcdefGhijklmn" but got object "uvwx"
FAIL Range 38 [paras[2].firstChild, 4, comment, 2] followed by Range 0 [paras[0].firstChild, 0, paras[0].firstChild, 0]: modifying the first added range must modify the Selection's last Range assert_equals: After mutating the first added Range, startContainer of the Selection's last Range must match the added Range expected Text node "Äb̈c̈d̈ëf̈g̈ḧ
" but got Text node "Qrstuvwx"
FAIL Range 38 [paras[2].firstChild, 4, comment, 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 assert_equals: After first addRange(), after mutating the Selection's last Range, startOffset of the Selection's last Range must match the added Range expected 0 but got 6
FAIL Range 38 [paras[2].firstChild, 4, comment, 2] followed by Range 0 [paras[0].firstChild, 0, paras[0].firstChild, 0]: second addRange() must do nothing assert_equals: The operation should not replace a registered Range expected object "uvwx" but got object "uvwx"
PASS Range 38 [paras[2].firstChild, 4, comment, 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 38 [paras[2].firstChild, 4, comment, 2] followed by Range 1 [paras[0].firstChild, 0, paras[0].firstChild, 1]: first addRange() must result in rangeCount being 1
FAIL Range 38 [paras[2].firstChild, 4, comment, 2] followed by Range 1 [paras[0].firstChild, 0, paras[0].firstChild, 1]: first addRange() must result in the selection's last range having the specified endpoints assert_equals: endContainer of the Selection's last Range must match the added Range expected Comment node <!--Alphabet soup?--> but got Text node "Qrstuvwx"
FAIL Range 38 [paras[2].firstChild, 4, comment, 2] followed by Range 1 [paras[0].firstChild, 0, paras[0].firstChild, 1]: first addRange() must result in the selection's last range being the same object we added assert_equals: getRangeAt(rangeCount - 1) must return the same object we added expected object "uvwxYzabcdefGhijklmn" but got object "uvwx"
FAIL Range 38 [paras[2].firstChild, 4, comment, 2] followed by Range 1 [paras[0].firstChild, 0, paras[0].firstChild, 1]: modifying the first added range must modify the Selection's last Range assert_equals: After mutating the first added Range, startContainer of the Selection's last Range must match the added Range expected Text node "Äb̈c̈d̈ëf̈g̈ḧ
" but got Text node "Qrstuvwx"
FAIL Range 38 [paras[2].firstChild, 4, comment, 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 assert_equals: After first addRange(), after mutating the Selection's last Range, startOffset of the Selection's last Range must match the added Range expected 0 but got 6
FAIL Range 38 [paras[2].firstChild, 4, comment, 2] followed by Range 1 [paras[0].firstChild, 0, paras[0].firstChild, 1]: second addRange() must do nothing assert_equals: The operation should not replace a registered Range expected object "uvwx" but got object "uvwx"
PASS Range 38 [paras[2].firstChild, 4, comment, 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 38 [paras[2].firstChild, 4, comment, 2] followed by Range 2 [paras[0].firstChild, 2, paras[0].firstChild, 8]: first 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]: first 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 Text node "Qrstuvwx"
FAIL Range 38 [paras[2].firstChild, 4, comment, 2] followed by Range 2 [paras[0].firstChild, 2, paras[0].firstChild, 8]: first addRange() must result in the selection's last range being the same object we added assert_equals: getRangeAt(rangeCount - 1) must return the same object we added expected object "uvwxYzabcdefGhijklmn" but got object "uvwx"
FAIL Range 38 [paras[2].firstChild, 4, comment, 2] followed by Range 2 [paras[0].firstChild, 2, paras[0].firstChild, 8]: modifying the first added range must modify the Selection's last Range assert_equals: After mutating the first added Range, startContainer of the Selection's last Range must match the added Range expected Text node "Äb̈c̈d̈ëf̈g̈ḧ
" but got Text node "Qrstuvwx"
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 first added Range assert_equals: After first addRange(), after mutating the Selection's last Range, startOffset of the Selection's last Range must match the added Range expected 0 but got 6
FAIL Range 38 [paras[2].firstChild, 4, comment, 2] followed by Range 2 [paras[0].firstChild, 2, paras[0].firstChild, 8]: second addRange() must do nothing assert_equals: The operation should not replace a registered Range expected object "uvwx" but got object "uvwx"
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
FAIL 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 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 Text node "Qrstuvwx"
FAIL 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 the 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 "uvwx"
FAIL Range 38 [paras[2].firstChild, 4, comment, 2] followed by Range 3 [paras[0].firstChild, 2, paras[0].firstChild, 9]: modifying the first added range must modify the Selection's last Range assert_equals: After mutating the first added Range, startContainer of the Selection's last Range must match the added Range expected Text node "Äb̈c̈d̈ëf̈g̈ḧ
" but got Text node "Qrstuvwx"
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 first added Range assert_equals: After first addRange(), after mutating the Selection's last Range, startOffset of the Selection's last Range must match the added Range expected 0 but got 6
FAIL Range 38 [paras[2].firstChild, 4, comment, 2] followed by Range 3 [paras[0].firstChild, 2, paras[0].firstChild, 9]: second addRange() must do nothing assert_equals: The operation should not replace a registered Range expected object "uvwx" but got object "uvwx"
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
FAIL 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 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 Text node "Qrstuvwx"
FAIL 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 the 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 "uvwx"
FAIL Range 38 [paras[2].firstChild, 4, comment, 2] followed by Range 4 [paras[1].firstChild, 0, paras[1].firstChild, 0]: modifying the first added range must modify the Selection's last Range assert_equals: After mutating the first added Range, startContainer of the Selection's last Range must match the added Range expected Text node "Äb̈c̈d̈ëf̈g̈ḧ
" but got Text node "Qrstuvwx"
FAIL Range 38 [paras[2].firstChild, 4, comment, 2] followed by Range 4 [paras[1].firstChild, 0, paras[1].firstChild, 0]: modifying the Selection's last Range must modify the first added Range assert_equals: After first addRange(), after mutating the Selection's last Range, startOffset of the Selection's last Range must match the added Range expected 0 but got 6
FAIL Range 38 [paras[2].firstChild, 4, comment, 2] followed by Range 4 [paras[1].firstChild, 0, paras[1].firstChild, 0]: second addRange() must do nothing assert_equals: The operation should not replace a registered Range expected object "uvwx" but got object "uvwx"
PASS Range 38 [paras[2].firstChild, 4, comment, 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 38 [paras[2].firstChild, 4, comment, 2] followed by Range 5 [paras[1].firstChild, 0, paras[1].firstChild, 1]: first addRange() must result in rangeCount being 1
FAIL Range 38 [paras[2].firstChild, 4, comment, 2] followed by Range 5 [paras[1].firstChild, 0, paras[1].firstChild, 1]: first addRange() must result in the selection's last range having the specified endpoints assert_equals: endContainer of the Selection's last Range must match the added Range expected Comment node <!--Alphabet soup?--> but got Text node "Qrstuvwx"
FAIL Range 38 [paras[2].firstChild, 4, comment, 2] followed by Range 5 [paras[1].firstChild, 0, paras[1].firstChild, 1]: first addRange() must result in the selection's last range being the same object we added assert_equals: getRangeAt(rangeCount - 1) must return the same object we added expected object "uvwxYzabcdefGhijklmn" but got object "uvwx"
FAIL Range 38 [paras[2].firstChild, 4, comment, 2] followed by Range 5 [paras[1].firstChild, 0, paras[1].firstChild, 1]: modifying the first added range must modify the Selection's last Range assert_equals: After mutating the first added Range, startContainer of the Selection's last Range must match the added Range expected Text node "Äb̈c̈d̈ëf̈g̈ḧ
" but got Text node "Qrstuvwx"
FAIL Range 38 [paras[2].firstChild, 4, comment, 2] followed by Range 5 [paras[1].firstChild, 0, paras[1].firstChild, 1]: modifying the Selection's last Range must modify the first added Range assert_equals: After first addRange(), after mutating the Selection's last Range, startOffset of the Selection's last Range must match the added Range expected 0 but got 6
FAIL Range 38 [paras[2].firstChild, 4, comment, 2] followed by Range 5 [paras[1].firstChild, 0, paras[1].firstChild, 1]: second addRange() must do nothing assert_equals: The operation should not replace a registered Range expected object "uvwx" but got object "uvwx"
PASS Range 38 [paras[2].firstChild, 4, comment, 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 38 [paras[2].firstChild, 4, comment, 2] followed by Range 6 [paras[1].firstChild, 2, paras[1].firstChild, 8]: first addRange() must result in rangeCount being 1
FAIL Range 38 [paras[2].firstChild, 4, comment, 2] followed by Range 6 [paras[1].firstChild, 2, paras[1].firstChild, 8]: first addRange() must result in the selection's last range having the specified endpoints assert_equals: endContainer of the Selection's last Range must match the added Range expected Comment node <!--Alphabet soup?--> but got Text node "Qrstuvwx"
FAIL Range 38 [paras[2].firstChild, 4, comment, 2] followed by Range 6 [paras[1].firstChild, 2, paras[1].firstChild, 8]: first addRange() must result in the selection's last range being the same object we added assert_equals: getRangeAt(rangeCount - 1) must return the same object we added expected object "uvwxYzabcdefGhijklmn" but got object "uvwx"
FAIL Range 38 [paras[2].firstChild, 4, comment, 2] followed by Range 6 [paras[1].firstChild, 2, paras[1].firstChild, 8]: modifying the first added range must modify the Selection's last Range assert_equals: After mutating the first added Range, startContainer of the Selection's last Range must match the added Range expected Text node "Äb̈c̈d̈ëf̈g̈ḧ
" but got Text node "Qrstuvwx"
FAIL Range 38 [paras[2].firstChild, 4, comment, 2] followed by Range 6 [paras[1].firstChild, 2, paras[1].firstChild, 8]: modifying the Selection's last Range must modify the first added Range assert_equals: After first addRange(), after mutating the Selection's last Range, startOffset of the Selection's last Range must match the added Range expected 0 but got 6
FAIL Range 38 [paras[2].firstChild, 4, comment, 2] followed by Range 6 [paras[1].firstChild, 2, paras[1].firstChild, 8]: second addRange() must do nothing assert_equals: The operation should not replace a registered Range expected object "uvwx" but got object "uvwx"
PASS Range 38 [paras[2].firstChild, 4, comment, 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 38 [paras[2].firstChild, 4, comment, 2] followed by Range 7 [paras[1].firstChild, 2, paras[1].firstChild, 9]: first addRange() must result in rangeCount being 1
FAIL Range 38 [paras[2].firstChild, 4, comment, 2] followed by Range 7 [paras[1].firstChild, 2, paras[1].firstChild, 9]: first addRange() must result in the selection's last range having the specified endpoints assert_equals: endContainer of the Selection's last Range must match the added Range expected Comment node <!--Alphabet soup?--> but got Text node "Qrstuvwx"
FAIL Range 38 [paras[2].firstChild, 4, comment, 2] followed by Range 7 [paras[1].firstChild, 2, paras[1].firstChild, 9]: first addRange() must result in the selection's last range being the same object we added assert_equals: getRangeAt(rangeCount - 1) must return the same object we added expected object "uvwxYzabcdefGhijklmn" but got object "uvwx"
FAIL Range 38 [paras[2].firstChild, 4, comment, 2] followed by Range 7 [paras[1].firstChild, 2, paras[1].firstChild, 9]: modifying the first added range must modify the Selection's last Range assert_equals: After mutating the first added Range, startContainer of the Selection's last Range must match the added Range expected Text node "Äb̈c̈d̈ëf̈g̈ḧ
" but got Text node "Qrstuvwx"
FAIL Range 38 [paras[2].firstChild, 4, comment, 2] followed by Range 7 [paras[1].firstChild, 2, paras[1].firstChild, 9]: modifying the Selection's last Range must modify the first added Range assert_equals: After first addRange(), after mutating the Selection's last Range, startOffset of the Selection's last Range must match the added Range expected 0 but got 6
FAIL Range 38 [paras[2].firstChild, 4, comment, 2] followed by Range 7 [paras[1].firstChild, 2, paras[1].firstChild, 9]: second addRange() must do nothing assert_equals: The operation should not replace a registered Range expected object "uvwx" but got object "uvwx"
PASS Range 38 [paras[2].firstChild, 4, comment, 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 38 [paras[2].firstChild, 4, comment, 2] followed by Range 8 [detachedPara1.firstChild, 0, detachedPara1.firstChild, 0]: first addRange() must result in rangeCount being 1
FAIL Range 38 [paras[2].firstChild, 4, comment, 2] followed by Range 8 [detachedPara1.firstChild, 0, detachedPara1.firstChild, 0]: first addRange() must result in the selection's last range having the specified endpoints assert_equals: endContainer of the Selection's last Range must match the added Range expected Comment node <!--Alphabet soup?--> but got Text node "Qrstuvwx"
FAIL Range 38 [paras[2].firstChild, 4, comment, 2] followed by Range 8 [detachedPara1.firstChild, 0, detachedPara1.firstChild, 0]: first addRange() must result in the selection's last range being the same object we added assert_equals: getRangeAt(rangeCount - 1) must return the same object we added expected object "uvwxYzabcdefGhijklmn" but got object "uvwx"
FAIL Range 38 [paras[2].firstChild, 4, comment, 2] followed by Range 8 [detachedPara1.firstChild, 0, detachedPara1.firstChild, 0]: modifying the first added range must modify the Selection's last Range assert_equals: After mutating the first added Range, startContainer of the Selection's last Range must match the added Range expected Text node "Äb̈c̈d̈ëf̈g̈ḧ
" but got Text node "Qrstuvwx"
FAIL Range 38 [paras[2].firstChild, 4, comment, 2] followed by Range 8 [detachedPara1.firstChild, 0, detachedPara1.firstChild, 0]: modifying the Selection's last Range must modify the first added Range assert_equals: After first addRange(), after mutating the Selection's last Range, startOffset of the Selection's last Range must match the added Range expected 0 but got 6
FAIL Range 38 [paras[2].firstChild, 4, comment, 2] followed by Range 8 [detachedPara1.firstChild, 0, detachedPara1.firstChild, 0]: second addRange() must do nothing assert_equals: The operation should not replace a registered Range expected object "uvwx" but got object "uvwx"
PASS Range 38 [paras[2].firstChild, 4, comment, 2] followed by Range 9 [detachedPara1.firstChild, 0, detachedPara1.firstChild, 1]: first addRange() must not throw exceptions or modify the range it's given
PASS Range 38 [paras[2].firstChild, 4, comment, 2] followed by Range 9 [detachedPara1.firstChild, 0, detachedPara1.firstChild, 1]: first addRange() must result in rangeCount being 1
FAIL Range 38 [paras[2].firstChild, 4, comment, 2] followed by Range 9 [detachedPara1.firstChild, 0, detachedPara1.firstChild, 1]: first addRange() must result in the selection's last range having the specified endpoints assert_equals: endContainer of the Selection's last Range must match the added Range expected Comment node <!--Alphabet soup?--> but got Text node "Qrstuvwx"
FAIL Range 38 [paras[2].firstChild, 4, comment, 2] followed by Range 9 [detachedPara1.firstChild, 0, detachedPara1.firstChild, 1]: first addRange() must result in the selection's last range being the same object we added assert_equals: getRangeAt(rangeCount - 1) must return the same object we added expected object "uvwxYzabcdefGhijklmn" but got object "uvwx"
FAIL Range 38 [paras[2].firstChild, 4, comment, 2] followed by Range 9 [detachedPara1.firstChild, 0, detachedPara1.firstChild, 1]: modifying the first added range must modify the Selection's last Range assert_equals: After mutating the first added Range, startContainer of the Selection's last Range must match the added Range expected Text node "Äb̈c̈d̈ëf̈g̈ḧ
" but got Text node "Qrstuvwx"
FAIL Range 38 [paras[2].firstChild, 4, comment, 2] followed by Range 9 [detachedPara1.firstChild, 0, detachedPara1.firstChild, 1]: modifying the Selection's last Range must modify the first added Range assert_equals: After first addRange(), after mutating the Selection's last Range, startOffset of the Selection's last Range must match the added Range expected 0 but got 6
FAIL Range 38 [paras[2].firstChild, 4, comment, 2] followed by Range 9 [detachedPara1.firstChild, 0, detachedPara1.firstChild, 1]: second addRange() must do nothing assert_equals: The operation should not replace a registered Range expected object "uvwx" but got object "uvwx"
PASS Range 38 [paras[2].firstChild, 4, comment, 2] followed by Range 10 [detachedPara1.firstChild, 2, detachedPara1.firstChild, 8]: first addRange() must not throw exceptions or modify the range it's given
PASS Range 38 [paras[2].firstChild, 4, comment, 2] followed by Range 10 [detachedPara1.firstChild, 2, detachedPara1.firstChild, 8]: first addRange() must result in rangeCount being 1
FAIL Range 38 [paras[2].firstChild, 4, comment, 2] followed by Range 10 [detachedPara1.firstChild, 2, detachedPara1.firstChild, 8]: first addRange() must result in the selection's last range having the specified endpoints assert_equals: endContainer of the Selection's last Range must match the added Range expected Comment node <!--Alphabet soup?--> but got Text node "Qrstuvwx"
FAIL Range 38 [paras[2].firstChild, 4, comment, 2] followed by Range 10 [detachedPara1.firstChild, 2, detachedPara1.firstChild, 8]: first addRange() must result in the selection's last range being the same object we added assert_equals: getRangeAt(rangeCount - 1) must return the same object we added expected object "uvwxYzabcdefGhijklmn" but got object "uvwx"
FAIL Range 38 [paras[2].firstChild, 4, comment, 2] followed by Range 10 [detachedPara1.firstChild, 2, detachedPara1.firstChild, 8]: modifying the first added range must modify the Selection's last Range assert_equals: After mutating the first added Range, startContainer of the Selection's last Range must match the added Range expected Text node "Äb̈c̈d̈ëf̈g̈ḧ
" but got Text node "Qrstuvwx"
FAIL Range 38 [paras[2].firstChild, 4, comment, 2] followed by Range 10 [detachedPara1.firstChild, 2, detachedPara1.firstChild, 8]: modifying the Selection's last Range must modify the first added Range assert_equals: After first addRange(), after mutating the Selection's last Range, startOffset of the Selection's last Range must match the added Range expected 0 but got 6
FAIL Range 38 [paras[2].firstChild, 4, comment, 2] followed by Range 10 [detachedPara1.firstChild, 2, detachedPara1.firstChild, 8]: second addRange() must do nothing assert_equals: The operation should not replace a registered Range expected object "uvwx" but got object "uvwx"
PASS Range 38 [paras[2].firstChild, 4, comment, 2] followed by Range 11 [foreignPara1.firstChild, 0, foreignPara1.firstChild, 0]: first addRange() must not throw exceptions or modify the range it's given
PASS Range 38 [paras[2].firstChild, 4, comment, 2] followed by Range 11 [foreignPara1.firstChild, 0, foreignPara1.firstChild, 0]: first addRange() must result in rangeCount being 1
FAIL Range 38 [paras[2].firstChild, 4, comment, 2] followed by Range 11 [foreignPara1.firstChild, 0, foreignPara1.firstChild, 0]: first addRange() must result in the selection's last range having the specified endpoints assert_equals: endContainer of the Selection's last Range must match the added Range expected Comment node <!--Alphabet soup?--> but got Text node "Qrstuvwx"
FAIL Range 38 [paras[2].firstChild, 4, comment, 2] followed by Range 11 [foreignPara1.firstChild, 0, foreignPara1.firstChild, 0]: first addRange() must result in the selection's last range being the same object we added assert_equals: getRangeAt(rangeCount - 1) must return the same object we added expected object "uvwxYzabcdefGhijklmn" but got object "uvwx"
FAIL Range 38 [paras[2].firstChild, 4, comment, 2] followed by Range 11 [foreignPara1.firstChild, 0, foreignPara1.firstChild, 0]: modifying the first added range must modify the Selection's last Range assert_equals: After mutating the first added Range, startContainer of the Selection's last Range must match the added Range expected Text node "Äb̈c̈d̈ëf̈g̈ḧ
" but got Text node "Qrstuvwx"
FAIL Range 38 [paras[2].firstChild, 4, comment, 2] followed by Range 11 [foreignPara1.firstChild, 0, foreignPara1.firstChild, 0]: modifying the Selection's last Range must modify the first added Range assert_equals: After first addRange(), after mutating the Selection's last Range, startOffset of the Selection's last Range must match the added Range expected 0 but got 6
FAIL Range 38 [paras[2].firstChild, 4, comment, 2] followed by Range 11 [foreignPara1.firstChild, 0, foreignPara1.firstChild, 0]: second addRange() must do nothing assert_equals: The operation should not replace a registered Range expected object "uvwx" but got object "uvwx"
PASS Range 38 [paras[2].firstChild, 4, comment, 2] followed by Range 12 [foreignPara1.firstChild, 0, foreignPara1.firstChild, 1]: first addRange() must not throw exceptions or modify the range it's given
PASS Range 38 [paras[2].firstChild, 4, comment, 2] followed by Range 12 [foreignPara1.firstChild, 0, foreignPara1.firstChild, 1]: first addRange() must result in rangeCount being 1
FAIL Range 38 [paras[2].firstChild, 4, comment, 2] followed by Range 12 [foreignPara1.firstChild, 0, foreignPara1.firstChild, 1]: first addRange() must result in the selection's last range having the specified endpoints assert_equals: endContainer of the Selection's last Range must match the added Range expected Comment node <!--Alphabet soup?--> but got Text node "Qrstuvwx"
FAIL Range 38 [paras[2].firstChild, 4, comment, 2] followed by Range 12 [foreignPara1.firstChild, 0, foreignPara1.firstChild, 1]: first addRange() must result in the selection's last range being the same object we added assert_equals: getRangeAt(rangeCount - 1) must return the same object we added expected object "uvwxYzabcdefGhijklmn" but got object "uvwx"
FAIL Range 38 [paras[2].firstChild, 4, comment, 2] followed by Range 12 [foreignPara1.firstChild, 0, foreignPara1.firstChild, 1]: modifying the first added range must modify the Selection's last Range assert_equals: After mutating the first added Range, startContainer of the Selection's last Range must match the added Range expected Text node "Äb̈c̈d̈ëf̈g̈ḧ
" but got Text node "Qrstuvwx"
FAIL Range 38 [paras[2].firstChild, 4, comment, 2] followed by Range 12 [foreignPara1.firstChild, 0, foreignPara1.firstChild, 1]: modifying the Selection's last Range must modify the first added Range assert_equals: After first addRange(), after mutating the Selection's last Range, startOffset of the Selection's last Range must match the added Range expected 0 but got 6
FAIL Range 38 [paras[2].firstChild, 4, comment, 2] followed by Range 12 [foreignPara1.firstChild, 0, foreignPara1.firstChild, 1]: second addRange() must do nothing assert_equals: The operation should not replace a registered Range expected object "uvwx" but got object "uvwx"
PASS Range 38 [paras[2].firstChild, 4, comment, 2] followed by Range 13 [foreignPara1.firstChild, 2, foreignPara1.firstChild, 8]: first addRange() must not throw exceptions or modify the range it's given
PASS Range 38 [paras[2].firstChild, 4, comment, 2] followed by Range 13 [foreignPara1.firstChild, 2, foreignPara1.firstChild, 8]: first addRange() must result in rangeCount being 1
FAIL Range 38 [paras[2].firstChild, 4, comment, 2] followed by Range 13 [foreignPara1.firstChild, 2, foreignPara1.firstChild, 8]: first addRange() must result in the selection's last range having the specified endpoints assert_equals: endContainer of the Selection's last Range must match the added Range expected Comment node <!--Alphabet soup?--> but got Text node "Qrstuvwx"
FAIL Range 38 [paras[2].firstChild, 4, comment, 2] followed by Range 13 [foreignPara1.firstChild, 2, foreignPara1.firstChild, 8]: first addRange() must result in the selection's last range being the same object we added assert_equals: getRangeAt(rangeCount - 1) must return the same object we added expected object "uvwxYzabcdefGhijklmn" but got object "uvwx"
FAIL Range 38 [paras[2].firstChild, 4, comment, 2] followed by Range 13 [foreignPara1.firstChild, 2, foreignPara1.firstChild, 8]: modifying the first added range must modify the Selection's last Range assert_equals: After mutating the first added Range, startContainer of the Selection's last Range must match the added Range expected Text node "Äb̈c̈d̈ëf̈g̈ḧ
" but got Text node "Qrstuvwx"
FAIL Range 38 [paras[2].firstChild, 4, comment, 2] followed by Range 13 [foreignPara1.firstChild, 2, foreignPara1.firstChild, 8]: modifying the Selection's last Range must modify the first added Range assert_equals: After first addRange(), after mutating the Selection's last Range, startOffset of the Selection's last Range must match the added Range expected 0 but got 6
FAIL Range 38 [paras[2].firstChild, 4, comment, 2] followed by Range 13 [foreignPara1.firstChild, 2, foreignPara1.firstChild, 8]: second addRange() must do nothing assert_equals: The operation should not replace a registered Range expected object "uvwx" but got object "uvwx"
PASS Range 38 [paras[2].firstChild, 4, comment, 2] followed by Range 14 [document.documentElement, 0, document.documentElement, 1]: first addRange() must not throw exceptions or modify the range it's given
PASS Range 38 [paras[2].firstChild, 4, comment, 2] followed by Range 14 [document.documentElement, 0, document.documentElement, 1]: first addRange() must result in rangeCount being 1
FAIL Range 38 [paras[2].firstChild, 4, comment, 2] followed by Range 14 [document.documentElement, 0, document.documentElement, 1]: first addRange() must result in the selection's last range having the specified endpoints assert_equals: endContainer of the Selection's last Range must match the added Range expected Comment node <!--Alphabet soup?--> but got Text node "Qrstuvwx"
FAIL Range 38 [paras[2].firstChild, 4, comment, 2] followed by Range 14 [document.documentElement, 0, document.documentElement, 1]: first addRange() must result in the selection's last range being the same object we added assert_equals: getRangeAt(rangeCount - 1) must return the same object we added expected object "uvwxYzabcdefGhijklmn" but got object "uvwx"
FAIL Range 38 [paras[2].firstChild, 4, comment, 2] followed by Range 14 [document.documentElement, 0, document.documentElement, 1]: modifying the first added range must modify the Selection's last Range assert_equals: After mutating the first added Range, startContainer of the Selection's last Range must match the added Range expected Text node "Äb̈c̈d̈ëf̈g̈ḧ
" but got Text node "Qrstuvwx"
FAIL Range 38 [paras[2].firstChild, 4, comment, 2] followed by Range 14 [document.documentElement, 0, document.documentElement, 1]: modifying the Selection's last Range must modify the first added Range assert_equals: After first addRange(), after mutating the Selection's last Range, startOffset of the Selection's last Range must match the added Range expected 0 but got 6
FAIL Range 38 [paras[2].firstChild, 4, comment, 2] followed by Range 14 [document.documentElement, 0, document.documentElement, 1]: second addRange() must do nothing assert_equals: The operation should not replace a registered Range expected object "uvwx" but got object "uvwx"
PASS Range 38 [paras[2].firstChild, 4, comment, 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 38 [paras[2].firstChild, 4, comment, 2] followed by Range 15 [document.documentElement, 0, document.documentElement, 2]: first addRange() must result in rangeCount being 1
FAIL Range 38 [paras[2].firstChild, 4, comment, 2] followed by Range 15 [document.documentElement, 0, document.documentElement, 2]: first addRange() must result in the selection's last range having the specified endpoints assert_equals: endContainer of the Selection's last Range must match the added Range expected Comment node <!--Alphabet soup?--> but got Text node "Qrstuvwx"
FAIL Range 38 [paras[2].firstChild, 4, comment, 2] followed by Range 15 [document.documentElement, 0, document.documentElement, 2]: first addRange() must result in the selection's last range being the same object we added assert_equals: getRangeAt(rangeCount - 1) must return the same object we added expected object "uvwxYzabcdefGhijklmn" but got object "uvwx"
FAIL Range 38 [paras[2].firstChild, 4, comment, 2] followed by Range 15 [document.documentElement, 0, document.documentElement, 2]: modifying the first added range must modify the Selection's last Range assert_equals: After mutating the first added Range, startContainer of the Selection's last Range must match the added Range expected Text node "Äb̈c̈d̈ëf̈g̈ḧ
" but got Text node "Qrstuvwx"
FAIL Range 38 [paras[2].firstChild, 4, comment, 2] followed by Range 15 [document.documentElement, 0, document.documentElement, 2]: modifying the Selection's last Range must modify the first added Range assert_equals: After first addRange(), after mutating the Selection's last Range, startOffset of the Selection's last Range must match the added Range expected 0 but got 6
FAIL Range 38 [paras[2].firstChild, 4, comment, 2] followed by Range 15 [document.documentElement, 0, document.documentElement, 2]: second addRange() must do nothing assert_equals: The operation should not update anchorNode expected Text node "Qrstuvwx" but got Text node "Äb̈c̈d̈ëf̈g̈ḧ
"
PASS Range 38 [paras[2].firstChild, 4, comment, 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 38 [paras[2].firstChild, 4, comment, 2] followed by Range 16 [document.documentElement, 1, document.documentElement, 2]: first addRange() must result in rangeCount being 1
FAIL Range 38 [paras[2].firstChild, 4, comment, 2] followed by Range 16 [document.documentElement, 1, document.documentElement, 2]: first addRange() must result in the selection's last range having the specified endpoints assert_equals: endContainer of the Selection's last Range must match the added Range expected Comment node <!--Alphabet soup?--> but got Text node "Qrstuvwx"
FAIL Range 38 [paras[2].firstChild, 4, comment, 2] followed by Range 16 [document.documentElement, 1, document.documentElement, 2]: first addRange() must result in the selection's last range being the same object we added assert_equals: getRangeAt(rangeCount - 1) must return the same object we added expected object "uvwxYzabcdefGhijklmn" but got object "uvwx"
FAIL Range 38 [paras[2].firstChild, 4, comment, 2] followed by Range 16 [document.documentElement, 1, document.documentElement, 2]: modifying the first added range must modify the Selection's last Range assert_equals: After mutating the first added Range, startContainer of the Selection's last Range must match the added Range expected Text node "Äb̈c̈d̈ëf̈g̈ḧ
" but got Text node "Qrstuvwx"
FAIL Range 38 [paras[2].firstChild, 4, comment, 2] followed by Range 16 [document.documentElement, 1, document.documentElement, 2]: modifying the Selection's last Range must modify the first added Range assert_equals: After first addRange(), after mutating the Selection's last Range, startOffset of the Selection's last Range must match the added Range expected 0 but got 6
FAIL Range 38 [paras[2].firstChild, 4, comment, 2] followed by Range 16 [document.documentElement, 1, document.documentElement, 2]: second addRange() must do nothing assert_equals: The operation should not update anchorNode expected Text node "Qrstuvwx" but got Text node "Äb̈c̈d̈ëf̈g̈ḧ
"
PASS Range 38 [paras[2].firstChild, 4, comment, 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 38 [paras[2].firstChild, 4, comment, 2] followed by Range 17 [document.head, 1, document.head, 1]: first addRange() must result in rangeCount being 1
FAIL Range 38 [paras[2].firstChild, 4, comment, 2] followed by Range 17 [document.head, 1, document.head, 1]: first addRange() must result in the selection's last range having the specified endpoints assert_equals: endContainer of the Selection's last Range must match the added Range expected Comment node <!--Alphabet soup?--> but got Text node "Qrstuvwx"
FAIL Range 38 [paras[2].firstChild, 4, comment, 2] followed by Range 17 [document.head, 1, document.head, 1]: first addRange() must result in the selection's last range being the same object we added assert_equals: getRangeAt(rangeCount - 1) must return the same object we added expected object "uvwxYzabcdefGhijklmn" but got object "uvwx"
FAIL Range 38 [paras[2].firstChild, 4, comment, 2] followed by Range 17 [document.head, 1, document.head, 1]: modifying the first added range must modify the Selection's last Range assert_equals: After mutating the first added Range, startContainer of the Selection's last Range must match the added Range expected Text node "Äb̈c̈d̈ëf̈g̈ḧ
" but got Text node "Qrstuvwx"
FAIL Range 38 [paras[2].firstChild, 4, comment, 2] followed by Range 17 [document.head, 1, document.head, 1]: modifying the Selection's last Range must modify the first added Range assert_equals: After first addRange(), after mutating the Selection's last Range, startOffset of the Selection's last Range must match the added Range expected 0 but got 6
FAIL Range 38 [paras[2].firstChild, 4, comment, 2] followed by Range 17 [document.head, 1, document.head, 1]: second addRange() must do nothing assert_equals: The operation should not replace a registered Range expected object "uvwx" but got object "uvwx"
PASS Range 38 [paras[2].firstChild, 4, comment, 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 38 [paras[2].firstChild, 4, comment, 2] followed by Range 18 [document.body, 0, document.body, 1]: first addRange() must result in rangeCount being 1
FAIL Range 38 [paras[2].firstChild, 4, comment, 2] followed by Range 18 [document.body, 0, document.body, 1]: first addRange() must result in the selection's last range having the specified endpoints assert_equals: endContainer of the Selection's last Range must match the added Range expected Comment node <!--Alphabet soup?--> but got Text node "Qrstuvwx"
FAIL Range 38 [paras[2].firstChild, 4, comment, 2] followed by Range 18 [document.body, 0, document.body, 1]: first addRange() must result in the selection's last range being the same object we added assert_equals: getRangeAt(rangeCount - 1) must return the same object we added expected object "uvwxYzabcdefGhijklmn" but got object "uvwx"
FAIL Range 38 [paras[2].firstChild, 4, comment, 2] followed by Range 18 [document.body, 0, document.body, 1]: modifying the first added range must modify the Selection's last Range assert_equals: After mutating the first added Range, startContainer of the Selection's last Range must match the added Range expected Text node "Äb̈c̈d̈ëf̈g̈ḧ
" but got Text node "Qrstuvwx"
FAIL Range 38 [paras[2].firstChild, 4, comment, 2] followed by Range 18 [document.body, 0, document.body, 1]: modifying the Selection's last Range must modify the first added Range assert_equals: After first addRange(), after mutating the Selection's last Range, startOffset of the Selection's last Range must match the added Range expected 0 but got 6
FAIL Range 38 [paras[2].firstChild, 4, comment, 2] followed by Range 18 [document.body, 0, document.body, 1]: second addRange() must do nothing assert_equals: The operation should not update anchorNode expected Text node "Qrstuvwx" but got Text node "Äb̈c̈d̈ëf̈g̈ḧ
"
PASS Range 38 [paras[2].firstChild, 4, comment, 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 38 [paras[2].firstChild, 4, comment, 2] followed by Range 19 [foreignDoc.documentElement, 0, foreignDoc.documentElement, 1]: first addRange() must result in rangeCount being 1
FAIL Range 38 [paras[2].firstChild, 4, comment, 2] followed by Range 19 [foreignDoc.documentElement, 0, foreignDoc.documentElement, 1]: first addRange() must result in the selection's last range having the specified endpoints assert_equals: endContainer of the Selection's last Range must match the added Range expected Comment node <!--Alphabet soup?--> but got Text node "Qrstuvwx"
FAIL Range 38 [paras[2].firstChild, 4, comment, 2] followed by Range 19 [foreignDoc.documentElement, 0, foreignDoc.documentElement, 1]: first addRange() must result in the selection's last range being the same object we added assert_equals: getRangeAt(rangeCount - 1) must return the same object we added expected object "uvwxYzabcdefGhijklmn" but got object "uvwx"
FAIL Range 38 [paras[2].firstChild, 4, comment, 2] followed by Range 19 [foreignDoc.documentElement, 0, foreignDoc.documentElement, 1]: modifying the first added range must modify the Selection's last Range assert_equals: After mutating the first added Range, startContainer of the Selection's last Range must match the added Range expected Text node "Äb̈c̈d̈ëf̈g̈ḧ
" but got Text node "Qrstuvwx"
FAIL Range 38 [paras[2].firstChild, 4, comment, 2] followed by Range 19 [foreignDoc.documentElement, 0, foreignDoc.documentElement, 1]: modifying the Selection's last Range must modify the first added Range assert_equals: After first addRange(), after mutating the Selection's last Range, startOffset of the Selection's last Range must match the added Range expected 0 but got 6
FAIL Range 38 [paras[2].firstChild, 4, comment, 2] followed by Range 19 [foreignDoc.documentElement, 0, foreignDoc.documentElement, 1]: second addRange() must do nothing assert_equals: The operation should not replace a registered Range expected object "uvwx" but got object "uvwx"
PASS Range 38 [paras[2].firstChild, 4, comment, 2] followed by Range 20 [foreignDoc.head, 1, foreignDoc.head, 1]: first addRange() must not throw exceptions or modify the range it's given
PASS Range 38 [paras[2].firstChild, 4, comment, 2] followed by Range 20 [foreignDoc.head, 1, foreignDoc.head, 1]: first addRange() must result in rangeCount being 1
FAIL Range 38 [paras[2].firstChild, 4, comment, 2] followed by Range 20 [foreignDoc.head, 1, foreignDoc.head, 1]: first addRange() must result in the selection's last range having the specified endpoints assert_equals: endContainer of the Selection's last Range must match the added Range expected Comment node <!--Alphabet soup?--> but got Text node "Qrstuvwx"
FAIL Range 38 [paras[2].firstChild, 4, comment, 2] followed by Range 20 [foreignDoc.head, 1, foreignDoc.head, 1]: first addRange() must result in the selection's last range being the same object we added assert_equals: getRangeAt(rangeCount - 1) must return the same object we added expected object "uvwxYzabcdefGhijklmn" but got object "uvwx"
FAIL Range 38 [paras[2].firstChild, 4, comment, 2] followed by Range 20 [foreignDoc.head, 1, foreignDoc.head, 1]: modifying the first added range must modify the Selection's last Range assert_equals: After mutating the first added Range, startContainer of the Selection's last Range must match the added Range expected Text node "Äb̈c̈d̈ëf̈g̈ḧ
" but got Text node "Qrstuvwx"
FAIL Range 38 [paras[2].firstChild, 4, comment, 2] followed by Range 20 [foreignDoc.head, 1, foreignDoc.head, 1]: modifying the Selection's last Range must modify the first added Range assert_equals: After first addRange(), after mutating the Selection's last Range, startOffset of the Selection's last Range must match the added Range expected 0 but got 6
FAIL Range 38 [paras[2].firstChild, 4, comment, 2] followed by Range 20 [foreignDoc.head, 1, foreignDoc.head, 1]: second addRange() must do nothing assert_equals: The operation should not replace a registered Range expected object "uvwx" but got object "uvwx"
PASS Range 38 [paras[2].firstChild, 4, comment, 2] followed by Range 21 [foreignDoc.body, 0, foreignDoc.body, 0]: first addRange() must not throw exceptions or modify the range it's given
PASS Range 38 [paras[2].firstChild, 4, comment, 2] followed by Range 21 [foreignDoc.body, 0, foreignDoc.body, 0]: first addRange() must result in rangeCount being 1
FAIL Range 38 [paras[2].firstChild, 4, comment, 2] followed by Range 21 [foreignDoc.body, 0, foreignDoc.body, 0]: first addRange() must result in the selection's last range having the specified endpoints assert_equals: endContainer of the Selection's last Range must match the added Range expected Comment node <!--Alphabet soup?--> but got Text node "Qrstuvwx"
FAIL Range 38 [paras[2].firstChild, 4, comment, 2] followed by Range 21 [foreignDoc.body, 0, foreignDoc.body, 0]: first addRange() must result in the selection's last range being the same object we added assert_equals: getRangeAt(rangeCount - 1) must return the same object we added expected object "uvwxYzabcdefGhijklmn" but got object "uvwx"
FAIL Range 38 [paras[2].firstChild, 4, comment, 2] followed by Range 21 [foreignDoc.body, 0, foreignDoc.body, 0]: modifying the first added range must modify the Selection's last Range assert_equals: After mutating the first added Range, startContainer of the Selection's last Range must match the added Range expected Text node "Äb̈c̈d̈ëf̈g̈ḧ
" but got Text node "Qrstuvwx"
FAIL Range 38 [paras[2].firstChild, 4, comment, 2] followed by Range 21 [foreignDoc.body, 0, foreignDoc.body, 0]: modifying the Selection's last Range must modify the first added Range assert_equals: After first addRange(), after mutating the Selection's last Range, startOffset of the Selection's last Range must match the added Range expected 0 but got 6
FAIL Range 38 [paras[2].firstChild, 4, comment, 2] followed by Range 21 [foreignDoc.body, 0, foreignDoc.body, 0]: second addRange() must do nothing assert_equals: The operation should not replace a registered Range expected object "uvwx" but got object "uvwx"
PASS Range 38 [paras[2].firstChild, 4, comment, 2] followed by Range 22 [paras[0], 0, paras[0], 0]: first addRange() must not throw exceptions or modify the range it's given
PASS Range 38 [paras[2].firstChild, 4, comment, 2] followed by Range 22 [paras[0], 0, paras[0], 0]: first addRange() must result in rangeCount being 1
FAIL Range 38 [paras[2].firstChild, 4, comment, 2] followed by Range 22 [paras[0], 0, paras[0], 0]: first addRange() must result in the selection's last range having the specified endpoints assert_equals: endContainer of the Selection's last Range must match the added Range expected Comment node <!--Alphabet soup?--> but got Text node "Qrstuvwx"
FAIL Range 38 [paras[2].firstChild, 4, comment, 2] followed by Range 22 [paras[0], 0, paras[0], 0]: first addRange() must result in the selection's last range being the same object we added assert_equals: getRangeAt(rangeCount - 1) must return the same object we added expected object "uvwxYzabcdefGhijklmn" but got object "uvwx"
FAIL Range 38 [paras[2].firstChild, 4, comment, 2] followed by Range 22 [paras[0], 0, paras[0], 0]: modifying the first added range must modify the Selection's last Range assert_equals: After mutating the first added Range, startContainer of the Selection's last Range must match the added Range expected Text node "Äb̈c̈d̈ëf̈g̈ḧ
" but got Text node "Qrstuvwx"
FAIL Range 38 [paras[2].firstChild, 4, comment, 2] followed by Range 22 [paras[0], 0, paras[0], 0]: modifying the Selection's last Range must modify the first added Range assert_equals: After first addRange(), after mutating the Selection's last Range, startOffset of the Selection's last Range must match the added Range expected 0 but got 6
FAIL Range 38 [paras[2].firstChild, 4, comment, 2] followed by Range 22 [paras[0], 0, paras[0], 0]: second addRange() must do nothing assert_equals: The operation should not replace a registered Range expected object "uvwx" but got object "uvwx"
PASS Range 38 [paras[2].firstChild, 4, comment, 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 38 [paras[2].firstChild, 4, comment, 2] followed by Range 23 [paras[0], 0, paras[0], 1]: first 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]: first 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 Text node "Qrstuvwx"
FAIL Range 38 [paras[2].firstChild, 4, comment, 2] followed by Range 23 [paras[0], 0, paras[0], 1]: first addRange() must result in the selection's last range being the same object we added assert_equals: getRangeAt(rangeCount - 1) must return the same object we added expected object "uvwxYzabcdefGhijklmn" but got object "uvwx"
FAIL Range 38 [paras[2].firstChild, 4, comment, 2] followed by Range 23 [paras[0], 0, paras[0], 1]: modifying the first added range must modify the Selection's last Range assert_equals: After mutating the first added Range, startContainer of the Selection's last Range must match the added Range expected Text node "Äb̈c̈d̈ëf̈g̈ḧ
" but got Text node "Qrstuvwx"
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 first added Range assert_equals: After first addRange(), after mutating the Selection's last Range, startOffset of the Selection's last Range must match the added Range expected 0 but got 6
FAIL Range 38 [paras[2].firstChild, 4, comment, 2] followed by Range 23 [paras[0], 0, paras[0], 1]: second addRange() must do nothing assert_equals: The operation should not replace a registered Range expected object "uvwx" but got object "uvwx"
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
FAIL Range 38 [paras[2].firstChild, 4, comment, 2] followed by Range 24 [detachedPara1, 0, detachedPara1, 0]: first 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 Text node "Qrstuvwx"
FAIL Range 38 [paras[2].firstChild, 4, comment, 2] followed by Range 24 [detachedPara1, 0, detachedPara1, 0]: first addRange() must result in the selection's last range being the same object we added assert_equals: getRangeAt(rangeCount - 1) must return the same object we added expected object "uvwxYzabcdefGhijklmn" but got object "uvwx"
FAIL Range 38 [paras[2].firstChild, 4, comment, 2] followed by Range 24 [detachedPara1, 0, detachedPara1, 0]: modifying the first added range must modify the Selection's last Range assert_equals: After mutating the first added Range, startContainer of the Selection's last Range must match the added Range expected Text node "Äb̈c̈d̈ëf̈g̈ḧ
" but got Text node "Qrstuvwx"
FAIL Range 38 [paras[2].firstChild, 4, comment, 2] followed by Range 24 [detachedPara1, 0, detachedPara1, 0]: modifying the Selection's last Range must modify the first added Range assert_equals: After first addRange(), after mutating the Selection's last Range, startOffset of the Selection's last Range must match the added Range expected 0 but got 6
FAIL Range 38 [paras[2].firstChild, 4, comment, 2] followed by Range 24 [detachedPara1, 0, detachedPara1, 0]: second addRange() must do nothing assert_equals: The operation should not replace a registered Range expected object "uvwx" but got object "uvwx"
PASS Range 38 [paras[2].firstChild, 4, comment, 2] followed by Range 25 [detachedPara1, 0, detachedPara1, 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 25 [detachedPara1, 0, detachedPara1, 1]: first addRange() must result in rangeCount being 1
FAIL Range 38 [paras[2].firstChild, 4, comment, 2] followed by Range 25 [detachedPara1, 0, detachedPara1, 1]: first 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 Text node "Qrstuvwx"
FAIL Range 38 [paras[2].firstChild, 4, comment, 2] followed by Range 25 [detachedPara1, 0, detachedPara1, 1]: first addRange() must result in the selection's last range being the same object we added assert_equals: getRangeAt(rangeCount - 1) must return the same object we added expected object "uvwxYzabcdefGhijklmn" but got object "uvwx"
FAIL Range 38 [paras[2].firstChild, 4, comment, 2] followed by Range 25 [detachedPara1, 0, detachedPara1, 1]: modifying the first added range must modify the Selection's last Range assert_equals: After mutating the first added Range, startContainer of the Selection's last Range must match the added Range expected Text node "Äb̈c̈d̈ëf̈g̈ḧ
" but got Text node "Qrstuvwx"
FAIL Range 38 [paras[2].firstChild, 4, comment, 2] followed by Range 25 [detachedPara1, 0, detachedPara1, 1]: modifying the Selection's last Range must modify the first added Range assert_equals: After first addRange(), after mutating the Selection's last Range, startOffset of the Selection's last Range must match the added Range expected 0 but got 6
FAIL Range 38 [paras[2].firstChild, 4, comment, 2] followed by Range 25 [detachedPara1, 0, detachedPara1, 1]: second addRange() must do nothing assert_equals: The operation should not replace a registered Range expected object "uvwx" but got object "uvwx"
PASS Range 38 [paras[2].firstChild, 4, comment, 2] followed by Range 26 [paras[0].firstChild, 0, paras[1].firstChild, 0]: first addRange() must not throw exceptions or modify the range it's given
PASS Range 38 [paras[2].firstChild, 4, comment, 2] followed by Range 26 [paras[0].firstChild, 0, paras[1].firstChild, 0]: first 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]: first 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 Text node "Qrstuvwx"
FAIL Range 38 [paras[2].firstChild, 4, comment, 2] followed by Range 26 [paras[0].firstChild, 0, paras[1].firstChild, 0]: first addRange() must result in the selection's last range being the same object we added assert_equals: getRangeAt(rangeCount - 1) must return the same object we added expected object "uvwxYzabcdefGhijklmn" but got object "uvwx"
FAIL Range 38 [paras[2].firstChild, 4, comment, 2] followed by Range 26 [paras[0].firstChild, 0, paras[1].firstChild, 0]: modifying the first added range must modify the Selection's last Range assert_equals: After mutating the first added Range, startContainer of the Selection's last Range must match the added Range expected Text node "Äb̈c̈d̈ëf̈g̈ḧ
" but got Text node "Qrstuvwx"
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 first added Range assert_equals: After first addRange(), after mutating the Selection's last Range, startOffset of the Selection's last Range must match the added Range expected 0 but got 6
FAIL Range 38 [paras[2].firstChild, 4, comment, 2] followed by Range 26 [paras[0].firstChild, 0, paras[1].firstChild, 0]: second addRange() must do nothing assert_equals: The operation should not replace a registered Range expected object "uvwx" but got object "uvwx"
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
FAIL 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 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 Text node "Qrstuvwx"
FAIL 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 the 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 "uvwx"
FAIL Range 38 [paras[2].firstChild, 4, comment, 2] followed by Range 27 [paras[0].firstChild, 0, paras[1].firstChild, 8]: modifying the first added range must modify the Selection's last Range assert_equals: After mutating the first added Range, startContainer of the Selection's last Range must match the added Range expected Text node "Äb̈c̈d̈ëf̈g̈ḧ
" but got Text node "Qrstuvwx"
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 first added Range assert_equals: After first addRange(), after mutating the Selection's last Range, startOffset of the Selection's last Range must match the added Range expected 0 but got 6
FAIL Range 38 [paras[2].firstChild, 4, comment, 2] followed by Range 27 [paras[0].firstChild, 0, paras[1].firstChild, 8]: second addRange() must do nothing assert_equals: The operation should not replace a registered Range expected object "uvwx" but got object "uvwx"
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
FAIL Range 38 [paras[2].firstChild, 4, comment, 2] followed by Range 28 [paras[0].firstChild, 3, paras[3], 1]: first addRange() must result in the selection's last range having the specified endpoints assert_equals: endContainer of the Selection's last Range must match the added Range expected Comment node <!--Alphabet soup?--> but got Text node "Qrstuvwx"
FAIL Range 38 [paras[2].firstChild, 4, comment, 2] followed by Range 28 [paras[0].firstChild, 3, paras[3], 1]: first addRange() must result in the selection's last range being the same object we added assert_equals: getRangeAt(rangeCount - 1) must return the same object we added expected object "uvwxYzabcdefGhijklmn" but got object "uvwx"
FAIL Range 38 [paras[2].firstChild, 4, comment, 2] followed by Range 28 [paras[0].firstChild, 3, paras[3], 1]: modifying the first added range must modify the Selection's last Range assert_equals: After mutating the first added Range, startContainer of the Selection's last Range must match the added Range expected Text node "Äb̈c̈d̈ëf̈g̈ḧ
" but got Text node "Qrstuvwx"
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 first added Range assert_equals: After first addRange(), after mutating the Selection's last Range, startOffset of the Selection's last Range must match the added Range expected 0 but got 6
FAIL Range 38 [paras[2].firstChild, 4, comment, 2] followed by Range 28 [paras[0].firstChild, 3, paras[3], 1]: second addRange() must do nothing assert_equals: The operation should not update anchorNode expected Text node "Qrstuvwx" but got Text node "Äb̈c̈d̈ëf̈g̈ḧ
"
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
PASS Range 38 [paras[2].firstChild, 4, comment, 2] followed by Range 29 [paras[0], 0, paras[0].firstChild, 7]: first 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]: first 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 Text node "Qrstuvwx"
FAIL Range 38 [paras[2].firstChild, 4, comment, 2] followed by Range 29 [paras[0], 0, paras[0].firstChild, 7]: first addRange() must result in the selection's last range being the same object we added assert_equals: getRangeAt(rangeCount - 1) must return the same object we added expected object "uvwxYzabcdefGhijklmn" but got object "uvwx"
FAIL Range 38 [paras[2].firstChild, 4, comment, 2] followed by Range 29 [paras[0], 0, paras[0].firstChild, 7]: modifying the first added range must modify the Selection's last Range assert_equals: After mutating the first added Range, startContainer of the Selection's last Range must match the added Range expected Text node "Äb̈c̈d̈ëf̈g̈ḧ
" but got Text node "Qrstuvwx"
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 first added Range assert_equals: After first addRange(), after mutating the Selection's last Range, startOffset of the Selection's last Range must match the added Range expected 0 but got 6
FAIL Range 38 [paras[2].firstChild, 4, comment, 2] followed by Range 29 [paras[0], 0, paras[0].firstChild, 7]: second addRange() must do nothing assert_equals: The operation should not replace a registered Range expected object "uvwx" but got object "uvwx"
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
FAIL Range 38 [paras[2].firstChild, 4, comment, 2] followed by Range 30 [testDiv, 2, paras[4], 1]: first 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 Text node "Qrstuvwx"
FAIL Range 38 [paras[2].firstChild, 4, comment, 2] followed by Range 30 [testDiv, 2, paras[4], 1]: first addRange() must result in the selection's last range being the same object we added assert_equals: getRangeAt(rangeCount - 1) must return the same object we added expected object "uvwxYzabcdefGhijklmn" but got object "uvwx"
FAIL Range 38 [paras[2].firstChild, 4, comment, 2] followed by Range 30 [testDiv, 2, paras[4], 1]: modifying the first added range must modify the Selection's last Range assert_equals: After mutating the first added Range, startContainer of the Selection's last Range must match the added Range expected Text node "Äb̈c̈d̈ëf̈g̈ḧ
" but got Text node "Qrstuvwx"
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 first added Range assert_equals: After first addRange(), after mutating the Selection's last Range, startOffset of the Selection's last Range must match the added Range expected 0 but got 6
FAIL Range 38 [paras[2].firstChild, 4, comment, 2] followed by Range 30 [testDiv, 2, paras[4], 1]: second addRange() must do nothing assert_equals: The operation should not update anchorOffset expected 4 but got 0
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
FAIL Range 38 [paras[2].firstChild, 4, comment, 2] followed by Range 31 [testDiv, 1, paras[2].firstChild, 5]: first addRange() must result in the selection's last range having the specified endpoints assert_equals: endContainer of the Selection's last Range must match the added Range expected Comment node <!--Alphabet soup?--> but got Text node "Qrstuvwx"
FAIL Range 38 [paras[2].firstChild, 4, comment, 2] followed by Range 31 [testDiv, 1, paras[2].firstChild, 5]: first addRange() must result in the selection's last range being the same object we added assert_equals: getRangeAt(rangeCount - 1) must return the same object we added expected object "uvwxYzabcdefGhijklmn" but got object "uvwx"
FAIL Range 38 [paras[2].firstChild, 4, comment, 2] followed by Range 31 [testDiv, 1, paras[2].firstChild, 5]: modifying the first added range must modify the Selection's last Range assert_equals: After mutating the first added Range, startContainer of the Selection's last Range must match the added Range expected Text node "Äb̈c̈d̈ëf̈g̈ḧ
" but got Text node "Qrstuvwx"
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 first added Range assert_equals: After first addRange(), after mutating the Selection's last Range, startOffset of the Selection's last Range must match the added Range expected 0 but got 6
FAIL Range 38 [paras[2].firstChild, 4, comment, 2] followed by Range 31 [testDiv, 1, paras[2].firstChild, 5]: second addRange() must do nothing assert_equals: The operation should not update anchorOffset expected 4 but got 0
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
FAIL Range 38 [paras[2].firstChild, 4, comment, 2] followed by Range 32 [document.documentElement, 1, document.body, 0]: first addRange() must result in the selection's last range having the specified endpoints assert_equals: endContainer of the Selection's last Range must match the added Range expected Comment node <!--Alphabet soup?--> but got Text node "Qrstuvwx"
FAIL Range 38 [paras[2].firstChild, 4, comment, 2] followed by Range 32 [document.documentElement, 1, document.body, 0]: first addRange() must result in the selection's last range being the same object we added assert_equals: getRangeAt(rangeCount - 1) must return the same object we added expected object "uvwxYzabcdefGhijklmn" but got object "uvwx"
FAIL Range 38 [paras[2].firstChild, 4, comment, 2] followed by Range 32 [document.documentElement, 1, document.body, 0]: modifying the first added range must modify the Selection's last Range assert_equals: After mutating the first added Range, startContainer of the Selection's last Range must match the added Range expected Text node "Äb̈c̈d̈ëf̈g̈ḧ
" but got Text node "Qrstuvwx"
FAIL Range 38 [paras[2].firstChild, 4, comment, 2] followed by Range 32 [document.documentElement, 1, document.body, 0]: modifying the Selection's last Range must modify the first added Range assert_equals: After first addRange(), after mutating the Selection's last Range, startOffset of the Selection's last Range must match the added Range expected 0 but got 6
FAIL Range 38 [paras[2].firstChild, 4, comment, 2] followed by Range 32 [document.documentElement, 1, document.body, 0]: second addRange() must do nothing assert_equals: The operation should not replace a registered Range expected object "uvwx" but got object "uvwx"
PASS Range 38 [paras[2].firstChild, 4, comment, 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 38 [paras[2].firstChild, 4, comment, 2] followed by Range 33 [foreignDoc.documentElement, 1, foreignDoc.body, 0]: first addRange() must result in rangeCount being 1
FAIL Range 38 [paras[2].firstChild, 4, comment, 2] followed by Range 33 [foreignDoc.documentElement, 1, foreignDoc.body, 0]: first addRange() must result in the selection's last range having the specified endpoints assert_equals: endContainer of the Selection's last Range must match the added Range expected Comment node <!--Alphabet soup?--> but got Text node "Qrstuvwx"
FAIL Range 38 [paras[2].firstChild, 4, comment, 2] followed by Range 33 [foreignDoc.documentElement, 1, foreignDoc.body, 0]: first addRange() must result in the selection's last range being the same object we added assert_equals: getRangeAt(rangeCount - 1) must return the same object we added expected object "uvwxYzabcdefGhijklmn" but got object "uvwx"
FAIL Range 38 [paras[2].firstChild, 4, comment, 2] followed by Range 33 [foreignDoc.documentElement, 1, foreignDoc.body, 0]: modifying the first added range must modify the Selection's last Range assert_equals: After mutating the first added Range, startContainer of the Selection's last Range must match the added Range expected Text node "Äb̈c̈d̈ëf̈g̈ḧ
" but got Text node "Qrstuvwx"
FAIL Range 38 [paras[2].firstChild, 4, comment, 2] followed by Range 33 [foreignDoc.documentElement, 1, foreignDoc.body, 0]: modifying the Selection's last Range must modify the first added Range assert_equals: After first addRange(), after mutating the Selection's last Range, startOffset of the Selection's last Range must match the added Range expected 0 but got 6
FAIL Range 38 [paras[2].firstChild, 4, comment, 2] followed by Range 33 [foreignDoc.documentElement, 1, foreignDoc.body, 0]: second addRange() must do nothing assert_equals: The operation should not replace a registered Range expected object "uvwx" but got object "uvwx"
PASS Range 38 [paras[2].firstChild, 4, comment, 2] followed by Range 34 [document, 0, document, 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 34 [document, 0, document, 1]: first addRange() must result in rangeCount being 1
FAIL Range 38 [paras[2].firstChild, 4, comment, 2] followed by Range 34 [document, 0, document, 1]: first 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 Text node "Qrstuvwx"
FAIL Range 38 [paras[2].firstChild, 4, comment, 2] followed by Range 34 [document, 0, document, 1]: first addRange() must result in the selection's last range being the same object we added assert_equals: getRangeAt(rangeCount - 1) must return the same object we added expected object "uvwxYzabcdefGhijklmn" but got object "uvwx"
FAIL Range 38 [paras[2].firstChild, 4, comment, 2] followed by Range 34 [document, 0, document, 1]: modifying the first added range must modify the Selection's last Range assert_equals: After mutating the first added Range, startContainer of the Selection's last Range must match the added Range expected Text node "Äb̈c̈d̈ëf̈g̈ḧ
" but got Text node "Qrstuvwx"
FAIL Range 38 [paras[2].firstChild, 4, comment, 2] followed by Range 34 [document, 0, document, 1]: modifying the Selection's last Range must modify the first added Range assert_equals: After first addRange(), after mutating the Selection's last Range, startOffset of the Selection's last Range must match the added Range expected 0 but got 6
FAIL Range 38 [paras[2].firstChild, 4, comment, 2] followed by Range 34 [document, 0, document, 1]: second addRange() must do nothing assert_equals: The operation should not replace a registered Range expected object "uvwx" but got object "uvwx"
PASS Range 38 [paras[2].firstChild, 4, comment, 2] followed by Range 35 [document, 0, document, 2]: 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 35 [document, 0, document, 2]: first addRange() must result in rangeCount being 1
FAIL Range 38 [paras[2].firstChild, 4, comment, 2] followed by Range 35 [document, 0, document, 2]: first 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 Text node "Qrstuvwx"
FAIL Range 38 [paras[2].firstChild, 4, comment, 2] followed by Range 35 [document, 0, document, 2]: first addRange() must result in the selection's last range being the same object we added assert_equals: getRangeAt(rangeCount - 1) must return the same object we added expected object "uvwxYzabcdefGhijklmn" but got object "uvwx"
FAIL Range 38 [paras[2].firstChild, 4, comment, 2] followed by Range 35 [document, 0, document, 2]: modifying the first added range must modify the Selection's last Range assert_equals: After mutating the first added Range, startContainer of the Selection's last Range must match the added Range expected Text node "Äb̈c̈d̈ëf̈g̈ḧ
" but got Text node "Qrstuvwx"
FAIL Range 38 [paras[2].firstChild, 4, comment, 2] followed by Range 35 [document, 0, document, 2]: modifying the Selection's last Range must modify the first added Range assert_equals: After first addRange(), after mutating the Selection's last Range, startOffset of the Selection's last Range must match the added Range expected 0 but got 6
FAIL Range 38 [paras[2].firstChild, 4, comment, 2] followed by Range 35 [document, 0, document, 2]: second addRange() must do nothing assert_equals: The operation should not update anchorNode expected Text node "Qrstuvwx" but got Text node "Äb̈c̈d̈ëf̈g̈ḧ
"
PASS Range 38 [paras[2].firstChild, 4, comment, 2] followed by Range 36 [document, 1, document, 2]: 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 36 [document, 1, document, 2]: first addRange() must result in rangeCount being 1
FAIL Range 38 [paras[2].firstChild, 4, comment, 2] followed by Range 36 [document, 1, document, 2]: first 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 Text node "Qrstuvwx"
FAIL Range 38 [paras[2].firstChild, 4, comment, 2] followed by Range 36 [document, 1, document, 2]: first addRange() must result in the selection's last range being the same object we added assert_equals: getRangeAt(rangeCount - 1) must return the same object we added expected object "uvwxYzabcdefGhijklmn" but got object "uvwx"
FAIL Range 38 [paras[2].firstChild, 4, comment, 2] followed by Range 36 [document, 1, document, 2]: modifying the first added range must modify the Selection's last Range assert_equals: After mutating the first added Range, startContainer of the Selection's last Range must match the added Range expected Text node "Äb̈c̈d̈ëf̈g̈ḧ
" but got Text node "Qrstuvwx"
FAIL Range 38 [paras[2].firstChild, 4, comment, 2] followed by Range 36 [document, 1, document, 2]: modifying the Selection's last Range must modify the first added Range assert_equals: After first addRange(), after mutating the Selection's last Range, startOffset of the Selection's last Range must match the added Range expected 0 but got 6
FAIL Range 38 [paras[2].firstChild, 4, comment, 2] followed by Range 36 [document, 1, document, 2]: second addRange() must do nothing assert_equals: The operation should not update anchorNode expected Text node "Qrstuvwx" but got Text node "Äb̈c̈d̈ëf̈g̈ḧ
"
PASS Range 38 [paras[2].firstChild, 4, comment, 2] followed by Range 37 [testDiv, 0, comment, 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 37 [testDiv, 0, comment, 5]: first addRange() must result in rangeCount being 1
FAIL Range 38 [paras[2].firstChild, 4, comment, 2] followed by Range 37 [testDiv, 0, comment, 5]: first 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 Text node "Qrstuvwx"
FAIL Range 38 [paras[2].firstChild, 4, comment, 2] followed by Range 37 [testDiv, 0, comment, 5]: first addRange() must result in the selection's last range being the same object we added assert_equals: getRangeAt(rangeCount - 1) must return the same object we added expected object "uvwxYzabcdefGhijklmn" but got object "uvwx"
FAIL Range 38 [paras[2].firstChild, 4, comment, 2] followed by Range 37 [testDiv, 0, comment, 5]: modifying the first added range must modify the Selection's last Range assert_equals: After mutating the first added Range, startContainer of the Selection's last Range must match the added Range expected Text node "Äb̈c̈d̈ëf̈g̈ḧ
" but got Text node "Qrstuvwx"
FAIL Range 38 [paras[2].firstChild, 4, comment, 2] followed by Range 37 [testDiv, 0, comment, 5]: modifying the Selection's last Range must modify the first added Range assert_equals: After first addRange(), after mutating the Selection's last Range, startOffset of the Selection's last Range must match the added Range expected 0 but got 6
FAIL Range 38 [paras[2].firstChild, 4, comment, 2] followed by Range 37 [testDiv, 0, comment, 5]: second addRange() must do nothing assert_equals: The operation should not update anchorNode expected Text node "Qrstuvwx" but got Text node "Äb̈c̈d̈ëf̈g̈ḧ
"
PASS Range 38 [paras[2].firstChild, 4, comment, 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 38 [paras[2].firstChild, 4, comment, 2] followed by Range 38 [paras[2].firstChild, 4, comment, 2]: first 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]: first 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 Text node "Qrstuvwx"
FAIL Range 38 [paras[2].firstChild, 4, comment, 2] followed by Range 38 [paras[2].firstChild, 4, comment, 2]: first addRange() must result in the selection's last range being the same object we added assert_equals: getRangeAt(rangeCount - 1) must return the same object we added expected object "uvwxYzabcdefGhijklmn" but got object "uvwx"
FAIL Range 38 [paras[2].firstChild, 4, comment, 2] followed by Range 38 [paras[2].firstChild, 4, comment, 2]: modifying the first added range must modify the Selection's last Range assert_equals: After mutating the first added Range, startContainer of the Selection's last Range must match the added Range expected Text node "Äb̈c̈d̈ëf̈g̈ḧ
" but got Text node "Qrstuvwx"
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 first added Range assert_equals: After first addRange(), after mutating the Selection's last Range, startOffset of the Selection's last Range must match the added Range expected 0 but got 6
FAIL Range 38 [paras[2].firstChild, 4, comment, 2] followed by Range 38 [paras[2].firstChild, 4, comment, 2]: second addRange() must do nothing assert_equals: The operation should not replace a registered Range expected object "uvwx" but got object "uvwx"
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
FAIL Range 38 [paras[2].firstChild, 4, comment, 2] followed by Range 39 [paras[3], 1, comment, 8]: first 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 Text node "Qrstuvwx"
FAIL Range 38 [paras[2].firstChild, 4, comment, 2] followed by Range 39 [paras[3], 1, comment, 8]: first addRange() must result in the selection's last range being the same object we added assert_equals: getRangeAt(rangeCount - 1) must return the same object we added expected object "uvwxYzabcdefGhijklmn" but got object "uvwx"
FAIL Range 38 [paras[2].firstChild, 4, comment, 2] followed by Range 39 [paras[3], 1, comment, 8]: modifying the first added range must modify the Selection's last Range assert_equals: After mutating the first added Range, startContainer of the Selection's last Range must match the added Range expected Text node "Äb̈c̈d̈ëf̈g̈ḧ
" but got Text node "Qrstuvwx"
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 first added Range assert_equals: After first addRange(), after mutating the Selection's last Range, startOffset of the Selection's last Range must match the added Range expected 0 but got 6
FAIL Range 38 [paras[2].firstChild, 4, comment, 2] followed by Range 39 [paras[3], 1, comment, 8]: second addRange() must do nothing assert_equals: The operation should not replace a registered Range expected object "uvwx" but got object "uvwx"
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
FAIL Range 38 [paras[2].firstChild, 4, comment, 2] followed by Range 40 [foreignDoc, 0, foreignDoc, 0]: first 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 Text node "Qrstuvwx"
FAIL Range 38 [paras[2].firstChild, 4, comment, 2] followed by Range 40 [foreignDoc, 0, foreignDoc, 0]: first addRange() must result in the selection's last range being the same object we added assert_equals: getRangeAt(rangeCount - 1) must return the same object we added expected object "uvwxYzabcdefGhijklmn" but got object "uvwx"
FAIL Range 38 [paras[2].firstChild, 4, comment, 2] followed by Range 40 [foreignDoc, 0, foreignDoc, 0]: modifying the first added range must modify the Selection's last Range assert_equals: After mutating the first added Range, startContainer of the Selection's last Range must match the added Range expected Text node "Äb̈c̈d̈ëf̈g̈ḧ
" but got Text node "Qrstuvwx"
FAIL Range 38 [paras[2].firstChild, 4, comment, 2] followed by Range 40 [foreignDoc, 0, foreignDoc, 0]: modifying the Selection's last Range must modify the first added Range assert_equals: After first addRange(), after mutating the Selection's last Range, startOffset of the Selection's last Range must match the added Range expected 0 but got 6
FAIL Range 38 [paras[2].firstChild, 4, comment, 2] followed by Range 40 [foreignDoc, 0, foreignDoc, 0]: second addRange() must do nothing assert_equals: The operation should not replace a registered Range expected object "uvwx" but got object "uvwx"
PASS Range 38 [paras[2].firstChild, 4, comment, 2] followed by Range 41 [foreignDoc, 1, foreignComment, 2]: 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 41 [foreignDoc, 1, foreignComment, 2]: first addRange() must result in rangeCount being 1
FAIL Range 38 [paras[2].firstChild, 4, comment, 2] followed by Range 41 [foreignDoc, 1, foreignComment, 2]: first 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 Text node "Qrstuvwx"
FAIL Range 38 [paras[2].firstChild, 4, comment, 2] followed by Range 41 [foreignDoc, 1, foreignComment, 2]: first addRange() must result in the selection's last range being the same object we added assert_equals: getRangeAt(rangeCount - 1) must return the same object we added expected object "uvwxYzabcdefGhijklmn" but got object "uvwx"
FAIL Range 38 [paras[2].firstChild, 4, comment, 2] followed by Range 41 [foreignDoc, 1, foreignComment, 2]: modifying the first added range must modify the Selection's last Range assert_equals: After mutating the first added Range, startContainer of the Selection's last Range must match the added Range expected Text node "Äb̈c̈d̈ëf̈g̈ḧ
" but got Text node "Qrstuvwx"
FAIL Range 38 [paras[2].firstChild, 4, comment, 2] followed by Range 41 [foreignDoc, 1, foreignComment, 2]: modifying the Selection's last Range must modify the first added Range assert_equals: After first addRange(), after mutating the Selection's last Range, startOffset of the Selection's last Range must match the added Range expected 0 but got 6
FAIL Range 38 [paras[2].firstChild, 4, comment, 2] followed by Range 41 [foreignDoc, 1, foreignComment, 2]: second addRange() must do nothing assert_equals: The operation should not replace a registered Range expected object "uvwx" but got object "uvwx"
PASS Range 38 [paras[2].firstChild, 4, comment, 2] followed by Range 42 [foreignDoc.body, 0, foreignTextNode, 36]: first addRange() must not throw exceptions or modify the range it's given
PASS Range 38 [paras[2].firstChild, 4, comment, 2] followed by Range 42 [foreignDoc.body, 0, foreignTextNode, 36]: first addRange() must result in rangeCount being 1
FAIL Range 38 [paras[2].firstChild, 4, comment, 2] followed by Range 42 [foreignDoc.body, 0, foreignTextNode, 36]: first 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 Text node "Qrstuvwx"
FAIL Range 38 [paras[2].firstChild, 4, comment, 2] followed by Range 42 [foreignDoc.body, 0, foreignTextNode, 36]: first addRange() must result in the selection's last range being the same object we added assert_equals: getRangeAt(rangeCount - 1) must return the same object we added expected object "uvwxYzabcdefGhijklmn" but got object "uvwx"
FAIL Range 38 [paras[2].firstChild, 4, comment, 2] followed by Range 42 [foreignDoc.body, 0, foreignTextNode, 36]: modifying the first added range must modify the Selection's last Range assert_equals: After mutating the first added Range, startContainer of the Selection's last Range must match the added Range expected Text node "Äb̈c̈d̈ëf̈g̈ḧ
" but got Text node "Qrstuvwx"
FAIL Range 38 [paras[2].firstChild, 4, comment, 2] followed by Range 42 [foreignDoc.body, 0, foreignTextNode, 36]: modifying the Selection's last Range must modify the first added Range assert_equals: After first addRange(), after mutating the Selection's last Range, startOffset of the Selection's last Range must match the added Range expected 0 but got 6
FAIL Range 38 [paras[2].firstChild, 4, comment, 2] followed by Range 42 [foreignDoc.body, 0, foreignTextNode, 36]: second addRange() must do nothing assert_equals: The operation should not replace a registered Range expected object "uvwx" but got object "uvwx"
PASS Range 38 [paras[2].firstChild, 4, comment, 2] followed by Range 43 [xmlDoc, 0, xmlDoc, 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 43 [xmlDoc, 0, xmlDoc, 0]: first addRange() must result in rangeCount being 1
FAIL Range 38 [paras[2].firstChild, 4, comment, 2] followed by Range 43 [xmlDoc, 0, xmlDoc, 0]: first 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 Text node "Qrstuvwx"
FAIL Range 38 [paras[2].firstChild, 4, comment, 2] followed by Range 43 [xmlDoc, 0, xmlDoc, 0]: first addRange() must result in the selection's last range being the same object we added assert_equals: getRangeAt(rangeCount - 1) must return the same object we added expected object "uvwxYzabcdefGhijklmn" but got object "uvwx"
FAIL Range 38 [paras[2].firstChild, 4, comment, 2] followed by Range 43 [xmlDoc, 0, xmlDoc, 0]: modifying the first added range must modify the Selection's last Range assert_equals: After mutating the first added Range, startContainer of the Selection's last Range must match the added Range expected Text node "Äb̈c̈d̈ëf̈g̈ḧ
" but got Text node "Qrstuvwx"
FAIL Range 38 [paras[2].firstChild, 4, comment, 2] followed by Range 43 [xmlDoc, 0, xmlDoc, 0]: modifying the Selection's last Range must modify the first added Range assert_equals: After first addRange(), after mutating the Selection's last Range, startOffset of the Selection's last Range must match the added Range expected 0 but got 6
FAIL Range 38 [paras[2].firstChild, 4, comment, 2] followed by Range 43 [xmlDoc, 0, xmlDoc, 0]: second addRange() must do nothing assert_equals: The operation should not replace a registered Range expected object "uvwx" but got object "uvwx"
PASS Range 38 [paras[2].firstChild, 4, comment, 2] followed by Range 44 [xmlDoc, 1, xmlComment, 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 44 [xmlDoc, 1, xmlComment, 0]: first addRange() must result in rangeCount being 1
FAIL Range 38 [paras[2].firstChild, 4, comment, 2] followed by Range 44 [xmlDoc, 1, xmlComment, 0]: first 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 Text node "Qrstuvwx"
FAIL Range 38 [paras[2].firstChild, 4, comment, 2] followed by Range 44 [xmlDoc, 1, xmlComment, 0]: first addRange() must result in the selection's last range being the same object we added assert_equals: getRangeAt(rangeCount - 1) must return the same object we added expected object "uvwxYzabcdefGhijklmn" but got object "uvwx"
FAIL Range 38 [paras[2].firstChild, 4, comment, 2] followed by Range 44 [xmlDoc, 1, xmlComment, 0]: modifying the first added range must modify the Selection's last Range assert_equals: After mutating the first added Range, startContainer of the Selection's last Range must match the added Range expected Text node "Äb̈c̈d̈ëf̈g̈ḧ
" but got Text node "Qrstuvwx"
FAIL Range 38 [paras[2].firstChild, 4, comment, 2] followed by Range 44 [xmlDoc, 1, xmlComment, 0]: modifying the Selection's last Range must modify the first added Range assert_equals: After first addRange(), after mutating the Selection's last Range, startOffset of the Selection's last Range must match the added Range expected 0 but got 6
FAIL Range 38 [paras[2].firstChild, 4, comment, 2] followed by Range 44 [xmlDoc, 1, xmlComment, 0]: second addRange() must do nothing assert_equals: The operation should not replace a registered Range expected object "uvwx" but got object "uvwx"
PASS Range 38 [paras[2].firstChild, 4, comment, 2] followed by Range 45 [detachedTextNode, 0, detachedTextNode, 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 45 [detachedTextNode, 0, detachedTextNode, 8]: first addRange() must result in rangeCount being 1
FAIL Range 38 [paras[2].firstChild, 4, comment, 2] followed by Range 45 [detachedTextNode, 0, detachedTextNode, 8]: first 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 Text node "Qrstuvwx"
FAIL Range 38 [paras[2].firstChild, 4, comment, 2] followed by Range 45 [detachedTextNode, 0, detachedTextNode, 8]: first addRange() must result in the selection's last range being the same object we added assert_equals: getRangeAt(rangeCount - 1) must return the same object we added expected object "uvwxYzabcdefGhijklmn" but got object "uvwx"
FAIL Range 38 [paras[2].firstChild, 4, comment, 2] followed by Range 45 [detachedTextNode, 0, detachedTextNode, 8]: modifying the first added range must modify the Selection's last Range assert_equals: After mutating the first added Range, startContainer of the Selection's last Range must match the added Range expected Text node "Äb̈c̈d̈ëf̈g̈ḧ
" but got Text node "Qrstuvwx"
FAIL Range 38 [paras[2].firstChild, 4, comment, 2] followed by Range 45 [detachedTextNode, 0, detachedTextNode, 8]: modifying the Selection's last Range must modify the first added Range assert_equals: After first addRange(), after mutating the Selection's last Range, startOffset of the Selection's last Range must match the added Range expected 0 but got 6
FAIL Range 38 [paras[2].firstChild, 4, comment, 2] followed by Range 45 [detachedTextNode, 0, detachedTextNode, 8]: second addRange() must do nothing assert_equals: The operation should not replace a registered Range expected object "uvwx" but got object "uvwx"
PASS Range 38 [paras[2].firstChild, 4, comment, 2] followed by Range 46 [detachedForeignTextNode, 7, detachedForeignTextNode, 7]: 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 46 [detachedForeignTextNode, 7, detachedForeignTextNode, 7]: first addRange() must result in rangeCount being 1
FAIL Range 38 [paras[2].firstChild, 4, comment, 2] followed by Range 46 [detachedForeignTextNode, 7, detachedForeignTextNode, 7]: first 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 Text node "Qrstuvwx"
FAIL Range 38 [paras[2].firstChild, 4, comment, 2] followed by Range 46 [detachedForeignTextNode, 7, detachedForeignTextNode, 7]: first addRange() must result in the selection's last range being the same object we added assert_equals: getRangeAt(rangeCount - 1) must return the same object we added expected object "uvwxYzabcdefGhijklmn" but got object "uvwx"
FAIL Range 38 [paras[2].firstChild, 4, comment, 2] followed by Range 46 [detachedForeignTextNode, 7, detachedForeignTextNode, 7]: modifying the first added range must modify the Selection's last Range assert_equals: After mutating the first added Range, startContainer of the Selection's last Range must match the added Range expected Text node "Äb̈c̈d̈ëf̈g̈ḧ
" but got Text node "Qrstuvwx"
FAIL Range 38 [paras[2].firstChild, 4, comment, 2] followed by Range 46 [detachedForeignTextNode, 7, detachedForeignTextNode, 7]: modifying the Selection's last Range must modify the first added Range assert_equals: After first addRange(), after mutating the Selection's last Range, startOffset of the Selection's last Range must match the added Range expected 0 but got 6
FAIL Range 38 [paras[2].firstChild, 4, comment, 2] followed by Range 46 [detachedForeignTextNode, 7, detachedForeignTextNode, 7]: second addRange() must do nothing assert_equals: The operation should not replace a registered Range expected object "uvwx" but got object "uvwx"
PASS Range 38 [paras[2].firstChild, 4, comment, 2] followed by Range 47 [detachedForeignTextNode, 0, detachedForeignTextNode, 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 47 [detachedForeignTextNode, 0, detachedForeignTextNode, 8]: first addRange() must result in rangeCount being 1
FAIL Range 38 [paras[2].firstChild, 4, comment, 2] followed by Range 47 [detachedForeignTextNode, 0, detachedForeignTextNode, 8]: first 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 Text node "Qrstuvwx"
FAIL Range 38 [paras[2].firstChild, 4, comment, 2] followed by Range 47 [detachedForeignTextNode, 0, detachedForeignTextNode, 8]: first addRange() must result in the selection's last range being the same object we added assert_equals: getRangeAt(rangeCount - 1) must return the same object we added expected object "uvwxYzabcdefGhijklmn" but got object "uvwx"
FAIL Range 38 [paras[2].firstChild, 4, comment, 2] followed by Range 47 [detachedForeignTextNode, 0, detachedForeignTextNode, 8]: modifying the first added range must modify the Selection's last Range assert_equals: After mutating the first added Range, startContainer of the Selection's last Range must match the added Range expected Text node "Äb̈c̈d̈ëf̈g̈ḧ
" but got Text node "Qrstuvwx"
FAIL Range 38 [paras[2].firstChild, 4, comment, 2] followed by Range 47 [detachedForeignTextNode, 0, detachedForeignTextNode, 8]: modifying the Selection's last Range must modify the first added Range assert_equals: After first addRange(), after mutating the Selection's last Range, startOffset of the Selection's last Range must match the added Range expected 0 but got 6
FAIL Range 38 [paras[2].firstChild, 4, comment, 2] followed by Range 47 [detachedForeignTextNode, 0, detachedForeignTextNode, 8]: second addRange() must do nothing assert_equals: The operation should not replace a registered Range expected object "uvwx" but got object "uvwx"
PASS Range 38 [paras[2].firstChild, 4, comment, 2] followed by Range 48 [detachedXmlTextNode, 7, detachedXmlTextNode, 7]: 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 48 [detachedXmlTextNode, 7, detachedXmlTextNode, 7]: first addRange() must result in rangeCount being 1
FAIL Range 38 [paras[2].firstChild, 4, comment, 2] followed by Range 48 [detachedXmlTextNode, 7, detachedXmlTextNode, 7]: first 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 Text node "Qrstuvwx"
FAIL Range 38 [paras[2].firstChild, 4, comment, 2] followed by Range 48 [detachedXmlTextNode, 7, detachedXmlTextNode, 7]: first addRange() must result in the selection's last range being the same object we added assert_equals: getRangeAt(rangeCount - 1) must return the same object we added expected object "uvwxYzabcdefGhijklmn" but got object "uvwx"
FAIL Range 38 [paras[2].firstChild, 4, comment, 2] followed by Range 48 [detachedXmlTextNode, 7, detachedXmlTextNode, 7]: modifying the first added range must modify the Selection's last Range assert_equals: After mutating the first added Range, startContainer of the Selection's last Range must match the added Range expected Text node "Äb̈c̈d̈ëf̈g̈ḧ
" but got Text node "Qrstuvwx"
FAIL Range 38 [paras[2].firstChild, 4, comment, 2] followed by Range 48 [detachedXmlTextNode, 7, detachedXmlTextNode, 7]: modifying the Selection's last Range must modify the first added Range assert_equals: After first addRange(), after mutating the Selection's last Range, startOffset of the Selection's last Range must match the added Range expected 0 but got 6
FAIL Range 38 [paras[2].firstChild, 4, comment, 2] followed by Range 48 [detachedXmlTextNode, 7, detachedXmlTextNode, 7]: second addRange() must do nothing assert_equals: The operation should not replace a registered Range expected object "uvwx" but got object "uvwx"
PASS Range 38 [paras[2].firstChild, 4, comment, 2] followed by Range 49 [detachedXmlTextNode, 0, detachedXmlTextNode, 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 49 [detachedXmlTextNode, 0, detachedXmlTextNode, 8]: first addRange() must result in rangeCount being 1
FAIL Range 38 [paras[2].firstChild, 4, comment, 2] followed by Range 49 [detachedXmlTextNode, 0, detachedXmlTextNode, 8]: first 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 Text node "Qrstuvwx"
FAIL Range 38 [paras[2].firstChild, 4, comment, 2] followed by Range 49 [detachedXmlTextNode, 0, detachedXmlTextNode, 8]: first addRange() must result in the selection's last range being the same object we added assert_equals: getRangeAt(rangeCount - 1) must return the same object we added expected object "uvwxYzabcdefGhijklmn" but got object "uvwx"
FAIL Range 38 [paras[2].firstChild, 4, comment, 2] followed by Range 49 [detachedXmlTextNode, 0, detachedXmlTextNode, 8]: modifying the first added range must modify the Selection's last Range assert_equals: After mutating the first added Range, startContainer of the Selection's last Range must match the added Range expected Text node "Äb̈c̈d̈ëf̈g̈ḧ
" but got Text node "Qrstuvwx"
FAIL Range 38 [paras[2].firstChild, 4, comment, 2] followed by Range 49 [detachedXmlTextNode, 0, detachedXmlTextNode, 8]: modifying the Selection's last Range must modify the first added Range assert_equals: After first addRange(), after mutating the Selection's last Range, startOffset of the Selection's last Range must match the added Range expected 0 but got 6
FAIL Range 38 [paras[2].firstChild, 4, comment, 2] followed by Range 49 [detachedXmlTextNode, 0, detachedXmlTextNode, 8]: second addRange() must do nothing assert_equals: The operation should not replace a registered Range expected object "uvwx" but got object "uvwx"
PASS Range 38 [paras[2].firstChild, 4, comment, 2] followed by Range 50 [detachedComment, 3, detachedComment, 4]: 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 50 [detachedComment, 3, detachedComment, 4]: first addRange() must result in rangeCount being 1
FAIL Range 38 [paras[2].firstChild, 4, comment, 2] followed by Range 50 [detachedComment, 3, detachedComment, 4]: first 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 Text node "Qrstuvwx"
FAIL Range 38 [paras[2].firstChild, 4, comment, 2] followed by Range 50 [detachedComment, 3, detachedComment, 4]: first addRange() must result in the selection's last range being the same object we added assert_equals: getRangeAt(rangeCount - 1) must return the same object we added expected object "uvwxYzabcdefGhijklmn" but got object "uvwx"
FAIL Range 38 [paras[2].firstChild, 4, comment, 2] followed by Range 50 [detachedComment, 3, detachedComment, 4]: modifying the first added range must modify the Selection's last Range assert_equals: After mutating the first added Range, startContainer of the Selection's last Range must match the added Range expected Text node "Äb̈c̈d̈ëf̈g̈ḧ
" but got Text node "Qrstuvwx"
FAIL Range 38 [paras[2].firstChild, 4, comment, 2] followed by Range 50 [detachedComment, 3, detachedComment, 4]: modifying the Selection's last Range must modify the first added Range assert_equals: After first addRange(), after mutating the Selection's last Range, startOffset of the Selection's last Range must match the added Range expected 0 but got 6
FAIL Range 38 [paras[2].firstChild, 4, comment, 2] followed by Range 50 [detachedComment, 3, detachedComment, 4]: second addRange() must do nothing assert_equals: The operation should not replace a registered Range expected object "uvwx" but got object "uvwx"
PASS Range 38 [paras[2].firstChild, 4, comment, 2] followed by Range 51 [detachedComment, 5, detachedComment, 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 51 [detachedComment, 5, detachedComment, 5]: first addRange() must result in rangeCount being 1
FAIL Range 38 [paras[2].firstChild, 4, comment, 2] followed by Range 51 [detachedComment, 5, detachedComment, 5]: first 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 Text node "Qrstuvwx"
FAIL Range 38 [paras[2].firstChild, 4, comment, 2] followed by Range 51 [detachedComment, 5, detachedComment, 5]: first addRange() must result in the selection's last range being the same object we added assert_equals: getRangeAt(rangeCount - 1) must return the same object we added expected object "uvwxYzabcdefGhijklmn" but got object "uvwx"
FAIL Range 38 [paras[2].firstChild, 4, comment, 2] followed by Range 51 [detachedComment, 5, detachedComment, 5]: modifying the first added range must modify the Selection's last Range assert_equals: After mutating the first added Range, startContainer of the Selection's last Range must match the added Range expected Text node "Äb̈c̈d̈ëf̈g̈ḧ
" but got Text node "Qrstuvwx"
FAIL Range 38 [paras[2].firstChild, 4, comment, 2] followed by Range 51 [detachedComment, 5, detachedComment, 5]: modifying the Selection's last Range must modify the first added Range assert_equals: After first addRange(), after mutating the Selection's last Range, startOffset of the Selection's last Range must match the added Range expected 0 but got 6
FAIL Range 38 [paras[2].firstChild, 4, comment, 2] followed by Range 51 [detachedComment, 5, detachedComment, 5]: second addRange() must do nothing assert_equals: The operation should not replace a registered Range expected object "uvwx" but got object "uvwx"
PASS Range 38 [paras[2].firstChild, 4, comment, 2] followed by Range 52 [detachedForeignComment, 0, detachedForeignComment, 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 52 [detachedForeignComment, 0, detachedForeignComment, 1]: first addRange() must result in rangeCount being 1
FAIL Range 38 [paras[2].firstChild, 4, comment, 2] followed by Range 52 [detachedForeignComment, 0, detachedForeignComment, 1]: first 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 Text node "Qrstuvwx"
FAIL Range 38 [paras[2].firstChild, 4, comment, 2] followed by Range 52 [detachedForeignComment, 0, detachedForeignComment, 1]: first addRange() must result in the selection's last range being the same object we added assert_equals: getRangeAt(rangeCount - 1) must return the same object we added expected object "uvwxYzabcdefGhijklmn" but got object "uvwx"
FAIL Range 38 [paras[2].firstChild, 4, comment, 2] followed by Range 52 [detachedForeignComment, 0, detachedForeignComment, 1]: modifying the first added range must modify the Selection's last Range assert_equals: After mutating the first added Range, startContainer of the Selection's last Range must match the added Range expected Text node "Äb̈c̈d̈ëf̈g̈ḧ
" but got Text node "Qrstuvwx"
FAIL Range 38 [paras[2].firstChild, 4, comment, 2] followed by Range 52 [detachedForeignComment, 0, detachedForeignComment, 1]: modifying the Selection's last Range must modify the first added Range assert_equals: After first addRange(), after mutating the Selection's last Range, startOffset of the Selection's last Range must match the added Range expected 0 but got 6
FAIL Range 38 [paras[2].firstChild, 4, comment, 2] followed by Range 52 [detachedForeignComment, 0, detachedForeignComment, 1]: second addRange() must do nothing assert_equals: The operation should not replace a registered Range expected object "uvwx" but got object "uvwx"
PASS Range 38 [paras[2].firstChild, 4, comment, 2] followed by Range 53 [detachedForeignComment, 4, detachedForeignComment, 4]: 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 53 [detachedForeignComment, 4, detachedForeignComment, 4]: first addRange() must result in rangeCount being 1
FAIL Range 38 [paras[2].firstChild, 4, comment, 2] followed by Range 53 [detachedForeignComment, 4, detachedForeignComment, 4]: first 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 Text node "Qrstuvwx"
FAIL Range 38 [paras[2].firstChild, 4, comment, 2] followed by Range 53 [detachedForeignComment, 4, detachedForeignComment, 4]: first addRange() must result in the selection's last range being the same object we added assert_equals: getRangeAt(rangeCount - 1) must return the same object we added expected object "uvwxYzabcdefGhijklmn" but got object "uvwx"
FAIL Range 38 [paras[2].firstChild, 4, comment, 2] followed by Range 53 [detachedForeignComment, 4, detachedForeignComment, 4]: modifying the first added range must modify the Selection's last Range assert_equals: After mutating the first added Range, startContainer of the Selection's last Range must match the added Range expected Text node "Äb̈c̈d̈ëf̈g̈ḧ
" but got Text node "Qrstuvwx"
FAIL Range 38 [paras[2].firstChild, 4, comment, 2] followed by Range 53 [detachedForeignComment, 4, detachedForeignComment, 4]: modifying the Selection's last Range must modify the first added Range assert_equals: After first addRange(), after mutating the Selection's last Range, startOffset of the Selection's last Range must match the added Range expected 0 but got 6
FAIL Range 38 [paras[2].firstChild, 4, comment, 2] followed by Range 53 [detachedForeignComment, 4, detachedForeignComment, 4]: second addRange() must do nothing assert_equals: The operation should not replace a registered Range expected object "uvwx" but got object "uvwx"
PASS Range 38 [paras[2].firstChild, 4, comment, 2] followed by Range 54 [detachedXmlComment, 2, detachedXmlComment, 6]: 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 54 [detachedXmlComment, 2, detachedXmlComment, 6]: first addRange() must result in rangeCount being 1
FAIL Range 38 [paras[2].firstChild, 4, comment, 2] followed by Range 54 [detachedXmlComment, 2, detachedXmlComment, 6]: first 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 Text node "Qrstuvwx"
FAIL Range 38 [paras[2].firstChild, 4, comment, 2] followed by Range 54 [detachedXmlComment, 2, detachedXmlComment, 6]: first addRange() must result in the selection's last range being the same object we added assert_equals: getRangeAt(rangeCount - 1) must return the same object we added expected object "uvwxYzabcdefGhijklmn" but got object "uvwx"
FAIL Range 38 [paras[2].firstChild, 4, comment, 2] followed by Range 54 [detachedXmlComment, 2, detachedXmlComment, 6]: modifying the first added range must modify the Selection's last Range assert_equals: After mutating the first added Range, startContainer of the Selection's last Range must match the added Range expected Text node "Äb̈c̈d̈ëf̈g̈ḧ
" but got Text node "Qrstuvwx"
FAIL Range 38 [paras[2].firstChild, 4, comment, 2] followed by Range 54 [detachedXmlComment, 2, detachedXmlComment, 6]: modifying the Selection's last Range must modify the first added Range assert_equals: After first addRange(), after mutating the Selection's last Range, startOffset of the Selection's last Range must match the added Range expected 0 but got 6
FAIL Range 38 [paras[2].firstChild, 4, comment, 2] followed by Range 54 [detachedXmlComment, 2, detachedXmlComment, 6]: second addRange() must do nothing assert_equals: The operation should not replace a registered Range expected object "uvwx" but got object "uvwx"
PASS Range 38 [paras[2].firstChild, 4, comment, 2] followed by Range 55 [docfrag, 0, docfrag, 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 55 [docfrag, 0, docfrag, 0]: first addRange() must result in rangeCount being 1
FAIL Range 38 [paras[2].firstChild, 4, comment, 2] followed by Range 55 [docfrag, 0, docfrag, 0]: first 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 Text node "Qrstuvwx"
FAIL Range 38 [paras[2].firstChild, 4, comment, 2] followed by Range 55 [docfrag, 0, docfrag, 0]: first addRange() must result in the selection's last range being the same object we added assert_equals: getRangeAt(rangeCount - 1) must return the same object we added expected object "uvwxYzabcdefGhijklmn" but got object "uvwx"
FAIL Range 38 [paras[2].firstChild, 4, comment, 2] followed by Range 55 [docfrag, 0, docfrag, 0]: modifying the first added range must modify the Selection's last Range assert_equals: After mutating the first added Range, startContainer of the Selection's last Range must match the added Range expected Text node "Äb̈c̈d̈ëf̈g̈ḧ
" but got Text node "Qrstuvwx"
FAIL Range 38 [paras[2].firstChild, 4, comment, 2] followed by Range 55 [docfrag, 0, docfrag, 0]: modifying the Selection's last Range must modify the first added Range assert_equals: After first addRange(), after mutating the Selection's last Range, startOffset of the Selection's last Range must match the added Range expected 0 but got 6
FAIL Range 38 [paras[2].firstChild, 4, comment, 2] followed by Range 55 [docfrag, 0, docfrag, 0]: second addRange() must do nothing assert_equals: The operation should not replace a registered Range expected object "uvwx" but got object "uvwx"
PASS Range 38 [paras[2].firstChild, 4, comment, 2] followed by Range 56 [foreignDocfrag, 0, foreignDocfrag, 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 56 [foreignDocfrag, 0, foreignDocfrag, 0]: first addRange() must result in rangeCount being 1
FAIL Range 38 [paras[2].firstChild, 4, comment, 2] followed by Range 56 [foreignDocfrag, 0, foreignDocfrag, 0]: first 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 Text node "Qrstuvwx"
FAIL Range 38 [paras[2].firstChild, 4, comment, 2] followed by Range 56 [foreignDocfrag, 0, foreignDocfrag, 0]: first addRange() must result in the selection's last range being the same object we added assert_equals: getRangeAt(rangeCount - 1) must return the same object we added expected object "uvwxYzabcdefGhijklmn" but got object "uvwx"
FAIL Range 38 [paras[2].firstChild, 4, comment, 2] followed by Range 56 [foreignDocfrag, 0, foreignDocfrag, 0]: modifying the first added range must modify the Selection's last Range assert_equals: After mutating the first added Range, startContainer of the Selection's last Range must match the added Range expected Text node "Äb̈c̈d̈ëf̈g̈ḧ
" but got Text node "Qrstuvwx"
FAIL Range 38 [paras[2].firstChild, 4, comment, 2] followed by Range 56 [foreignDocfrag, 0, foreignDocfrag, 0]: modifying the Selection's last Range must modify the first added Range assert_equals: After first addRange(), after mutating the Selection's last Range, startOffset of the Selection's last Range must match the added Range expected 0 but got 6
FAIL Range 38 [paras[2].firstChild, 4, comment, 2] followed by Range 56 [foreignDocfrag, 0, foreignDocfrag, 0]: second addRange() must do nothing assert_equals: The operation should not replace a registered Range expected object "uvwx" but got object "uvwx"
PASS Range 38 [paras[2].firstChild, 4, comment, 2] followed by Range 57 [xmlDocfrag, 0, xmlDocfrag, 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 57 [xmlDocfrag, 0, xmlDocfrag, 0]: first addRange() must result in rangeCount being 1
FAIL Range 38 [paras[2].firstChild, 4, comment, 2] followed by Range 57 [xmlDocfrag, 0, xmlDocfrag, 0]: first 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 Text node "Qrstuvwx"
FAIL Range 38 [paras[2].firstChild, 4, comment, 2] followed by Range 57 [xmlDocfrag, 0, xmlDocfrag, 0]: first addRange() must result in the selection's last range being the same object we added assert_equals: getRangeAt(rangeCount - 1) must return the same object we added expected object "uvwxYzabcdefGhijklmn" but got object "uvwx"
FAIL Range 38 [paras[2].firstChild, 4, comment, 2] followed by Range 57 [xmlDocfrag, 0, xmlDocfrag, 0]: modifying the first added range must modify the Selection's last Range assert_equals: After mutating the first added Range, startContainer of the Selection's last Range must match the added Range expected Text node "Äb̈c̈d̈ëf̈g̈ḧ
" but got Text node "Qrstuvwx"
FAIL Range 38 [paras[2].firstChild, 4, comment, 2] followed by Range 57 [xmlDocfrag, 0, xmlDocfrag, 0]: modifying the Selection's last Range must modify the first added Range assert_equals: After first addRange(), after mutating the Selection's last Range, startOffset of the Selection's last Range must match the added Range expected 0 but got 6
FAIL Range 38 [paras[2].firstChild, 4, comment, 2] followed by Range 57 [xmlDocfrag, 0, xmlDocfrag, 0]: second addRange() must do nothing assert_equals: The operation should not replace a registered Range expected object "uvwx" but got object "uvwx"
PASS Range 39 [paras[3], 1, comment, 8] followed by Range 0 [paras[0].firstChild, 0, paras[0].firstChild, 0]: first addRange() must not throw exceptions or modify the range it's given
PASS Range 39 [paras[3], 1, comment, 8] followed by Range 0 [paras[0].firstChild, 0, paras[0].firstChild, 0]: first addRange() must result in rangeCount being 1
FAIL Range 39 [paras[3], 1, comment, 8] followed by Range 0 [paras[0].firstChild, 0, paras[0].firstChild, 0]: first addRange() must result in the selection's last range having the specified endpoints assert_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 39 [paras[3], 1, comment, 8] followed by Range 0 [paras[0].firstChild, 0, paras[0].firstChild, 0]: first addRange() must result in the selection's last range being the same object we added assert_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 0 [paras[0].firstChild, 0, paras[0].firstChild, 0]: modifying the first added range must modify the Selection's last Range assert_equals: After mutating the first added Range, startContainer of the Selection's last Range must match the added Range expected Text node "Äb̈c̈d̈ëf̈g̈ḧ
" but got Text node "Qrstuvwx"
FAIL Range 39 [paras[3], 1, comment, 8] followed by Range 0 [paras[0].firstChild, 0, paras[0].firstChild, 0]: modifying the Selection's last Range must modify the first added Range assert_equals: After first addRange(), after mutating the Selection's last Range, startOffset of the Selection's last Range must match the added Range expected 0 but got 6
FAIL Range 39 [paras[3], 1, comment, 8] followed by Range 0 [paras[0].firstChild, 0, paras[0].firstChild, 0]: second addRange() must do nothing assert_equals: The operation should not replace a registered Range expected object "" but got object ""
PASS Range 39 [paras[3], 1, comment, 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 39 [paras[3], 1, comment, 8] followed by Range 1 [paras[0].firstChild, 0, paras[0].firstChild, 1]: first addRange() must result in rangeCount being 1
FAIL Range 39 [paras[3], 1, comment, 8] followed by Range 1 [paras[0].firstChild, 0, paras[0].firstChild, 1]: first addRange() must result in the selection's last range having the specified endpoints assert_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 39 [paras[3], 1, comment, 8] followed by Range 1 [paras[0].firstChild, 0, paras[0].firstChild, 1]: first addRange() must result in the selection's last range being the same object we added assert_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 1 [paras[0].firstChild, 0, paras[0].firstChild, 1]: modifying the first added range must modify the Selection's last Range assert_equals: After mutating the first added Range, startContainer of the Selection's last Range must match the added Range expected Text node "Äb̈c̈d̈ëf̈g̈ḧ
" but got Text node "Qrstuvwx"
FAIL Range 39 [paras[3], 1, comment, 8] followed by Range 1 [paras[0].firstChild, 0, paras[0].firstChild, 1]: modifying the Selection's last Range must modify the first added Range assert_equals: After first addRange(), after mutating the Selection's last Range, startOffset of the Selection's last Range must match the added Range expected 0 but got 6
FAIL Range 39 [paras[3], 1, comment, 8] followed by Range 1 [paras[0].firstChild, 0, paras[0].firstChild, 1]: second addRange() must do nothing assert_equals: The operation should not replace a registered Range expected object "" but got object ""
PASS Range 39 [paras[3], 1, comment, 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 39 [paras[3], 1, comment, 8] followed by Range 2 [paras[0].firstChild, 2, paras[0].firstChild, 8]: first 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]: first addRange() must result in 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 39 [paras[3], 1, comment, 8] followed by Range 2 [paras[0].firstChild, 2, paras[0].firstChild, 8]: first addRange() must result in the selection's last range being the same object we added assert_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 2 [paras[0].firstChild, 2, paras[0].firstChild, 8]: modifying the first added range must modify the Selection's last Range assert_equals: After mutating the first added Range, startContainer of the Selection's last Range must match the added Range expected Text node "Äb̈c̈d̈ëf̈g̈ḧ
" but got Text node "Qrstuvwx"
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 first added Range assert_equals: After first addRange(), after mutating the Selection's last Range, startOffset of the Selection's last Range must match the added Range expected 0 but got 6
FAIL Range 39 [paras[3], 1, comment, 8] followed by Range 2 [paras[0].firstChild, 2, paras[0].firstChild, 8]: second addRange() must do nothing assert_equals: The operation should not replace a registered Range expected object "" but got object ""
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
FAIL Range 39 [paras[3], 1, comment, 8] followed by Range 3 [paras[0].firstChild, 2, paras[0].firstChild, 9]: first addRange() must result in the selection's last range having the specified endpoints assert_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 39 [paras[3], 1, comment, 8] followed by Range 3 [paras[0].firstChild, 2, paras[0].firstChild, 9]: first addRange() must result in the selection's last range being the same object we added assert_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 3 [paras[0].firstChild, 2, paras[0].firstChild, 9]: modifying the first added range must modify the Selection's last Range assert_equals: After mutating the first added Range, startContainer of the Selection's last Range must match the added Range expected Text node "Äb̈c̈d̈ëf̈g̈ḧ
" but got Text node "Qrstuvwx"
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 first added Range assert_equals: After first addRange(), after mutating the Selection's last Range, startOffset of the Selection's last Range must match the added Range expected 0 but got 6
FAIL Range 39 [paras[3], 1, comment, 8] followed by Range 3 [paras[0].firstChild, 2, paras[0].firstChild, 9]: second addRange() must do nothing assert_equals: The operation should not replace a registered Range expected object "" but got object ""
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
FAIL Range 39 [paras[3], 1, comment, 8] followed by Range 4 [paras[1].firstChild, 0, paras[1].firstChild, 0]: first addRange() must result in the selection's last range having the specified endpoints assert_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 39 [paras[3], 1, comment, 8] followed by Range 4 [paras[1].firstChild, 0, paras[1].firstChild, 0]: first addRange() must result in the selection's last range being the same object we added assert_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 4 [paras[1].firstChild, 0, paras[1].firstChild, 0]: modifying the first added range must modify the Selection's last Range assert_equals: After mutating the first added Range, startContainer of the Selection's last Range must match the added Range expected Text node "Äb̈c̈d̈ëf̈g̈ḧ
" but got Text node "Qrstuvwx"
FAIL Range 39 [paras[3], 1, comment, 8] followed by Range 4 [paras[1].firstChild, 0, paras[1].firstChild, 0]: modifying the Selection's last Range must modify the first added Range assert_equals: After first addRange(), after mutating the Selection's last Range, startOffset of the Selection's last Range must match the added Range expected 0 but got 6
FAIL Range 39 [paras[3], 1, comment, 8] followed by Range 4 [paras[1].firstChild, 0, paras[1].firstChild, 0]: second addRange() must do nothing assert_equals: The operation should not replace a registered Range expected object "" but got object ""
PASS Range 39 [paras[3], 1, comment, 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 39 [paras[3], 1, comment, 8] followed by Range 5 [paras[1].firstChild, 0, paras[1].firstChild, 1]: first addRange() must result in rangeCount being 1
FAIL Range 39 [paras[3], 1, comment, 8] followed by Range 5 [paras[1].firstChild, 0, paras[1].firstChild, 1]: first addRange() must result in the selection's last range having the specified endpoints assert_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 39 [paras[3], 1, comment, 8] followed by Range 5 [paras[1].firstChild, 0, paras[1].firstChild, 1]: first addRange() must result in the selection's last range being the same object we added assert_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 5 [paras[1].firstChild, 0, paras[1].firstChild, 1]: modifying the first added range must modify the Selection's last Range assert_equals: After mutating the first added Range, startContainer of the Selection's last Range must match the added Range expected Text node "Äb̈c̈d̈ëf̈g̈ḧ
" but got Text node "Qrstuvwx"
FAIL Range 39 [paras[3], 1, comment, 8] followed by Range 5 [paras[1].firstChild, 0, paras[1].firstChild, 1]: modifying the Selection's last Range must modify the first added Range assert_equals: After first addRange(), after mutating the Selection's last Range, startOffset of the Selection's last Range must match the added Range expected 0 but got 6
FAIL Range 39 [paras[3], 1, comment, 8] followed by Range 5 [paras[1].firstChild, 0, paras[1].firstChild, 1]: second addRange() must do nothing assert_equals: The operation should not replace a registered Range expected object "" but got object ""
PASS Range 39 [paras[3], 1, comment, 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 39 [paras[3], 1, comment, 8] followed by Range 6 [paras[1].firstChild, 2, paras[1].firstChild, 8]: first addRange() must result in rangeCount being 1
FAIL Range 39 [paras[3], 1, comment, 8] followed by Range 6 [paras[1].firstChild, 2, paras[1].firstChild, 8]: first addRange() must result in the selection's last range having the specified endpoints assert_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 39 [paras[3], 1, comment, 8] followed by Range 6 [paras[1].firstChild, 2, paras[1].firstChild, 8]: first addRange() must result in the selection's last range being the same object we added assert_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 6 [paras[1].firstChild, 2, paras[1].firstChild, 8]: modifying the first added range must modify the Selection's last Range assert_equals: After mutating the first added Range, startContainer of the Selection's last Range must match the added Range expected Text node "Äb̈c̈d̈ëf̈g̈ḧ
" but got Text node "Qrstuvwx"
FAIL Range 39 [paras[3], 1, comment, 8] followed by Range 6 [paras[1].firstChild, 2, paras[1].firstChild, 8]: modifying the Selection's last Range must modify the first added Range assert_equals: After first addRange(), after mutating the Selection's last Range, startOffset of the Selection's last Range must match the added Range expected 0 but got 6
FAIL Range 39 [paras[3], 1, comment, 8] followed by Range 6 [paras[1].firstChild, 2, paras[1].firstChild, 8]: second addRange() must do nothing assert_equals: The operation should not replace a registered Range expected object "" but got object ""
PASS Range 39 [paras[3], 1, comment, 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 39 [paras[3], 1, comment, 8] followed by Range 7 [paras[1].firstChild, 2, paras[1].firstChild, 9]: first addRange() must result in rangeCount being 1
FAIL Range 39 [paras[3], 1, comment, 8] followed by Range 7 [paras[1].firstChild, 2, paras[1].firstChild, 9]: first addRange() must result in the selection's last range having the specified endpoints assert_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 39 [paras[3], 1, comment, 8] followed by Range 7 [paras[1].firstChild, 2, paras[1].firstChild, 9]: first addRange() must result in the selection's last range being the same object we added assert_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 7 [paras[1].firstChild, 2, paras[1].firstChild, 9]: modifying the first added range must modify the Selection's last Range assert_equals: After mutating the first added Range, startContainer of the Selection's last Range must match the added Range expected Text node "Äb̈c̈d̈ëf̈g̈ḧ
" but got Text node "Qrstuvwx"
FAIL Range 39 [paras[3], 1, comment, 8] followed by Range 7 [paras[1].firstChild, 2, paras[1].firstChild, 9]: modifying the Selection's last Range must modify the first added Range assert_equals: After first addRange(), after mutating the Selection's last Range, startOffset of the Selection's last Range must match the added Range expected 0 but got 6
FAIL Range 39 [paras[3], 1, comment, 8] followed by Range 7 [paras[1].firstChild, 2, paras[1].firstChild, 9]: second addRange() must do nothing assert_equals: The operation should not replace a registered Range expected object "" but got object ""
PASS Range 39 [paras[3], 1, comment, 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 39 [paras[3], 1, comment, 8] followed by Range 8 [detachedPara1.firstChild, 0, detachedPara1.firstChild, 0]: first addRange() must result in rangeCount being 1
FAIL Range 39 [paras[3], 1, comment, 8] followed by Range 8 [detachedPara1.firstChild, 0, detachedPara1.firstChild, 0]: first addRange() must result in the selection's last range having the specified endpoints assert_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 39 [paras[3], 1, comment, 8] followed by Range 8 [detachedPara1.firstChild, 0, detachedPara1.firstChild, 0]: first addRange() must result in the selection's last range being the same object we added assert_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 8 [detachedPara1.firstChild, 0, detachedPara1.firstChild, 0]: modifying the first added range must modify the Selection's last Range assert_equals: After mutating the first added Range, startContainer of the Selection's last Range must match the added Range expected Text node "Äb̈c̈d̈ëf̈g̈ḧ
" but got Text node "Qrstuvwx"
FAIL Range 39 [paras[3], 1, comment, 8] followed by Range 8 [detachedPara1.firstChild, 0, detachedPara1.firstChild, 0]: modifying the Selection's last Range must modify the first added Range assert_equals: After first addRange(), after mutating the Selection's last Range, startOffset of the Selection's last Range must match the added Range expected 0 but got 6
FAIL Range 39 [paras[3], 1, comment, 8] followed by Range 8 [detachedPara1.firstChild, 0, detachedPara1.firstChild, 0]: second addRange() must do nothing assert_equals: The operation should not replace a registered Range expected object "" but got object ""
PASS Range 39 [paras[3], 1, comment, 8] followed by Range 9 [detachedPara1.firstChild, 0, detachedPara1.firstChild, 1]: first addRange() must not throw exceptions or modify the range it's given
PASS Range 39 [paras[3], 1, comment, 8] followed by Range 9 [detachedPara1.firstChild, 0, detachedPara1.firstChild, 1]: first addRange() must result in rangeCount being 1
FAIL Range 39 [paras[3], 1, comment, 8] followed by Range 9 [detachedPara1.firstChild, 0, detachedPara1.firstChild, 1]: first addRange() must result in the selection's last range having the specified endpoints assert_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 39 [paras[3], 1, comment, 8] followed by Range 9 [detachedPara1.firstChild, 0, detachedPara1.firstChild, 1]: first addRange() must result in the selection's last range being the same object we added assert_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 9 [detachedPara1.firstChild, 0, detachedPara1.firstChild, 1]: modifying the first added range must modify the Selection's last Range assert_equals: After mutating the first added Range, startContainer of the Selection's last Range must match the added Range expected Text node "Äb̈c̈d̈ëf̈g̈ḧ
" but got Text node "Qrstuvwx"
FAIL Range 39 [paras[3], 1, comment, 8] followed by Range 9 [detachedPara1.firstChild, 0, detachedPara1.firstChild, 1]: modifying the Selection's last Range must modify the first added Range assert_equals: After first addRange(), after mutating the Selection's last Range, startOffset of the Selection's last Range must match the added Range expected 0 but got 6
FAIL Range 39 [paras[3], 1, comment, 8] followed by Range 9 [detachedPara1.firstChild, 0, detachedPara1.firstChild, 1]: second addRange() must do nothing assert_equals: The operation should not replace a registered Range expected object "" but got object ""
PASS Range 39 [paras[3], 1, comment, 8] followed by Range 10 [detachedPara1.firstChild, 2, detachedPara1.firstChild, 8]: first addRange() must not throw exceptions or modify the range it's given
PASS Range 39 [paras[3], 1, comment, 8] followed by Range 10 [detachedPara1.firstChild, 2, detachedPara1.firstChild, 8]: first addRange() must result in rangeCount being 1
FAIL Range 39 [paras[3], 1, comment, 8] followed by Range 10 [detachedPara1.firstChild, 2, detachedPara1.firstChild, 8]: first addRange() must result in the selection's last range having the specified endpoints assert_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 39 [paras[3], 1, comment, 8] followed by Range 10 [detachedPara1.firstChild, 2, detachedPara1.firstChild, 8]: first addRange() must result in the selection's last range being the same object we added assert_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 10 [detachedPara1.firstChild, 2, detachedPara1.firstChild, 8]: modifying the first added range must modify the Selection's last Range assert_equals: After mutating the first added Range, startContainer of the Selection's last Range must match the added Range expected Text node "Äb̈c̈d̈ëf̈g̈ḧ
" but got Text node "Qrstuvwx"
FAIL Range 39 [paras[3], 1, comment, 8] followed by Range 10 [detachedPara1.firstChild, 2, detachedPara1.firstChild, 8]: modifying the Selection's last Range must modify the first added Range assert_equals: After first addRange(), after mutating the Selection's last Range, startOffset of the Selection's last Range must match the added Range expected 0 but got 6
FAIL Range 39 [paras[3], 1, comment, 8] followed by Range 10 [detachedPara1.firstChild, 2, detachedPara1.firstChild, 8]: second addRange() must do nothing assert_equals: The operation should not replace a registered Range expected object "" but got object ""
PASS Range 39 [paras[3], 1, comment, 8] followed by Range 11 [foreignPara1.firstChild, 0, foreignPara1.firstChild, 0]: first addRange() must not throw exceptions or modify the range it's given
PASS Range 39 [paras[3], 1, comment, 8] followed by Range 11 [foreignPara1.firstChild, 0, foreignPara1.firstChild, 0]: first addRange() must result in rangeCount being 1
FAIL Range 39 [paras[3], 1, comment, 8] followed by Range 11 [foreignPara1.firstChild, 0, foreignPara1.firstChild, 0]: first addRange() must result in the selection's last range having the specified endpoints assert_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 39 [paras[3], 1, comment, 8] followed by Range 11 [foreignPara1.firstChild, 0, foreignPara1.firstChild, 0]: first addRange() must result in the selection's last range being the same object we added assert_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 11 [foreignPara1.firstChild, 0, foreignPara1.firstChild, 0]: modifying the first added range must modify the Selection's last Range assert_equals: After mutating the first added Range, startContainer of the Selection's last Range must match the added Range expected Text node "Äb̈c̈d̈ëf̈g̈ḧ
" but got Text node "Qrstuvwx"
FAIL Range 39 [paras[3], 1, comment, 8] followed by Range 11 [foreignPara1.firstChild, 0, foreignPara1.firstChild, 0]: modifying the Selection's last Range must modify the first added Range assert_equals: After first addRange(), after mutating the Selection's last Range, startOffset of the Selection's last Range must match the added Range expected 0 but got 6
FAIL Range 39 [paras[3], 1, comment, 8] followed by Range 11 [foreignPara1.firstChild, 0, foreignPara1.firstChild, 0]: second addRange() must do nothing assert_equals: The operation should not replace a registered Range expected object "" but got object ""
PASS Range 39 [paras[3], 1, comment, 8] followed by Range 12 [foreignPara1.firstChild, 0, foreignPara1.firstChild, 1]: first addRange() must not throw exceptions or modify the range it's given
PASS Range 39 [paras[3], 1, comment, 8] followed by Range 12 [foreignPara1.firstChild, 0, foreignPara1.firstChild, 1]: first addRange() must result in rangeCount being 1
FAIL Range 39 [paras[3], 1, comment, 8] followed by Range 12 [foreignPara1.firstChild, 0, foreignPara1.firstChild, 1]: first addRange() must result in the selection's last range having the specified endpoints assert_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 39 [paras[3], 1, comment, 8] followed by Range 12 [foreignPara1.firstChild, 0, foreignPara1.firstChild, 1]: first addRange() must result in the selection's last range being the same object we added assert_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 12 [foreignPara1.firstChild, 0, foreignPara1.firstChild, 1]: modifying the first added range must modify the Selection's last Range assert_equals: After mutating the first added Range, startContainer of the Selection's last Range must match the added Range expected Text node "Äb̈c̈d̈ëf̈g̈ḧ
" but got Text node "Qrstuvwx"
FAIL Range 39 [paras[3], 1, comment, 8] followed by Range 12 [foreignPara1.firstChild, 0, foreignPara1.firstChild, 1]: modifying the Selection's last Range must modify the first added Range assert_equals: After first addRange(), after mutating the Selection's last Range, startOffset of the Selection's last Range must match the added Range expected 0 but got 6
FAIL Range 39 [paras[3], 1, comment, 8] followed by Range 12 [foreignPara1.firstChild, 0, foreignPara1.firstChild, 1]: second addRange() must do nothing assert_equals: The operation should not replace a registered Range expected object "" but got object ""
PASS Range 39 [paras[3], 1, comment, 8] followed by Range 13 [foreignPara1.firstChild, 2, foreignPara1.firstChild, 8]: first addRange() must not throw exceptions or modify the range it's given
PASS Range 39 [paras[3], 1, comment, 8] followed by Range 13 [foreignPara1.firstChild, 2, foreignPara1.firstChild, 8]: first addRange() must result in rangeCount being 1
FAIL Range 39 [paras[3], 1, comment, 8] followed by Range 13 [foreignPara1.firstChild, 2, foreignPara1.firstChild, 8]: first addRange() must result in the selection's last range having the specified endpoints assert_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 39 [paras[3], 1, comment, 8] followed by Range 13 [foreignPara1.firstChild, 2, foreignPara1.firstChild, 8]: first addRange() must result in the selection's last range being the same object we added assert_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 13 [foreignPara1.firstChild, 2, foreignPara1.firstChild, 8]: modifying the first added range must modify the Selection's last Range assert_equals: After mutating the first added Range, startContainer of the Selection's last Range must match the added Range expected Text node "Äb̈c̈d̈ëf̈g̈ḧ
" but got Text node "Qrstuvwx"
FAIL Range 39 [paras[3], 1, comment, 8] followed by Range 13 [foreignPara1.firstChild, 2, foreignPara1.firstChild, 8]: modifying the Selection's last Range must modify the first added Range assert_equals: After first addRange(), after mutating the Selection's last Range, startOffset of the Selection's last Range must match the added Range expected 0 but got 6
FAIL Range 39 [paras[3], 1, comment, 8] followed by Range 13 [foreignPara1.firstChild, 2, foreignPara1.firstChild, 8]: second addRange() must do nothing assert_equals: The operation should not replace a registered Range expected object "" but got object ""
PASS Range 39 [paras[3], 1, comment, 8] followed by Range 14 [document.documentElement, 0, document.documentElement, 1]: first addRange() must not throw exceptions or modify the range it's given
PASS Range 39 [paras[3], 1, comment, 8] followed by Range 14 [document.documentElement, 0, document.documentElement, 1]: first addRange() must result in rangeCount being 1
FAIL Range 39 [paras[3], 1, comment, 8] followed by Range 14 [document.documentElement, 0, document.documentElement, 1]: first addRange() must result in the selection's last range having the specified endpoints assert_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 39 [paras[3], 1, comment, 8] followed by Range 14 [document.documentElement, 0, document.documentElement, 1]: first addRange() must result in the selection's last range being the same object we added assert_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 14 [document.documentElement, 0, document.documentElement, 1]: modifying the first added range must modify the Selection's last Range assert_equals: After mutating the first added Range, startContainer of the Selection's last Range must match the added Range expected Text node "Äb̈c̈d̈ëf̈g̈ḧ
" but got Text node "Qrstuvwx"
FAIL Range 39 [paras[3], 1, comment, 8] followed by Range 14 [document.documentElement, 0, document.documentElement, 1]: modifying the Selection's last Range must modify the first added Range assert_equals: After first addRange(), after mutating the Selection's last Range, startOffset of the Selection's last Range must match the added Range expected 0 but got 6
FAIL Range 39 [paras[3], 1, comment, 8] followed by Range 14 [document.documentElement, 0, document.documentElement, 1]: second addRange() must do nothing assert_equals: The operation should not replace a registered Range expected object "" but got object ""
PASS Range 39 [paras[3], 1, comment, 8] 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 39 [paras[3], 1, comment, 8] followed by Range 15 [document.documentElement, 0, document.documentElement, 2]: first addRange() must result in rangeCount being 1
FAIL Range 39 [paras[3], 1, comment, 8] followed by Range 15 [document.documentElement, 0, document.documentElement, 2]: first addRange() must result in the selection's last range having the specified endpoints assert_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 39 [paras[3], 1, comment, 8] followed by Range 15 [document.documentElement, 0, document.documentElement, 2]: first addRange() must result in the selection's last range being the same object we added assert_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 15 [document.documentElement, 0, document.documentElement, 2]: modifying the first added range must modify the Selection's last Range assert_equals: After mutating the first added Range, startContainer of the Selection's last Range must match the added Range expected Text node "Äb̈c̈d̈ëf̈g̈ḧ
" but got Text node "Qrstuvwx"
FAIL Range 39 [paras[3], 1, comment, 8] followed by Range 15 [document.documentElement, 0, document.documentElement, 2]: modifying the Selection's last Range must modify the first added Range assert_equals: After first addRange(), after mutating the Selection's last Range, startOffset of the Selection's last Range must match the added Range expected 0 but got 6
FAIL Range 39 [paras[3], 1, comment, 8] followed by Range 15 [document.documentElement, 0, document.documentElement, 2]: second addRange() must do nothing assert_equals: The operation should not update anchorNode expected Text node "Qrstuvwx" but got Text node "Äb̈c̈d̈ëf̈g̈ḧ
"
PASS Range 39 [paras[3], 1, comment, 8] 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 39 [paras[3], 1, comment, 8] followed by Range 16 [document.documentElement, 1, document.documentElement, 2]: first addRange() must result in rangeCount being 1
FAIL Range 39 [paras[3], 1, comment, 8] followed by Range 16 [document.documentElement, 1, document.documentElement, 2]: first addRange() must result in the selection's last range having the specified endpoints assert_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 39 [paras[3], 1, comment, 8] followed by Range 16 [document.documentElement, 1, document.documentElement, 2]: first addRange() must result in the selection's last range being the same object we added assert_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 16 [document.documentElement, 1, document.documentElement, 2]: modifying the first added range must modify the Selection's last Range assert_equals: After mutating the first added Range, startContainer of the Selection's last Range must match the added Range expected Text node "Äb̈c̈d̈ëf̈g̈ḧ
" but got Text node "Qrstuvwx"
FAIL Range 39 [paras[3], 1, comment, 8] followed by Range 16 [document.documentElement, 1, document.documentElement, 2]: modifying the Selection's last Range must modify the first added Range assert_equals: After first addRange(), after mutating the Selection's last Range, startOffset of the Selection's last Range must match the added Range expected 0 but got 6
FAIL Range 39 [paras[3], 1, comment, 8] followed by Range 16 [document.documentElement, 1, document.documentElement, 2]: second addRange() must do nothing assert_equals: The operation should not update anchorNode expected Text node "Qrstuvwx" but got Text node "Äb̈c̈d̈ëf̈g̈ḧ
"
PASS Range 39 [paras[3], 1, comment, 8] 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 39 [paras[3], 1, comment, 8] followed by Range 17 [document.head, 1, document.head, 1]: first addRange() must result in rangeCount being 1
FAIL Range 39 [paras[3], 1, comment, 8] followed by Range 17 [document.head, 1, document.head, 1]: first addRange() must result in the selection's last range having the specified endpoints assert_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 39 [paras[3], 1, comment, 8] followed by Range 17 [document.head, 1, document.head, 1]: first addRange() must result in the selection's last range being the same object we added assert_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 17 [document.head, 1, document.head, 1]: modifying the first added range must modify the Selection's last Range assert_equals: After mutating the first added Range, startContainer of the Selection's last Range must match the added Range expected Text node "Äb̈c̈d̈ëf̈g̈ḧ
" but got Text node "Qrstuvwx"
FAIL Range 39 [paras[3], 1, comment, 8] followed by Range 17 [document.head, 1, document.head, 1]: modifying the Selection's last Range must modify the first added Range assert_equals: After first addRange(), after mutating the Selection's last Range, startOffset of the Selection's last Range must match the added Range expected 0 but got 6
FAIL Range 39 [paras[3], 1, comment, 8] followed by Range 17 [document.head, 1, document.head, 1]: second addRange() must do nothing assert_equals: The operation should not replace a registered Range expected object "" but got object ""
PASS Range 39 [paras[3], 1, comment, 8] 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 39 [paras[3], 1, comment, 8] followed by Range 18 [document.body, 0, document.body, 1]: first addRange() must result in rangeCount being 1
FAIL Range 39 [paras[3], 1, comment, 8] followed by Range 18 [document.body, 0, document.body, 1]: first addRange() must result in the selection's last range having the specified endpoints assert_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 39 [paras[3], 1, comment, 8] followed by Range 18 [document.body, 0, document.body, 1]: first addRange() must result in the selection's last range being the same object we added assert_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 18 [document.body, 0, document.body, 1]: modifying the first added range must modify the Selection's last Range assert_equals: After mutating the first added Range, startContainer of the Selection's last Range must match the added Range expected Text node "Äb̈c̈d̈ëf̈g̈ḧ
" but got Text node "Qrstuvwx"
FAIL Range 39 [paras[3], 1, comment, 8] followed by Range 18 [document.body, 0, document.body, 1]: modifying the Selection's last Range must modify the first added Range assert_equals: After first addRange(), after mutating the Selection's last Range, startOffset of the Selection's last Range must match the added Range expected 0 but got 6
FAIL Range 39 [paras[3], 1, comment, 8] followed by Range 18 [document.body, 0, document.body, 1]: second addRange() must do nothing assert_equals: The operation should not update anchorNode expected Text node "Qrstuvwx" but got Text node "Äb̈c̈d̈ëf̈g̈ḧ
"
PASS Range 39 [paras[3], 1, comment, 8] 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 39 [paras[3], 1, comment, 8] followed by Range 19 [foreignDoc.documentElement, 0, foreignDoc.documentElement, 1]: first addRange() must result in rangeCount being 1
FAIL Range 39 [paras[3], 1, comment, 8] followed by Range 19 [foreignDoc.documentElement, 0, foreignDoc.documentElement, 1]: first addRange() must result in the selection's last range having the specified endpoints assert_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 39 [paras[3], 1, comment, 8] followed by Range 19 [foreignDoc.documentElement, 0, foreignDoc.documentElement, 1]: first addRange() must result in the selection's last range being the same object we added assert_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 19 [foreignDoc.documentElement, 0, foreignDoc.documentElement, 1]: modifying the first added range must modify the Selection's last Range assert_equals: After mutating the first added Range, startContainer of the Selection's last Range must match the added Range expected Text node "Äb̈c̈d̈ëf̈g̈ḧ
" but got Text node "Qrstuvwx"
FAIL Range 39 [paras[3], 1, comment, 8] followed by Range 19 [foreignDoc.documentElement, 0, foreignDoc.documentElement, 1]: modifying the Selection's last Range must modify the first added Range assert_equals: After first addRange(), after mutating the Selection's last Range, startOffset of the Selection's last Range must match the added Range expected 0 but got 6
FAIL Range 39 [paras[3], 1, comment, 8] followed by Range 19 [foreignDoc.documentElement, 0, foreignDoc.documentElement, 1]: second addRange() must do nothing assert_equals: The operation should not replace a registered Range expected object "" but got object ""
PASS Range 39 [paras[3], 1, comment, 8] followed by Range 20 [foreignDoc.head, 1, foreignDoc.head, 1]: first addRange() must not throw exceptions or modify the range it's given
PASS Range 39 [paras[3], 1, comment, 8] followed by Range 20 [foreignDoc.head, 1, foreignDoc.head, 1]: first addRange() must result in rangeCount being 1
FAIL Range 39 [paras[3], 1, comment, 8] followed by Range 20 [foreignDoc.head, 1, foreignDoc.head, 1]: first addRange() must result in the selection's last range having the specified endpoints assert_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 39 [paras[3], 1, comment, 8] followed by Range 20 [foreignDoc.head, 1, foreignDoc.head, 1]: first addRange() must result in the selection's last range being the same object we added assert_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 20 [foreignDoc.head, 1, foreignDoc.head, 1]: modifying the first added range must modify the Selection's last Range assert_equals: After mutating the first added Range, startContainer of the Selection's last Range must match the added Range expected Text node "Äb̈c̈d̈ëf̈g̈ḧ
" but got Text node "Qrstuvwx"
FAIL Range 39 [paras[3], 1, comment, 8] followed by Range 20 [foreignDoc.head, 1, foreignDoc.head, 1]: modifying the Selection's last Range must modify the first added Range assert_equals: After first addRange(), after mutating the Selection's last Range, startOffset of the Selection's last Range must match the added Range expected 0 but got 6
FAIL Range 39 [paras[3], 1, comment, 8] followed by Range 20 [foreignDoc.head, 1, foreignDoc.head, 1]: second addRange() must do nothing assert_equals: The operation should not replace a registered Range expected object "" but got object ""
PASS Range 39 [paras[3], 1, comment, 8] followed by Range 21 [foreignDoc.body, 0, foreignDoc.body, 0]: first addRange() must not throw exceptions or modify the range it's given
PASS Range 39 [paras[3], 1, comment, 8] followed by Range 21 [foreignDoc.body, 0, foreignDoc.body, 0]: first addRange() must result in rangeCount being 1
FAIL Range 39 [paras[3], 1, comment, 8] followed by Range 21 [foreignDoc.body, 0, foreignDoc.body, 0]: first addRange() must result in the selection's last range having the specified endpoints assert_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 39 [paras[3], 1, comment, 8] followed by Range 21 [foreignDoc.body, 0, foreignDoc.body, 0]: first addRange() must result in the selection's last range being the same object we added assert_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 21 [foreignDoc.body, 0, foreignDoc.body, 0]: modifying the first added range must modify the Selection's last Range assert_equals: After mutating the first added Range, startContainer of the Selection's last Range must match the added Range expected Text node "Äb̈c̈d̈ëf̈g̈ḧ
" but got Text node "Qrstuvwx"
FAIL Range 39 [paras[3], 1, comment, 8] followed by Range 21 [foreignDoc.body, 0, foreignDoc.body, 0]: modifying the Selection's last Range must modify the first added Range assert_equals: After first addRange(), after mutating the Selection's last Range, startOffset of the Selection's last Range must match the added Range expected 0 but got 6
FAIL Range 39 [paras[3], 1, comment, 8] followed by Range 21 [foreignDoc.body, 0, foreignDoc.body, 0]: second addRange() must do nothing assert_equals: The operation should not replace a registered Range expected object "" but got object ""
PASS Range 39 [paras[3], 1, comment, 8] followed by Range 22 [paras[0], 0, paras[0], 0]: first addRange() must not throw exceptions or modify the range it's given
PASS Range 39 [paras[3], 1, comment, 8] followed by Range 22 [paras[0], 0, paras[0], 0]: first addRange() must result in rangeCount being 1
FAIL Range 39 [paras[3], 1, comment, 8] followed by Range 22 [paras[0], 0, paras[0], 0]: first addRange() must result in the selection's last range having the specified endpoints assert_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 39 [paras[3], 1, comment, 8] followed by Range 22 [paras[0], 0, paras[0], 0]: first addRange() must result in the selection's last range being the same object we added assert_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 22 [paras[0], 0, paras[0], 0]: modifying the first added range must modify the Selection's last Range assert_equals: After mutating the first added Range, startContainer of the Selection's last Range must match the added Range expected Text node "Äb̈c̈d̈ëf̈g̈ḧ
" but got Text node "Qrstuvwx"
FAIL Range 39 [paras[3], 1, comment, 8] followed by Range 22 [paras[0], 0, paras[0], 0]: modifying the Selection's last Range must modify the first added Range assert_equals: After first addRange(), after mutating the Selection's last Range, startOffset of the Selection's last Range must match the added Range expected 0 but got 6
FAIL Range 39 [paras[3], 1, comment, 8] followed by Range 22 [paras[0], 0, paras[0], 0]: second addRange() must do nothing assert_equals: The operation should not replace a registered Range expected object "" but got object ""
PASS Range 39 [paras[3], 1, comment, 8] 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 39 [paras[3], 1, comment, 8] followed by Range 23 [paras[0], 0, paras[0], 1]: first 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]: first addRange() must result in 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 39 [paras[3], 1, comment, 8] followed by Range 23 [paras[0], 0, paras[0], 1]: first addRange() must result in the selection's last range being the same object we added assert_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 23 [paras[0], 0, paras[0], 1]: modifying the first added range must modify the Selection's last Range assert_equals: After mutating the first added Range, startContainer of the Selection's last Range must match the added Range expected Text node "Äb̈c̈d̈ëf̈g̈ḧ
" but got Text node "Qrstuvwx"
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 first added Range assert_equals: After first addRange(), after mutating the Selection's last Range, startOffset of the Selection's last Range must match the added Range expected 0 but got 6
FAIL Range 39 [paras[3], 1, comment, 8] followed by Range 23 [paras[0], 0, paras[0], 1]: second addRange() must do nothing assert_equals: The operation should not replace a registered Range expected object "" but got object ""
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
FAIL Range 39 [paras[3], 1, comment, 8] followed by Range 24 [detachedPara1, 0, detachedPara1, 0]: first addRange() must result in 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 39 [paras[3], 1, comment, 8] followed by Range 24 [detachedPara1, 0, detachedPara1, 0]: first addRange() must result in the selection's last range being the same object we added assert_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 24 [detachedPara1, 0, detachedPara1, 0]: modifying the first added range must modify the Selection's last Range assert_equals: After mutating the first added Range, startContainer of the Selection's last Range must match the added Range expected Text node "Äb̈c̈d̈ëf̈g̈ḧ
" but got Text node "Qrstuvwx"
FAIL Range 39 [paras[3], 1, comment, 8] followed by Range 24 [detachedPara1, 0, detachedPara1, 0]: modifying the Selection's last Range must modify the first added Range assert_equals: After first addRange(), after mutating the Selection's last Range, startOffset of the Selection's last Range must match the added Range expected 0 but got 6
FAIL Range 39 [paras[3], 1, comment, 8] followed by Range 24 [detachedPara1, 0, detachedPara1, 0]: second addRange() must do nothing assert_equals: The operation should not replace a registered Range expected object "" but got object ""
PASS Range 39 [paras[3], 1, comment, 8] followed by Range 25 [detachedPara1, 0, detachedPara1, 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 25 [detachedPara1, 0, detachedPara1, 1]: first addRange() must result in rangeCount being 1
FAIL Range 39 [paras[3], 1, comment, 8] followed by Range 25 [detachedPara1, 0, detachedPara1, 1]: first addRange() must result in 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 39 [paras[3], 1, comment, 8] followed by Range 25 [detachedPara1, 0, detachedPara1, 1]: first addRange() must result in the selection's last range being the same object we added assert_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 25 [detachedPara1, 0, detachedPara1, 1]: modifying the first added range must modify the Selection's last Range assert_equals: After mutating the first added Range, startContainer of the Selection's last Range must match the added Range expected Text node "Äb̈c̈d̈ëf̈g̈ḧ
" but got Text node "Qrstuvwx"
FAIL Range 39 [paras[3], 1, comment, 8] followed by Range 25 [detachedPara1, 0, detachedPara1, 1]: modifying the Selection's last Range must modify the first added Range assert_equals: After first addRange(), after mutating the Selection's last Range, startOffset of the Selection's last Range must match the added Range expected 0 but got 6
FAIL Range 39 [paras[3], 1, comment, 8] followed by Range 25 [detachedPara1, 0, detachedPara1, 1]: second addRange() must do nothing assert_equals: The operation should not replace a registered Range expected object "" but got object ""
PASS Range 39 [paras[3], 1, comment, 8] followed by Range 26 [paras[0].firstChild, 0, paras[1].firstChild, 0]: first addRange() must not throw exceptions or modify the range it's given
PASS Range 39 [paras[3], 1, comment, 8] followed by Range 26 [paras[0].firstChild, 0, paras[1].firstChild, 0]: first 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]: first addRange() must result in 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 39 [paras[3], 1, comment, 8] followed by Range 26 [paras[0].firstChild, 0, paras[1].firstChild, 0]: first addRange() must result in the selection's last range being the same object we added assert_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 26 [paras[0].firstChild, 0, paras[1].firstChild, 0]: modifying the first added range must modify the Selection's last Range assert_equals: After mutating the first added Range, startContainer of the Selection's last Range must match the added Range expected Text node "Äb̈c̈d̈ëf̈g̈ḧ
" but got Text node "Qrstuvwx"
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 first added Range assert_equals: After first addRange(), after mutating the Selection's last Range, startOffset of the Selection's last Range must match the added Range expected 0 but got 6
FAIL Range 39 [paras[3], 1, comment, 8] followed by Range 26 [paras[0].firstChild, 0, paras[1].firstChild, 0]: second addRange() must do nothing assert_equals: The operation should not replace a registered Range expected object "" but got object ""
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
FAIL Range 39 [paras[3], 1, comment, 8] followed by Range 27 [paras[0].firstChild, 0, paras[1].firstChild, 8]: first addRange() must result in the selection's last range having the specified endpoints assert_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 39 [paras[3], 1, comment, 8] followed by Range 27 [paras[0].firstChild, 0, paras[1].firstChild, 8]: first addRange() must result in the selection's last range being the same object we added assert_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 27 [paras[0].firstChild, 0, paras[1].firstChild, 8]: modifying the first added range must modify the Selection's last Range assert_equals: After mutating the first added Range, startContainer of the Selection's last Range must match the added Range expected Text node "Äb̈c̈d̈ëf̈g̈ḧ
" but got Text node "Qrstuvwx"
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 first added Range assert_equals: After first addRange(), after mutating the Selection's last Range, startOffset of the Selection's last Range must match the added Range expected 0 but got 6
FAIL Range 39 [paras[3], 1, comment, 8] followed by Range 27 [paras[0].firstChild, 0, paras[1].firstChild, 8]: second addRange() must do nothing assert_equals: The operation should not replace a registered Range expected object "" but got object ""
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
FAIL Range 39 [paras[3], 1, comment, 8] followed by Range 28 [paras[0].firstChild, 3, paras[3], 1]: first addRange() must result in the selection's last range having the specified endpoints assert_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 39 [paras[3], 1, comment, 8] followed by Range 28 [paras[0].firstChild, 3, paras[3], 1]: first addRange() must result in the selection's last range being the same object we added assert_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 28 [paras[0].firstChild, 3, paras[3], 1]: modifying the first added range must modify the Selection's last Range assert_equals: After mutating the first added Range, startContainer of the Selection's last Range must match the added Range expected Text node "Äb̈c̈d̈ëf̈g̈ḧ
" but got Text node "Qrstuvwx"
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 first added Range assert_equals: After first addRange(), after mutating the Selection's last Range, startOffset of the Selection's last Range must match the added Range expected 0 but got 6
FAIL Range 39 [paras[3], 1, comment, 8] followed by Range 28 [paras[0].firstChild, 3, paras[3], 1]: second addRange() must do nothing assert_equals: The operation should not update anchorNode expected Text node "Qrstuvwx" but got Text node "Äb̈c̈d̈ëf̈g̈ḧ
"
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
PASS Range 39 [paras[3], 1, comment, 8] followed by Range 29 [paras[0], 0, paras[0].firstChild, 7]: first 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]: first addRange() must result in 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 39 [paras[3], 1, comment, 8] followed by Range 29 [paras[0], 0, paras[0].firstChild, 7]: first addRange() must result in the selection's last range being the same object we added assert_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 29 [paras[0], 0, paras[0].firstChild, 7]: modifying the first added range must modify the Selection's last Range assert_equals: After mutating the first added Range, startContainer of the Selection's last Range must match the added Range expected Text node "Äb̈c̈d̈ëf̈g̈ḧ
" but got Text node "Qrstuvwx"
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 first added Range assert_equals: After first addRange(), after mutating the Selection's last Range, startOffset of the Selection's last Range must match the added Range expected 0 but got 6
FAIL Range 39 [paras[3], 1, comment, 8] followed by Range 29 [paras[0], 0, paras[0].firstChild, 7]: second addRange() must do nothing assert_equals: The operation should not replace a registered Range expected object "" but got object ""
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
FAIL Range 39 [paras[3], 1, comment, 8] followed by Range 30 [testDiv, 2, paras[4], 1]: first addRange() must result in the selection's last range having the specified endpoints assert_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 39 [paras[3], 1, comment, 8] followed by Range 30 [testDiv, 2, paras[4], 1]: first addRange() must result in the selection's last range being the same object we added assert_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 30 [testDiv, 2, paras[4], 1]: modifying the first added range must modify the Selection's last Range assert_equals: After mutating the first added Range, startContainer of the Selection's last Range must match the added Range expected Text node "Äb̈c̈d̈ëf̈g̈ḧ
" but got Text node "Qrstuvwx"
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 first added Range assert_equals: After first addRange(), after mutating the Selection's last Range, startOffset of the Selection's last Range must match the added Range expected 0 but got 6
FAIL Range 39 [paras[3], 1, comment, 8] followed by Range 30 [testDiv, 2, paras[4], 1]: second addRange() must do nothing assert_equals: The operation should not update anchorOffset expected 8 but got 0
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
FAIL Range 39 [paras[3], 1, comment, 8] followed by Range 31 [testDiv, 1, paras[2].firstChild, 5]: first addRange() must result in the selection's last range having the specified endpoints assert_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 39 [paras[3], 1, comment, 8] followed by Range 31 [testDiv, 1, paras[2].firstChild, 5]: first addRange() must result in the selection's last range being the same object we added assert_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 31 [testDiv, 1, paras[2].firstChild, 5]: modifying the first added range must modify the Selection's last Range assert_equals: After mutating the first added Range, startContainer of the Selection's last Range must match the added Range expected Text node "Äb̈c̈d̈ëf̈g̈ḧ
" but got Text node "Qrstuvwx"
FAIL Range 39 [paras[3], 1, comment, 8] followed by Range 31 [testDiv, 1, paras[2].firstChild, 5]: modifying the Selection's last Range must modify the first added Range assert_equals: After first addRange(), after mutating the Selection's last Range, startOffset of the Selection's last Range must match the added Range expected 0 but got 6
FAIL Range 39 [paras[3], 1, comment, 8] followed by Range 31 [testDiv, 1, paras[2].firstChild, 5]: second addRange() must do nothing assert_equals: The operation should not replace a registered Range expected object "" but got object ""
PASS Range 39 [paras[3], 1, comment, 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 39 [paras[3], 1, comment, 8] followed by Range 32 [document.documentElement, 1, document.body, 0]: first addRange() must result in rangeCount being 1
FAIL Range 39 [paras[3], 1, comment, 8] followed by Range 32 [document.documentElement, 1, document.body, 0]: first addRange() must result in the selection's last range having the specified endpoints assert_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 39 [paras[3], 1, comment, 8] followed by Range 32 [document.documentElement, 1, document.body, 0]: first addRange() must result in the selection's last range being the same object we added assert_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 32 [document.documentElement, 1, document.body, 0]: modifying the first added range must modify the Selection's last Range assert_equals: After mutating the first added Range, startContainer of the Selection's last Range must match the added Range expected Text node "Äb̈c̈d̈ëf̈g̈ḧ
" but got Text node "Qrstuvwx"
FAIL Range 39 [paras[3], 1, comment, 8] followed by Range 32 [document.documentElement, 1, document.body, 0]: modifying the Selection's last Range must modify the first added Range assert_equals: After first addRange(), after mutating the Selection's last Range, startOffset of the Selection's last Range must match the added Range expected 0 but got 6
FAIL Range 39 [paras[3], 1, comment, 8] followed by Range 32 [document.documentElement, 1, document.body, 0]: second addRange() must do nothing assert_equals: The operation should not replace a registered Range expected object "" but got object ""
PASS Range 39 [paras[3], 1, comment, 8] 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 39 [paras[3], 1, comment, 8] followed by Range 33 [foreignDoc.documentElement, 1, foreignDoc.body, 0]: first addRange() must result in rangeCount being 1
FAIL Range 39 [paras[3], 1, comment, 8] followed by Range 33 [foreignDoc.documentElement, 1, foreignDoc.body, 0]: first addRange() must result in the selection's last range having the specified endpoints assert_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 39 [paras[3], 1, comment, 8] followed by Range 33 [foreignDoc.documentElement, 1, foreignDoc.body, 0]: first addRange() must result in the selection's last range being the same object we added assert_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 33 [foreignDoc.documentElement, 1, foreignDoc.body, 0]: modifying the first added range must modify the Selection's last Range assert_equals: After mutating the first added Range, startContainer of the Selection's last Range must match the added Range expected Text node "Äb̈c̈d̈ëf̈g̈ḧ
" but got Text node "Qrstuvwx"
FAIL Range 39 [paras[3], 1, comment, 8] followed by Range 33 [foreignDoc.documentElement, 1, foreignDoc.body, 0]: modifying the Selection's last Range must modify the first added Range assert_equals: After first addRange(), after mutating the Selection's last Range, startOffset of the Selection's last Range must match the added Range expected 0 but got 6
FAIL Range 39 [paras[3], 1, comment, 8] followed by Range 33 [foreignDoc.documentElement, 1, foreignDoc.body, 0]: second addRange() must do nothing assert_equals: The operation should not replace a registered Range expected object "" but got object ""
PASS Range 39 [paras[3], 1, comment, 8] followed by Range 34 [document, 0, document, 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 34 [document, 0, document, 1]: first addRange() must result in rangeCount being 1
FAIL Range 39 [paras[3], 1, comment, 8] followed by Range 34 [document, 0, document, 1]: first addRange() must result in 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 39 [paras[3], 1, comment, 8] followed by Range 34 [document, 0, document, 1]: first addRange() must result in the selection's last range being the same object we added assert_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 34 [document, 0, document, 1]: modifying the first added range must modify the Selection's last Range assert_equals: After mutating the first added Range, startContainer of the Selection's last Range must match the added Range expected Text node "Äb̈c̈d̈ëf̈g̈ḧ
" but got Text node "Qrstuvwx"
FAIL Range 39 [paras[3], 1, comment, 8] followed by Range 34 [document, 0, document, 1]: modifying the Selection's last Range must modify the first added Range assert_equals: After first addRange(), after mutating the Selection's last Range, startOffset of the Selection's last Range must match the added Range expected 0 but got 6
FAIL Range 39 [paras[3], 1, comment, 8] followed by Range 34 [document, 0, document, 1]: second addRange() must do nothing assert_equals: The operation should not replace a registered Range expected object "" but got object ""
PASS Range 39 [paras[3], 1, comment, 8] followed by Range 35 [document, 0, document, 2]: first addRange() must not throw exceptions or modify the range it's given
PASS Range 39 [paras[3], 1, comment, 8] followed by Range 35 [document, 0, document, 2]: first addRange() must result in rangeCount being 1
FAIL Range 39 [paras[3], 1, comment, 8] followed by Range 35 [document, 0, document, 2]: first addRange() must result in 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 39 [paras[3], 1, comment, 8] followed by Range 35 [document, 0, document, 2]: first addRange() must result in the selection's last range being the same object we added assert_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 35 [document, 0, document, 2]: modifying the first added range must modify the Selection's last Range assert_equals: After mutating the first added Range, startContainer of the Selection's last Range must match the added Range expected Text node "Äb̈c̈d̈ëf̈g̈ḧ
" but got Text node "Qrstuvwx"
FAIL Range 39 [paras[3], 1, comment, 8] followed by Range 35 [document, 0, document, 2]: modifying the Selection's last Range must modify the first added Range assert_equals: After first addRange(), after mutating the Selection's last Range, startOffset of the Selection's last Range must match the added Range expected 0 but got 6
FAIL Range 39 [paras[3], 1, comment, 8] followed by Range 35 [document, 0, document, 2]: second addRange() must do nothing assert_equals: The operation should not update anchorNode expected Text node "Qrstuvwx" but got Text node "Äb̈c̈d̈ëf̈g̈ḧ
"
PASS Range 39 [paras[3], 1, comment, 8] followed by Range 36 [document, 1, document, 2]: first addRange() must not throw exceptions or modify the range it's given
PASS Range 39 [paras[3], 1, comment, 8] followed by Range 36 [document, 1, document, 2]: first addRange() must result in rangeCount being 1
FAIL Range 39 [paras[3], 1, comment, 8] followed by Range 36 [document, 1, document, 2]: first addRange() must result in 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 39 [paras[3], 1, comment, 8] followed by Range 36 [document, 1, document, 2]: first addRange() must result in the selection's last range being the same object we added assert_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 36 [document, 1, document, 2]: modifying the first added range must modify the Selection's last Range assert_equals: After mutating the first added Range, startContainer of the Selection's last Range must match the added Range expected Text node "Äb̈c̈d̈ëf̈g̈ḧ
" but got Text node "Qrstuvwx"
FAIL Range 39 [paras[3], 1, comment, 8] followed by Range 36 [document, 1, document, 2]: modifying the Selection's last Range must modify the first added Range assert_equals: After first addRange(), after mutating the Selection's last Range, startOffset of the Selection's last Range must match the added Range expected 0 but got 6
FAIL Range 39 [paras[3], 1, comment, 8] followed by Range 36 [document, 1, document, 2]: second addRange() must do nothing assert_equals: The operation should not update anchorNode expected Text node "Qrstuvwx" but got Text node "Äb̈c̈d̈ëf̈g̈ḧ
"
PASS Range 39 [paras[3], 1, comment, 8] followed by Range 37 [testDiv, 0, comment, 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 37 [testDiv, 0, comment, 5]: first addRange() must result in rangeCount being 1
FAIL Range 39 [paras[3], 1, comment, 8] followed by Range 37 [testDiv, 0, comment, 5]: first addRange() must result in 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 39 [paras[3], 1, comment, 8] followed by Range 37 [testDiv, 0, comment, 5]: first addRange() must result in the selection's last range being the same object we added assert_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 37 [testDiv, 0, comment, 5]: modifying the first added range must modify the Selection's last Range assert_equals: After mutating the first added Range, startContainer of the Selection's last Range must match the added Range expected Text node "Äb̈c̈d̈ëf̈g̈ḧ
" but got Text node "Qrstuvwx"
FAIL Range 39 [paras[3], 1, comment, 8] followed by Range 37 [testDiv, 0, comment, 5]: modifying the Selection's last Range must modify the first added Range assert_equals: After first addRange(), after mutating the Selection's last Range, startOffset of the Selection's last Range must match the added Range expected 0 but got 6
FAIL Range 39 [paras[3], 1, comment, 8] followed by Range 37 [testDiv, 0, comment, 5]: second addRange() must do nothing assert_equals: The operation should not update anchorNode expected Text node "Qrstuvwx" but got Text node "Äb̈c̈d̈ëf̈g̈ḧ
"
PASS Range 39 [paras[3], 1, comment, 8] 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 39 [paras[3], 1, comment, 8] followed by Range 38 [paras[2].firstChild, 4, comment, 2]: first 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]: first addRange() must result in 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 39 [paras[3], 1, comment, 8] followed by Range 38 [paras[2].firstChild, 4, comment, 2]: first addRange() must result in the selection's last range being the same object we added assert_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 38 [paras[2].firstChild, 4, comment, 2]: modifying the first added range must modify the Selection's last Range assert_equals: After mutating the first added Range, startContainer of the Selection's last Range must match the added Range expected Text node "Äb̈c̈d̈ëf̈g̈ḧ
" but got Text node "Qrstuvwx"
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 first added Range assert_equals: After first addRange(), after mutating the Selection's last Range, startOffset of the Selection's last Range must match the added Range expected 0 but got 6
FAIL Range 39 [paras[3], 1, comment, 8] followed by Range 38 [paras[2].firstChild, 4, comment, 2]: second addRange() must do nothing assert_equals: The operation should not update anchorOffset expected 8 but got 4
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
FAIL Range 39 [paras[3], 1, comment, 8] followed by Range 39 [paras[3], 1, comment, 8]: first addRange() must result in the selection's last range having the specified endpoints assert_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 39 [paras[3], 1, comment, 8] followed by Range 39 [paras[3], 1, comment, 8]: first addRange() must result in the selection's last range being the same object we added assert_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 first added range must modify the Selection's last Range assert_equals: After mutating the first added Range, startContainer of the Selection's last Range must match the added Range expected Text node "Äb̈c̈d̈ëf̈g̈ḧ
" but got Text node "Qrstuvwx"
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 first added Range assert_equals: After first addRange(), after mutating the Selection's last Range, startOffset of the Selection's last Range must match the added Range expected 0 but got 6
FAIL Range 39 [paras[3], 1, comment, 8] followed by Range 39 [paras[3], 1, comment, 8]: second addRange() must do nothing assert_equals: The operation should not replace a registered Range expected object "" but got object ""
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
FAIL Range 39 [paras[3], 1, comment, 8] followed by Range 40 [foreignDoc, 0, foreignDoc, 0]: first addRange() must result in 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 39 [paras[3], 1, comment, 8] followed by Range 40 [foreignDoc, 0, foreignDoc, 0]: first addRange() must result in the selection's last range being the same object we added assert_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 40 [foreignDoc, 0, foreignDoc, 0]: modifying the first added range must modify the Selection's last Range assert_equals: After mutating the first added Range, startContainer of the Selection's last Range must match the added Range expected Text node "Äb̈c̈d̈ëf̈g̈ḧ
" but got Text node "Qrstuvwx"
FAIL Range 39 [paras[3], 1, comment, 8] followed by Range 40 [foreignDoc, 0, foreignDoc, 0]: modifying the Selection's last Range must modify the first added Range assert_equals: After first addRange(), after mutating the Selection's last Range, startOffset of the Selection's last Range must match the added Range expected 0 but got 6
FAIL Range 39 [paras[3], 1, comment, 8] followed by Range 40 [foreignDoc, 0, foreignDoc, 0]: second addRange() must do nothing assert_equals: The operation should not replace a registered Range expected object "" but got object ""
PASS Range 39 [paras[3], 1, comment, 8] followed by Range 41 [foreignDoc, 1, foreignComment, 2]: first addRange() must not throw exceptions or modify the range it's given
PASS Range 39 [paras[3], 1, comment, 8] followed by Range 41 [foreignDoc, 1, foreignComment, 2]: first addRange() must result in rangeCount being 1
FAIL Range 39 [paras[3], 1, comment, 8] followed by Range 41 [foreignDoc, 1, foreignComment, 2]: first addRange() must result in 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 39 [paras[3], 1, comment, 8] followed by Range 41 [foreignDoc, 1, foreignComment, 2]: first addRange() must result in the selection's last range being the same object we added assert_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 41 [foreignDoc, 1, foreignComment, 2]: modifying the first added range must modify the Selection's last Range assert_equals: After mutating the first added Range, startContainer of the Selection's last Range must match the added Range expected Text node "Äb̈c̈d̈ëf̈g̈ḧ
" but got Text node "Qrstuvwx"
FAIL Range 39 [paras[3], 1, comment, 8] followed by Range 41 [foreignDoc, 1, foreignComment, 2]: modifying the Selection's last Range must modify the first added Range assert_equals: After first addRange(), after mutating the Selection's last Range, startOffset of the Selection's last Range must match the added Range expected 0 but got 6
FAIL Range 39 [paras[3], 1, comment, 8] followed by Range 41 [foreignDoc, 1, foreignComment, 2]: second addRange() must do nothing assert_equals: The operation should not replace a registered Range expected object "" but got object ""
PASS Range 39 [paras[3], 1, comment, 8] followed by Range 42 [foreignDoc.body, 0, foreignTextNode, 36]: first addRange() must not throw exceptions or modify the range it's given
PASS Range 39 [paras[3], 1, comment, 8] followed by Range 42 [foreignDoc.body, 0, foreignTextNode, 36]: first addRange() must result in rangeCount being 1
FAIL Range 39 [paras[3], 1, comment, 8] followed by Range 42 [foreignDoc.body, 0, foreignTextNode, 36]: first addRange() must result in the selection's last range having the specified endpoints assert_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 39 [paras[3], 1, comment, 8] followed by Range 42 [foreignDoc.body, 0, foreignTextNode, 36]: first addRange() must result in the selection's last range being the same object we added assert_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 42 [foreignDoc.body, 0, foreignTextNode, 36]: modifying the first added range must modify the Selection's last Range assert_equals: After mutating the first added Range, startContainer of the Selection's last Range must match the added Range expected Text node "Äb̈c̈d̈ëf̈g̈ḧ
" but got Text node "Qrstuvwx"
FAIL Range 39 [paras[3], 1, comment, 8] followed by Range 42 [foreignDoc.body, 0, foreignTextNode, 36]: modifying the Selection's last Range must modify the first added Range assert_equals: After first addRange(), after mutating the Selection's last Range, startOffset of the Selection's last Range must match the added Range expected 0 but got 6
FAIL Range 39 [paras[3], 1, comment, 8] followed by Range 42 [foreignDoc.body, 0, foreignTextNode, 36]: second addRange() must do nothing assert_equals: The operation should not replace a registered Range expected object "" but got object ""
PASS Range 39 [paras[3], 1, comment, 8] followed by Range 43 [xmlDoc, 0, xmlDoc, 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 43 [xmlDoc, 0, xmlDoc, 0]: first addRange() must result in rangeCount being 1
FAIL Range 39 [paras[3], 1, comment, 8] followed by Range 43 [xmlDoc, 0, xmlDoc, 0]: first addRange() must result in 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 39 [paras[3], 1, comment, 8] followed by Range 43 [xmlDoc, 0, xmlDoc, 0]: first addRange() must result in the selection's last range being the same object we added assert_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 43 [xmlDoc, 0, xmlDoc, 0]: modifying the first added range must modify the Selection's last Range assert_equals: After mutating the first added Range, startContainer of the Selection's last Range must match the added Range expected Text node "Äb̈c̈d̈ëf̈g̈ḧ
" but got Text node "Qrstuvwx"
FAIL Range 39 [paras[3], 1, comment, 8] followed by Range 43 [xmlDoc, 0, xmlDoc, 0]: modifying the Selection's last Range must modify the first added Range assert_equals: After first addRange(), after mutating the Selection's last Range, startOffset of the Selection's last Range must match the added Range expected 0 but got 6
FAIL Range 39 [paras[3], 1, comment, 8] followed by Range 43 [xmlDoc, 0, xmlDoc, 0]: second addRange() must do nothing assert_equals: The operation should not replace a registered Range expected object "" but got object ""
PASS Range 39 [paras[3], 1, comment, 8] followed by Range 44 [xmlDoc, 1, xmlComment, 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 44 [xmlDoc, 1, xmlComment, 0]: first addRange() must result in rangeCount being 1
FAIL Range 39 [paras[3], 1, comment, 8] followed by Range 44 [xmlDoc, 1, xmlComment, 0]: first addRange() must result in 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 39 [paras[3], 1, comment, 8] followed by Range 44 [xmlDoc, 1, xmlComment, 0]: first addRange() must result in the selection's last range being the same object we added assert_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 44 [xmlDoc, 1, xmlComment, 0]: modifying the first added range must modify the Selection's last Range assert_equals: After mutating the first added Range, startContainer of the Selection's last Range must match the added Range expected Text node "Äb̈c̈d̈ëf̈g̈ḧ
" but got Text node "Qrstuvwx"
FAIL Range 39 [paras[3], 1, comment, 8] followed by Range 44 [xmlDoc, 1, xmlComment, 0]: modifying the Selection's last Range must modify the first added Range assert_equals: After first addRange(), after mutating the Selection's last Range, startOffset of the Selection's last Range must match the added Range expected 0 but got 6
FAIL Range 39 [paras[3], 1, comment, 8] followed by Range 44 [xmlDoc, 1, xmlComment, 0]: second addRange() must do nothing assert_equals: The operation should not replace a registered Range expected object "" but got object ""
PASS Range 39 [paras[3], 1, comment, 8] followed by Range 45 [detachedTextNode, 0, detachedTextNode, 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 45 [detachedTextNode, 0, detachedTextNode, 8]: first addRange() must result in rangeCount being 1
FAIL Range 39 [paras[3], 1, comment, 8] followed by Range 45 [detachedTextNode, 0, detachedTextNode, 8]: first addRange() must result in 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 39 [paras[3], 1, comment, 8] followed by Range 45 [detachedTextNode, 0, detachedTextNode, 8]: first addRange() must result in the selection's last range being the same object we added assert_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 45 [detachedTextNode, 0, detachedTextNode, 8]: modifying the first added range must modify the Selection's last Range assert_equals: After mutating the first added Range, startContainer of the Selection's last Range must match the added Range expected Text node "Äb̈c̈d̈ëf̈g̈ḧ
" but got Text node "Qrstuvwx"
FAIL Range 39 [paras[3], 1, comment, 8] followed by Range 45 [detachedTextNode, 0, detachedTextNode, 8]: modifying the Selection's last Range must modify the first added Range assert_equals: After first addRange(), after mutating the Selection's last Range, startOffset of the Selection's last Range must match the added Range expected 0 but got 6
FAIL Range 39 [paras[3], 1, comment, 8] followed by Range 45 [detachedTextNode, 0, detachedTextNode, 8]: second addRange() must do nothing assert_equals: The operation should not replace a registered Range expected object "" but got object ""
PASS Range 39 [paras[3], 1, comment, 8] followed by Range 46 [detachedForeignTextNode, 7, detachedForeignTextNode, 7]: first addRange() must not throw exceptions or modify the range it's given
PASS Range 39 [paras[3], 1, comment, 8] followed by Range 46 [detachedForeignTextNode, 7, detachedForeignTextNode, 7]: first addRange() must result in rangeCount being 1
FAIL Range 39 [paras[3], 1, comment, 8] followed by Range 46 [detachedForeignTextNode, 7, detachedForeignTextNode, 7]: first addRange() must result in 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 39 [paras[3], 1, comment, 8] followed by Range 46 [detachedForeignTextNode, 7, detachedForeignTextNode, 7]: first addRange() must result in the selection's last range being the same object we added assert_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 46 [detachedForeignTextNode, 7, detachedForeignTextNode, 7]: modifying the first added range must modify the Selection's last Range assert_equals: After mutating the first added Range, startContainer of the Selection's last Range must match the added Range expected Text node "Äb̈c̈d̈ëf̈g̈ḧ
" but got Text node "Qrstuvwx"
FAIL Range 39 [paras[3], 1, comment, 8] followed by Range 46 [detachedForeignTextNode, 7, detachedForeignTextNode, 7]: modifying the Selection's last Range must modify the first added Range assert_equals: After first addRange(), after mutating the Selection's last Range, startOffset of the Selection's last Range must match the added Range expected 0 but got 6
FAIL Range 39 [paras[3], 1, comment, 8] followed by Range 46 [detachedForeignTextNode, 7, detachedForeignTextNode, 7]: second addRange() must do nothing assert_equals: The operation should not replace a registered Range expected object "" but got object ""
PASS Range 39 [paras[3], 1, comment, 8] followed by Range 47 [detachedForeignTextNode, 0, detachedForeignTextNode, 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 47 [detachedForeignTextNode, 0, detachedForeignTextNode, 8]: first addRange() must result in rangeCount being 1
FAIL Range 39 [paras[3], 1, comment, 8] followed by Range 47 [detachedForeignTextNode, 0, detachedForeignTextNode, 8]: first addRange() must result in 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 39 [paras[3], 1, comment, 8] followed by Range 47 [detachedForeignTextNode, 0, detachedForeignTextNode, 8]: first addRange() must result in the selection's last range being the same object we added assert_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 47 [detachedForeignTextNode, 0, detachedForeignTextNode, 8]: modifying the first added range must modify the Selection's last Range assert_equals: After mutating the first added Range, startContainer of the Selection's last Range must match the added Range expected Text node "Äb̈c̈d̈ëf̈g̈ḧ
" but got Text node "Qrstuvwx"
FAIL Range 39 [paras[3], 1, comment, 8] followed by Range 47 [detachedForeignTextNode, 0, detachedForeignTextNode, 8]: modifying the Selection's last Range must modify the first added Range assert_equals: After first addRange(), after mutating the Selection's last Range, startOffset of the Selection's last Range must match the added Range expected 0 but got 6
FAIL Range 39 [paras[3], 1, comment, 8] followed by Range 47 [detachedForeignTextNode, 0, detachedForeignTextNode, 8]: second addRange() must do nothing assert_equals: The operation should not replace a registered Range expected object "" but got object ""
PASS Range 39 [paras[3], 1, comment, 8] followed by Range 48 [detachedXmlTextNode, 7, detachedXmlTextNode, 7]: first addRange() must not throw exceptions or modify the range it's given
PASS Range 39 [paras[3], 1, comment, 8] followed by Range 48 [detachedXmlTextNode, 7, detachedXmlTextNode, 7]: first addRange() must result in rangeCount being 1
FAIL Range 39 [paras[3], 1, comment, 8] followed by Range 48 [detachedXmlTextNode, 7, detachedXmlTextNode, 7]: first addRange() must result in 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 39 [paras[3], 1, comment, 8] followed by Range 48 [detachedXmlTextNode, 7, detachedXmlTextNode, 7]: first addRange() must result in the selection's last range being the same object we added assert_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 48 [detachedXmlTextNode, 7, detachedXmlTextNode, 7]: modifying the first added range must modify the Selection's last Range assert_equals: After mutating the first added Range, startContainer of the Selection's last Range must match the added Range expected Text node "Äb̈c̈d̈ëf̈g̈ḧ
" but got Text node "Qrstuvwx"
FAIL Range 39 [paras[3], 1, comment, 8] followed by Range 48 [detachedXmlTextNode, 7, detachedXmlTextNode, 7]: modifying the Selection's last Range must modify the first added Range assert_equals: After first addRange(), after mutating the Selection's last Range, startOffset of the Selection's last Range must match the added Range expected 0 but got 6
FAIL Range 39 [paras[3], 1, comment, 8] followed by Range 48 [detachedXmlTextNode, 7, detachedXmlTextNode, 7]: second addRange() must do nothing assert_equals: The operation should not replace a registered Range expected object "" but got object ""
PASS Range 39 [paras[3], 1, comment, 8] followed by Range 49 [detachedXmlTextNode, 0, detachedXmlTextNode, 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 49 [detachedXmlTextNode, 0, detachedXmlTextNode, 8]: first addRange() must result in rangeCount being 1
FAIL Range 39 [paras[3], 1, comment, 8] followed by Range 49 [detachedXmlTextNode, 0, detachedXmlTextNode, 8]: first addRange() must result in 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 39 [paras[3], 1, comment, 8] followed by Range 49 [detachedXmlTextNode, 0, detachedXmlTextNode, 8]: first addRange() must result in the selection's last range being the same object we added assert_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 49 [detachedXmlTextNode, 0, detachedXmlTextNode, 8]: modifying the first added range must modify the Selection's last Range assert_equals: After mutating the first added Range, startContainer of the Selection's last Range must match the added Range expected Text node "Äb̈c̈d̈ëf̈g̈ḧ
" but got Text node "Qrstuvwx"
FAIL Range 39 [paras[3], 1, comment, 8] followed by Range 49 [detachedXmlTextNode, 0, detachedXmlTextNode, 8]: modifying the Selection's last Range must modify the first added Range assert_equals: After first addRange(), after mutating the Selection's last Range, startOffset of the Selection's last Range must match the added Range expected 0 but got 6
FAIL Range 39 [paras[3], 1, comment, 8] followed by Range 49 [detachedXmlTextNode, 0, detachedXmlTextNode, 8]: second addRange() must do nothing assert_equals: The operation should not replace a registered Range expected object "" but got object ""
PASS Range 39 [paras[3], 1, comment, 8] followed by Range 50 [detachedComment, 3, detachedComment, 4]: first addRange() must not throw exceptions or modify the range it's given
PASS Range 39 [paras[3], 1, comment, 8] followed by Range 50 [detachedComment, 3, detachedComment, 4]: first addRange() must result in rangeCount being 1
FAIL Range 39 [paras[3], 1, comment, 8] followed by Range 50 [detachedComment, 3, detachedComment, 4]: first addRange() must result in 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 39 [paras[3], 1, comment, 8] followed by Range 50 [detachedComment, 3, detachedComment, 4]: first addRange() must result in the selection's last range being the same object we added assert_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 50 [detachedComment, 3, detachedComment, 4]: modifying the first added range must modify the Selection's last Range assert_equals: After mutating the first added Range, startContainer of the Selection's last Range must match the added Range expected Text node "Äb̈c̈d̈ëf̈g̈ḧ
" but got Text node "Qrstuvwx"
FAIL Range 39 [paras[3], 1, comment, 8] followed by Range 50 [detachedComment, 3, detachedComment, 4]: modifying the Selection's last Range must modify the first added Range assert_equals: After first addRange(), after mutating the Selection's last Range, startOffset of the Selection's last Range must match the added Range expected 0 but got 6
FAIL Range 39 [paras[3], 1, comment, 8] followed by Range 50 [detachedComment, 3, detachedComment, 4]: second addRange() must do nothing assert_equals: The operation should not replace a registered Range expected object "" but got object ""
PASS Range 39 [paras[3], 1, comment, 8] followed by Range 51 [detachedComment, 5, detachedComment, 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 51 [detachedComment, 5, detachedComment, 5]: first addRange() must result in rangeCount being 1
FAIL Range 39 [paras[3], 1, comment, 8] followed by Range 51 [detachedComment, 5, detachedComment, 5]: first addRange() must result in 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 39 [paras[3], 1, comment, 8] followed by Range 51 [detachedComment, 5, detachedComment, 5]: first addRange() must result in the selection's last range being the same object we added assert_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 51 [detachedComment, 5, detachedComment, 5]: modifying the first added range must modify the Selection's last Range assert_equals: After mutating the first added Range, startContainer of the Selection's last Range must match the added Range expected Text node "Äb̈c̈d̈ëf̈g̈ḧ
" but got Text node "Qrstuvwx"
FAIL Range 39 [paras[3], 1, comment, 8] followed by Range 51 [detachedComment, 5, detachedComment, 5]: modifying the Selection's last Range must modify the first added Range assert_equals: After first addRange(), after mutating the Selection's last Range, startOffset of the Selection's last Range must match the added Range expected 0 but got 6
FAIL Range 39 [paras[3], 1, comment, 8] followed by Range 51 [detachedComment, 5, detachedComment, 5]: second addRange() must do nothing assert_equals: The operation should not replace a registered Range expected object "" but got object ""
PASS Range 39 [paras[3], 1, comment, 8] followed by Range 52 [detachedForeignComment, 0, detachedForeignComment, 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 52 [detachedForeignComment, 0, detachedForeignComment, 1]: first addRange() must result in rangeCount being 1
FAIL Range 39 [paras[3], 1, comment, 8] followed by Range 52 [detachedForeignComment, 0, detachedForeignComment, 1]: first addRange() must result in 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 39 [paras[3], 1, comment, 8] followed by Range 52 [detachedForeignComment, 0, detachedForeignComment, 1]: first addRange() must result in the selection's last range being the same object we added assert_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 52 [detachedForeignComment, 0, detachedForeignComment, 1]: modifying the first added range must modify the Selection's last Range assert_equals: After mutating the first added Range, startContainer of the Selection's last Range must match the added Range expected Text node "Äb̈c̈d̈ëf̈g̈ḧ
" but got Text node "Qrstuvwx"
FAIL Range 39 [paras[3], 1, comment, 8] followed by Range 52 [detachedForeignComment, 0, detachedForeignComment, 1]: modifying the Selection's last Range must modify the first added Range assert_equals: After first addRange(), after mutating the Selection's last Range, startOffset of the Selection's last Range must match the added Range expected 0 but got 6
FAIL Range 39 [paras[3], 1, comment, 8] followed by Range 52 [detachedForeignComment, 0, detachedForeignComment, 1]: second addRange() must do nothing assert_equals: The operation should not replace a registered Range expected object "" but got object ""
PASS Range 39 [paras[3], 1, comment, 8] followed by Range 53 [detachedForeignComment, 4, detachedForeignComment, 4]: first addRange() must not throw exceptions or modify the range it's given
PASS Range 39 [paras[3], 1, comment, 8] followed by Range 53 [detachedForeignComment, 4, detachedForeignComment, 4]: first addRange() must result in rangeCount being 1
FAIL Range 39 [paras[3], 1, comment, 8] followed by Range 53 [detachedForeignComment, 4, detachedForeignComment, 4]: first addRange() must result in 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 39 [paras[3], 1, comment, 8] followed by Range 53 [detachedForeignComment, 4, detachedForeignComment, 4]: first addRange() must result in the selection's last range being the same object we added assert_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 53 [detachedForeignComment, 4, detachedForeignComment, 4]: modifying the first added range must modify the Selection's last Range assert_equals: After mutating the first added Range, startContainer of the Selection's last Range must match the added Range expected Text node "Äb̈c̈d̈ëf̈g̈ḧ
" but got Text node "Qrstuvwx"
FAIL Range 39 [paras[3], 1, comment, 8] followed by Range 53 [detachedForeignComment, 4, detachedForeignComment, 4]: modifying the Selection's last Range must modify the first added Range assert_equals: After first addRange(), after mutating the Selection's last Range, startOffset of the Selection's last Range must match the added Range expected 0 but got 6
FAIL Range 39 [paras[3], 1, comment, 8] followed by Range 53 [detachedForeignComment, 4, detachedForeignComment, 4]: second addRange() must do nothing assert_equals: The operation should not replace a registered Range expected object "" but got object ""
PASS Range 39 [paras[3], 1, comment, 8] followed by Range 54 [detachedXmlComment, 2, detachedXmlComment, 6]: first addRange() must not throw exceptions or modify the range it's given
PASS Range 39 [paras[3], 1, comment, 8] followed by Range 54 [detachedXmlComment, 2, detachedXmlComment, 6]: first addRange() must result in rangeCount being 1
FAIL Range 39 [paras[3], 1, comment, 8] followed by Range 54 [detachedXmlComment, 2, detachedXmlComment, 6]: first addRange() must result in 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 39 [paras[3], 1, comment, 8] followed by Range 54 [detachedXmlComment, 2, detachedXmlComment, 6]: first addRange() must result in the selection's last range being the same object we added assert_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 54 [detachedXmlComment, 2, detachedXmlComment, 6]: modifying the first added range must modify the Selection's last Range assert_equals: After mutating the first added Range, startContainer of the Selection's last Range must match the added Range expected Text node "Äb̈c̈d̈ëf̈g̈ḧ
" but got Text node "Qrstuvwx"
FAIL Range 39 [paras[3], 1, comment, 8] followed by Range 54 [detachedXmlComment, 2, detachedXmlComment, 6]: modifying the Selection's last Range must modify the first added Range assert_equals: After first addRange(), after mutating the Selection's last Range, startOffset of the Selection's last Range must match the added Range expected 0 but got 6
FAIL Range 39 [paras[3], 1, comment, 8] followed by Range 54 [detachedXmlComment, 2, detachedXmlComment, 6]: second addRange() must do nothing assert_equals: The operation should not replace a registered Range expected object "" but got object ""
PASS Range 39 [paras[3], 1, comment, 8] followed by Range 55 [docfrag, 0, docfrag, 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 55 [docfrag, 0, docfrag, 0]: first addRange() must result in rangeCount being 1
FAIL Range 39 [paras[3], 1, comment, 8] followed by Range 55 [docfrag, 0, docfrag, 0]: first addRange() must result in 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 39 [paras[3], 1, comment, 8] followed by Range 55 [docfrag, 0, docfrag, 0]: first addRange() must result in the selection's last range being the same object we added assert_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 55 [docfrag, 0, docfrag, 0]: modifying the first added range must modify the Selection's last Range assert_equals: After mutating the first added Range, startContainer of the Selection's last Range must match the added Range expected Text node "Äb̈c̈d̈ëf̈g̈ḧ
" but got Text node "Qrstuvwx"
FAIL Range 39 [paras[3], 1, comment, 8] followed by Range 55 [docfrag, 0, docfrag, 0]: modifying the Selection's last Range must modify the first added Range assert_equals: After first addRange(), after mutating the Selection's last Range, startOffset of the Selection's last Range must match the added Range expected 0 but got 6
FAIL Range 39 [paras[3], 1, comment, 8] followed by Range 55 [docfrag, 0, docfrag, 0]: second addRange() must do nothing assert_equals: The operation should not replace a registered Range expected object "" but got object ""
PASS Range 39 [paras[3], 1, comment, 8] followed by Range 56 [foreignDocfrag, 0, foreignDocfrag, 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 56 [foreignDocfrag, 0, foreignDocfrag, 0]: first addRange() must result in rangeCount being 1
FAIL Range 39 [paras[3], 1, comment, 8] followed by Range 56 [foreignDocfrag, 0, foreignDocfrag, 0]: first addRange() must result in 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 39 [paras[3], 1, comment, 8] followed by Range 56 [foreignDocfrag, 0, foreignDocfrag, 0]: first addRange() must result in the selection's last range being the same object we added assert_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 56 [foreignDocfrag, 0, foreignDocfrag, 0]: modifying the first added range must modify the Selection's last Range assert_equals: After mutating the first added Range, startContainer of the Selection's last Range must match the added Range expected Text node "Äb̈c̈d̈ëf̈g̈ḧ
" but got Text node "Qrstuvwx"
FAIL Range 39 [paras[3], 1, comment, 8] followed by Range 56 [foreignDocfrag, 0, foreignDocfrag, 0]: modifying the Selection's last Range must modify the first added Range assert_equals: After first addRange(), after mutating the Selection's last Range, startOffset of the Selection's last Range must match the added Range expected 0 but got 6
FAIL Range 39 [paras[3], 1, comment, 8] followed by Range 56 [foreignDocfrag, 0, foreignDocfrag, 0]: second addRange() must do nothing assert_equals: The operation should not replace a registered Range expected object "" but got object ""
PASS Range 39 [paras[3], 1, comment, 8] followed by Range 57 [xmlDocfrag, 0, xmlDocfrag, 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 57 [xmlDocfrag, 0, xmlDocfrag, 0]: first addRange() must result in rangeCount being 1
FAIL Range 39 [paras[3], 1, comment, 8] followed by Range 57 [xmlDocfrag, 0, xmlDocfrag, 0]: first addRange() must result in 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 39 [paras[3], 1, comment, 8] followed by Range 57 [xmlDocfrag, 0, xmlDocfrag, 0]: first addRange() must result in the selection's last range being the same object we added assert_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 57 [xmlDocfrag, 0, xmlDocfrag, 0]: modifying the first added range must modify the Selection's last Range assert_equals: After mutating the first added Range, startContainer of the Selection's last Range must match the added Range expected Text node "Äb̈c̈d̈ëf̈g̈ḧ
" but got Text node "Qrstuvwx"
FAIL Range 39 [paras[3], 1, comment, 8] followed by Range 57 [xmlDocfrag, 0, xmlDocfrag, 0]: modifying the Selection's last Range must modify the first added Range assert_equals: After first addRange(), after mutating the Selection's last Range, startOffset of the Selection's last Range must match the added Range expected 0 but got 6
FAIL Range 39 [paras[3], 1, comment, 8] followed by Range 57 [xmlDocfrag, 0, xmlDocfrag, 0]: second addRange() must do nothing assert_equals: The operation should not replace a registered Range expected object "" but got object ""