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

