Summary

Harness status: OK

Found 2024 tests

Details

ResultTest NameMessage
Passextend() with range 1 [paras[0].firstChild, 0, paras[0].firstChild, 0] and point 0 [paras[0].firstChild, -1]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "Sanity check: startContainer must be correct")
    at testExtend ( /selection/extend.js:80:5)
Pass
assert_equals(0, 0, "Sanity check: startOffset must be correct")
    at testExtend ( /selection/extend.js:82:5)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "Sanity check: endContainer must be correct")
    at testExtend ( /selection/extend.js:84:5)
Pass
assert_equals(0, 0, "Sanity check: endOffset must be correct")
    at testExtend ( /selection/extend.js:86:5)
Pass
assert_throws_dom("INDEX_SIZE_ERR", function "function() {             selection.extend(node, offset);         }", "extend() to an offset that's greater than node length (17) must throw IndexSizeError")
    at testExtend ( /selection/extend.js:117:9)
Passextend() with range 1 [paras[0].firstChild, 0, paras[0].firstChild, 0] and point 1 [paras[0].firstChild, 0]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "Sanity check: startContainer must be correct")
    at testExtend ( /selection/extend.js:80:5)
Pass
assert_equals(0, 0, "Sanity check: startOffset must be correct")
    at testExtend ( /selection/extend.js:82:5)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "Sanity check: endContainer must be correct")
    at testExtend ( /selection/extend.js:84:5)
Pass
assert_equals(0, 0, "Sanity check: endOffset must be correct")
    at testExtend ( /selection/extend.js:86:5)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "anchorNode must not change if the node passed to extend() has the same root as the original range")
    at testExtend ( /selection/extend.js:145:9)
Pass
assert_equals(0, 0, "anchorOffset must not change if the node passed to extend() has the same root as the original range")
    at testExtend ( /selection/extend.js:147:9)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "focusNode must be the node passed to extend()")
    at testExtend ( /selection/extend.js:155:5)
Pass
assert_equals(0, 0, "focusOffset must be the offset passed to extend()")
    at testExtend ( /selection/extend.js:157:5)
Pass
assert_not_equals(object "", object "", "extend() must replace any existing range with a new one, not mutate the existing one")
    at testExtend ( /selection/extend.js:159:5)
Passextend() with range 1 [paras[0].firstChild, 0, paras[0].firstChild, 0] and point 2 [paras[0].firstChild, 1]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "Sanity check: startContainer must be correct")
    at testExtend ( /selection/extend.js:80:5)
Pass
assert_equals(0, 0, "Sanity check: startOffset must be correct")
    at testExtend ( /selection/extend.js:82:5)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "Sanity check: endContainer must be correct")
    at testExtend ( /selection/extend.js:84:5)
Pass
assert_equals(0, 0, "Sanity check: endOffset must be correct")
    at testExtend ( /selection/extend.js:86:5)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "anchorNode must not change if the node passed to extend() has the same root as the original range")
    at testExtend ( /selection/extend.js:145:9)
Pass
assert_equals(0, 0, "anchorOffset must not change if the node passed to extend() has the same root as the original range")
    at testExtend ( /selection/extend.js:147:9)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "focusNode must be the node passed to extend()")
    at testExtend ( /selection/extend.js:155:5)
Pass
assert_equals(1, 1, "focusOffset must be the offset passed to extend()")
    at testExtend ( /selection/extend.js:157:5)
Pass
assert_not_equals(object "A", object "", "extend() must replace any existing range with a new one, not mutate the existing one")
    at testExtend ( /selection/extend.js:159:5)
Passextend() with range 1 [paras[0].firstChild, 0, paras[0].firstChild, 0] and point 3 [paras[0].firstChild, 2]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "Sanity check: startContainer must be correct")
    at testExtend ( /selection/extend.js:80:5)
Pass
assert_equals(0, 0, "Sanity check: startOffset must be correct")
    at testExtend ( /selection/extend.js:82:5)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "Sanity check: endContainer must be correct")
    at testExtend ( /selection/extend.js:84:5)
Pass
assert_equals(0, 0, "Sanity check: endOffset must be correct")
    at testExtend ( /selection/extend.js:86:5)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "anchorNode must not change if the node passed to extend() has the same root as the original range")
    at testExtend ( /selection/extend.js:145:9)
Pass
assert_equals(0, 0, "anchorOffset must not change if the node passed to extend() has the same root as the original range")
    at testExtend ( /selection/extend.js:147:9)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "focusNode must be the node passed to extend()")
    at testExtend ( /selection/extend.js:155:5)
Pass
assert_equals(2, 2, "focusOffset must be the offset passed to extend()")
    at testExtend ( /selection/extend.js:157:5)
Pass
assert_not_equals(object "Ä", object "", "extend() must replace any existing range with a new one, not mutate the existing one")
    at testExtend ( /selection/extend.js:159:5)
Passextend() with range 1 [paras[0].firstChild, 0, paras[0].firstChild, 0] and point 4 [paras[0].firstChild, 8]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "Sanity check: startContainer must be correct")
    at testExtend ( /selection/extend.js:80:5)
Pass
assert_equals(0, 0, "Sanity check: startOffset must be correct")
    at testExtend ( /selection/extend.js:82:5)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "Sanity check: endContainer must be correct")
    at testExtend ( /selection/extend.js:84:5)
Pass
assert_equals(0, 0, "Sanity check: endOffset must be correct")
    at testExtend ( /selection/extend.js:86:5)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "anchorNode must not change if the node passed to extend() has the same root as the original range")
    at testExtend ( /selection/extend.js:145:9)
Pass
assert_equals(0, 0, "anchorOffset must not change if the node passed to extend() has the same root as the original range")
    at testExtend ( /selection/extend.js:147:9)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "focusNode must be the node passed to extend()")
    at testExtend ( /selection/extend.js:155:5)
Pass
assert_equals(8, 8, "focusOffset must be the offset passed to extend()")
    at testExtend ( /selection/extend.js:157:5)
Pass
assert_not_equals(object "Äb̈c̈d̈", object "", "extend() must replace any existing range with a new one, not mutate the existing one")
    at testExtend ( /selection/extend.js:159:5)
Passextend() with range 1 [paras[0].firstChild, 0, paras[0].firstChild, 0] and point 5 [paras[0].firstChild, 9]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "Sanity check: startContainer must be correct")
    at testExtend ( /selection/extend.js:80:5)
Pass
assert_equals(0, 0, "Sanity check: startOffset must be correct")
    at testExtend ( /selection/extend.js:82:5)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "Sanity check: endContainer must be correct")
    at testExtend ( /selection/extend.js:84:5)
Pass
assert_equals(0, 0, "Sanity check: endOffset must be correct")
    at testExtend ( /selection/extend.js:86:5)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "anchorNode must not change if the node passed to extend() has the same root as the original range")
    at testExtend ( /selection/extend.js:145:9)
Pass
assert_equals(0, 0, "anchorOffset must not change if the node passed to extend() has the same root as the original range")
    at testExtend ( /selection/extend.js:147:9)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "focusNode must be the node passed to extend()")
    at testExtend ( /selection/extend.js:155:5)
Pass
assert_equals(9, 9, "focusOffset must be the offset passed to extend()")
    at testExtend ( /selection/extend.js:157:5)
Pass
assert_not_equals(object "Äb̈c̈d̈e", object "", "extend() must replace any existing range with a new one, not mutate the existing one")
    at testExtend ( /selection/extend.js:159:5)
Passextend() with range 1 [paras[0].firstChild, 0, paras[0].firstChild, 0] and point 6 [paras[0].firstChild, 10]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "Sanity check: startContainer must be correct")
    at testExtend ( /selection/extend.js:80:5)
Pass
assert_equals(0, 0, "Sanity check: startOffset must be correct")
    at testExtend ( /selection/extend.js:82:5)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "Sanity check: endContainer must be correct")
    at testExtend ( /selection/extend.js:84:5)
Pass
assert_equals(0, 0, "Sanity check: endOffset must be correct")
    at testExtend ( /selection/extend.js:86:5)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "anchorNode must not change if the node passed to extend() has the same root as the original range")
    at testExtend ( /selection/extend.js:145:9)
Pass
assert_equals(0, 0, "anchorOffset must not change if the node passed to extend() has the same root as the original range")
    at testExtend ( /selection/extend.js:147:9)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "focusNode must be the node passed to extend()")
    at testExtend ( /selection/extend.js:155:5)
Pass
assert_equals(10, 10, "focusOffset must be the offset passed to extend()")
    at testExtend ( /selection/extend.js:157:5)
Pass
assert_not_equals(object "Äb̈c̈d̈ë", object "", "extend() must replace any existing range with a new one, not mutate the existing one")
    at testExtend ( /selection/extend.js:159:5)
Passextend() with range 1 [paras[0].firstChild, 0, paras[0].firstChild, 0] and point 7 [paras[0].firstChild, 65535]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "Sanity check: startContainer must be correct")
    at testExtend ( /selection/extend.js:80:5)
Pass
assert_equals(0, 0, "Sanity check: startOffset must be correct")
    at testExtend ( /selection/extend.js:82:5)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "Sanity check: endContainer must be correct")
    at testExtend ( /selection/extend.js:84:5)
Pass
assert_equals(0, 0, "Sanity check: endOffset must be correct")
    at testExtend ( /selection/extend.js:86:5)
Pass
assert_throws_dom("INDEX_SIZE_ERR", function "function() {             selection.extend(node, offset);         }", "extend() to an offset that's greater than node length (17) must throw IndexSizeError")
    at testExtend ( /selection/extend.js:117:9)
Passextend() with range 1 [paras[0].firstChild, 0, paras[0].firstChild, 0] and point 8 [paras[1].firstChild, -1]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "Sanity check: startContainer must be correct")
    at testExtend ( /selection/extend.js:80:5)
Pass
assert_equals(0, 0, "Sanity check: startOffset must be correct")
    at testExtend ( /selection/extend.js:82:5)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "Sanity check: endContainer must be correct")
    at testExtend ( /selection/extend.js:84:5)
Pass
assert_equals(0, 0, "Sanity check: endOffset must be correct")
    at testExtend ( /selection/extend.js:86:5)
Pass
assert_throws_dom("INDEX_SIZE_ERR", function "function() {             selection.extend(node, offset);         }", "extend() to an offset that's greater than node length (9) must throw IndexSizeError")
    at testExtend ( /selection/extend.js:117:9)
Passextend() with range 1 [paras[0].firstChild, 0, paras[0].firstChild, 0] and point 9 [paras[1].firstChild, 0]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "Sanity check: startContainer must be correct")
    at testExtend ( /selection/extend.js:80:5)
Pass
assert_equals(0, 0, "Sanity check: startOffset must be correct")
    at testExtend ( /selection/extend.js:82:5)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "Sanity check: endContainer must be correct")
    at testExtend ( /selection/extend.js:84:5)
Pass
assert_equals(0, 0, "Sanity check: endOffset must be correct")
    at testExtend ( /selection/extend.js:86:5)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "anchorNode must not change if the node passed to extend() has the same root as the original range")
    at testExtend ( /selection/extend.js:145:9)
Pass
assert_equals(0, 0, "anchorOffset must not change if the node passed to extend() has the same root as the original range")
    at testExtend ( /selection/extend.js:147:9)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "focusNode must be the node passed to extend()")
    at testExtend ( /selection/extend.js:155:5)
Pass
assert_equals(0, 0, "focusOffset must be the offset passed to extend()")
    at testExtend ( /selection/extend.js:157:5)
Pass
assert_not_equals(object "Äb̈c̈d̈ëf̈g̈ḧ ", object "", "extend() must replace any existing range with a new one, not mutate the existing one")
    at testExtend ( /selection/extend.js:159:5)
Passextend() with range 1 [paras[0].firstChild, 0, paras[0].firstChild, 0] and point 10 [paras[1].firstChild, 1]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "Sanity check: startContainer must be correct")
    at testExtend ( /selection/extend.js:80:5)
Pass
assert_equals(0, 0, "Sanity check: startOffset must be correct")
    at testExtend ( /selection/extend.js:82:5)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "Sanity check: endContainer must be correct")
    at testExtend ( /selection/extend.js:84:5)
Pass
assert_equals(0, 0, "Sanity check: endOffset must be correct")
    at testExtend ( /selection/extend.js:86:5)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "anchorNode must not change if the node passed to extend() has the same root as the original range")
    at testExtend ( /selection/extend.js:145:9)
Pass
assert_equals(0, 0, "anchorOffset must not change if the node passed to extend() has the same root as the original range")
    at testExtend ( /selection/extend.js:147:9)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "focusNode must be the node passed to extend()")
    at testExtend ( /selection/extend.js:155:5)
Pass
assert_equals(1, 1, "focusOffset must be the offset passed to extend()")
    at testExtend ( /selection/extend.js:157:5)
Pass
assert_not_equals(object "Äb̈c̈d̈ëf̈g̈ḧ I", object "", "extend() must replace any existing range with a new one, not mutate the existing one")
    at testExtend ( /selection/extend.js:159:5)
Passextend() with range 1 [paras[0].firstChild, 0, paras[0].firstChild, 0] and point 11 [paras[1].firstChild, 2]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "Sanity check: startContainer must be correct")
    at testExtend ( /selection/extend.js:80:5)
Pass
assert_equals(0, 0, "Sanity check: startOffset must be correct")
    at testExtend ( /selection/extend.js:82:5)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "Sanity check: endContainer must be correct")
    at testExtend ( /selection/extend.js:84:5)
Pass
assert_equals(0, 0, "Sanity check: endOffset must be correct")
    at testExtend ( /selection/extend.js:86:5)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "anchorNode must not change if the node passed to extend() has the same root as the original range")
    at testExtend ( /selection/extend.js:145:9)
Pass
assert_equals(0, 0, "anchorOffset must not change if the node passed to extend() has the same root as the original range")
    at testExtend ( /selection/extend.js:147:9)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "focusNode must be the node passed to extend()")
    at testExtend ( /selection/extend.js:155:5)
Pass
assert_equals(2, 2, "focusOffset must be the offset passed to extend()")
    at testExtend ( /selection/extend.js:157:5)
Pass
assert_not_equals(object "Äb̈c̈d̈ëf̈g̈ḧ Ij", object "", "extend() must replace any existing range with a new one, not mutate the existing one")
    at testExtend ( /selection/extend.js:159:5)
Passextend() with range 1 [paras[0].firstChild, 0, paras[0].firstChild, 0] and point 12 [paras[1].firstChild, 8]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "Sanity check: startContainer must be correct")
    at testExtend ( /selection/extend.js:80:5)
Pass
assert_equals(0, 0, "Sanity check: startOffset must be correct")
    at testExtend ( /selection/extend.js:82:5)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "Sanity check: endContainer must be correct")
    at testExtend ( /selection/extend.js:84:5)
Pass
assert_equals(0, 0, "Sanity check: endOffset must be correct")
    at testExtend ( /selection/extend.js:86:5)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "anchorNode must not change if the node passed to extend() has the same root as the original range")
    at testExtend ( /selection/extend.js:145:9)
Pass
assert_equals(0, 0, "anchorOffset must not change if the node passed to extend() has the same root as the original range")
    at testExtend ( /selection/extend.js:147:9)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "focusNode must be the node passed to extend()")
    at testExtend ( /selection/extend.js:155:5)
Pass
assert_equals(8, 8, "focusOffset must be the offset passed to extend()")
    at testExtend ( /selection/extend.js:157:5)
Pass
assert_not_equals(object "Äb̈c̈d̈ëf̈g̈ḧ Ijklmnop", object "", "extend() must replace any existing range with a new one, not mutate the existing one")
    at testExtend ( /selection/extend.js:159:5)
Passextend() with range 1 [paras[0].firstChild, 0, paras[0].firstChild, 0] and point 13 [paras[1].firstChild, 9]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "Sanity check: startContainer must be correct")
    at testExtend ( /selection/extend.js:80:5)
Pass
assert_equals(0, 0, "Sanity check: startOffset must be correct")
    at testExtend ( /selection/extend.js:82:5)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "Sanity check: endContainer must be correct")
    at testExtend ( /selection/extend.js:84:5)
Pass
assert_equals(0, 0, "Sanity check: endOffset must be correct")
    at testExtend ( /selection/extend.js:86:5)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "anchorNode must not change if the node passed to extend() has the same root as the original range")
    at testExtend ( /selection/extend.js:145:9)
Pass
assert_equals(0, 0, "anchorOffset must not change if the node passed to extend() has the same root as the original range")
    at testExtend ( /selection/extend.js:147:9)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "focusNode must be the node passed to extend()")
    at testExtend ( /selection/extend.js:155:5)
Pass
assert_equals(9, 9, "focusOffset must be the offset passed to extend()")
    at testExtend ( /selection/extend.js:157:5)
Pass
assert_not_equals(object "Äb̈c̈d̈ëf̈g̈ḧ Ijklmnop ", object "", "extend() must replace any existing range with a new one, not mutate the existing one")
    at testExtend ( /selection/extend.js:159:5)
Passextend() with range 1 [paras[0].firstChild, 0, paras[0].firstChild, 0] and point 14 [paras[1].firstChild, 10]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "Sanity check: startContainer must be correct")
    at testExtend ( /selection/extend.js:80:5)
Pass
assert_equals(0, 0, "Sanity check: startOffset must be correct")
    at testExtend ( /selection/extend.js:82:5)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "Sanity check: endContainer must be correct")
    at testExtend ( /selection/extend.js:84:5)
Pass
assert_equals(0, 0, "Sanity check: endOffset must be correct")
    at testExtend ( /selection/extend.js:86:5)
Pass
assert_throws_dom("INDEX_SIZE_ERR", function "function() {             selection.extend(node, offset);         }", "extend() to an offset that's greater than node length (9) must throw IndexSizeError")
    at testExtend ( /selection/extend.js:117:9)
Passextend() with range 1 [paras[0].firstChild, 0, paras[0].firstChild, 0] and point 15 [paras[1].firstChild, 65535]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "Sanity check: startContainer must be correct")
    at testExtend ( /selection/extend.js:80:5)
Pass
assert_equals(0, 0, "Sanity check: startOffset must be correct")
    at testExtend ( /selection/extend.js:82:5)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "Sanity check: endContainer must be correct")
    at testExtend ( /selection/extend.js:84:5)
Pass
assert_equals(0, 0, "Sanity check: endOffset must be correct")
    at testExtend ( /selection/extend.js:86:5)
Pass
assert_throws_dom("INDEX_SIZE_ERR", function "function() {             selection.extend(node, offset);         }", "extend() to an offset that's greater than node length (9) must throw IndexSizeError")
    at testExtend ( /selection/extend.js:117:9)
Passextend() with range 1 [paras[0].firstChild, 0, paras[0].firstChild, 0] and point 16 [detachedPara1.firstChild, 0]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(1, 1, "The operation should not add Range")
    at assertSelectionNoChange ( /selection/common.js:976:5)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "The operation should not update anchorNode")
    at assertSelectionNoChange ( /selection/common.js:978:5)
Pass
assert_equals(0, 0, "The operation should not update anchorOffset")
    at assertSelectionNoChange ( /selection/common.js:980:5)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "The operation should not update focusNode")
    at assertSelectionNoChange ( /selection/common.js:982:5)
Pass
assert_equals(0, 0, "The operation should not update focusOffset")
    at assertSelectionNoChange ( /selection/common.js:984:5)
Pass
assert_equals(object "", object "", "The operation should not replace a registered Range")
    at assertSelectionNoChange ( /selection/common.js:988:5)
Passextend() with range 1 [paras[0].firstChild, 0, paras[0].firstChild, 0] and point 17 [detachedPara1.firstChild, 1]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(1, 1, "The operation should not add Range")
    at assertSelectionNoChange ( /selection/common.js:976:5)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "The operation should not update anchorNode")
    at assertSelectionNoChange ( /selection/common.js:978:5)
Pass
assert_equals(0, 0, "The operation should not update anchorOffset")
    at assertSelectionNoChange ( /selection/common.js:980:5)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "The operation should not update focusNode")
    at assertSelectionNoChange ( /selection/common.js:982:5)
Pass
assert_equals(0, 0, "The operation should not update focusOffset")
    at assertSelectionNoChange ( /selection/common.js:984:5)
Pass
assert_equals(object "", object "", "The operation should not replace a registered Range")
    at assertSelectionNoChange ( /selection/common.js:988:5)
Passextend() with range 1 [paras[0].firstChild, 0, paras[0].firstChild, 0] and point 18 [detachedPara1.firstChild, 8]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(1, 1, "The operation should not add Range")
    at assertSelectionNoChange ( /selection/common.js:976:5)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "The operation should not update anchorNode")
    at assertSelectionNoChange ( /selection/common.js:978:5)
Pass
assert_equals(0, 0, "The operation should not update anchorOffset")
    at assertSelectionNoChange ( /selection/common.js:980:5)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "The operation should not update focusNode")
    at assertSelectionNoChange ( /selection/common.js:982:5)
Pass
assert_equals(0, 0, "The operation should not update focusOffset")
    at assertSelectionNoChange ( /selection/common.js:984:5)
Pass
assert_equals(object "", object "", "The operation should not replace a registered Range")
    at assertSelectionNoChange ( /selection/common.js:988:5)
Passextend() with range 1 [paras[0].firstChild, 0, paras[0].firstChild, 0] and point 19 [detachedPara1.firstChild, 9]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(1, 1, "The operation should not add Range")
    at assertSelectionNoChange ( /selection/common.js:976:5)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "The operation should not update anchorNode")
    at assertSelectionNoChange ( /selection/common.js:978:5)
Pass
assert_equals(0, 0, "The operation should not update anchorOffset")
    at assertSelectionNoChange ( /selection/common.js:980:5)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "The operation should not update focusNode")
    at assertSelectionNoChange ( /selection/common.js:982:5)
Pass
assert_equals(0, 0, "The operation should not update focusOffset")
    at assertSelectionNoChange ( /selection/common.js:984:5)
Pass
assert_equals(object "", object "", "The operation should not replace a registered Range")
    at assertSelectionNoChange ( /selection/common.js:988:5)
Passextend() with range 1 [paras[0].firstChild, 0, paras[0].firstChild, 0] and point 20 [foreignPara1.firstChild, 0]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(1, 1, "The operation should not add Range")
    at assertSelectionNoChange ( /selection/common.js:976:5)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "The operation should not update anchorNode")
    at assertSelectionNoChange ( /selection/common.js:978:5)
Pass
assert_equals(0, 0, "The operation should not update anchorOffset")
    at assertSelectionNoChange ( /selection/common.js:980:5)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "The operation should not update focusNode")
    at assertSelectionNoChange ( /selection/common.js:982:5)
Pass
assert_equals(0, 0, "The operation should not update focusOffset")
    at assertSelectionNoChange ( /selection/common.js:984:5)
Pass
assert_equals(object "", object "", "The operation should not replace a registered Range")
    at assertSelectionNoChange ( /selection/common.js:988:5)
Passextend() with range 1 [paras[0].firstChild, 0, paras[0].firstChild, 0] and point 21 [foreignPara1.firstChild, 1]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(1, 1, "The operation should not add Range")
    at assertSelectionNoChange ( /selection/common.js:976:5)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "The operation should not update anchorNode")
    at assertSelectionNoChange ( /selection/common.js:978:5)
Pass
assert_equals(0, 0, "The operation should not update anchorOffset")
    at assertSelectionNoChange ( /selection/common.js:980:5)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "The operation should not update focusNode")
    at assertSelectionNoChange ( /selection/common.js:982:5)
Pass
assert_equals(0, 0, "The operation should not update focusOffset")
    at assertSelectionNoChange ( /selection/common.js:984:5)
Pass
assert_equals(object "", object "", "The operation should not replace a registered Range")
    at assertSelectionNoChange ( /selection/common.js:988:5)
Passextend() with range 1 [paras[0].firstChild, 0, paras[0].firstChild, 0] and point 22 [foreignPara1.firstChild, 8]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(1, 1, "The operation should not add Range")
    at assertSelectionNoChange ( /selection/common.js:976:5)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "The operation should not update anchorNode")
    at assertSelectionNoChange ( /selection/common.js:978:5)
Pass
assert_equals(0, 0, "The operation should not update anchorOffset")
    at assertSelectionNoChange ( /selection/common.js:980:5)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "The operation should not update focusNode")
    at assertSelectionNoChange ( /selection/common.js:982:5)
Pass
assert_equals(0, 0, "The operation should not update focusOffset")
    at assertSelectionNoChange ( /selection/common.js:984:5)
Pass
assert_equals(object "", object "", "The operation should not replace a registered Range")
    at assertSelectionNoChange ( /selection/common.js:988:5)
Passextend() with range 1 [paras[0].firstChild, 0, paras[0].firstChild, 0] and point 23 [foreignPara1.firstChild, 9]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(1, 1, "The operation should not add Range")
    at assertSelectionNoChange ( /selection/common.js:976:5)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "The operation should not update anchorNode")
    at assertSelectionNoChange ( /selection/common.js:978:5)
Pass
assert_equals(0, 0, "The operation should not update anchorOffset")
    at assertSelectionNoChange ( /selection/common.js:980:5)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "The operation should not update focusNode")
    at assertSelectionNoChange ( /selection/common.js:982:5)
Pass
assert_equals(0, 0, "The operation should not update focusOffset")
    at assertSelectionNoChange ( /selection/common.js:984:5)
Pass
assert_equals(object "", object "", "The operation should not replace a registered Range")
    at assertSelectionNoChange ( /selection/common.js:988:5)
Passextend() with range 1 [paras[0].firstChild, 0, paras[0].firstChild, 0] and point 24 [document.documentElement, -1]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "Sanity check: startContainer must be correct")
    at testExtend ( /selection/extend.js:80:5)
Pass
assert_equals(0, 0, "Sanity check: startOffset must be correct")
    at testExtend ( /selection/extend.js:82:5)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "Sanity check: endContainer must be correct")
    at testExtend ( /selection/extend.js:84:5)
Pass
assert_equals(0, 0, "Sanity check: endOffset must be correct")
    at testExtend ( /selection/extend.js:86:5)
Pass
assert_throws_dom("INDEX_SIZE_ERR", function "function() {             selection.extend(node, offset);         }", "extend() to an offset that's greater than node length (2) must throw IndexSizeError")
    at testExtend ( /selection/extend.js:117:9)
Passextend() with range 1 [paras[0].firstChild, 0, paras[0].firstChild, 0] and point 25 [document.documentElement, 0]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "Sanity check: startContainer must be correct")
    at testExtend ( /selection/extend.js:80:5)
Pass
assert_equals(0, 0, "Sanity check: startOffset must be correct")
    at testExtend ( /selection/extend.js:82:5)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "Sanity check: endContainer must be correct")
    at testExtend ( /selection/extend.js:84:5)
Pass
assert_equals(0, 0, "Sanity check: endOffset must be correct")
    at testExtend ( /selection/extend.js:86:5)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "anchorNode must not change if the node passed to extend() has the same root as the original range")
    at testExtend ( /selection/extend.js:145:9)
Pass
assert_equals(0, 0, "anchorOffset must not change if the node passed to extend() has the same root as the original range")
    at testExtend ( /selection/extend.js:147:9)
Pass
assert_equals(Element node <html><head><title>Selection extend() tests</title> <meta..., Element node <html><head><title>Selection extend() tests</title> <meta..., "focusNode must be the node passed to extend()")
    at testExtend ( /selection/extend.js:155:5)
Pass
assert_equals(0, 0, "focusOffset must be the offset passed to extend()")
    at testExtend ( /selection/extend.js:157:5)
Pass
assert_not_equals(object "Selection extend() tests   ", object "", "extend() must replace any existing range with a new one, not mutate the existing one")
    at testExtend ( /selection/extend.js:159:5)
Passextend() with range 1 [paras[0].firstChild, 0, paras[0].firstChild, 0] and point 26 [document.documentElement, 1]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "Sanity check: startContainer must be correct")
    at testExtend ( /selection/extend.js:80:5)
Pass
assert_equals(0, 0, "Sanity check: startOffset must be correct")
    at testExtend ( /selection/extend.js:82:5)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "Sanity check: endContainer must be correct")
    at testExtend ( /selection/extend.js:84:5)
Pass
assert_equals(0, 0, "Sanity check: endOffset must be correct")
    at testExtend ( /selection/extend.js:86:5)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "anchorNode must not change if the node passed to extend() has the same root as the original range")
    at testExtend ( /selection/extend.js:145:9)
Pass
assert_equals(0, 0, "anchorOffset must not change if the node passed to extend() has the same root as the original range")
    at testExtend ( /selection/extend.js:147:9)
Pass
assert_equals(Element node <html><head><title>Selection extend() tests</title> <meta..., Element node <html><head><title>Selection extend() tests</title> <meta..., "focusNode must be the node passed to extend()")
    at testExtend ( /selection/extend.js:155:5)
Pass
assert_equals(1, 1, "focusOffset must be the offset passed to extend()")
    at testExtend ( /selection/extend.js:157:5)
Pass
assert_not_equals(object "", object "", "extend() must replace any existing range with a new one, not mutate the existing one")
    at testExtend ( /selection/extend.js:159:5)
Passextend() with range 1 [paras[0].firstChild, 0, paras[0].firstChild, 0] and point 27 [document.documentElement, 2]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "Sanity check: startContainer must be correct")
    at testExtend ( /selection/extend.js:80:5)
Pass
assert_equals(0, 0, "Sanity check: startOffset must be correct")
    at testExtend ( /selection/extend.js:82:5)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "Sanity check: endContainer must be correct")
    at testExtend ( /selection/extend.js:84:5)
Pass
assert_equals(0, 0, "Sanity check: endOffset must be correct")
    at testExtend ( /selection/extend.js:86:5)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "anchorNode must not change if the node passed to extend() has the same root as the original range")
    at testExtend ( /selection/extend.js:145:9)
Pass
assert_equals(0, 0, "anchorOffset must not change if the node passed to extend() has the same root as the original range")
    at testExtend ( /selection/extend.js:147:9)
Pass
assert_equals(Element node <html><head><title>Selection extend() tests</title> <meta..., Element node <html><head><title>Selection extend() tests</title> <meta..., "focusNode must be the node passed to extend()")
    at testExtend ( /selection/extend.js:155:5)
Pass
assert_equals(2, 2, "focusOffset must be the offset passed to extend()")
    at testExtend ( /selection/extend.js:157:5)
Pass
assert_not_equals(object "Äb̈c̈d̈ëf̈g̈ḧ Ijklmnop QrstuvwxYzabcdefGhijklmn     Running, 27 complete, 1 remain  "use strict";  testExtendSubSet(0, 20); testDiv.style.display = "none"; ", object "", "extend() must replace any existing range with a new one, not mutate the existing one")
    at testExtend ( /selection/extend.js:159:5)
Passextend() with range 1 [paras[0].firstChild, 0, paras[0].firstChild, 0] and point 28 [document.documentElement, 7]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "Sanity check: startContainer must be correct")
    at testExtend ( /selection/extend.js:80:5)
Pass
assert_equals(0, 0, "Sanity check: startOffset must be correct")
    at testExtend ( /selection/extend.js:82:5)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "Sanity check: endContainer must be correct")
    at testExtend ( /selection/extend.js:84:5)
Pass
assert_equals(0, 0, "Sanity check: endOffset must be correct")
    at testExtend ( /selection/extend.js:86:5)
Pass
assert_throws_dom("INDEX_SIZE_ERR", function "function() {             selection.extend(node, offset);         }", "extend() to an offset that's greater than node length (2) must throw IndexSizeError")
    at testExtend ( /selection/extend.js:117:9)
Passextend() with range 1 [paras[0].firstChild, 0, paras[0].firstChild, 0] and point 29 [document.head, 1]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "Sanity check: startContainer must be correct")
    at testExtend ( /selection/extend.js:80:5)
Pass
assert_equals(0, 0, "Sanity check: startOffset must be correct")
    at testExtend ( /selection/extend.js:82:5)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "Sanity check: endContainer must be correct")
    at testExtend ( /selection/extend.js:84:5)
Pass
assert_equals(0, 0, "Sanity check: endOffset must be correct")
    at testExtend ( /selection/extend.js:86:5)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "anchorNode must not change if the node passed to extend() has the same root as the original range")
    at testExtend ( /selection/extend.js:145:9)
Pass
assert_equals(0, 0, "anchorOffset must not change if the node passed to extend() has the same root as the original range")
    at testExtend ( /selection/extend.js:147:9)
Pass
assert_equals(Element node <head><title>Selection extend() tests</title> <meta chars..., Element node <head><title>Selection extend() tests</title> <meta chars..., "focusNode must be the node passed to extend()")
    at testExtend ( /selection/extend.js:155:5)
Pass
assert_equals(1, 1, "focusOffset must be the offset passed to extend()")
    at testExtend ( /selection/extend.js:157:5)
Pass
assert_not_equals(object "   ", object "", "extend() must replace any existing range with a new one, not mutate the existing one")
    at testExtend ( /selection/extend.js:159:5)
Passextend() with range 1 [paras[0].firstChild, 0, paras[0].firstChild, 0] and point 30 [document.body, 3]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "Sanity check: startContainer must be correct")
    at testExtend ( /selection/extend.js:80:5)
Pass
assert_equals(0, 0, "Sanity check: startOffset must be correct")
    at testExtend ( /selection/extend.js:82:5)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "Sanity check: endContainer must be correct")
    at testExtend ( /selection/extend.js:84:5)
Pass
assert_equals(0, 0, "Sanity check: endOffset must be correct")
    at testExtend ( /selection/extend.js:86:5)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "anchorNode must not change if the node passed to extend() has the same root as the original range")
    at testExtend ( /selection/extend.js:145:9)
Pass
assert_equals(0, 0, "anchorOffset must not change if the node passed to extend() has the same root as the original range")
    at testExtend ( /selection/extend.js:147:9)
Pass
assert_equals(Element node <body><div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ </p><p id..., Element node <body><div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ </p><p id..., "focusNode must be the node passed to extend()")
    at testExtend ( /selection/extend.js:155:5)
Pass
assert_equals(3, 3, "focusOffset must be the offset passed to extend()")
    at testExtend ( /selection/extend.js:157:5)
Pass
assert_not_equals(object "Äb̈c̈d̈ëf̈g̈ḧ Ijklmnop QrstuvwxYzabcdefGhijklmn ", object "", "extend() must replace any existing range with a new one, not mutate the existing one")
    at testExtend ( /selection/extend.js:159:5)
Passextend() with range 1 [paras[0].firstChild, 0, paras[0].firstChild, 0] and point 31 [foreignDoc.documentElement, 0]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(1, 1, "The operation should not add Range")
    at assertSelectionNoChange ( /selection/common.js:976:5)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "The operation should not update anchorNode")
    at assertSelectionNoChange ( /selection/common.js:978:5)
Pass
assert_equals(0, 0, "The operation should not update anchorOffset")
    at assertSelectionNoChange ( /selection/common.js:980:5)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "The operation should not update focusNode")
    at assertSelectionNoChange ( /selection/common.js:982:5)
Pass
assert_equals(0, 0, "The operation should not update focusOffset")
    at assertSelectionNoChange ( /selection/common.js:984:5)
Pass
assert_equals(object "", object "", "The operation should not replace a registered Range")
    at assertSelectionNoChange ( /selection/common.js:988:5)
Passextend() with range 1 [paras[0].firstChild, 0, paras[0].firstChild, 0] and point 32 [foreignDoc.documentElement, 1]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(1, 1, "The operation should not add Range")
    at assertSelectionNoChange ( /selection/common.js:976:5)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "The operation should not update anchorNode")
    at assertSelectionNoChange ( /selection/common.js:978:5)
Pass
assert_equals(0, 0, "The operation should not update anchorOffset")
    at assertSelectionNoChange ( /selection/common.js:980:5)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "The operation should not update focusNode")
    at assertSelectionNoChange ( /selection/common.js:982:5)
Pass
assert_equals(0, 0, "The operation should not update focusOffset")
    at assertSelectionNoChange ( /selection/common.js:984:5)
Pass
assert_equals(object "", object "", "The operation should not replace a registered Range")
    at assertSelectionNoChange ( /selection/common.js:988:5)
Passextend() with range 1 [paras[0].firstChild, 0, paras[0].firstChild, 0] and point 33 [foreignDoc.head, 0]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(1, 1, "The operation should not add Range")
    at assertSelectionNoChange ( /selection/common.js:976:5)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "The operation should not update anchorNode")
    at assertSelectionNoChange ( /selection/common.js:978:5)
Pass
assert_equals(0, 0, "The operation should not update anchorOffset")
    at assertSelectionNoChange ( /selection/common.js:980:5)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "The operation should not update focusNode")
    at assertSelectionNoChange ( /selection/common.js:982:5)
Pass
assert_equals(0, 0, "The operation should not update focusOffset")
    at assertSelectionNoChange ( /selection/common.js:984:5)
Pass
assert_equals(object "", object "", "The operation should not replace a registered Range")
    at assertSelectionNoChange ( /selection/common.js:988:5)
Passextend() with range 1 [paras[0].firstChild, 0, paras[0].firstChild, 0] and point 34 [foreignDoc.body, 1]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(1, 1, "The operation should not add Range")
    at assertSelectionNoChange ( /selection/common.js:976:5)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "The operation should not update anchorNode")
    at assertSelectionNoChange ( /selection/common.js:978:5)
Pass
assert_equals(0, 0, "The operation should not update anchorOffset")
    at assertSelectionNoChange ( /selection/common.js:980:5)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "The operation should not update focusNode")
    at assertSelectionNoChange ( /selection/common.js:982:5)
Pass
assert_equals(0, 0, "The operation should not update focusOffset")
    at assertSelectionNoChange ( /selection/common.js:984:5)
Pass
assert_equals(object "", object "", "The operation should not replace a registered Range")
    at assertSelectionNoChange ( /selection/common.js:988:5)
Passextend() with range 1 [paras[0].firstChild, 0, paras[0].firstChild, 0] and point 35 [paras[0], 0]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "Sanity check: startContainer must be correct")
    at testExtend ( /selection/extend.js:80:5)
Pass
assert_equals(0, 0, "Sanity check: startOffset must be correct")
    at testExtend ( /selection/extend.js:82:5)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "Sanity check: endContainer must be correct")
    at testExtend ( /selection/extend.js:84:5)
Pass
assert_equals(0, 0, "Sanity check: endOffset must be correct")
    at testExtend ( /selection/extend.js:86:5)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "anchorNode must not change if the node passed to extend() has the same root as the original range")
    at testExtend ( /selection/extend.js:145:9)
Pass
assert_equals(0, 0, "anchorOffset must not change if the node passed to extend() has the same root as the original range")
    at testExtend ( /selection/extend.js:147:9)
Pass
assert_equals(Element node <p id="a">Äb̈c̈d̈ëf̈g̈ḧ </p>, Element node <p id="a">Äb̈c̈d̈ëf̈g̈ḧ </p>, "focusNode must be the node passed to extend()")
    at testExtend ( /selection/extend.js:155:5)
Pass
assert_equals(0, 0, "focusOffset must be the offset passed to extend()")
    at testExtend ( /selection/extend.js:157:5)
Pass
assert_not_equals(object "", object "", "extend() must replace any existing range with a new one, not mutate the existing one")
    at testExtend ( /selection/extend.js:159:5)
Passextend() with range 1 [paras[0].firstChild, 0, paras[0].firstChild, 0] and point 36 [paras[0], 1]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "Sanity check: startContainer must be correct")
    at testExtend ( /selection/extend.js:80:5)
Pass
assert_equals(0, 0, "Sanity check: startOffset must be correct")
    at testExtend ( /selection/extend.js:82:5)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "Sanity check: endContainer must be correct")
    at testExtend ( /selection/extend.js:84:5)
Pass
assert_equals(0, 0, "Sanity check: endOffset must be correct")
    at testExtend ( /selection/extend.js:86:5)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "anchorNode must not change if the node passed to extend() has the same root as the original range")
    at testExtend ( /selection/extend.js:145:9)
Pass
assert_equals(0, 0, "anchorOffset must not change if the node passed to extend() has the same root as the original range")
    at testExtend ( /selection/extend.js:147:9)
Pass
assert_equals(Element node <p id="a">Äb̈c̈d̈ëf̈g̈ḧ </p>, Element node <p id="a">Äb̈c̈d̈ëf̈g̈ḧ </p>, "focusNode must be the node passed to extend()")
    at testExtend ( /selection/extend.js:155:5)
Pass
assert_equals(1, 1, "focusOffset must be the offset passed to extend()")
    at testExtend ( /selection/extend.js:157:5)
Pass
assert_not_equals(object "Äb̈c̈d̈ëf̈g̈ḧ ", object "", "extend() must replace any existing range with a new one, not mutate the existing one")
    at testExtend ( /selection/extend.js:159:5)
Passextend() with range 1 [paras[0].firstChild, 0, paras[0].firstChild, 0] and point 37 [paras[0], 2]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "Sanity check: startContainer must be correct")
    at testExtend ( /selection/extend.js:80:5)
Pass
assert_equals(0, 0, "Sanity check: startOffset must be correct")
    at testExtend ( /selection/extend.js:82:5)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "Sanity check: endContainer must be correct")
    at testExtend ( /selection/extend.js:84:5)
Pass
assert_equals(0, 0, "Sanity check: endOffset must be correct")
    at testExtend ( /selection/extend.js:86:5)
Pass
assert_throws_dom("INDEX_SIZE_ERR", function "function() {             selection.extend(node, offset);         }", "extend() to an offset that's greater than node length (1) must throw IndexSizeError")
    at testExtend ( /selection/extend.js:117:9)
Passextend() with range 1 [paras[0].firstChild, 0, paras[0].firstChild, 0] and point 38 [paras[1], 0]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "Sanity check: startContainer must be correct")
    at testExtend ( /selection/extend.js:80:5)
Pass
assert_equals(0, 0, "Sanity check: startOffset must be correct")
    at testExtend ( /selection/extend.js:82:5)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "Sanity check: endContainer must be correct")
    at testExtend ( /selection/extend.js:84:5)
Pass
assert_equals(0, 0, "Sanity check: endOffset must be correct")
    at testExtend ( /selection/extend.js:86:5)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "anchorNode must not change if the node passed to extend() has the same root as the original range")
    at testExtend ( /selection/extend.js:145:9)
Pass
assert_equals(0, 0, "anchorOffset must not change if the node passed to extend() has the same root as the original range")
    at testExtend ( /selection/extend.js:147:9)
Pass
assert_equals(Element node <p id="b" style="display:none">Ijklmnop </p>, Element node <p id="b" style="display:none">Ijklmnop </p>, "focusNode must be the node passed to extend()")
    at testExtend ( /selection/extend.js:155:5)
Pass
assert_equals(0, 0, "focusOffset must be the offset passed to extend()")
    at testExtend ( /selection/extend.js:157:5)
Pass
assert_not_equals(object "Äb̈c̈d̈ëf̈g̈ḧ ", object "", "extend() must replace any existing range with a new one, not mutate the existing one")
    at testExtend ( /selection/extend.js:159:5)
Passextend() with range 1 [paras[0].firstChild, 0, paras[0].firstChild, 0] and point 39 [paras[1], 1]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "Sanity check: startContainer must be correct")
    at testExtend ( /selection/extend.js:80:5)
Pass
assert_equals(0, 0, "Sanity check: startOffset must be correct")
    at testExtend ( /selection/extend.js:82:5)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "Sanity check: endContainer must be correct")
    at testExtend ( /selection/extend.js:84:5)
Pass
assert_equals(0, 0, "Sanity check: endOffset must be correct")
    at testExtend ( /selection/extend.js:86:5)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "anchorNode must not change if the node passed to extend() has the same root as the original range")
    at testExtend ( /selection/extend.js:145:9)
Pass
assert_equals(0, 0, "anchorOffset must not change if the node passed to extend() has the same root as the original range")
    at testExtend ( /selection/extend.js:147:9)
Pass
assert_equals(Element node <p id="b" style="display:none">Ijklmnop </p>, Element node <p id="b" style="display:none">Ijklmnop </p>, "focusNode must be the node passed to extend()")
    at testExtend ( /selection/extend.js:155:5)
Pass
assert_equals(1, 1, "focusOffset must be the offset passed to extend()")
    at testExtend ( /selection/extend.js:157:5)
Pass
assert_not_equals(object "Äb̈c̈d̈ëf̈g̈ḧ Ijklmnop ", object "", "extend() must replace any existing range with a new one, not mutate the existing one")
    at testExtend ( /selection/extend.js:159:5)
Passextend() with range 1 [paras[0].firstChild, 0, paras[0].firstChild, 0] and point 40 [paras[1], 2]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "Sanity check: startContainer must be correct")
    at testExtend ( /selection/extend.js:80:5)
Pass
assert_equals(0, 0, "Sanity check: startOffset must be correct")
    at testExtend ( /selection/extend.js:82:5)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "Sanity check: endContainer must be correct")
    at testExtend ( /selection/extend.js:84:5)
Pass
assert_equals(0, 0, "Sanity check: endOffset must be correct")
    at testExtend ( /selection/extend.js:86:5)
Pass
assert_throws_dom("INDEX_SIZE_ERR", function "function() {             selection.extend(node, offset);         }", "extend() to an offset that's greater than node length (1) must throw IndexSizeError")
    at testExtend ( /selection/extend.js:117:9)
Passextend() with range 1 [paras[0].firstChild, 0, paras[0].firstChild, 0] and point 41 [detachedPara1, 0]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(1, 1, "The operation should not add Range")
    at assertSelectionNoChange ( /selection/common.js:976:5)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "The operation should not update anchorNode")
    at assertSelectionNoChange ( /selection/common.js:978:5)
Pass
assert_equals(0, 0, "The operation should not update anchorOffset")
    at assertSelectionNoChange ( /selection/common.js:980:5)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "The operation should not update focusNode")
    at assertSelectionNoChange ( /selection/common.js:982:5)
Pass
assert_equals(0, 0, "The operation should not update focusOffset")
    at assertSelectionNoChange ( /selection/common.js:984:5)
Pass
assert_equals(object "", object "", "The operation should not replace a registered Range")
    at assertSelectionNoChange ( /selection/common.js:988:5)
Passextend() with range 1 [paras[0].firstChild, 0, paras[0].firstChild, 0] and point 42 [detachedPara1, 1]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(1, 1, "The operation should not add Range")
    at assertSelectionNoChange ( /selection/common.js:976:5)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "The operation should not update anchorNode")
    at assertSelectionNoChange ( /selection/common.js:978:5)
Pass
assert_equals(0, 0, "The operation should not update anchorOffset")
    at assertSelectionNoChange ( /selection/common.js:980:5)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "The operation should not update focusNode")
    at assertSelectionNoChange ( /selection/common.js:982:5)
Pass
assert_equals(0, 0, "The operation should not update focusOffset")
    at assertSelectionNoChange ( /selection/common.js:984:5)
Pass
assert_equals(object "", object "", "The operation should not replace a registered Range")
    at assertSelectionNoChange ( /selection/common.js:988:5)
Passextend() with range 1 [paras[0].firstChild, 0, paras[0].firstChild, 0] and point 43 [testDiv, 0]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "Sanity check: startContainer must be correct")
    at testExtend ( /selection/extend.js:80:5)
Pass
assert_equals(0, 0, "Sanity check: startOffset must be correct")
    at testExtend ( /selection/extend.js:82:5)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "Sanity check: endContainer must be correct")
    at testExtend ( /selection/extend.js:84:5)
Pass
assert_equals(0, 0, "Sanity check: endOffset must be correct")
    at testExtend ( /selection/extend.js:86:5)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "anchorNode must not change if the node passed to extend() has the same root as the original range")
    at testExtend ( /selection/extend.js:145:9)
Pass
assert_equals(0, 0, "anchorOffset must not change if the node passed to extend() has the same root as the original range")
    at testExtend ( /selection/extend.js:147:9)
Pass
assert_equals(Element node <div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ </p><p id="b" s..., Element node <div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ </p><p id="b" s..., "focusNode must be the node passed to extend()")
    at testExtend ( /selection/extend.js:155:5)
Pass
assert_equals(0, 0, "focusOffset must be the offset passed to extend()")
    at testExtend ( /selection/extend.js:157:5)
Pass
assert_not_equals(object "", object "", "extend() must replace any existing range with a new one, not mutate the existing one")
    at testExtend ( /selection/extend.js:159:5)
Passextend() with range 1 [paras[0].firstChild, 0, paras[0].firstChild, 0] and point 44 [testDiv, 3]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "Sanity check: startContainer must be correct")
    at testExtend ( /selection/extend.js:80:5)
Pass
assert_equals(0, 0, "Sanity check: startOffset must be correct")
    at testExtend ( /selection/extend.js:82:5)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "Sanity check: endContainer must be correct")
    at testExtend ( /selection/extend.js:84:5)
Pass
assert_equals(0, 0, "Sanity check: endOffset must be correct")
    at testExtend ( /selection/extend.js:86:5)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "anchorNode must not change if the node passed to extend() has the same root as the original range")
    at testExtend ( /selection/extend.js:145:9)
Pass
assert_equals(0, 0, "anchorOffset must not change if the node passed to extend() has the same root as the original range")
    at testExtend ( /selection/extend.js:147:9)
Pass
assert_equals(Element node <div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ </p><p id="b" s..., Element node <div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ </p><p id="b" s..., "focusNode must be the node passed to extend()")
    at testExtend ( /selection/extend.js:155:5)
Pass
assert_equals(3, 3, "focusOffset must be the offset passed to extend()")
    at testExtend ( /selection/extend.js:157:5)
Pass
assert_not_equals(object "Äb̈c̈d̈ëf̈g̈ḧ Ijklmnop Qrstuvwx", object "", "extend() must replace any existing range with a new one, not mutate the existing one")
    at testExtend ( /selection/extend.js:159:5)
Passextend() with range 1 [paras[0].firstChild, 0, paras[0].firstChild, 0] and point 45 [document, -1]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "Sanity check: startContainer must be correct")
    at testExtend ( /selection/extend.js:80:5)
Pass
assert_equals(0, 0, "Sanity check: startOffset must be correct")
    at testExtend ( /selection/extend.js:82:5)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "Sanity check: endContainer must be correct")
    at testExtend ( /selection/extend.js:84:5)
Pass
assert_equals(0, 0, "Sanity check: endOffset must be correct")
    at testExtend ( /selection/extend.js:86:5)
Pass
assert_throws_dom("INDEX_SIZE_ERR", function "function() {             selection.extend(node, offset);         }", "extend() to an offset that's greater than node length (2) must throw IndexSizeError")
    at testExtend ( /selection/extend.js:117:9)
Passextend() with range 1 [paras[0].firstChild, 0, paras[0].firstChild, 0] and point 46 [document, 0]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "Sanity check: startContainer must be correct")
    at testExtend ( /selection/extend.js:80:5)
Pass
assert_equals(0, 0, "Sanity check: startOffset must be correct")
    at testExtend ( /selection/extend.js:82:5)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "Sanity check: endContainer must be correct")
    at testExtend ( /selection/extend.js:84:5)
Pass
assert_equals(0, 0, "Sanity check: endOffset must be correct")
    at testExtend ( /selection/extend.js:86:5)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "anchorNode must not change if the node passed to extend() has the same root as the original range")
    at testExtend ( /selection/extend.js:145:9)
Pass
assert_equals(0, 0, "anchorOffset must not change if the node passed to extend() has the same root as the original range")
    at testExtend ( /selection/extend.js:147:9)
Pass
assert_equals(Document node with 2 children, Document node with 2 children, "focusNode must be the node passed to extend()")
    at testExtend ( /selection/extend.js:155:5)
Pass
assert_equals(0, 0, "focusOffset must be the offset passed to extend()")
    at testExtend ( /selection/extend.js:157:5)
Pass
assert_not_equals(object "Selection extend() tests   ", object "", "extend() must replace any existing range with a new one, not mutate the existing one")
    at testExtend ( /selection/extend.js:159:5)
Passextend() with range 1 [paras[0].firstChild, 0, paras[0].firstChild, 0] and point 47 [document, 1]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "Sanity check: startContainer must be correct")
    at testExtend ( /selection/extend.js:80:5)
Pass
assert_equals(0, 0, "Sanity check: startOffset must be correct")
    at testExtend ( /selection/extend.js:82:5)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "Sanity check: endContainer must be correct")
    at testExtend ( /selection/extend.js:84:5)
Pass
assert_equals(0, 0, "Sanity check: endOffset must be correct")
    at testExtend ( /selection/extend.js:86:5)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "anchorNode must not change if the node passed to extend() has the same root as the original range")
    at testExtend ( /selection/extend.js:145:9)
Pass
assert_equals(0, 0, "anchorOffset must not change if the node passed to extend() has the same root as the original range")
    at testExtend ( /selection/extend.js:147:9)
Pass
assert_equals(Document node with 2 children, Document node with 2 children, "focusNode must be the node passed to extend()")
    at testExtend ( /selection/extend.js:155:5)
Pass
assert_equals(1, 1, "focusOffset must be the offset passed to extend()")
    at testExtend ( /selection/extend.js:157:5)
Pass
assert_not_equals(object "Selection extend() tests   ", object "", "extend() must replace any existing range with a new one, not mutate the existing one")
    at testExtend ( /selection/extend.js:159:5)
Passextend() with range 1 [paras[0].firstChild, 0, paras[0].firstChild, 0] and point 48 [document, 2]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "Sanity check: startContainer must be correct")
    at testExtend ( /selection/extend.js:80:5)
Pass
assert_equals(0, 0, "Sanity check: startOffset must be correct")
    at testExtend ( /selection/extend.js:82:5)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "Sanity check: endContainer must be correct")
    at testExtend ( /selection/extend.js:84:5)
Pass
assert_equals(0, 0, "Sanity check: endOffset must be correct")
    at testExtend ( /selection/extend.js:86:5)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "anchorNode must not change if the node passed to extend() has the same root as the original range")
    at testExtend ( /selection/extend.js:145:9)
Pass
assert_equals(0, 0, "anchorOffset must not change if the node passed to extend() has the same root as the original range")
    at testExtend ( /selection/extend.js:147:9)
Pass
assert_equals(Document node with 2 children, Document node with 2 children, "focusNode must be the node passed to extend()")
    at testExtend ( /selection/extend.js:155:5)
Pass
assert_equals(2, 2, "focusOffset must be the offset passed to extend()")
    at testExtend ( /selection/extend.js:157:5)
Pass
assert_not_equals(object "Äb̈c̈d̈ëf̈g̈ḧ Ijklmnop QrstuvwxYzabcdefGhijklmn     Running, 48 complete, 1 remain  "use strict";  testExtendSubSet(0, 20); testDiv.style.display = "none"; ", object "", "extend() must replace any existing range with a new one, not mutate the existing one")
    at testExtend ( /selection/extend.js:159:5)
Passextend() with range 1 [paras[0].firstChild, 0, paras[0].firstChild, 0] and point 49 [document, 3]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "Sanity check: startContainer must be correct")
    at testExtend ( /selection/extend.js:80:5)
Pass
assert_equals(0, 0, "Sanity check: startOffset must be correct")
    at testExtend ( /selection/extend.js:82:5)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "Sanity check: endContainer must be correct")
    at testExtend ( /selection/extend.js:84:5)
Pass
assert_equals(0, 0, "Sanity check: endOffset must be correct")
    at testExtend ( /selection/extend.js:86:5)
Pass
assert_throws_dom("INDEX_SIZE_ERR", function "function() {             selection.extend(node, offset);         }", "extend() to an offset that's greater than node length (2) must throw IndexSizeError")
    at testExtend ( /selection/extend.js:117:9)
Passextend() with range 1 [paras[0].firstChild, 0, paras[0].firstChild, 0] and point 50 [comment, -1]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "Sanity check: startContainer must be correct")
    at testExtend ( /selection/extend.js:80:5)
Pass
assert_equals(0, 0, "Sanity check: startOffset must be correct")
    at testExtend ( /selection/extend.js:82:5)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "Sanity check: endContainer must be correct")
    at testExtend ( /selection/extend.js:84:5)
Pass
assert_equals(0, 0, "Sanity check: endOffset must be correct")
    at testExtend ( /selection/extend.js:86:5)
Pass
assert_throws_dom("INDEX_SIZE_ERR", function "function() {             selection.extend(node, offset);         }", "extend() to an offset that's greater than node length (14) must throw IndexSizeError")
    at testExtend ( /selection/extend.js:117:9)
Passextend() with range 1 [paras[0].firstChild, 0, paras[0].firstChild, 0] and point 51 [comment, 0]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "Sanity check: startContainer must be correct")
    at testExtend ( /selection/extend.js:80:5)
Pass
assert_equals(0, 0, "Sanity check: startOffset must be correct")
    at testExtend ( /selection/extend.js:82:5)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "Sanity check: endContainer must be correct")
    at testExtend ( /selection/extend.js:84:5)
Pass
assert_equals(0, 0, "Sanity check: endOffset must be correct")
    at testExtend ( /selection/extend.js:86:5)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "anchorNode must not change if the node passed to extend() has the same root as the original range")
    at testExtend ( /selection/extend.js:145:9)
Pass
assert_equals(0, 0, "anchorOffset must not change if the node passed to extend() has the same root as the original range")
    at testExtend ( /selection/extend.js:147:9)
Pass
assert_equals(Comment node <!--Alphabet soup?-->, Comment node <!--Alphabet soup?-->, "focusNode must be the node passed to extend()")
    at testExtend ( /selection/extend.js:155:5)
Pass
assert_equals(0, 0, "focusOffset must be the offset passed to extend()")
    at testExtend ( /selection/extend.js:157:5)
Pass
assert_not_equals(object "Äb̈c̈d̈ëf̈g̈ḧ Ijklmnop QrstuvwxYzabcdefGhijklmn", object "", "extend() must replace any existing range with a new one, not mutate the existing one")
    at testExtend ( /selection/extend.js:159:5)
Passextend() with range 1 [paras[0].firstChild, 0, paras[0].firstChild, 0] and point 52 [comment, 4]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "Sanity check: startContainer must be correct")
    at testExtend ( /selection/extend.js:80:5)
Pass
assert_equals(0, 0, "Sanity check: startOffset must be correct")
    at testExtend ( /selection/extend.js:82:5)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "Sanity check: endContainer must be correct")
    at testExtend ( /selection/extend.js:84:5)
Pass
assert_equals(0, 0, "Sanity check: endOffset must be correct")
    at testExtend ( /selection/extend.js:86:5)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "anchorNode must not change if the node passed to extend() has the same root as the original range")
    at testExtend ( /selection/extend.js:145:9)
Pass
assert_equals(0, 0, "anchorOffset must not change if the node passed to extend() has the same root as the original range")
    at testExtend ( /selection/extend.js:147:9)
Pass
assert_equals(Comment node <!--Alphabet soup?-->, Comment node <!--Alphabet soup?-->, "focusNode must be the node passed to extend()")
    at testExtend ( /selection/extend.js:155:5)
Pass
assert_equals(4, 4, "focusOffset must be the offset passed to extend()")
    at testExtend ( /selection/extend.js:157:5)
Pass
assert_not_equals(object "Äb̈c̈d̈ëf̈g̈ḧ Ijklmnop QrstuvwxYzabcdefGhijklmn", object "", "extend() must replace any existing range with a new one, not mutate the existing one")
    at testExtend ( /selection/extend.js:159:5)
Passextend() with range 1 [paras[0].firstChild, 0, paras[0].firstChild, 0] and point 53 [comment, 96]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "Sanity check: startContainer must be correct")
    at testExtend ( /selection/extend.js:80:5)
Pass
assert_equals(0, 0, "Sanity check: startOffset must be correct")
    at testExtend ( /selection/extend.js:82:5)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "Sanity check: endContainer must be correct")
    at testExtend ( /selection/extend.js:84:5)
Pass
assert_equals(0, 0, "Sanity check: endOffset must be correct")
    at testExtend ( /selection/extend.js:86:5)
Pass
assert_throws_dom("INDEX_SIZE_ERR", function "function() {             selection.extend(node, offset);         }", "extend() to an offset that's greater than node length (14) must throw IndexSizeError")
    at testExtend ( /selection/extend.js:117:9)
Passextend() with range 1 [paras[0].firstChild, 0, paras[0].firstChild, 0] and point 54 [foreignDoc, 0]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(1, 1, "The operation should not add Range")
    at assertSelectionNoChange ( /selection/common.js:976:5)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "The operation should not update anchorNode")
    at assertSelectionNoChange ( /selection/common.js:978:5)
Pass
assert_equals(0, 0, "The operation should not update anchorOffset")
    at assertSelectionNoChange ( /selection/common.js:980:5)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "The operation should not update focusNode")
    at assertSelectionNoChange ( /selection/common.js:982:5)
Pass
assert_equals(0, 0, "The operation should not update focusOffset")
    at assertSelectionNoChange ( /selection/common.js:984:5)
Pass
assert_equals(object "", object "", "The operation should not replace a registered Range")
    at assertSelectionNoChange ( /selection/common.js:988:5)
Passextend() with range 1 [paras[0].firstChild, 0, paras[0].firstChild, 0] and point 55 [foreignDoc, 1]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(1, 1, "The operation should not add Range")
    at assertSelectionNoChange ( /selection/common.js:976:5)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "The operation should not update anchorNode")
    at assertSelectionNoChange ( /selection/common.js:978:5)
Pass
assert_equals(0, 0, "The operation should not update anchorOffset")
    at assertSelectionNoChange ( /selection/common.js:980:5)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "The operation should not update focusNode")
    at assertSelectionNoChange ( /selection/common.js:982:5)
Pass
assert_equals(0, 0, "The operation should not update focusOffset")
    at assertSelectionNoChange ( /selection/common.js:984:5)
Pass
assert_equals(object "", object "", "The operation should not replace a registered Range")
    at assertSelectionNoChange ( /selection/common.js:988:5)
Passextend() with range 1 [paras[0].firstChild, 0, paras[0].firstChild, 0] and point 56 [foreignComment, 2]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(1, 1, "The operation should not add Range")
    at assertSelectionNoChange ( /selection/common.js:976:5)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "The operation should not update anchorNode")
    at assertSelectionNoChange ( /selection/common.js:978:5)
Pass
assert_equals(0, 0, "The operation should not update anchorOffset")
    at assertSelectionNoChange ( /selection/common.js:980:5)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "The operation should not update focusNode")
    at assertSelectionNoChange ( /selection/common.js:982:5)
Pass
assert_equals(0, 0, "The operation should not update focusOffset")
    at assertSelectionNoChange ( /selection/common.js:984:5)
Pass
assert_equals(object "", object "", "The operation should not replace a registered Range")
    at assertSelectionNoChange ( /selection/common.js:988:5)
Passextend() with range 1 [paras[0].firstChild, 0, paras[0].firstChild, 0] and point 57 [foreignTextNode, 0]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(1, 1, "The operation should not add Range")
    at assertSelectionNoChange ( /selection/common.js:976:5)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "The operation should not update anchorNode")
    at assertSelectionNoChange ( /selection/common.js:978:5)
Pass
assert_equals(0, 0, "The operation should not update anchorOffset")
    at assertSelectionNoChange ( /selection/common.js:980:5)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "The operation should not update focusNode")
    at assertSelectionNoChange ( /selection/common.js:982:5)
Pass
assert_equals(0, 0, "The operation should not update focusOffset")
    at assertSelectionNoChange ( /selection/common.js:984:5)
Pass
assert_equals(object "", object "", "The operation should not replace a registered Range")
    at assertSelectionNoChange ( /selection/common.js:988:5)
Passextend() with range 1 [paras[0].firstChild, 0, paras[0].firstChild, 0] and point 58 [foreignTextNode, 36]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(1, 1, "The operation should not add Range")
    at assertSelectionNoChange ( /selection/common.js:976:5)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "The operation should not update anchorNode")
    at assertSelectionNoChange ( /selection/common.js:978:5)
Pass
assert_equals(0, 0, "The operation should not update anchorOffset")
    at assertSelectionNoChange ( /selection/common.js:980:5)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "The operation should not update focusNode")
    at assertSelectionNoChange ( /selection/common.js:982:5)
Pass
assert_equals(0, 0, "The operation should not update focusOffset")
    at assertSelectionNoChange ( /selection/common.js:984:5)
Pass
assert_equals(object "", object "", "The operation should not replace a registered Range")
    at assertSelectionNoChange ( /selection/common.js:988:5)
Passextend() with range 1 [paras[0].firstChild, 0, paras[0].firstChild, 0] and point 59 [xmlDoc, -1]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(1, 1, "The operation should not add Range")
    at assertSelectionNoChange ( /selection/common.js:976:5)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "The operation should not update anchorNode")
    at assertSelectionNoChange ( /selection/common.js:978:5)
Pass
assert_equals(0, 0, "The operation should not update anchorOffset")
    at assertSelectionNoChange ( /selection/common.js:980:5)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "The operation should not update focusNode")
    at assertSelectionNoChange ( /selection/common.js:982:5)
Pass
assert_equals(0, 0, "The operation should not update focusOffset")
    at assertSelectionNoChange ( /selection/common.js:984:5)
Pass
assert_equals(object "", object "", "The operation should not replace a registered Range")
    at assertSelectionNoChange ( /selection/common.js:988:5)
Passextend() with range 1 [paras[0].firstChild, 0, paras[0].firstChild, 0] and point 60 [xmlDoc, 0]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(1, 1, "The operation should not add Range")
    at assertSelectionNoChange ( /selection/common.js:976:5)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "The operation should not update anchorNode")
    at assertSelectionNoChange ( /selection/common.js:978:5)
Pass
assert_equals(0, 0, "The operation should not update anchorOffset")
    at assertSelectionNoChange ( /selection/common.js:980:5)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "The operation should not update focusNode")
    at assertSelectionNoChange ( /selection/common.js:982:5)
Pass
assert_equals(0, 0, "The operation should not update focusOffset")
    at assertSelectionNoChange ( /selection/common.js:984:5)
Pass
assert_equals(object "", object "", "The operation should not replace a registered Range")
    at assertSelectionNoChange ( /selection/common.js:988:5)
Passextend() with range 1 [paras[0].firstChild, 0, paras[0].firstChild, 0] and point 61 [xmlDoc, 1]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(1, 1, "The operation should not add Range")
    at assertSelectionNoChange ( /selection/common.js:976:5)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "The operation should not update anchorNode")
    at assertSelectionNoChange ( /selection/common.js:978:5)
Pass
assert_equals(0, 0, "The operation should not update anchorOffset")
    at assertSelectionNoChange ( /selection/common.js:980:5)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "The operation should not update focusNode")
    at assertSelectionNoChange ( /selection/common.js:982:5)
Pass
assert_equals(0, 0, "The operation should not update focusOffset")
    at assertSelectionNoChange ( /selection/common.js:984:5)
Pass
assert_equals(object "", object "", "The operation should not replace a registered Range")
    at assertSelectionNoChange ( /selection/common.js:988:5)
Passextend() with range 1 [paras[0].firstChild, 0, paras[0].firstChild, 0] and point 62 [xmlDoc, 5]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(1, 1, "The operation should not add Range")
    at assertSelectionNoChange ( /selection/common.js:976:5)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "The operation should not update anchorNode")
    at assertSelectionNoChange ( /selection/common.js:978:5)
Pass
assert_equals(0, 0, "The operation should not update anchorOffset")
    at assertSelectionNoChange ( /selection/common.js:980:5)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "The operation should not update focusNode")
    at assertSelectionNoChange ( /selection/common.js:982:5)
Pass
assert_equals(0, 0, "The operation should not update focusOffset")
    at assertSelectionNoChange ( /selection/common.js:984:5)
Pass
assert_equals(object "", object "", "The operation should not replace a registered Range")
    at assertSelectionNoChange ( /selection/common.js:988:5)
Passextend() with range 1 [paras[0].firstChild, 0, paras[0].firstChild, 0] and point 63 [xmlComment, 0]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(1, 1, "The operation should not add Range")
    at assertSelectionNoChange ( /selection/common.js:976:5)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "The operation should not update anchorNode")
    at assertSelectionNoChange ( /selection/common.js:978:5)
Pass
assert_equals(0, 0, "The operation should not update anchorOffset")
    at assertSelectionNoChange ( /selection/common.js:980:5)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "The operation should not update focusNode")
    at assertSelectionNoChange ( /selection/common.js:982:5)
Pass
assert_equals(0, 0, "The operation should not update focusOffset")
    at assertSelectionNoChange ( /selection/common.js:984:5)
Pass
assert_equals(object "", object "", "The operation should not replace a registered Range")
    at assertSelectionNoChange ( /selection/common.js:988:5)
Passextend() with range 1 [paras[0].firstChild, 0, paras[0].firstChild, 0] and point 64 [xmlComment, 4]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(1, 1, "The operation should not add Range")
    at assertSelectionNoChange ( /selection/common.js:976:5)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "The operation should not update anchorNode")
    at assertSelectionNoChange ( /selection/common.js:978:5)
Pass
assert_equals(0, 0, "The operation should not update anchorOffset")
    at assertSelectionNoChange ( /selection/common.js:980:5)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "The operation should not update focusNode")
    at assertSelectionNoChange ( /selection/common.js:982:5)
Pass
assert_equals(0, 0, "The operation should not update focusOffset")
    at assertSelectionNoChange ( /selection/common.js:984:5)
Pass
assert_equals(object "", object "", "The operation should not replace a registered Range")
    at assertSelectionNoChange ( /selection/common.js:988:5)
Passextend() with range 1 [paras[0].firstChild, 0, paras[0].firstChild, 0] and point 65 [processingInstruction, 0]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(1, 1, "The operation should not add Range")
    at assertSelectionNoChange ( /selection/common.js:976:5)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "The operation should not update anchorNode")
    at assertSelectionNoChange ( /selection/common.js:978:5)
Pass
assert_equals(0, 0, "The operation should not update anchorOffset")
    at assertSelectionNoChange ( /selection/common.js:980:5)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "The operation should not update focusNode")
    at assertSelectionNoChange ( /selection/common.js:982:5)
Pass
assert_equals(0, 0, "The operation should not update focusOffset")
    at assertSelectionNoChange ( /selection/common.js:984:5)
Pass
assert_equals(object "", object "", "The operation should not replace a registered Range")
    at assertSelectionNoChange ( /selection/common.js:988:5)
Passextend() with range 1 [paras[0].firstChild, 0, paras[0].firstChild, 0] and point 66 [processingInstruction, 5]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(1, 1, "The operation should not add Range")
    at assertSelectionNoChange ( /selection/common.js:976:5)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "The operation should not update anchorNode")
    at assertSelectionNoChange ( /selection/common.js:978:5)
Pass
assert_equals(0, 0, "The operation should not update anchorOffset")
    at assertSelectionNoChange ( /selection/common.js:980:5)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "The operation should not update focusNode")
    at assertSelectionNoChange ( /selection/common.js:982:5)
Pass
assert_equals(0, 0, "The operation should not update focusOffset")
    at assertSelectionNoChange ( /selection/common.js:984:5)
Pass
assert_equals(object "", object "", "The operation should not replace a registered Range")
    at assertSelectionNoChange ( /selection/common.js:988:5)
Passextend() with range 1 [paras[0].firstChild, 0, paras[0].firstChild, 0] and point 67 [processingInstruction, 9]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(1, 1, "The operation should not add Range")
    at assertSelectionNoChange ( /selection/common.js:976:5)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "The operation should not update anchorNode")
    at assertSelectionNoChange ( /selection/common.js:978:5)
Pass
assert_equals(0, 0, "The operation should not update anchorOffset")
    at assertSelectionNoChange ( /selection/common.js:980:5)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "The operation should not update focusNode")
    at assertSelectionNoChange ( /selection/common.js:982:5)
Pass
assert_equals(0, 0, "The operation should not update focusOffset")
    at assertSelectionNoChange ( /selection/common.js:984:5)
Pass
assert_equals(object "", object "", "The operation should not replace a registered Range")
    at assertSelectionNoChange ( /selection/common.js:988:5)
Passextend() with range 1 [paras[0].firstChild, 0, paras[0].firstChild, 0] and point 68 [detachedTextNode, 0]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(1, 1, "The operation should not add Range")
    at assertSelectionNoChange ( /selection/common.js:976:5)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "The operation should not update anchorNode")
    at assertSelectionNoChange ( /selection/common.js:978:5)
Pass
assert_equals(0, 0, "The operation should not update anchorOffset")
    at assertSelectionNoChange ( /selection/common.js:980:5)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "The operation should not update focusNode")
    at assertSelectionNoChange ( /selection/common.js:982:5)
Pass
assert_equals(0, 0, "The operation should not update focusOffset")
    at assertSelectionNoChange ( /selection/common.js:984:5)
Pass
assert_equals(object "", object "", "The operation should not replace a registered Range")
    at assertSelectionNoChange ( /selection/common.js:988:5)
Passextend() with range 1 [paras[0].firstChild, 0, paras[0].firstChild, 0] and point 69 [detachedTextNode, 8]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(1, 1, "The operation should not add Range")
    at assertSelectionNoChange ( /selection/common.js:976:5)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "The operation should not update anchorNode")
    at assertSelectionNoChange ( /selection/common.js:978:5)
Pass
assert_equals(0, 0, "The operation should not update anchorOffset")
    at assertSelectionNoChange ( /selection/common.js:980:5)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "The operation should not update focusNode")
    at assertSelectionNoChange ( /selection/common.js:982:5)
Pass
assert_equals(0, 0, "The operation should not update focusOffset")
    at assertSelectionNoChange ( /selection/common.js:984:5)
Pass
assert_equals(object "", object "", "The operation should not replace a registered Range")
    at assertSelectionNoChange ( /selection/common.js:988:5)
Passextend() with range 1 [paras[0].firstChild, 0, paras[0].firstChild, 0] and point 70 [detachedForeignTextNode, 0]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(1, 1, "The operation should not add Range")
    at assertSelectionNoChange ( /selection/common.js:976:5)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "The operation should not update anchorNode")
    at assertSelectionNoChange ( /selection/common.js:978:5)
Pass
assert_equals(0, 0, "The operation should not update anchorOffset")
    at assertSelectionNoChange ( /selection/common.js:980:5)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "The operation should not update focusNode")
    at assertSelectionNoChange ( /selection/common.js:982:5)
Pass
assert_equals(0, 0, "The operation should not update focusOffset")
    at assertSelectionNoChange ( /selection/common.js:984:5)
Pass
assert_equals(object "", object "", "The operation should not replace a registered Range")
    at assertSelectionNoChange ( /selection/common.js:988:5)
Passextend() with range 1 [paras[0].firstChild, 0, paras[0].firstChild, 0] and point 71 [detachedForeignTextNode, 8]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(1, 1, "The operation should not add Range")
    at assertSelectionNoChange ( /selection/common.js:976:5)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "The operation should not update anchorNode")
    at assertSelectionNoChange ( /selection/common.js:978:5)
Pass
assert_equals(0, 0, "The operation should not update anchorOffset")
    at assertSelectionNoChange ( /selection/common.js:980:5)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "The operation should not update focusNode")
    at assertSelectionNoChange ( /selection/common.js:982:5)
Pass
assert_equals(0, 0, "The operation should not update focusOffset")
    at assertSelectionNoChange ( /selection/common.js:984:5)
Pass
assert_equals(object "", object "", "The operation should not replace a registered Range")
    at assertSelectionNoChange ( /selection/common.js:988:5)
Passextend() with range 1 [paras[0].firstChild, 0, paras[0].firstChild, 0] and point 72 [detachedXmlTextNode, 0]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(1, 1, "The operation should not add Range")
    at assertSelectionNoChange ( /selection/common.js:976:5)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "The operation should not update anchorNode")
    at assertSelectionNoChange ( /selection/common.js:978:5)
Pass
assert_equals(0, 0, "The operation should not update anchorOffset")
    at assertSelectionNoChange ( /selection/common.js:980:5)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "The operation should not update focusNode")
    at assertSelectionNoChange ( /selection/common.js:982:5)
Pass
assert_equals(0, 0, "The operation should not update focusOffset")
    at assertSelectionNoChange ( /selection/common.js:984:5)
Pass
assert_equals(object "", object "", "The operation should not replace a registered Range")
    at assertSelectionNoChange ( /selection/common.js:988:5)
Passextend() with range 1 [paras[0].firstChild, 0, paras[0].firstChild, 0] and point 73 [detachedXmlTextNode, 8]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(1, 1, "The operation should not add Range")
    at assertSelectionNoChange ( /selection/common.js:976:5)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "The operation should not update anchorNode")
    at assertSelectionNoChange ( /selection/common.js:978:5)
Pass
assert_equals(0, 0, "The operation should not update anchorOffset")
    at assertSelectionNoChange ( /selection/common.js:980:5)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "The operation should not update focusNode")
    at assertSelectionNoChange ( /selection/common.js:982:5)
Pass
assert_equals(0, 0, "The operation should not update focusOffset")
    at assertSelectionNoChange ( /selection/common.js:984:5)
Pass
assert_equals(object "", object "", "The operation should not replace a registered Range")
    at assertSelectionNoChange ( /selection/common.js:988:5)
Passextend() with range 1 [paras[0].firstChild, 0, paras[0].firstChild, 0] and point 74 [detachedProcessingInstruction, 12]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(1, 1, "The operation should not add Range")
    at assertSelectionNoChange ( /selection/common.js:976:5)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "The operation should not update anchorNode")
    at assertSelectionNoChange ( /selection/common.js:978:5)
Pass
assert_equals(0, 0, "The operation should not update anchorOffset")
    at assertSelectionNoChange ( /selection/common.js:980:5)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "The operation should not update focusNode")
    at assertSelectionNoChange ( /selection/common.js:982:5)
Pass
assert_equals(0, 0, "The operation should not update focusOffset")
    at assertSelectionNoChange ( /selection/common.js:984:5)
Pass
assert_equals(object "", object "", "The operation should not replace a registered Range")
    at assertSelectionNoChange ( /selection/common.js:988:5)
Passextend() with range 1 [paras[0].firstChild, 0, paras[0].firstChild, 0] and point 75 [detachedComment, 3]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(1, 1, "The operation should not add Range")
    at assertSelectionNoChange ( /selection/common.js:976:5)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "The operation should not update anchorNode")
    at assertSelectionNoChange ( /selection/common.js:978:5)
Pass
assert_equals(0, 0, "The operation should not update anchorOffset")
    at assertSelectionNoChange ( /selection/common.js:980:5)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "The operation should not update focusNode")
    at assertSelectionNoChange ( /selection/common.js:982:5)
Pass
assert_equals(0, 0, "The operation should not update focusOffset")
    at assertSelectionNoChange ( /selection/common.js:984:5)
Pass
assert_equals(object "", object "", "The operation should not replace a registered Range")
    at assertSelectionNoChange ( /selection/common.js:988:5)
Passextend() with range 1 [paras[0].firstChild, 0, paras[0].firstChild, 0] and point 76 [detachedComment, 5]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(1, 1, "The operation should not add Range")
    at assertSelectionNoChange ( /selection/common.js:976:5)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "The operation should not update anchorNode")
    at assertSelectionNoChange ( /selection/common.js:978:5)
Pass
assert_equals(0, 0, "The operation should not update anchorOffset")
    at assertSelectionNoChange ( /selection/common.js:980:5)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "The operation should not update focusNode")
    at assertSelectionNoChange ( /selection/common.js:982:5)
Pass
assert_equals(0, 0, "The operation should not update focusOffset")
    at assertSelectionNoChange ( /selection/common.js:984:5)
Pass
assert_equals(object "", object "", "The operation should not replace a registered Range")
    at assertSelectionNoChange ( /selection/common.js:988:5)
Passextend() with range 1 [paras[0].firstChild, 0, paras[0].firstChild, 0] and point 77 [detachedForeignComment, 0]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(1, 1, "The operation should not add Range")
    at assertSelectionNoChange ( /selection/common.js:976:5)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "The operation should not update anchorNode")
    at assertSelectionNoChange ( /selection/common.js:978:5)
Pass
assert_equals(0, 0, "The operation should not update anchorOffset")
    at assertSelectionNoChange ( /selection/common.js:980:5)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "The operation should not update focusNode")
    at assertSelectionNoChange ( /selection/common.js:982:5)
Pass
assert_equals(0, 0, "The operation should not update focusOffset")
    at assertSelectionNoChange ( /selection/common.js:984:5)
Pass
assert_equals(object "", object "", "The operation should not replace a registered Range")
    at assertSelectionNoChange ( /selection/common.js:988:5)
Passextend() with range 1 [paras[0].firstChild, 0, paras[0].firstChild, 0] and point 78 [detachedForeignComment, 4]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(1, 1, "The operation should not add Range")
    at assertSelectionNoChange ( /selection/common.js:976:5)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "The operation should not update anchorNode")
    at assertSelectionNoChange ( /selection/common.js:978:5)
Pass
assert_equals(0, 0, "The operation should not update anchorOffset")
    at assertSelectionNoChange ( /selection/common.js:980:5)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "The operation should not update focusNode")
    at assertSelectionNoChange ( /selection/common.js:982:5)
Pass
assert_equals(0, 0, "The operation should not update focusOffset")
    at assertSelectionNoChange ( /selection/common.js:984:5)
Pass
assert_equals(object "", object "", "The operation should not replace a registered Range")
    at assertSelectionNoChange ( /selection/common.js:988:5)
Passextend() with range 1 [paras[0].firstChild, 0, paras[0].firstChild, 0] and point 79 [detachedXmlComment, 2]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(1, 1, "The operation should not add Range")
    at assertSelectionNoChange ( /selection/common.js:976:5)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "The operation should not update anchorNode")
    at assertSelectionNoChange ( /selection/common.js:978:5)
Pass
assert_equals(0, 0, "The operation should not update anchorOffset")
    at assertSelectionNoChange ( /selection/common.js:980:5)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "The operation should not update focusNode")
    at assertSelectionNoChange ( /selection/common.js:982:5)
Pass
assert_equals(0, 0, "The operation should not update focusOffset")
    at assertSelectionNoChange ( /selection/common.js:984:5)
Pass
assert_equals(object "", object "", "The operation should not replace a registered Range")
    at assertSelectionNoChange ( /selection/common.js:988:5)
Passextend() with range 1 [paras[0].firstChild, 0, paras[0].firstChild, 0] and point 80 [docfrag, 0]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(1, 1, "The operation should not add Range")
    at assertSelectionNoChange ( /selection/common.js:976:5)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "The operation should not update anchorNode")
    at assertSelectionNoChange ( /selection/common.js:978:5)
Pass
assert_equals(0, 0, "The operation should not update anchorOffset")
    at assertSelectionNoChange ( /selection/common.js:980:5)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "The operation should not update focusNode")
    at assertSelectionNoChange ( /selection/common.js:982:5)
Pass
assert_equals(0, 0, "The operation should not update focusOffset")
    at assertSelectionNoChange ( /selection/common.js:984:5)
Pass
assert_equals(object "", object "", "The operation should not replace a registered Range")
    at assertSelectionNoChange ( /selection/common.js:988:5)
Passextend() with range 1 [paras[0].firstChild, 0, paras[0].firstChild, 0] and point 81 [foreignDocfrag, 0]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(1, 1, "The operation should not add Range")
    at assertSelectionNoChange ( /selection/common.js:976:5)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "The operation should not update anchorNode")
    at assertSelectionNoChange ( /selection/common.js:978:5)
Pass
assert_equals(0, 0, "The operation should not update anchorOffset")
    at assertSelectionNoChange ( /selection/common.js:980:5)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "The operation should not update focusNode")
    at assertSelectionNoChange ( /selection/common.js:982:5)
Pass
assert_equals(0, 0, "The operation should not update focusOffset")
    at assertSelectionNoChange ( /selection/common.js:984:5)
Pass
assert_equals(object "", object "", "The operation should not replace a registered Range")
    at assertSelectionNoChange ( /selection/common.js:988:5)
Passextend() with range 1 [paras[0].firstChild, 0, paras[0].firstChild, 0] and point 82 [xmlDocfrag, 0]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(1, 1, "The operation should not add Range")
    at assertSelectionNoChange ( /selection/common.js:976:5)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "The operation should not update anchorNode")
    at assertSelectionNoChange ( /selection/common.js:978:5)
Pass
assert_equals(0, 0, "The operation should not update anchorOffset")
    at assertSelectionNoChange ( /selection/common.js:980:5)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "The operation should not update focusNode")
    at assertSelectionNoChange ( /selection/common.js:982:5)
Pass
assert_equals(0, 0, "The operation should not update focusOffset")
    at assertSelectionNoChange ( /selection/common.js:984:5)
Pass
assert_equals(object "", object "", "The operation should not replace a registered Range")
    at assertSelectionNoChange ( /selection/common.js:988:5)
Passextend() with range 1 [paras[0].firstChild, 0, paras[0].firstChild, 0] and point 83 [doctype, 0]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "Sanity check: startContainer must be correct")
    at testExtend ( /selection/extend.js:80:5)
Pass
assert_equals(0, 0, "Sanity check: startOffset must be correct")
    at testExtend ( /selection/extend.js:82:5)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "Sanity check: endContainer must be correct")
    at testExtend ( /selection/extend.js:84:5)
Pass
assert_equals(0, 0, "Sanity check: endOffset must be correct")
    at testExtend ( /selection/extend.js:86:5)
Pass
assert_throws_dom("INVALID_NODE_TYPE_ERR", function "function() {             selection.extend(node, offset);         }", "extend() to a doctype must throw InvalidNodeTypeError")
    at testExtend ( /selection/extend.js:104:9)
Passextend() with range 1 [paras[0].firstChild, 0, paras[0].firstChild, 0] and point 84 [doctype, -17]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "Sanity check: startContainer must be correct")
    at testExtend ( /selection/extend.js:80:5)
Pass
assert_equals(0, 0, "Sanity check: startOffset must be correct")
    at testExtend ( /selection/extend.js:82:5)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "Sanity check: endContainer must be correct")
    at testExtend ( /selection/extend.js:84:5)
Pass
assert_equals(0, 0, "Sanity check: endOffset must be correct")
    at testExtend ( /selection/extend.js:86:5)
Pass
assert_throws_dom("INVALID_NODE_TYPE_ERR", function "function() {             selection.extend(node, offset);         }", "extend() to a doctype must throw InvalidNodeTypeError")
    at testExtend ( /selection/extend.js:104:9)
Passextend() with range 1 [paras[0].firstChild, 0, paras[0].firstChild, 0] and point 85 [doctype, 1]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "Sanity check: startContainer must be correct")
    at testExtend ( /selection/extend.js:80:5)
Pass
assert_equals(0, 0, "Sanity check: startOffset must be correct")
    at testExtend ( /selection/extend.js:82:5)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "Sanity check: endContainer must be correct")
    at testExtend ( /selection/extend.js:84:5)
Pass
assert_equals(0, 0, "Sanity check: endOffset must be correct")
    at testExtend ( /selection/extend.js:86:5)
Pass
assert_throws_dom("INVALID_NODE_TYPE_ERR", function "function() {             selection.extend(node, offset);         }", "extend() to a doctype must throw InvalidNodeTypeError")
    at testExtend ( /selection/extend.js:104:9)
Passextend() with range 1 [paras[0].firstChild, 0, paras[0].firstChild, 0] and point 86 [foreignDoctype, 0]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(1, 1, "The operation should not add Range")
    at assertSelectionNoChange ( /selection/common.js:976:5)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "The operation should not update anchorNode")
    at assertSelectionNoChange ( /selection/common.js:978:5)
Pass
assert_equals(0, 0, "The operation should not update anchorOffset")
    at assertSelectionNoChange ( /selection/common.js:980:5)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "The operation should not update focusNode")
    at assertSelectionNoChange ( /selection/common.js:982:5)
Pass
assert_equals(0, 0, "The operation should not update focusOffset")
    at assertSelectionNoChange ( /selection/common.js:984:5)
Pass
assert_equals(object "", object "", "The operation should not replace a registered Range")
    at assertSelectionNoChange ( /selection/common.js:988:5)
Passextend() with range 1 [paras[0].firstChild, 0, paras[0].firstChild, 0] and point 87 [xmlDoctype, 0]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(1, 1, "The operation should not add Range")
    at assertSelectionNoChange ( /selection/common.js:976:5)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "The operation should not update anchorNode")
    at assertSelectionNoChange ( /selection/common.js:978:5)
Pass
assert_equals(0, 0, "The operation should not update anchorOffset")
    at assertSelectionNoChange ( /selection/common.js:980:5)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "The operation should not update focusNode")
    at assertSelectionNoChange ( /selection/common.js:982:5)
Pass
assert_equals(0, 0, "The operation should not update focusOffset")
    at assertSelectionNoChange ( /selection/common.js:984:5)
Pass
assert_equals(object "", object "", "The operation should not replace a registered Range")
    at assertSelectionNoChange ( /selection/common.js:988:5)
Passextend() forwards with range 2 [paras[0].firstChild, 0, paras[0].firstChild, 1] and point 0 [paras[0].firstChild, -1]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "Sanity check: startContainer must be correct")
    at testExtend ( /selection/extend.js:80:5)
Pass
assert_equals(0, 0, "Sanity check: startOffset must be correct")
    at testExtend ( /selection/extend.js:82:5)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "Sanity check: endContainer must be correct")
    at testExtend ( /selection/extend.js:84:5)
Pass
assert_equals(1, 1, "Sanity check: endOffset must be correct")
    at testExtend ( /selection/extend.js:86:5)
Pass
assert_throws_dom("INDEX_SIZE_ERR", function "function() {             selection.extend(node, offset);         }", "extend() to an offset that's greater than node length (17) must throw IndexSizeError")
    at testExtend ( /selection/extend.js:117:9)
Passextend() backwards with range 2 [paras[0].firstChild, 0, paras[0].firstChild, 1] and point 0 [paras[0].firstChild, -1]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "Sanity check: startContainer must be correct")
    at testExtend ( /selection/extend.js:80:5)
Pass
assert_equals(0, 0, "Sanity check: startOffset must be correct")
    at testExtend ( /selection/extend.js:82:5)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "Sanity check: endContainer must be correct")
    at testExtend ( /selection/extend.js:84:5)
Pass
assert_equals(1, 1, "Sanity check: endOffset must be correct")
    at testExtend ( /selection/extend.js:86:5)
Pass
assert_throws_dom("INDEX_SIZE_ERR", function "function() {             selection.extend(node, offset);         }", "extend() to an offset that's greater than node length (17) must throw IndexSizeError")
    at testExtend ( /selection/extend.js:117:9)
Passextend() forwards with range 2 [paras[0].firstChild, 0, paras[0].firstChild, 1] and point 1 [paras[0].firstChild, 0]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "Sanity check: startContainer must be correct")
    at testExtend ( /selection/extend.js:80:5)
Pass
assert_equals(0, 0, "Sanity check: startOffset must be correct")
    at testExtend ( /selection/extend.js:82:5)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "Sanity check: endContainer must be correct")
    at testExtend ( /selection/extend.js:84:5)
Pass
assert_equals(1, 1, "Sanity check: endOffset must be correct")
    at testExtend ( /selection/extend.js:86:5)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "anchorNode must not change if the node passed to extend() has the same root as the original range")
    at testExtend ( /selection/extend.js:145:9)
Pass
assert_equals(0, 0, "anchorOffset must not change if the node passed to extend() has the same root as the original range")
    at testExtend ( /selection/extend.js:147:9)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "focusNode must be the node passed to extend()")
    at testExtend ( /selection/extend.js:155:5)
Pass
assert_equals(0, 0, "focusOffset must be the offset passed to extend()")
    at testExtend ( /selection/extend.js:157:5)
Pass
assert_not_equals(object "", object "A", "extend() must replace any existing range with a new one, not mutate the existing one")
    at testExtend ( /selection/extend.js:159:5)
Passextend() backwards with range 2 [paras[0].firstChild, 0, paras[0].firstChild, 1] and point 1 [paras[0].firstChild, 0]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "Sanity check: startContainer must be correct")
    at testExtend ( /selection/extend.js:80:5)
Pass
assert_equals(0, 0, "Sanity check: startOffset must be correct")
    at testExtend ( /selection/extend.js:82:5)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "Sanity check: endContainer must be correct")
    at testExtend ( /selection/extend.js:84:5)
Pass
assert_equals(1, 1, "Sanity check: endOffset must be correct")
    at testExtend ( /selection/extend.js:86:5)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "anchorNode must not change if the node passed to extend() has the same root as the original range")
    at testExtend ( /selection/extend.js:145:9)
Pass
assert_equals(1, 1, "anchorOffset must not change if the node passed to extend() has the same root as the original range")
    at testExtend ( /selection/extend.js:147:9)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "focusNode must be the node passed to extend()")
    at testExtend ( /selection/extend.js:155:5)
Pass
assert_equals(0, 0, "focusOffset must be the offset passed to extend()")
    at testExtend ( /selection/extend.js:157:5)
Pass
assert_not_equals(object "A", object "A", "extend() must replace any existing range with a new one, not mutate the existing one")
    at testExtend ( /selection/extend.js:159:5)
Passextend() forwards with range 2 [paras[0].firstChild, 0, paras[0].firstChild, 1] and point 2 [paras[0].firstChild, 1]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "Sanity check: startContainer must be correct")
    at testExtend ( /selection/extend.js:80:5)
Pass
assert_equals(0, 0, "Sanity check: startOffset must be correct")
    at testExtend ( /selection/extend.js:82:5)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "Sanity check: endContainer must be correct")
    at testExtend ( /selection/extend.js:84:5)
Pass
assert_equals(1, 1, "Sanity check: endOffset must be correct")
    at testExtend ( /selection/extend.js:86:5)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "anchorNode must not change if the node passed to extend() has the same root as the original range")
    at testExtend ( /selection/extend.js:145:9)
Pass
assert_equals(0, 0, "anchorOffset must not change if the node passed to extend() has the same root as the original range")
    at testExtend ( /selection/extend.js:147:9)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "focusNode must be the node passed to extend()")
    at testExtend ( /selection/extend.js:155:5)
Pass
assert_equals(1, 1, "focusOffset must be the offset passed to extend()")
    at testExtend ( /selection/extend.js:157:5)
Pass
assert_not_equals(object "A", object "A", "extend() must replace any existing range with a new one, not mutate the existing one")
    at testExtend ( /selection/extend.js:159:5)
Passextend() backwards with range 2 [paras[0].firstChild, 0, paras[0].firstChild, 1] and point 2 [paras[0].firstChild, 1]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "Sanity check: startContainer must be correct")
    at testExtend ( /selection/extend.js:80:5)
Pass
assert_equals(0, 0, "Sanity check: startOffset must be correct")
    at testExtend ( /selection/extend.js:82:5)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "Sanity check: endContainer must be correct")
    at testExtend ( /selection/extend.js:84:5)
Pass
assert_equals(1, 1, "Sanity check: endOffset must be correct")
    at testExtend ( /selection/extend.js:86:5)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "anchorNode must not change if the node passed to extend() has the same root as the original range")
    at testExtend ( /selection/extend.js:145:9)
Pass
assert_equals(1, 1, "anchorOffset must not change if the node passed to extend() has the same root as the original range")
    at testExtend ( /selection/extend.js:147:9)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "focusNode must be the node passed to extend()")
    at testExtend ( /selection/extend.js:155:5)
Pass
assert_equals(1, 1, "focusOffset must be the offset passed to extend()")
    at testExtend ( /selection/extend.js:157:5)
Pass
assert_not_equals(object "", object "A", "extend() must replace any existing range with a new one, not mutate the existing one")
    at testExtend ( /selection/extend.js:159:5)
Passextend() forwards with range 2 [paras[0].firstChild, 0, paras[0].firstChild, 1] and point 3 [paras[0].firstChild, 2]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "Sanity check: startContainer must be correct")
    at testExtend ( /selection/extend.js:80:5)
Pass
assert_equals(0, 0, "Sanity check: startOffset must be correct")
    at testExtend ( /selection/extend.js:82:5)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "Sanity check: endContainer must be correct")
    at testExtend ( /selection/extend.js:84:5)
Pass
assert_equals(1, 1, "Sanity check: endOffset must be correct")
    at testExtend ( /selection/extend.js:86:5)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "anchorNode must not change if the node passed to extend() has the same root as the original range")
    at testExtend ( /selection/extend.js:145:9)
Pass
assert_equals(0, 0, "anchorOffset must not change if the node passed to extend() has the same root as the original range")
    at testExtend ( /selection/extend.js:147:9)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "focusNode must be the node passed to extend()")
    at testExtend ( /selection/extend.js:155:5)
Pass
assert_equals(2, 2, "focusOffset must be the offset passed to extend()")
    at testExtend ( /selection/extend.js:157:5)
Pass
assert_not_equals(object "Ä", object "A", "extend() must replace any existing range with a new one, not mutate the existing one")
    at testExtend ( /selection/extend.js:159:5)
Passextend() backwards with range 2 [paras[0].firstChild, 0, paras[0].firstChild, 1] and point 3 [paras[0].firstChild, 2]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "Sanity check: startContainer must be correct")
    at testExtend ( /selection/extend.js:80:5)
Pass
assert_equals(0, 0, "Sanity check: startOffset must be correct")
    at testExtend ( /selection/extend.js:82:5)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "Sanity check: endContainer must be correct")
    at testExtend ( /selection/extend.js:84:5)
Pass
assert_equals(1, 1, "Sanity check: endOffset must be correct")
    at testExtend ( /selection/extend.js:86:5)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "anchorNode must not change if the node passed to extend() has the same root as the original range")
    at testExtend ( /selection/extend.js:145:9)
Pass
assert_equals(1, 1, "anchorOffset must not change if the node passed to extend() has the same root as the original range")
    at testExtend ( /selection/extend.js:147:9)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "focusNode must be the node passed to extend()")
    at testExtend ( /selection/extend.js:155:5)
Pass
assert_equals(2, 2, "focusOffset must be the offset passed to extend()")
    at testExtend ( /selection/extend.js:157:5)
Pass
assert_not_equals(object "̈", object "A", "extend() must replace any existing range with a new one, not mutate the existing one")
    at testExtend ( /selection/extend.js:159:5)
Passextend() forwards with range 2 [paras[0].firstChild, 0, paras[0].firstChild, 1] and point 4 [paras[0].firstChild, 8]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "Sanity check: startContainer must be correct")
    at testExtend ( /selection/extend.js:80:5)
Pass
assert_equals(0, 0, "Sanity check: startOffset must be correct")
    at testExtend ( /selection/extend.js:82:5)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "Sanity check: endContainer must be correct")
    at testExtend ( /selection/extend.js:84:5)
Pass
assert_equals(1, 1, "Sanity check: endOffset must be correct")
    at testExtend ( /selection/extend.js:86:5)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "anchorNode must not change if the node passed to extend() has the same root as the original range")
    at testExtend ( /selection/extend.js:145:9)
Pass
assert_equals(0, 0, "anchorOffset must not change if the node passed to extend() has the same root as the original range")
    at testExtend ( /selection/extend.js:147:9)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "focusNode must be the node passed to extend()")
    at testExtend ( /selection/extend.js:155:5)
Pass
assert_equals(8, 8, "focusOffset must be the offset passed to extend()")
    at testExtend ( /selection/extend.js:157:5)
Pass
assert_not_equals(object "Äb̈c̈d̈", object "A", "extend() must replace any existing range with a new one, not mutate the existing one")
    at testExtend ( /selection/extend.js:159:5)
Passextend() backwards with range 2 [paras[0].firstChild, 0, paras[0].firstChild, 1] and point 4 [paras[0].firstChild, 8]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "Sanity check: startContainer must be correct")
    at testExtend ( /selection/extend.js:80:5)
Pass
assert_equals(0, 0, "Sanity check: startOffset must be correct")
    at testExtend ( /selection/extend.js:82:5)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "Sanity check: endContainer must be correct")
    at testExtend ( /selection/extend.js:84:5)
Pass
assert_equals(1, 1, "Sanity check: endOffset must be correct")
    at testExtend ( /selection/extend.js:86:5)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "anchorNode must not change if the node passed to extend() has the same root as the original range")
    at testExtend ( /selection/extend.js:145:9)
Pass
assert_equals(1, 1, "anchorOffset must not change if the node passed to extend() has the same root as the original range")
    at testExtend ( /selection/extend.js:147:9)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "focusNode must be the node passed to extend()")
    at testExtend ( /selection/extend.js:155:5)
Pass
assert_equals(8, 8, "focusOffset must be the offset passed to extend()")
    at testExtend ( /selection/extend.js:157:5)
Pass
assert_not_equals(object "̈b̈c̈d̈", object "A", "extend() must replace any existing range with a new one, not mutate the existing one")
    at testExtend ( /selection/extend.js:159:5)
Passextend() forwards with range 2 [paras[0].firstChild, 0, paras[0].firstChild, 1] and point 5 [paras[0].firstChild, 9]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "Sanity check: startContainer must be correct")
    at testExtend ( /selection/extend.js:80:5)
Pass
assert_equals(0, 0, "Sanity check: startOffset must be correct")
    at testExtend ( /selection/extend.js:82:5)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "Sanity check: endContainer must be correct")
    at testExtend ( /selection/extend.js:84:5)
Pass
assert_equals(1, 1, "Sanity check: endOffset must be correct")
    at testExtend ( /selection/extend.js:86:5)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "anchorNode must not change if the node passed to extend() has the same root as the original range")
    at testExtend ( /selection/extend.js:145:9)
Pass
assert_equals(0, 0, "anchorOffset must not change if the node passed to extend() has the same root as the original range")
    at testExtend ( /selection/extend.js:147:9)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "focusNode must be the node passed to extend()")
    at testExtend ( /selection/extend.js:155:5)
Pass
assert_equals(9, 9, "focusOffset must be the offset passed to extend()")
    at testExtend ( /selection/extend.js:157:5)
Pass
assert_not_equals(object "Äb̈c̈d̈e", object "A", "extend() must replace any existing range with a new one, not mutate the existing one")
    at testExtend ( /selection/extend.js:159:5)
Passextend() backwards with range 2 [paras[0].firstChild, 0, paras[0].firstChild, 1] and point 5 [paras[0].firstChild, 9]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "Sanity check: startContainer must be correct")
    at testExtend ( /selection/extend.js:80:5)
Pass
assert_equals(0, 0, "Sanity check: startOffset must be correct")
    at testExtend ( /selection/extend.js:82:5)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "Sanity check: endContainer must be correct")
    at testExtend ( /selection/extend.js:84:5)
Pass
assert_equals(1, 1, "Sanity check: endOffset must be correct")
    at testExtend ( /selection/extend.js:86:5)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "anchorNode must not change if the node passed to extend() has the same root as the original range")
    at testExtend ( /selection/extend.js:145:9)
Pass
assert_equals(1, 1, "anchorOffset must not change if the node passed to extend() has the same root as the original range")
    at testExtend ( /selection/extend.js:147:9)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "focusNode must be the node passed to extend()")
    at testExtend ( /selection/extend.js:155:5)
Pass
assert_equals(9, 9, "focusOffset must be the offset passed to extend()")
    at testExtend ( /selection/extend.js:157:5)
Pass
assert_not_equals(object "̈b̈c̈d̈e", object "A", "extend() must replace any existing range with a new one, not mutate the existing one")
    at testExtend ( /selection/extend.js:159:5)
Passextend() forwards with range 2 [paras[0].firstChild, 0, paras[0].firstChild, 1] and point 6 [paras[0].firstChild, 10]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "Sanity check: startContainer must be correct")
    at testExtend ( /selection/extend.js:80:5)
Pass
assert_equals(0, 0, "Sanity check: startOffset must be correct")
    at testExtend ( /selection/extend.js:82:5)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "Sanity check: endContainer must be correct")
    at testExtend ( /selection/extend.js:84:5)
Pass
assert_equals(1, 1, "Sanity check: endOffset must be correct")
    at testExtend ( /selection/extend.js:86:5)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "anchorNode must not change if the node passed to extend() has the same root as the original range")
    at testExtend ( /selection/extend.js:145:9)
Pass
assert_equals(0, 0, "anchorOffset must not change if the node passed to extend() has the same root as the original range")
    at testExtend ( /selection/extend.js:147:9)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "focusNode must be the node passed to extend()")
    at testExtend ( /selection/extend.js:155:5)
Pass
assert_equals(10, 10, "focusOffset must be the offset passed to extend()")
    at testExtend ( /selection/extend.js:157:5)
Pass
assert_not_equals(object "Äb̈c̈d̈ë", object "A", "extend() must replace any existing range with a new one, not mutate the existing one")
    at testExtend ( /selection/extend.js:159:5)
Passextend() backwards with range 2 [paras[0].firstChild, 0, paras[0].firstChild, 1] and point 6 [paras[0].firstChild, 10]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "Sanity check: startContainer must be correct")
    at testExtend ( /selection/extend.js:80:5)
Pass
assert_equals(0, 0, "Sanity check: startOffset must be correct")
    at testExtend ( /selection/extend.js:82:5)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "Sanity check: endContainer must be correct")
    at testExtend ( /selection/extend.js:84:5)
Pass
assert_equals(1, 1, "Sanity check: endOffset must be correct")
    at testExtend ( /selection/extend.js:86:5)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "anchorNode must not change if the node passed to extend() has the same root as the original range")
    at testExtend ( /selection/extend.js:145:9)
Pass
assert_equals(1, 1, "anchorOffset must not change if the node passed to extend() has the same root as the original range")
    at testExtend ( /selection/extend.js:147:9)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "focusNode must be the node passed to extend()")
    at testExtend ( /selection/extend.js:155:5)
Pass
assert_equals(10, 10, "focusOffset must be the offset passed to extend()")
    at testExtend ( /selection/extend.js:157:5)
Pass
assert_not_equals(object "̈b̈c̈d̈ë", object "A", "extend() must replace any existing range with a new one, not mutate the existing one")
    at testExtend ( /selection/extend.js:159:5)
Passextend() forwards with range 2 [paras[0].firstChild, 0, paras[0].firstChild, 1] and point 7 [paras[0].firstChild, 65535]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "Sanity check: startContainer must be correct")
    at testExtend ( /selection/extend.js:80:5)
Pass
assert_equals(0, 0, "Sanity check: startOffset must be correct")
    at testExtend ( /selection/extend.js:82:5)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "Sanity check: endContainer must be correct")
    at testExtend ( /selection/extend.js:84:5)
Pass
assert_equals(1, 1, "Sanity check: endOffset must be correct")
    at testExtend ( /selection/extend.js:86:5)
Pass
assert_throws_dom("INDEX_SIZE_ERR", function "function() {             selection.extend(node, offset);         }", "extend() to an offset that's greater than node length (17) must throw IndexSizeError")
    at testExtend ( /selection/extend.js:117:9)
Passextend() backwards with range 2 [paras[0].firstChild, 0, paras[0].firstChild, 1] and point 7 [paras[0].firstChild, 65535]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "Sanity check: startContainer must be correct")
    at testExtend ( /selection/extend.js:80:5)
Pass
assert_equals(0, 0, "Sanity check: startOffset must be correct")
    at testExtend ( /selection/extend.js:82:5)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "Sanity check: endContainer must be correct")
    at testExtend ( /selection/extend.js:84:5)
Pass
assert_equals(1, 1, "Sanity check: endOffset must be correct")
    at testExtend ( /selection/extend.js:86:5)
Pass
assert_throws_dom("INDEX_SIZE_ERR", function "function() {             selection.extend(node, offset);         }", "extend() to an offset that's greater than node length (17) must throw IndexSizeError")
    at testExtend ( /selection/extend.js:117:9)
Passextend() forwards with range 2 [paras[0].firstChild, 0, paras[0].firstChild, 1] and point 8 [paras[1].firstChild, -1]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "Sanity check: startContainer must be correct")
    at testExtend ( /selection/extend.js:80:5)
Pass
assert_equals(0, 0, "Sanity check: startOffset must be correct")
    at testExtend ( /selection/extend.js:82:5)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "Sanity check: endContainer must be correct")
    at testExtend ( /selection/extend.js:84:5)
Pass
assert_equals(1, 1, "Sanity check: endOffset must be correct")
    at testExtend ( /selection/extend.js:86:5)
Pass
assert_throws_dom("INDEX_SIZE_ERR", function "function() {             selection.extend(node, offset);         }", "extend() to an offset that's greater than node length (9) must throw IndexSizeError")
    at testExtend ( /selection/extend.js:117:9)
Passextend() backwards with range 2 [paras[0].firstChild, 0, paras[0].firstChild, 1] and point 8 [paras[1].firstChild, -1]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "Sanity check: startContainer must be correct")
    at testExtend ( /selection/extend.js:80:5)
Pass
assert_equals(0, 0, "Sanity check: startOffset must be correct")
    at testExtend ( /selection/extend.js:82:5)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "Sanity check: endContainer must be correct")
    at testExtend ( /selection/extend.js:84:5)
Pass
assert_equals(1, 1, "Sanity check: endOffset must be correct")
    at testExtend ( /selection/extend.js:86:5)
Pass
assert_throws_dom("INDEX_SIZE_ERR", function "function() {             selection.extend(node, offset);         }", "extend() to an offset that's greater than node length (9) must throw IndexSizeError")
    at testExtend ( /selection/extend.js:117:9)
Passextend() forwards with range 2 [paras[0].firstChild, 0, paras[0].firstChild, 1] and point 9 [paras[1].firstChild, 0]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "Sanity check: startContainer must be correct")
    at testExtend ( /selection/extend.js:80:5)
Pass
assert_equals(0, 0, "Sanity check: startOffset must be correct")
    at testExtend ( /selection/extend.js:82:5)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "Sanity check: endContainer must be correct")
    at testExtend ( /selection/extend.js:84:5)
Pass
assert_equals(1, 1, "Sanity check: endOffset must be correct")
    at testExtend ( /selection/extend.js:86:5)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "anchorNode must not change if the node passed to extend() has the same root as the original range")
    at testExtend ( /selection/extend.js:145:9)
Pass
assert_equals(0, 0, "anchorOffset must not change if the node passed to extend() has the same root as the original range")
    at testExtend ( /selection/extend.js:147:9)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "focusNode must be the node passed to extend()")
    at testExtend ( /selection/extend.js:155:5)
Pass
assert_equals(0, 0, "focusOffset must be the offset passed to extend()")
    at testExtend ( /selection/extend.js:157:5)
Pass
assert_not_equals(object "Äb̈c̈d̈ëf̈g̈ḧ ", object "A", "extend() must replace any existing range with a new one, not mutate the existing one")
    at testExtend ( /selection/extend.js:159:5)
Passextend() backwards with range 2 [paras[0].firstChild, 0, paras[0].firstChild, 1] and point 9 [paras[1].firstChild, 0]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "Sanity check: startContainer must be correct")
    at testExtend ( /selection/extend.js:80:5)
Pass
assert_equals(0, 0, "Sanity check: startOffset must be correct")
    at testExtend ( /selection/extend.js:82:5)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "Sanity check: endContainer must be correct")
    at testExtend ( /selection/extend.js:84:5)
Pass
assert_equals(1, 1, "Sanity check: endOffset must be correct")
    at testExtend ( /selection/extend.js:86:5)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "anchorNode must not change if the node passed to extend() has the same root as the original range")
    at testExtend ( /selection/extend.js:145:9)
Pass
assert_equals(1, 1, "anchorOffset must not change if the node passed to extend() has the same root as the original range")
    at testExtend ( /selection/extend.js:147:9)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "focusNode must be the node passed to extend()")
    at testExtend ( /selection/extend.js:155:5)
Pass
assert_equals(0, 0, "focusOffset must be the offset passed to extend()")
    at testExtend ( /selection/extend.js:157:5)
Pass
assert_not_equals(object "̈b̈c̈d̈ëf̈g̈ḧ ", object "A", "extend() must replace any existing range with a new one, not mutate the existing one")
    at testExtend ( /selection/extend.js:159:5)
Passextend() forwards with range 2 [paras[0].firstChild, 0, paras[0].firstChild, 1] and point 10 [paras[1].firstChild, 1]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "Sanity check: startContainer must be correct")
    at testExtend ( /selection/extend.js:80:5)
Pass
assert_equals(0, 0, "Sanity check: startOffset must be correct")
    at testExtend ( /selection/extend.js:82:5)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "Sanity check: endContainer must be correct")
    at testExtend ( /selection/extend.js:84:5)
Pass
assert_equals(1, 1, "Sanity check: endOffset must be correct")
    at testExtend ( /selection/extend.js:86:5)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "anchorNode must not change if the node passed to extend() has the same root as the original range")
    at testExtend ( /selection/extend.js:145:9)
Pass
assert_equals(0, 0, "anchorOffset must not change if the node passed to extend() has the same root as the original range")
    at testExtend ( /selection/extend.js:147:9)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "focusNode must be the node passed to extend()")
    at testExtend ( /selection/extend.js:155:5)
Pass
assert_equals(1, 1, "focusOffset must be the offset passed to extend()")
    at testExtend ( /selection/extend.js:157:5)
Pass
assert_not_equals(object "Äb̈c̈d̈ëf̈g̈ḧ I", object "A", "extend() must replace any existing range with a new one, not mutate the existing one")
    at testExtend ( /selection/extend.js:159:5)
Passextend() backwards with range 2 [paras[0].firstChild, 0, paras[0].firstChild, 1] and point 10 [paras[1].firstChild, 1]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "Sanity check: startContainer must be correct")
    at testExtend ( /selection/extend.js:80:5)
Pass
assert_equals(0, 0, "Sanity check: startOffset must be correct")
    at testExtend ( /selection/extend.js:82:5)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "Sanity check: endContainer must be correct")
    at testExtend ( /selection/extend.js:84:5)
Pass
assert_equals(1, 1, "Sanity check: endOffset must be correct")
    at testExtend ( /selection/extend.js:86:5)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "anchorNode must not change if the node passed to extend() has the same root as the original range")
    at testExtend ( /selection/extend.js:145:9)
Pass
assert_equals(1, 1, "anchorOffset must not change if the node passed to extend() has the same root as the original range")
    at testExtend ( /selection/extend.js:147:9)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "focusNode must be the node passed to extend()")
    at testExtend ( /selection/extend.js:155:5)
Pass
assert_equals(1, 1, "focusOffset must be the offset passed to extend()")
    at testExtend ( /selection/extend.js:157:5)
Pass
assert_not_equals(object "̈b̈c̈d̈ëf̈g̈ḧ I", object "A", "extend() must replace any existing range with a new one, not mutate the existing one")
    at testExtend ( /selection/extend.js:159:5)
Passextend() forwards with range 2 [paras[0].firstChild, 0, paras[0].firstChild, 1] and point 11 [paras[1].firstChild, 2]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "Sanity check: startContainer must be correct")
    at testExtend ( /selection/extend.js:80:5)
Pass
assert_equals(0, 0, "Sanity check: startOffset must be correct")
    at testExtend ( /selection/extend.js:82:5)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "Sanity check: endContainer must be correct")
    at testExtend ( /selection/extend.js:84:5)
Pass
assert_equals(1, 1, "Sanity check: endOffset must be correct")
    at testExtend ( /selection/extend.js:86:5)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "anchorNode must not change if the node passed to extend() has the same root as the original range")
    at testExtend ( /selection/extend.js:145:9)
Pass
assert_equals(0, 0, "anchorOffset must not change if the node passed to extend() has the same root as the original range")
    at testExtend ( /selection/extend.js:147:9)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "focusNode must be the node passed to extend()")
    at testExtend ( /selection/extend.js:155:5)
Pass
assert_equals(2, 2, "focusOffset must be the offset passed to extend()")
    at testExtend ( /selection/extend.js:157:5)
Pass
assert_not_equals(object "Äb̈c̈d̈ëf̈g̈ḧ Ij", object "A", "extend() must replace any existing range with a new one, not mutate the existing one")
    at testExtend ( /selection/extend.js:159:5)
Passextend() backwards with range 2 [paras[0].firstChild, 0, paras[0].firstChild, 1] and point 11 [paras[1].firstChild, 2]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "Sanity check: startContainer must be correct")
    at testExtend ( /selection/extend.js:80:5)
Pass
assert_equals(0, 0, "Sanity check: startOffset must be correct")
    at testExtend ( /selection/extend.js:82:5)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "Sanity check: endContainer must be correct")
    at testExtend ( /selection/extend.js:84:5)
Pass
assert_equals(1, 1, "Sanity check: endOffset must be correct")
    at testExtend ( /selection/extend.js:86:5)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "anchorNode must not change if the node passed to extend() has the same root as the original range")
    at testExtend ( /selection/extend.js:145:9)
Pass
assert_equals(1, 1, "anchorOffset must not change if the node passed to extend() has the same root as the original range")
    at testExtend ( /selection/extend.js:147:9)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "focusNode must be the node passed to extend()")
    at testExtend ( /selection/extend.js:155:5)
Pass
assert_equals(2, 2, "focusOffset must be the offset passed to extend()")
    at testExtend ( /selection/extend.js:157:5)
Pass
assert_not_equals(object "̈b̈c̈d̈ëf̈g̈ḧ Ij", object "A", "extend() must replace any existing range with a new one, not mutate the existing one")
    at testExtend ( /selection/extend.js:159:5)
Passextend() forwards with range 2 [paras[0].firstChild, 0, paras[0].firstChild, 1] and point 12 [paras[1].firstChild, 8]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "Sanity check: startContainer must be correct")
    at testExtend ( /selection/extend.js:80:5)
Pass
assert_equals(0, 0, "Sanity check: startOffset must be correct")
    at testExtend ( /selection/extend.js:82:5)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "Sanity check: endContainer must be correct")
    at testExtend ( /selection/extend.js:84:5)
Pass
assert_equals(1, 1, "Sanity check: endOffset must be correct")
    at testExtend ( /selection/extend.js:86:5)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "anchorNode must not change if the node passed to extend() has the same root as the original range")
    at testExtend ( /selection/extend.js:145:9)
Pass
assert_equals(0, 0, "anchorOffset must not change if the node passed to extend() has the same root as the original range")
    at testExtend ( /selection/extend.js:147:9)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "focusNode must be the node passed to extend()")
    at testExtend ( /selection/extend.js:155:5)
Pass
assert_equals(8, 8, "focusOffset must be the offset passed to extend()")
    at testExtend ( /selection/extend.js:157:5)
Pass
assert_not_equals(object "Äb̈c̈d̈ëf̈g̈ḧ Ijklmnop", object "A", "extend() must replace any existing range with a new one, not mutate the existing one")
    at testExtend ( /selection/extend.js:159:5)
Passextend() backwards with range 2 [paras[0].firstChild, 0, paras[0].firstChild, 1] and point 12 [paras[1].firstChild, 8]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "Sanity check: startContainer must be correct")
    at testExtend ( /selection/extend.js:80:5)
Pass
assert_equals(0, 0, "Sanity check: startOffset must be correct")
    at testExtend ( /selection/extend.js:82:5)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "Sanity check: endContainer must be correct")
    at testExtend ( /selection/extend.js:84:5)
Pass
assert_equals(1, 1, "Sanity check: endOffset must be correct")
    at testExtend ( /selection/extend.js:86:5)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "anchorNode must not change if the node passed to extend() has the same root as the original range")
    at testExtend ( /selection/extend.js:145:9)
Pass
assert_equals(1, 1, "anchorOffset must not change if the node passed to extend() has the same root as the original range")
    at testExtend ( /selection/extend.js:147:9)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "focusNode must be the node passed to extend()")
    at testExtend ( /selection/extend.js:155:5)
Pass
assert_equals(8, 8, "focusOffset must be the offset passed to extend()")
    at testExtend ( /selection/extend.js:157:5)
Pass
assert_not_equals(object "̈b̈c̈d̈ëf̈g̈ḧ Ijklmnop", object "A", "extend() must replace any existing range with a new one, not mutate the existing one")
    at testExtend ( /selection/extend.js:159:5)
Passextend() forwards with range 2 [paras[0].firstChild, 0, paras[0].firstChild, 1] and point 13 [paras[1].firstChild, 9]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "Sanity check: startContainer must be correct")
    at testExtend ( /selection/extend.js:80:5)
Pass
assert_equals(0, 0, "Sanity check: startOffset must be correct")
    at testExtend ( /selection/extend.js:82:5)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "Sanity check: endContainer must be correct")
    at testExtend ( /selection/extend.js:84:5)
Pass
assert_equals(1, 1, "Sanity check: endOffset must be correct")
    at testExtend ( /selection/extend.js:86:5)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "anchorNode must not change if the node passed to extend() has the same root as the original range")
    at testExtend ( /selection/extend.js:145:9)
Pass
assert_equals(0, 0, "anchorOffset must not change if the node passed to extend() has the same root as the original range")
    at testExtend ( /selection/extend.js:147:9)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "focusNode must be the node passed to extend()")
    at testExtend ( /selection/extend.js:155:5)
Pass
assert_equals(9, 9, "focusOffset must be the offset passed to extend()")
    at testExtend ( /selection/extend.js:157:5)
Pass
assert_not_equals(object "Äb̈c̈d̈ëf̈g̈ḧ Ijklmnop ", object "A", "extend() must replace any existing range with a new one, not mutate the existing one")
    at testExtend ( /selection/extend.js:159:5)
Passextend() backwards with range 2 [paras[0].firstChild, 0, paras[0].firstChild, 1] and point 13 [paras[1].firstChild, 9]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "Sanity check: startContainer must be correct")
    at testExtend ( /selection/extend.js:80:5)
Pass
assert_equals(0, 0, "Sanity check: startOffset must be correct")
    at testExtend ( /selection/extend.js:82:5)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "Sanity check: endContainer must be correct")
    at testExtend ( /selection/extend.js:84:5)
Pass
assert_equals(1, 1, "Sanity check: endOffset must be correct")
    at testExtend ( /selection/extend.js:86:5)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "anchorNode must not change if the node passed to extend() has the same root as the original range")
    at testExtend ( /selection/extend.js:145:9)
Pass
assert_equals(1, 1, "anchorOffset must not change if the node passed to extend() has the same root as the original range")
    at testExtend ( /selection/extend.js:147:9)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "focusNode must be the node passed to extend()")
    at testExtend ( /selection/extend.js:155:5)
Pass
assert_equals(9, 9, "focusOffset must be the offset passed to extend()")
    at testExtend ( /selection/extend.js:157:5)
Pass
assert_not_equals(object "̈b̈c̈d̈ëf̈g̈ḧ Ijklmnop ", object "A", "extend() must replace any existing range with a new one, not mutate the existing one")
    at testExtend ( /selection/extend.js:159:5)
Passextend() forwards with range 2 [paras[0].firstChild, 0, paras[0].firstChild, 1] and point 14 [paras[1].firstChild, 10]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "Sanity check: startContainer must be correct")
    at testExtend ( /selection/extend.js:80:5)
Pass
assert_equals(0, 0, "Sanity check: startOffset must be correct")
    at testExtend ( /selection/extend.js:82:5)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "Sanity check: endContainer must be correct")
    at testExtend ( /selection/extend.js:84:5)
Pass
assert_equals(1, 1, "Sanity check: endOffset must be correct")
    at testExtend ( /selection/extend.js:86:5)
Pass
assert_throws_dom("INDEX_SIZE_ERR", function "function() {             selection.extend(node, offset);         }", "extend() to an offset that's greater than node length (9) must throw IndexSizeError")
    at testExtend ( /selection/extend.js:117:9)
Passextend() backwards with range 2 [paras[0].firstChild, 0, paras[0].firstChild, 1] and point 14 [paras[1].firstChild, 10]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "Sanity check: startContainer must be correct")
    at testExtend ( /selection/extend.js:80:5)
Pass
assert_equals(0, 0, "Sanity check: startOffset must be correct")
    at testExtend ( /selection/extend.js:82:5)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "Sanity check: endContainer must be correct")
    at testExtend ( /selection/extend.js:84:5)
Pass
assert_equals(1, 1, "Sanity check: endOffset must be correct")
    at testExtend ( /selection/extend.js:86:5)
Pass
assert_throws_dom("INDEX_SIZE_ERR", function "function() {             selection.extend(node, offset);         }", "extend() to an offset that's greater than node length (9) must throw IndexSizeError")
    at testExtend ( /selection/extend.js:117:9)
Passextend() forwards with range 2 [paras[0].firstChild, 0, paras[0].firstChild, 1] and point 15 [paras[1].firstChild, 65535]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "Sanity check: startContainer must be correct")
    at testExtend ( /selection/extend.js:80:5)
Pass
assert_equals(0, 0, "Sanity check: startOffset must be correct")
    at testExtend ( /selection/extend.js:82:5)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "Sanity check: endContainer must be correct")
    at testExtend ( /selection/extend.js:84:5)
Pass
assert_equals(1, 1, "Sanity check: endOffset must be correct")
    at testExtend ( /selection/extend.js:86:5)
Pass
assert_throws_dom("INDEX_SIZE_ERR", function "function() {             selection.extend(node, offset);         }", "extend() to an offset that's greater than node length (9) must throw IndexSizeError")
    at testExtend ( /selection/extend.js:117:9)
Passextend() backwards with range 2 [paras[0].firstChild, 0, paras[0].firstChild, 1] and point 15 [paras[1].firstChild, 65535]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "Sanity check: startContainer must be correct")
    at testExtend ( /selection/extend.js:80:5)
Pass
assert_equals(0, 0, "Sanity check: startOffset must be correct")
    at testExtend ( /selection/extend.js:82:5)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "Sanity check: endContainer must be correct")
    at testExtend ( /selection/extend.js:84:5)
Pass
assert_equals(1, 1, "Sanity check: endOffset must be correct")
    at testExtend ( /selection/extend.js:86:5)
Pass
assert_throws_dom("INDEX_SIZE_ERR", function "function() {             selection.extend(node, offset);         }", "extend() to an offset that's greater than node length (9) must throw IndexSizeError")
    at testExtend ( /selection/extend.js:117:9)
Passextend() forwards with range 2 [paras[0].firstChild, 0, paras[0].firstChild, 1] and point 16 [detachedPara1.firstChild, 0]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(1, 1, "The operation should not add Range")
    at assertSelectionNoChange ( /selection/common.js:976:5)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "The operation should not update anchorNode")
    at assertSelectionNoChange ( /selection/common.js:978:5)
Pass
assert_equals(0, 0, "The operation should not update anchorOffset")
    at assertSelectionNoChange ( /selection/common.js:980:5)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "The operation should not update focusNode")
    at assertSelectionNoChange ( /selection/common.js:982:5)
Pass
assert_equals(1, 1, "The operation should not update focusOffset")
    at assertSelectionNoChange ( /selection/common.js:984:5)
Pass
assert_equals(object "A", object "A", "The operation should not replace a registered Range")
    at assertSelectionNoChange ( /selection/common.js:988:5)
Passextend() backwards with range 2 [paras[0].firstChild, 0, paras[0].firstChild, 1] and point 16 [detachedPara1.firstChild, 0]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(1, 1, "The operation should not add Range")
    at assertSelectionNoChange ( /selection/common.js:976:5)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "The operation should not update anchorNode")
    at assertSelectionNoChange ( /selection/common.js:978:5)
Pass
assert_equals(1, 1, "The operation should not update anchorOffset")
    at assertSelectionNoChange ( /selection/common.js:980:5)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "The operation should not update focusNode")
    at assertSelectionNoChange ( /selection/common.js:982:5)
Pass
assert_equals(0, 0, "The operation should not update focusOffset")
    at assertSelectionNoChange ( /selection/common.js:984:5)
Pass
assert_equals(object "A", object "A", "The operation should not replace a registered Range")
    at assertSelectionNoChange ( /selection/common.js:988:5)
Passextend() forwards with range 2 [paras[0].firstChild, 0, paras[0].firstChild, 1] and point 17 [detachedPara1.firstChild, 1]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(1, 1, "The operation should not add Range")
    at assertSelectionNoChange ( /selection/common.js:976:5)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "The operation should not update anchorNode")
    at assertSelectionNoChange ( /selection/common.js:978:5)
Pass
assert_equals(0, 0, "The operation should not update anchorOffset")
    at assertSelectionNoChange ( /selection/common.js:980:5)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "The operation should not update focusNode")
    at assertSelectionNoChange ( /selection/common.js:982:5)
Pass
assert_equals(1, 1, "The operation should not update focusOffset")
    at assertSelectionNoChange ( /selection/common.js:984:5)
Pass
assert_equals(object "A", object "A", "The operation should not replace a registered Range")
    at assertSelectionNoChange ( /selection/common.js:988:5)
Passextend() backwards with range 2 [paras[0].firstChild, 0, paras[0].firstChild, 1] and point 17 [detachedPara1.firstChild, 1]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(1, 1, "The operation should not add Range")
    at assertSelectionNoChange ( /selection/common.js:976:5)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "The operation should not update anchorNode")
    at assertSelectionNoChange ( /selection/common.js:978:5)
Pass
assert_equals(1, 1, "The operation should not update anchorOffset")
    at assertSelectionNoChange ( /selection/common.js:980:5)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "The operation should not update focusNode")
    at assertSelectionNoChange ( /selection/common.js:982:5)
Pass
assert_equals(0, 0, "The operation should not update focusOffset")
    at assertSelectionNoChange ( /selection/common.js:984:5)
Pass
assert_equals(object "A", object "A", "The operation should not replace a registered Range")
    at assertSelectionNoChange ( /selection/common.js:988:5)
Passextend() forwards with range 2 [paras[0].firstChild, 0, paras[0].firstChild, 1] and point 18 [detachedPara1.firstChild, 8]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(1, 1, "The operation should not add Range")
    at assertSelectionNoChange ( /selection/common.js:976:5)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "The operation should not update anchorNode")
    at assertSelectionNoChange ( /selection/common.js:978:5)
Pass
assert_equals(0, 0, "The operation should not update anchorOffset")
    at assertSelectionNoChange ( /selection/common.js:980:5)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "The operation should not update focusNode")
    at assertSelectionNoChange ( /selection/common.js:982:5)
Pass
assert_equals(1, 1, "The operation should not update focusOffset")
    at assertSelectionNoChange ( /selection/common.js:984:5)
Pass
assert_equals(object "A", object "A", "The operation should not replace a registered Range")
    at assertSelectionNoChange ( /selection/common.js:988:5)
Passextend() backwards with range 2 [paras[0].firstChild, 0, paras[0].firstChild, 1] and point 18 [detachedPara1.firstChild, 8]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(1, 1, "The operation should not add Range")
    at assertSelectionNoChange ( /selection/common.js:976:5)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "The operation should not update anchorNode")
    at assertSelectionNoChange ( /selection/common.js:978:5)
Pass
assert_equals(1, 1, "The operation should not update anchorOffset")
    at assertSelectionNoChange ( /selection/common.js:980:5)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "The operation should not update focusNode")
    at assertSelectionNoChange ( /selection/common.js:982:5)
Pass
assert_equals(0, 0, "The operation should not update focusOffset")
    at assertSelectionNoChange ( /selection/common.js:984:5)
Pass
assert_equals(object "A", object "A", "The operation should not replace a registered Range")
    at assertSelectionNoChange ( /selection/common.js:988:5)
Passextend() forwards with range 2 [paras[0].firstChild, 0, paras[0].firstChild, 1] and point 19 [detachedPara1.firstChild, 9]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(1, 1, "The operation should not add Range")
    at assertSelectionNoChange ( /selection/common.js:976:5)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "The operation should not update anchorNode")
    at assertSelectionNoChange ( /selection/common.js:978:5)
Pass
assert_equals(0, 0, "The operation should not update anchorOffset")
    at assertSelectionNoChange ( /selection/common.js:980:5)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "The operation should not update focusNode")
    at assertSelectionNoChange ( /selection/common.js:982:5)
Pass
assert_equals(1, 1, "The operation should not update focusOffset")
    at assertSelectionNoChange ( /selection/common.js:984:5)
Pass
assert_equals(object "A", object "A", "The operation should not replace a registered Range")
    at assertSelectionNoChange ( /selection/common.js:988:5)
Passextend() backwards with range 2 [paras[0].firstChild, 0, paras[0].firstChild, 1] and point 19 [detachedPara1.firstChild, 9]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(1, 1, "The operation should not add Range")
    at assertSelectionNoChange ( /selection/common.js:976:5)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "The operation should not update anchorNode")
    at assertSelectionNoChange ( /selection/common.js:978:5)
Pass
assert_equals(1, 1, "The operation should not update anchorOffset")
    at assertSelectionNoChange ( /selection/common.js:980:5)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "The operation should not update focusNode")
    at assertSelectionNoChange ( /selection/common.js:982:5)
Pass
assert_equals(0, 0, "The operation should not update focusOffset")
    at assertSelectionNoChange ( /selection/common.js:984:5)
Pass
assert_equals(object "A", object "A", "The operation should not replace a registered Range")
    at assertSelectionNoChange ( /selection/common.js:988:5)
Passextend() forwards with range 2 [paras[0].firstChild, 0, paras[0].firstChild, 1] and point 20 [foreignPara1.firstChild, 0]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(1, 1, "The operation should not add Range")
    at assertSelectionNoChange ( /selection/common.js:976:5)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "The operation should not update anchorNode")
    at assertSelectionNoChange ( /selection/common.js:978:5)
Pass
assert_equals(0, 0, "The operation should not update anchorOffset")
    at assertSelectionNoChange ( /selection/common.js:980:5)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "The operation should not update focusNode")
    at assertSelectionNoChange ( /selection/common.js:982:5)
Pass
assert_equals(1, 1, "The operation should not update focusOffset")
    at assertSelectionNoChange ( /selection/common.js:984:5)
Pass
assert_equals(object "A", object "A", "The operation should not replace a registered Range")
    at assertSelectionNoChange ( /selection/common.js:988:5)
Passextend() backwards with range 2 [paras[0].firstChild, 0, paras[0].firstChild, 1] and point 20 [foreignPara1.firstChild, 0]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(1, 1, "The operation should not add Range")
    at assertSelectionNoChange ( /selection/common.js:976:5)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "The operation should not update anchorNode")
    at assertSelectionNoChange ( /selection/common.js:978:5)
Pass
assert_equals(1, 1, "The operation should not update anchorOffset")
    at assertSelectionNoChange ( /selection/common.js:980:5)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "The operation should not update focusNode")
    at assertSelectionNoChange ( /selection/common.js:982:5)
Pass
assert_equals(0, 0, "The operation should not update focusOffset")
    at assertSelectionNoChange ( /selection/common.js:984:5)
Pass
assert_equals(object "A", object "A", "The operation should not replace a registered Range")
    at assertSelectionNoChange ( /selection/common.js:988:5)
Passextend() forwards with range 2 [paras[0].firstChild, 0, paras[0].firstChild, 1] and point 21 [foreignPara1.firstChild, 1]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(1, 1, "The operation should not add Range")
    at assertSelectionNoChange ( /selection/common.js:976:5)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "The operation should not update anchorNode")
    at assertSelectionNoChange ( /selection/common.js:978:5)
Pass
assert_equals(0, 0, "The operation should not update anchorOffset")
    at assertSelectionNoChange ( /selection/common.js:980:5)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "The operation should not update focusNode")
    at assertSelectionNoChange ( /selection/common.js:982:5)
Pass
assert_equals(1, 1, "The operation should not update focusOffset")
    at assertSelectionNoChange ( /selection/common.js:984:5)
Pass
assert_equals(object "A", object "A", "The operation should not replace a registered Range")
    at assertSelectionNoChange ( /selection/common.js:988:5)
Passextend() backwards with range 2 [paras[0].firstChild, 0, paras[0].firstChild, 1] and point 21 [foreignPara1.firstChild, 1]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(1, 1, "The operation should not add Range")
    at assertSelectionNoChange ( /selection/common.js:976:5)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "The operation should not update anchorNode")
    at assertSelectionNoChange ( /selection/common.js:978:5)
Pass
assert_equals(1, 1, "The operation should not update anchorOffset")
    at assertSelectionNoChange ( /selection/common.js:980:5)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "The operation should not update focusNode")
    at assertSelectionNoChange ( /selection/common.js:982:5)
Pass
assert_equals(0, 0, "The operation should not update focusOffset")
    at assertSelectionNoChange ( /selection/common.js:984:5)
Pass
assert_equals(object "A", object "A", "The operation should not replace a registered Range")
    at assertSelectionNoChange ( /selection/common.js:988:5)
Passextend() forwards with range 2 [paras[0].firstChild, 0, paras[0].firstChild, 1] and point 22 [foreignPara1.firstChild, 8]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(1, 1, "The operation should not add Range")
    at assertSelectionNoChange ( /selection/common.js:976:5)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "The operation should not update anchorNode")
    at assertSelectionNoChange ( /selection/common.js:978:5)
Pass
assert_equals(0, 0, "The operation should not update anchorOffset")
    at assertSelectionNoChange ( /selection/common.js:980:5)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "The operation should not update focusNode")
    at assertSelectionNoChange ( /selection/common.js:982:5)
Pass
assert_equals(1, 1, "The operation should not update focusOffset")
    at assertSelectionNoChange ( /selection/common.js:984:5)
Pass
assert_equals(object "A", object "A", "The operation should not replace a registered Range")
    at assertSelectionNoChange ( /selection/common.js:988:5)
Passextend() backwards with range 2 [paras[0].firstChild, 0, paras[0].firstChild, 1] and point 22 [foreignPara1.firstChild, 8]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(1, 1, "The operation should not add Range")
    at assertSelectionNoChange ( /selection/common.js:976:5)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "The operation should not update anchorNode")
    at assertSelectionNoChange ( /selection/common.js:978:5)
Pass
assert_equals(1, 1, "The operation should not update anchorOffset")
    at assertSelectionNoChange ( /selection/common.js:980:5)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "The operation should not update focusNode")
    at assertSelectionNoChange ( /selection/common.js:982:5)
Pass
assert_equals(0, 0, "The operation should not update focusOffset")
    at assertSelectionNoChange ( /selection/common.js:984:5)
Pass
assert_equals(object "A", object "A", "The operation should not replace a registered Range")
    at assertSelectionNoChange ( /selection/common.js:988:5)
Passextend() forwards with range 2 [paras[0].firstChild, 0, paras[0].firstChild, 1] and point 23 [foreignPara1.firstChild, 9]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(1, 1, "The operation should not add Range")
    at assertSelectionNoChange ( /selection/common.js:976:5)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "The operation should not update anchorNode")
    at assertSelectionNoChange ( /selection/common.js:978:5)
Pass
assert_equals(0, 0, "The operation should not update anchorOffset")
    at assertSelectionNoChange ( /selection/common.js:980:5)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "The operation should not update focusNode")
    at assertSelectionNoChange ( /selection/common.js:982:5)
Pass
assert_equals(1, 1, "The operation should not update focusOffset")
    at assertSelectionNoChange ( /selection/common.js:984:5)
Pass
assert_equals(object "A", object "A", "The operation should not replace a registered Range")
    at assertSelectionNoChange ( /selection/common.js:988:5)
Passextend() backwards with range 2 [paras[0].firstChild, 0, paras[0].firstChild, 1] and point 23 [foreignPara1.firstChild, 9]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(1, 1, "The operation should not add Range")
    at assertSelectionNoChange ( /selection/common.js:976:5)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "The operation should not update anchorNode")
    at assertSelectionNoChange ( /selection/common.js:978:5)
Pass
assert_equals(1, 1, "The operation should not update anchorOffset")
    at assertSelectionNoChange ( /selection/common.js:980:5)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "The operation should not update focusNode")
    at assertSelectionNoChange ( /selection/common.js:982:5)
Pass
assert_equals(0, 0, "The operation should not update focusOffset")
    at assertSelectionNoChange ( /selection/common.js:984:5)
Pass
assert_equals(object "A", object "A", "The operation should not replace a registered Range")
    at assertSelectionNoChange ( /selection/common.js:988:5)
Passextend() forwards with range 2 [paras[0].firstChild, 0, paras[0].firstChild, 1] and point 24 [document.documentElement, -1]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "Sanity check: startContainer must be correct")
    at testExtend ( /selection/extend.js:80:5)
Pass
assert_equals(0, 0, "Sanity check: startOffset must be correct")
    at testExtend ( /selection/extend.js:82:5)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "Sanity check: endContainer must be correct")
    at testExtend ( /selection/extend.js:84:5)
Pass
assert_equals(1, 1, "Sanity check: endOffset must be correct")
    at testExtend ( /selection/extend.js:86:5)
Pass
assert_throws_dom("INDEX_SIZE_ERR", function "function() {             selection.extend(node, offset);         }", "extend() to an offset that's greater than node length (2) must throw IndexSizeError")
    at testExtend ( /selection/extend.js:117:9)
Passextend() backwards with range 2 [paras[0].firstChild, 0, paras[0].firstChild, 1] and point 24 [document.documentElement, -1]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "Sanity check: startContainer must be correct")
    at testExtend ( /selection/extend.js:80:5)
Pass
assert_equals(0, 0, "Sanity check: startOffset must be correct")
    at testExtend ( /selection/extend.js:82:5)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "Sanity check: endContainer must be correct")
    at testExtend ( /selection/extend.js:84:5)
Pass
assert_equals(1, 1, "Sanity check: endOffset must be correct")
    at testExtend ( /selection/extend.js:86:5)
Pass
assert_throws_dom("INDEX_SIZE_ERR", function "function() {             selection.extend(node, offset);         }", "extend() to an offset that's greater than node length (2) must throw IndexSizeError")
    at testExtend ( /selection/extend.js:117:9)
Passextend() forwards with range 2 [paras[0].firstChild, 0, paras[0].firstChild, 1] and point 25 [document.documentElement, 0]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "Sanity check: startContainer must be correct")
    at testExtend ( /selection/extend.js:80:5)
Pass
assert_equals(0, 0, "Sanity check: startOffset must be correct")
    at testExtend ( /selection/extend.js:82:5)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "Sanity check: endContainer must be correct")
    at testExtend ( /selection/extend.js:84:5)
Pass
assert_equals(1, 1, "Sanity check: endOffset must be correct")
    at testExtend ( /selection/extend.js:86:5)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "anchorNode must not change if the node passed to extend() has the same root as the original range")
    at testExtend ( /selection/extend.js:145:9)
Pass
assert_equals(0, 0, "anchorOffset must not change if the node passed to extend() has the same root as the original range")
    at testExtend ( /selection/extend.js:147:9)
Pass
assert_equals(Element node <html><head><title>Selection extend() tests</title> <meta..., Element node <html><head><title>Selection extend() tests</title> <meta..., "focusNode must be the node passed to extend()")
    at testExtend ( /selection/extend.js:155:5)
Pass
assert_equals(0, 0, "focusOffset must be the offset passed to extend()")
    at testExtend ( /selection/extend.js:157:5)
Pass
assert_not_equals(object "Selection extend() tests   ", object "A", "extend() must replace any existing range with a new one, not mutate the existing one")
    at testExtend ( /selection/extend.js:159:5)
Passextend() backwards with range 2 [paras[0].firstChild, 0, paras[0].firstChild, 1] and point 25 [document.documentElement, 0]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "Sanity check: startContainer must be correct")
    at testExtend ( /selection/extend.js:80:5)
Pass
assert_equals(0, 0, "Sanity check: startOffset must be correct")
    at testExtend ( /selection/extend.js:82:5)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "Sanity check: endContainer must be correct")
    at testExtend ( /selection/extend.js:84:5)
Pass
assert_equals(1, 1, "Sanity check: endOffset must be correct")
    at testExtend ( /selection/extend.js:86:5)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "anchorNode must not change if the node passed to extend() has the same root as the original range")
    at testExtend ( /selection/extend.js:145:9)
Pass
assert_equals(1, 1, "anchorOffset must not change if the node passed to extend() has the same root as the original range")
    at testExtend ( /selection/extend.js:147:9)
Pass
assert_equals(Element node <html><head><title>Selection extend() tests</title> <meta..., Element node <html><head><title>Selection extend() tests</title> <meta..., "focusNode must be the node passed to extend()")
    at testExtend ( /selection/extend.js:155:5)
Pass
assert_equals(0, 0, "focusOffset must be the offset passed to extend()")
    at testExtend ( /selection/extend.js:157:5)
Pass
assert_not_equals(object "Selection extend() tests   A", object "A", "extend() must replace any existing range with a new one, not mutate the existing one")
    at testExtend ( /selection/extend.js:159:5)
Passextend() forwards with range 2 [paras[0].firstChild, 0, paras[0].firstChild, 1] and point 26 [document.documentElement, 1]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "Sanity check: startContainer must be correct")
    at testExtend ( /selection/extend.js:80:5)
Pass
assert_equals(0, 0, "Sanity check: startOffset must be correct")
    at testExtend ( /selection/extend.js:82:5)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "Sanity check: endContainer must be correct")
    at testExtend ( /selection/extend.js:84:5)
Pass
assert_equals(1, 1, "Sanity check: endOffset must be correct")
    at testExtend ( /selection/extend.js:86:5)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "anchorNode must not change if the node passed to extend() has the same root as the original range")
    at testExtend ( /selection/extend.js:145:9)
Pass
assert_equals(0, 0, "anchorOffset must not change if the node passed to extend() has the same root as the original range")
    at testExtend ( /selection/extend.js:147:9)
Pass
assert_equals(Element node <html><head><title>Selection extend() tests</title> <meta..., Element node <html><head><title>Selection extend() tests</title> <meta..., "focusNode must be the node passed to extend()")
    at testExtend ( /selection/extend.js:155:5)
Pass
assert_equals(1, 1, "focusOffset must be the offset passed to extend()")
    at testExtend ( /selection/extend.js:157:5)
Pass
assert_not_equals(object "", object "A", "extend() must replace any existing range with a new one, not mutate the existing one")
    at testExtend ( /selection/extend.js:159:5)
Passextend() backwards with range 2 [paras[0].firstChild, 0, paras[0].firstChild, 1] and point 26 [document.documentElement, 1]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "Sanity check: startContainer must be correct")
    at testExtend ( /selection/extend.js:80:5)
Pass
assert_equals(0, 0, "Sanity check: startOffset must be correct")
    at testExtend ( /selection/extend.js:82:5)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "Sanity check: endContainer must be correct")
    at testExtend ( /selection/extend.js:84:5)
Pass
assert_equals(1, 1, "Sanity check: endOffset must be correct")
    at testExtend ( /selection/extend.js:86:5)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "anchorNode must not change if the node passed to extend() has the same root as the original range")
    at testExtend ( /selection/extend.js:145:9)
Pass
assert_equals(1, 1, "anchorOffset must not change if the node passed to extend() has the same root as the original range")
    at testExtend ( /selection/extend.js:147:9)
Pass
assert_equals(Element node <html><head><title>Selection extend() tests</title> <meta..., Element node <html><head><title>Selection extend() tests</title> <meta..., "focusNode must be the node passed to extend()")
    at testExtend ( /selection/extend.js:155:5)
Pass
assert_equals(1, 1, "focusOffset must be the offset passed to extend()")
    at testExtend ( /selection/extend.js:157:5)
Pass
assert_not_equals(object "A", object "A", "extend() must replace any existing range with a new one, not mutate the existing one")
    at testExtend ( /selection/extend.js:159:5)
Passextend() forwards with range 2 [paras[0].firstChild, 0, paras[0].firstChild, 1] and point 27 [document.documentElement, 2]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "Sanity check: startContainer must be correct")
    at testExtend ( /selection/extend.js:80:5)
Pass
assert_equals(0, 0, "Sanity check: startOffset must be correct")
    at testExtend ( /selection/extend.js:82:5)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "Sanity check: endContainer must be correct")
    at testExtend ( /selection/extend.js:84:5)
Pass
assert_equals(1, 1, "Sanity check: endOffset must be correct")
    at testExtend ( /selection/extend.js:86:5)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "anchorNode must not change if the node passed to extend() has the same root as the original range")
    at testExtend ( /selection/extend.js:145:9)
Pass
assert_equals(0, 0, "anchorOffset must not change if the node passed to extend() has the same root as the original range")
    at testExtend ( /selection/extend.js:147:9)
Pass
assert_equals(Element node <html><head><title>Selection extend() tests</title> <meta..., Element node <html><head><title>Selection extend() tests</title> <meta..., "focusNode must be the node passed to extend()")
    at testExtend ( /selection/extend.js:155:5)
Pass
assert_equals(2, 2, "focusOffset must be the offset passed to extend()")
    at testExtend ( /selection/extend.js:157:5)
Pass
assert_not_equals(object "Äb̈c̈d̈ëf̈g̈ḧ Ijklmnop QrstuvwxYzabcdefGhijklmn     Running, 100 complete, 1 remain  "use strict";  testExtendSubSet(0, 20); testDiv.style.display = "none"; ", object "A", "extend() must replace any existing range with a new one, not mutate the existing one")
    at testExtend ( /selection/extend.js:159:5)
Passextend() backwards with range 2 [paras[0].firstChild, 0, paras[0].firstChild, 1] and point 27 [document.documentElement, 2]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "Sanity check: startContainer must be correct")
    at testExtend ( /selection/extend.js:80:5)
Pass
assert_equals(0, 0, "Sanity check: startOffset must be correct")
    at testExtend ( /selection/extend.js:82:5)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "Sanity check: endContainer must be correct")
    at testExtend ( /selection/extend.js:84:5)
Pass
assert_equals(1, 1, "Sanity check: endOffset must be correct")
    at testExtend ( /selection/extend.js:86:5)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "anchorNode must not change if the node passed to extend() has the same root as the original range")
    at testExtend ( /selection/extend.js:145:9)
Pass
assert_equals(1, 1, "anchorOffset must not change if the node passed to extend() has the same root as the original range")
    at testExtend ( /selection/extend.js:147:9)
Pass
assert_equals(Element node <html><head><title>Selection extend() tests</title> <meta..., Element node <html><head><title>Selection extend() tests</title> <meta..., "focusNode must be the node passed to extend()")
    at testExtend ( /selection/extend.js:155:5)
Pass
assert_equals(2, 2, "focusOffset must be the offset passed to extend()")
    at testExtend ( /selection/extend.js:157:5)
Pass
assert_not_equals(object "̈b̈c̈d̈ëf̈g̈ḧ Ijklmnop QrstuvwxYzabcdefGhijklmn     Running, 100 complete, 1 remain  "use strict";  testExtendSubSet(0, 20); testDiv.style.display = "none"; ", object "A", "extend() must replace any existing range with a new one, not mutate the existing one")
    at testExtend ( /selection/extend.js:159:5)
Passextend() forwards with range 2 [paras[0].firstChild, 0, paras[0].firstChild, 1] and point 28 [document.documentElement, 7]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "Sanity check: startContainer must be correct")
    at testExtend ( /selection/extend.js:80:5)
Pass
assert_equals(0, 0, "Sanity check: startOffset must be correct")
    at testExtend ( /selection/extend.js:82:5)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "Sanity check: endContainer must be correct")
    at testExtend ( /selection/extend.js:84:5)
Pass
assert_equals(1, 1, "Sanity check: endOffset must be correct")
    at testExtend ( /selection/extend.js:86:5)
Pass
assert_throws_dom("INDEX_SIZE_ERR", function "function() {             selection.extend(node, offset);         }", "extend() to an offset that's greater than node length (2) must throw IndexSizeError")
    at testExtend ( /selection/extend.js:117:9)
Passextend() backwards with range 2 [paras[0].firstChild, 0, paras[0].firstChild, 1] and point 28 [document.documentElement, 7]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "Sanity check: startContainer must be correct")
    at testExtend ( /selection/extend.js:80:5)
Pass
assert_equals(0, 0, "Sanity check: startOffset must be correct")
    at testExtend ( /selection/extend.js:82:5)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "Sanity check: endContainer must be correct")
    at testExtend ( /selection/extend.js:84:5)
Pass
assert_equals(1, 1, "Sanity check: endOffset must be correct")
    at testExtend ( /selection/extend.js:86:5)
Pass
assert_throws_dom("INDEX_SIZE_ERR", function "function() {             selection.extend(node, offset);         }", "extend() to an offset that's greater than node length (2) must throw IndexSizeError")
    at testExtend ( /selection/extend.js:117:9)
Passextend() forwards with range 2 [paras[0].firstChild, 0, paras[0].firstChild, 1] and point 29 [document.head, 1]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "Sanity check: startContainer must be correct")
    at testExtend ( /selection/extend.js:80:5)
Pass
assert_equals(0, 0, "Sanity check: startOffset must be correct")
    at testExtend ( /selection/extend.js:82:5)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "Sanity check: endContainer must be correct")
    at testExtend ( /selection/extend.js:84:5)
Pass
assert_equals(1, 1, "Sanity check: endOffset must be correct")
    at testExtend ( /selection/extend.js:86:5)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "anchorNode must not change if the node passed to extend() has the same root as the original range")
    at testExtend ( /selection/extend.js:145:9)
Pass
assert_equals(0, 0, "anchorOffset must not change if the node passed to extend() has the same root as the original range")
    at testExtend ( /selection/extend.js:147:9)
Pass
assert_equals(Element node <head><title>Selection extend() tests</title> <meta chars..., Element node <head><title>Selection extend() tests</title> <meta chars..., "focusNode must be the node passed to extend()")
    at testExtend ( /selection/extend.js:155:5)
Pass
assert_equals(1, 1, "focusOffset must be the offset passed to extend()")
    at testExtend ( /selection/extend.js:157:5)
Pass
assert_not_equals(object "   ", object "A", "extend() must replace any existing range with a new one, not mutate the existing one")
    at testExtend ( /selection/extend.js:159:5)
Passextend() backwards with range 2 [paras[0].firstChild, 0, paras[0].firstChild, 1] and point 29 [document.head, 1]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "Sanity check: startContainer must be correct")
    at testExtend ( /selection/extend.js:80:5)
Pass
assert_equals(0, 0, "Sanity check: startOffset must be correct")
    at testExtend ( /selection/extend.js:82:5)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "Sanity check: endContainer must be correct")
    at testExtend ( /selection/extend.js:84:5)
Pass
assert_equals(1, 1, "Sanity check: endOffset must be correct")
    at testExtend ( /selection/extend.js:86:5)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "anchorNode must not change if the node passed to extend() has the same root as the original range")
    at testExtend ( /selection/extend.js:145:9)
Pass
assert_equals(1, 1, "anchorOffset must not change if the node passed to extend() has the same root as the original range")
    at testExtend ( /selection/extend.js:147:9)
Pass
assert_equals(Element node <head><title>Selection extend() tests</title> <meta chars..., Element node <head><title>Selection extend() tests</title> <meta chars..., "focusNode must be the node passed to extend()")
    at testExtend ( /selection/extend.js:155:5)
Pass
assert_equals(1, 1, "focusOffset must be the offset passed to extend()")
    at testExtend ( /selection/extend.js:157:5)
Pass
assert_not_equals(object "   A", object "A", "extend() must replace any existing range with a new one, not mutate the existing one")
    at testExtend ( /selection/extend.js:159:5)
Passextend() forwards with range 2 [paras[0].firstChild, 0, paras[0].firstChild, 1] and point 30 [document.body, 3]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "Sanity check: startContainer must be correct")
    at testExtend ( /selection/extend.js:80:5)
Pass
assert_equals(0, 0, "Sanity check: startOffset must be correct")
    at testExtend ( /selection/extend.js:82:5)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "Sanity check: endContainer must be correct")
    at testExtend ( /selection/extend.js:84:5)
Pass
assert_equals(1, 1, "Sanity check: endOffset must be correct")
    at testExtend ( /selection/extend.js:86:5)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "anchorNode must not change if the node passed to extend() has the same root as the original range")
    at testExtend ( /selection/extend.js:145:9)
Pass
assert_equals(0, 0, "anchorOffset must not change if the node passed to extend() has the same root as the original range")
    at testExtend ( /selection/extend.js:147:9)
Pass
assert_equals(Element node <body><div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ </p><p id..., Element node <body><div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ </p><p id..., "focusNode must be the node passed to extend()")
    at testExtend ( /selection/extend.js:155:5)
Pass
assert_equals(3, 3, "focusOffset must be the offset passed to extend()")
    at testExtend ( /selection/extend.js:157:5)
Pass
assert_not_equals(object "Äb̈c̈d̈ëf̈g̈ḧ Ijklmnop QrstuvwxYzabcdefGhijklmn ", object "A", "extend() must replace any existing range with a new one, not mutate the existing one")
    at testExtend ( /selection/extend.js:159:5)
Passextend() backwards with range 2 [paras[0].firstChild, 0, paras[0].firstChild, 1] and point 30 [document.body, 3]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "Sanity check: startContainer must be correct")
    at testExtend ( /selection/extend.js:80:5)
Pass
assert_equals(0, 0, "Sanity check: startOffset must be correct")
    at testExtend ( /selection/extend.js:82:5)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "Sanity check: endContainer must be correct")
    at testExtend ( /selection/extend.js:84:5)
Pass
assert_equals(1, 1, "Sanity check: endOffset must be correct")
    at testExtend ( /selection/extend.js:86:5)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "anchorNode must not change if the node passed to extend() has the same root as the original range")
    at testExtend ( /selection/extend.js:145:9)
Pass
assert_equals(1, 1, "anchorOffset must not change if the node passed to extend() has the same root as the original range")
    at testExtend ( /selection/extend.js:147:9)
Pass
assert_equals(Element node <body><div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ </p><p id..., Element node <body><div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ </p><p id..., "focusNode must be the node passed to extend()")
    at testExtend ( /selection/extend.js:155:5)
Pass
assert_equals(3, 3, "focusOffset must be the offset passed to extend()")
    at testExtend ( /selection/extend.js:157:5)
Pass
assert_not_equals(object "̈b̈c̈d̈ëf̈g̈ḧ Ijklmnop QrstuvwxYzabcdefGhijklmn ", object "A", "extend() must replace any existing range with a new one, not mutate the existing one")
    at testExtend ( /selection/extend.js:159:5)
Passextend() forwards with range 2 [paras[0].firstChild, 0, paras[0].firstChild, 1] and point 31 [foreignDoc.documentElement, 0]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(1, 1, "The operation should not add Range")
    at assertSelectionNoChange ( /selection/common.js:976:5)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "The operation should not update anchorNode")
    at assertSelectionNoChange ( /selection/common.js:978:5)
Pass
assert_equals(0, 0, "The operation should not update anchorOffset")
    at assertSelectionNoChange ( /selection/common.js:980:5)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "The operation should not update focusNode")
    at assertSelectionNoChange ( /selection/common.js:982:5)
Pass
assert_equals(1, 1, "The operation should not update focusOffset")
    at assertSelectionNoChange ( /selection/common.js:984:5)
Pass
assert_equals(object "A", object "A", "The operation should not replace a registered Range")
    at assertSelectionNoChange ( /selection/common.js:988:5)
Passextend() backwards with range 2 [paras[0].firstChild, 0, paras[0].firstChild, 1] and point 31 [foreignDoc.documentElement, 0]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(1, 1, "The operation should not add Range")
    at assertSelectionNoChange ( /selection/common.js:976:5)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "The operation should not update anchorNode")
    at assertSelectionNoChange ( /selection/common.js:978:5)
Pass
assert_equals(1, 1, "The operation should not update anchorOffset")
    at assertSelectionNoChange ( /selection/common.js:980:5)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "The operation should not update focusNode")
    at assertSelectionNoChange ( /selection/common.js:982:5)
Pass
assert_equals(0, 0, "The operation should not update focusOffset")
    at assertSelectionNoChange ( /selection/common.js:984:5)
Pass
assert_equals(object "A", object "A", "The operation should not replace a registered Range")
    at assertSelectionNoChange ( /selection/common.js:988:5)
Passextend() forwards with range 2 [paras[0].firstChild, 0, paras[0].firstChild, 1] and point 32 [foreignDoc.documentElement, 1]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(1, 1, "The operation should not add Range")
    at assertSelectionNoChange ( /selection/common.js:976:5)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "The operation should not update anchorNode")
    at assertSelectionNoChange ( /selection/common.js:978:5)
Pass
assert_equals(0, 0, "The operation should not update anchorOffset")
    at assertSelectionNoChange ( /selection/common.js:980:5)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "The operation should not update focusNode")
    at assertSelectionNoChange ( /selection/common.js:982:5)
Pass
assert_equals(1, 1, "The operation should not update focusOffset")
    at assertSelectionNoChange ( /selection/common.js:984:5)
Pass
assert_equals(object "A", object "A", "The operation should not replace a registered Range")
    at assertSelectionNoChange ( /selection/common.js:988:5)
Passextend() backwards with range 2 [paras[0].firstChild, 0, paras[0].firstChild, 1] and point 32 [foreignDoc.documentElement, 1]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(1, 1, "The operation should not add Range")
    at assertSelectionNoChange ( /selection/common.js:976:5)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "The operation should not update anchorNode")
    at assertSelectionNoChange ( /selection/common.js:978:5)
Pass
assert_equals(1, 1, "The operation should not update anchorOffset")
    at assertSelectionNoChange ( /selection/common.js:980:5)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "The operation should not update focusNode")
    at assertSelectionNoChange ( /selection/common.js:982:5)
Pass
assert_equals(0, 0, "The operation should not update focusOffset")
    at assertSelectionNoChange ( /selection/common.js:984:5)
Pass
assert_equals(object "A", object "A", "The operation should not replace a registered Range")
    at assertSelectionNoChange ( /selection/common.js:988:5)
Passextend() forwards with range 2 [paras[0].firstChild, 0, paras[0].firstChild, 1] and point 33 [foreignDoc.head, 0]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(1, 1, "The operation should not add Range")
    at assertSelectionNoChange ( /selection/common.js:976:5)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "The operation should not update anchorNode")
    at assertSelectionNoChange ( /selection/common.js:978:5)
Pass
assert_equals(0, 0, "The operation should not update anchorOffset")
    at assertSelectionNoChange ( /selection/common.js:980:5)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "The operation should not update focusNode")
    at assertSelectionNoChange ( /selection/common.js:982:5)
Pass
assert_equals(1, 1, "The operation should not update focusOffset")
    at assertSelectionNoChange ( /selection/common.js:984:5)
Pass
assert_equals(object "A", object "A", "The operation should not replace a registered Range")
    at assertSelectionNoChange ( /selection/common.js:988:5)
Passextend() backwards with range 2 [paras[0].firstChild, 0, paras[0].firstChild, 1] and point 33 [foreignDoc.head, 0]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(1, 1, "The operation should not add Range")
    at assertSelectionNoChange ( /selection/common.js:976:5)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "The operation should not update anchorNode")
    at assertSelectionNoChange ( /selection/common.js:978:5)
Pass
assert_equals(1, 1, "The operation should not update anchorOffset")
    at assertSelectionNoChange ( /selection/common.js:980:5)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "The operation should not update focusNode")
    at assertSelectionNoChange ( /selection/common.js:982:5)
Pass
assert_equals(0, 0, "The operation should not update focusOffset")
    at assertSelectionNoChange ( /selection/common.js:984:5)
Pass
assert_equals(object "A", object "A", "The operation should not replace a registered Range")
    at assertSelectionNoChange ( /selection/common.js:988:5)
Passextend() forwards with range 2 [paras[0].firstChild, 0, paras[0].firstChild, 1] and point 34 [foreignDoc.body, 1]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(1, 1, "The operation should not add Range")
    at assertSelectionNoChange ( /selection/common.js:976:5)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "The operation should not update anchorNode")
    at assertSelectionNoChange ( /selection/common.js:978:5)
Pass
assert_equals(0, 0, "The operation should not update anchorOffset")
    at assertSelectionNoChange ( /selection/common.js:980:5)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "The operation should not update focusNode")
    at assertSelectionNoChange ( /selection/common.js:982:5)
Pass
assert_equals(1, 1, "The operation should not update focusOffset")
    at assertSelectionNoChange ( /selection/common.js:984:5)
Pass
assert_equals(object "A", object "A", "The operation should not replace a registered Range")
    at assertSelectionNoChange ( /selection/common.js:988:5)
Passextend() backwards with range 2 [paras[0].firstChild, 0, paras[0].firstChild, 1] and point 34 [foreignDoc.body, 1]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(1, 1, "The operation should not add Range")
    at assertSelectionNoChange ( /selection/common.js:976:5)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "The operation should not update anchorNode")
    at assertSelectionNoChange ( /selection/common.js:978:5)
Pass
assert_equals(1, 1, "The operation should not update anchorOffset")
    at assertSelectionNoChange ( /selection/common.js:980:5)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "The operation should not update focusNode")
    at assertSelectionNoChange ( /selection/common.js:982:5)
Pass
assert_equals(0, 0, "The operation should not update focusOffset")
    at assertSelectionNoChange ( /selection/common.js:984:5)
Pass
assert_equals(object "A", object "A", "The operation should not replace a registered Range")
    at assertSelectionNoChange ( /selection/common.js:988:5)
Passextend() forwards with range 2 [paras[0].firstChild, 0, paras[0].firstChild, 1] and point 35 [paras[0], 0]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "Sanity check: startContainer must be correct")
    at testExtend ( /selection/extend.js:80:5)
Pass
assert_equals(0, 0, "Sanity check: startOffset must be correct")
    at testExtend ( /selection/extend.js:82:5)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "Sanity check: endContainer must be correct")
    at testExtend ( /selection/extend.js:84:5)
Pass
assert_equals(1, 1, "Sanity check: endOffset must be correct")
    at testExtend ( /selection/extend.js:86:5)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "anchorNode must not change if the node passed to extend() has the same root as the original range")
    at testExtend ( /selection/extend.js:145:9)
Pass
assert_equals(0, 0, "anchorOffset must not change if the node passed to extend() has the same root as the original range")
    at testExtend ( /selection/extend.js:147:9)
Pass
assert_equals(Element node <p id="a">Äb̈c̈d̈ëf̈g̈ḧ </p>, Element node <p id="a">Äb̈c̈d̈ëf̈g̈ḧ </p>, "focusNode must be the node passed to extend()")
    at testExtend ( /selection/extend.js:155:5)
Pass
assert_equals(0, 0, "focusOffset must be the offset passed to extend()")
    at testExtend ( /selection/extend.js:157:5)
Pass
assert_not_equals(object "", object "A", "extend() must replace any existing range with a new one, not mutate the existing one")
    at testExtend ( /selection/extend.js:159:5)
Passextend() backwards with range 2 [paras[0].firstChild, 0, paras[0].firstChild, 1] and point 35 [paras[0], 0]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "Sanity check: startContainer must be correct")
    at testExtend ( /selection/extend.js:80:5)
Pass
assert_equals(0, 0, "Sanity check: startOffset must be correct")
    at testExtend ( /selection/extend.js:82:5)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "Sanity check: endContainer must be correct")
    at testExtend ( /selection/extend.js:84:5)
Pass
assert_equals(1, 1, "Sanity check: endOffset must be correct")
    at testExtend ( /selection/extend.js:86:5)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "anchorNode must not change if the node passed to extend() has the same root as the original range")
    at testExtend ( /selection/extend.js:145:9)
Pass
assert_equals(1, 1, "anchorOffset must not change if the node passed to extend() has the same root as the original range")
    at testExtend ( /selection/extend.js:147:9)
Pass
assert_equals(Element node <p id="a">Äb̈c̈d̈ëf̈g̈ḧ </p>, Element node <p id="a">Äb̈c̈d̈ëf̈g̈ḧ </p>, "focusNode must be the node passed to extend()")
    at testExtend ( /selection/extend.js:155:5)
Pass
assert_equals(0, 0, "focusOffset must be the offset passed to extend()")
    at testExtend ( /selection/extend.js:157:5)
Pass
assert_not_equals(object "A", object "A", "extend() must replace any existing range with a new one, not mutate the existing one")
    at testExtend ( /selection/extend.js:159:5)
Passextend() forwards with range 2 [paras[0].firstChild, 0, paras[0].firstChild, 1] and point 36 [paras[0], 1]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "Sanity check: startContainer must be correct")
    at testExtend ( /selection/extend.js:80:5)
Pass
assert_equals(0, 0, "Sanity check: startOffset must be correct")
    at testExtend ( /selection/extend.js:82:5)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "Sanity check: endContainer must be correct")
    at testExtend ( /selection/extend.js:84:5)
Pass
assert_equals(1, 1, "Sanity check: endOffset must be correct")
    at testExtend ( /selection/extend.js:86:5)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "anchorNode must not change if the node passed to extend() has the same root as the original range")
    at testExtend ( /selection/extend.js:145:9)
Pass
assert_equals(0, 0, "anchorOffset must not change if the node passed to extend() has the same root as the original range")
    at testExtend ( /selection/extend.js:147:9)
Pass
assert_equals(Element node <p id="a">Äb̈c̈d̈ëf̈g̈ḧ </p>, Element node <p id="a">Äb̈c̈d̈ëf̈g̈ḧ </p>, "focusNode must be the node passed to extend()")
    at testExtend ( /selection/extend.js:155:5)
Pass
assert_equals(1, 1, "focusOffset must be the offset passed to extend()")
    at testExtend ( /selection/extend.js:157:5)
Pass
assert_not_equals(object "Äb̈c̈d̈ëf̈g̈ḧ ", object "A", "extend() must replace any existing range with a new one, not mutate the existing one")
    at testExtend ( /selection/extend.js:159:5)
Passextend() backwards with range 2 [paras[0].firstChild, 0, paras[0].firstChild, 1] and point 36 [paras[0], 1]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "Sanity check: startContainer must be correct")
    at testExtend ( /selection/extend.js:80:5)
Pass
assert_equals(0, 0, "Sanity check: startOffset must be correct")
    at testExtend ( /selection/extend.js:82:5)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "Sanity check: endContainer must be correct")
    at testExtend ( /selection/extend.js:84:5)
Pass
assert_equals(1, 1, "Sanity check: endOffset must be correct")
    at testExtend ( /selection/extend.js:86:5)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "anchorNode must not change if the node passed to extend() has the same root as the original range")
    at testExtend ( /selection/extend.js:145:9)
Pass
assert_equals(1, 1, "anchorOffset must not change if the node passed to extend() has the same root as the original range")
    at testExtend ( /selection/extend.js:147:9)
Pass
assert_equals(Element node <p id="a">Äb̈c̈d̈ëf̈g̈ḧ </p>, Element node <p id="a">Äb̈c̈d̈ëf̈g̈ḧ </p>, "focusNode must be the node passed to extend()")
    at testExtend ( /selection/extend.js:155:5)
Pass
assert_equals(1, 1, "focusOffset must be the offset passed to extend()")
    at testExtend ( /selection/extend.js:157:5)
Pass
assert_not_equals(object "̈b̈c̈d̈ëf̈g̈ḧ ", object "A", "extend() must replace any existing range with a new one, not mutate the existing one")
    at testExtend ( /selection/extend.js:159:5)
Passextend() forwards with range 2 [paras[0].firstChild, 0, paras[0].firstChild, 1] and point 37 [paras[0], 2]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "Sanity check: startContainer must be correct")
    at testExtend ( /selection/extend.js:80:5)
Pass
assert_equals(0, 0, "Sanity check: startOffset must be correct")
    at testExtend ( /selection/extend.js:82:5)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "Sanity check: endContainer must be correct")
    at testExtend ( /selection/extend.js:84:5)
Pass
assert_equals(1, 1, "Sanity check: endOffset must be correct")
    at testExtend ( /selection/extend.js:86:5)
Pass
assert_throws_dom("INDEX_SIZE_ERR", function "function() {             selection.extend(node, offset);         }", "extend() to an offset that's greater than node length (1) must throw IndexSizeError")
    at testExtend ( /selection/extend.js:117:9)
Passextend() backwards with range 2 [paras[0].firstChild, 0, paras[0].firstChild, 1] and point 37 [paras[0], 2]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "Sanity check: startContainer must be correct")
    at testExtend ( /selection/extend.js:80:5)
Pass
assert_equals(0, 0, "Sanity check: startOffset must be correct")
    at testExtend ( /selection/extend.js:82:5)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "Sanity check: endContainer must be correct")
    at testExtend ( /selection/extend.js:84:5)
Pass
assert_equals(1, 1, "Sanity check: endOffset must be correct")
    at testExtend ( /selection/extend.js:86:5)
Pass
assert_throws_dom("INDEX_SIZE_ERR", function "function() {             selection.extend(node, offset);         }", "extend() to an offset that's greater than node length (1) must throw IndexSizeError")
    at testExtend ( /selection/extend.js:117:9)
Passextend() forwards with range 2 [paras[0].firstChild, 0, paras[0].firstChild, 1] and point 38 [paras[1], 0]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "Sanity check: startContainer must be correct")
    at testExtend ( /selection/extend.js:80:5)
Pass
assert_equals(0, 0, "Sanity check: startOffset must be correct")
    at testExtend ( /selection/extend.js:82:5)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "Sanity check: endContainer must be correct")
    at testExtend ( /selection/extend.js:84:5)
Pass
assert_equals(1, 1, "Sanity check: endOffset must be correct")
    at testExtend ( /selection/extend.js:86:5)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "anchorNode must not change if the node passed to extend() has the same root as the original range")
    at testExtend ( /selection/extend.js:145:9)
Pass
assert_equals(0, 0, "anchorOffset must not change if the node passed to extend() has the same root as the original range")
    at testExtend ( /selection/extend.js:147:9)
Pass
assert_equals(Element node <p id="b" style="display:none">Ijklmnop </p>, Element node <p id="b" style="display:none">Ijklmnop </p>, "focusNode must be the node passed to extend()")
    at testExtend ( /selection/extend.js:155:5)
Pass
assert_equals(0, 0, "focusOffset must be the offset passed to extend()")
    at testExtend ( /selection/extend.js:157:5)
Pass
assert_not_equals(object "Äb̈c̈d̈ëf̈g̈ḧ ", object "A", "extend() must replace any existing range with a new one, not mutate the existing one")
    at testExtend ( /selection/extend.js:159:5)
Passextend() backwards with range 2 [paras[0].firstChild, 0, paras[0].firstChild, 1] and point 38 [paras[1], 0]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "Sanity check: startContainer must be correct")
    at testExtend ( /selection/extend.js:80:5)
Pass
assert_equals(0, 0, "Sanity check: startOffset must be correct")
    at testExtend ( /selection/extend.js:82:5)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "Sanity check: endContainer must be correct")
    at testExtend ( /selection/extend.js:84:5)
Pass
assert_equals(1, 1, "Sanity check: endOffset must be correct")
    at testExtend ( /selection/extend.js:86:5)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "anchorNode must not change if the node passed to extend() has the same root as the original range")
    at testExtend ( /selection/extend.js:145:9)
Pass
assert_equals(1, 1, "anchorOffset must not change if the node passed to extend() has the same root as the original range")
    at testExtend ( /selection/extend.js:147:9)
Pass
assert_equals(Element node <p id="b" style="display:none">Ijklmnop </p>, Element node <p id="b" style="display:none">Ijklmnop </p>, "focusNode must be the node passed to extend()")
    at testExtend ( /selection/extend.js:155:5)
Pass
assert_equals(0, 0, "focusOffset must be the offset passed to extend()")
    at testExtend ( /selection/extend.js:157:5)
Pass
assert_not_equals(object "̈b̈c̈d̈ëf̈g̈ḧ ", object "A", "extend() must replace any existing range with a new one, not mutate the existing one")
    at testExtend ( /selection/extend.js:159:5)
Passextend() forwards with range 2 [paras[0].firstChild, 0, paras[0].firstChild, 1] and point 39 [paras[1], 1]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "Sanity check: startContainer must be correct")
    at testExtend ( /selection/extend.js:80:5)
Pass
assert_equals(0, 0, "Sanity check: startOffset must be correct")
    at testExtend ( /selection/extend.js:82:5)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "Sanity check: endContainer must be correct")
    at testExtend ( /selection/extend.js:84:5)
Pass
assert_equals(1, 1, "Sanity check: endOffset must be correct")
    at testExtend ( /selection/extend.js:86:5)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "anchorNode must not change if the node passed to extend() has the same root as the original range")
    at testExtend ( /selection/extend.js:145:9)
Pass
assert_equals(0, 0, "anchorOffset must not change if the node passed to extend() has the same root as the original range")
    at testExtend ( /selection/extend.js:147:9)
Pass
assert_equals(Element node <p id="b" style="display:none">Ijklmnop </p>, Element node <p id="b" style="display:none">Ijklmnop </p>, "focusNode must be the node passed to extend()")
    at testExtend ( /selection/extend.js:155:5)
Pass
assert_equals(1, 1, "focusOffset must be the offset passed to extend()")
    at testExtend ( /selection/extend.js:157:5)
Pass
assert_not_equals(object "Äb̈c̈d̈ëf̈g̈ḧ Ijklmnop ", object "A", "extend() must replace any existing range with a new one, not mutate the existing one")
    at testExtend ( /selection/extend.js:159:5)
Passextend() backwards with range 2 [paras[0].firstChild, 0, paras[0].firstChild, 1] and point 39 [paras[1], 1]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "Sanity check: startContainer must be correct")
    at testExtend ( /selection/extend.js:80:5)
Pass
assert_equals(0, 0, "Sanity check: startOffset must be correct")
    at testExtend ( /selection/extend.js:82:5)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "Sanity check: endContainer must be correct")
    at testExtend ( /selection/extend.js:84:5)
Pass
assert_equals(1, 1, "Sanity check: endOffset must be correct")
    at testExtend ( /selection/extend.js:86:5)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "anchorNode must not change if the node passed to extend() has the same root as the original range")
    at testExtend ( /selection/extend.js:145:9)
Pass
assert_equals(1, 1, "anchorOffset must not change if the node passed to extend() has the same root as the original range")
    at testExtend ( /selection/extend.js:147:9)
Pass
assert_equals(Element node <p id="b" style="display:none">Ijklmnop </p>, Element node <p id="b" style="display:none">Ijklmnop </p>, "focusNode must be the node passed to extend()")
    at testExtend ( /selection/extend.js:155:5)
Pass
assert_equals(1, 1, "focusOffset must be the offset passed to extend()")
    at testExtend ( /selection/extend.js:157:5)
Pass
assert_not_equals(object "̈b̈c̈d̈ëf̈g̈ḧ Ijklmnop ", object "A", "extend() must replace any existing range with a new one, not mutate the existing one")
    at testExtend ( /selection/extend.js:159:5)
Passextend() forwards with range 2 [paras[0].firstChild, 0, paras[0].firstChild, 1] and point 40 [paras[1], 2]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "Sanity check: startContainer must be correct")
    at testExtend ( /selection/extend.js:80:5)
Pass
assert_equals(0, 0, "Sanity check: startOffset must be correct")
    at testExtend ( /selection/extend.js:82:5)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "Sanity check: endContainer must be correct")
    at testExtend ( /selection/extend.js:84:5)
Pass
assert_equals(1, 1, "Sanity check: endOffset must be correct")
    at testExtend ( /selection/extend.js:86:5)
Pass
assert_throws_dom("INDEX_SIZE_ERR", function "function() {             selection.extend(node, offset);         }", "extend() to an offset that's greater than node length (1) must throw IndexSizeError")
    at testExtend ( /selection/extend.js:117:9)
Passextend() backwards with range 2 [paras[0].firstChild, 0, paras[0].firstChild, 1] and point 40 [paras[1], 2]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "Sanity check: startContainer must be correct")
    at testExtend ( /selection/extend.js:80:5)
Pass
assert_equals(0, 0, "Sanity check: startOffset must be correct")
    at testExtend ( /selection/extend.js:82:5)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "Sanity check: endContainer must be correct")
    at testExtend ( /selection/extend.js:84:5)
Pass
assert_equals(1, 1, "Sanity check: endOffset must be correct")
    at testExtend ( /selection/extend.js:86:5)
Pass
assert_throws_dom("INDEX_SIZE_ERR", function "function() {             selection.extend(node, offset);         }", "extend() to an offset that's greater than node length (1) must throw IndexSizeError")
    at testExtend ( /selection/extend.js:117:9)
Passextend() forwards with range 2 [paras[0].firstChild, 0, paras[0].firstChild, 1] and point 41 [detachedPara1, 0]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(1, 1, "The operation should not add Range")
    at assertSelectionNoChange ( /selection/common.js:976:5)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "The operation should not update anchorNode")
    at assertSelectionNoChange ( /selection/common.js:978:5)
Pass
assert_equals(0, 0, "The operation should not update anchorOffset")
    at assertSelectionNoChange ( /selection/common.js:980:5)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "The operation should not update focusNode")
    at assertSelectionNoChange ( /selection/common.js:982:5)
Pass
assert_equals(1, 1, "The operation should not update focusOffset")
    at assertSelectionNoChange ( /selection/common.js:984:5)
Pass
assert_equals(object "A", object "A", "The operation should not replace a registered Range")
    at assertSelectionNoChange ( /selection/common.js:988:5)
Passextend() backwards with range 2 [paras[0].firstChild, 0, paras[0].firstChild, 1] and point 41 [detachedPara1, 0]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(1, 1, "The operation should not add Range")
    at assertSelectionNoChange ( /selection/common.js:976:5)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "The operation should not update anchorNode")
    at assertSelectionNoChange ( /selection/common.js:978:5)
Pass
assert_equals(1, 1, "The operation should not update anchorOffset")
    at assertSelectionNoChange ( /selection/common.js:980:5)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "The operation should not update focusNode")
    at assertSelectionNoChange ( /selection/common.js:982:5)
Pass
assert_equals(0, 0, "The operation should not update focusOffset")
    at assertSelectionNoChange ( /selection/common.js:984:5)
Pass
assert_equals(object "A", object "A", "The operation should not replace a registered Range")
    at assertSelectionNoChange ( /selection/common.js:988:5)
Passextend() forwards with range 2 [paras[0].firstChild, 0, paras[0].firstChild, 1] and point 42 [detachedPara1, 1]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(1, 1, "The operation should not add Range")
    at assertSelectionNoChange ( /selection/common.js:976:5)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "The operation should not update anchorNode")
    at assertSelectionNoChange ( /selection/common.js:978:5)
Pass
assert_equals(0, 0, "The operation should not update anchorOffset")
    at assertSelectionNoChange ( /selection/common.js:980:5)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "The operation should not update focusNode")
    at assertSelectionNoChange ( /selection/common.js:982:5)
Pass
assert_equals(1, 1, "The operation should not update focusOffset")
    at assertSelectionNoChange ( /selection/common.js:984:5)
Pass
assert_equals(object "A", object "A", "The operation should not replace a registered Range")
    at assertSelectionNoChange ( /selection/common.js:988:5)
Passextend() backwards with range 2 [paras[0].firstChild, 0, paras[0].firstChild, 1] and point 42 [detachedPara1, 1]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(1, 1, "The operation should not add Range")
    at assertSelectionNoChange ( /selection/common.js:976:5)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "The operation should not update anchorNode")
    at assertSelectionNoChange ( /selection/common.js:978:5)
Pass
assert_equals(1, 1, "The operation should not update anchorOffset")
    at assertSelectionNoChange ( /selection/common.js:980:5)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "The operation should not update focusNode")
    at assertSelectionNoChange ( /selection/common.js:982:5)
Pass
assert_equals(0, 0, "The operation should not update focusOffset")
    at assertSelectionNoChange ( /selection/common.js:984:5)
Pass
assert_equals(object "A", object "A", "The operation should not replace a registered Range")
    at assertSelectionNoChange ( /selection/common.js:988:5)
Passextend() forwards with range 2 [paras[0].firstChild, 0, paras[0].firstChild, 1] and point 43 [testDiv, 0]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "Sanity check: startContainer must be correct")
    at testExtend ( /selection/extend.js:80:5)
Pass
assert_equals(0, 0, "Sanity check: startOffset must be correct")
    at testExtend ( /selection/extend.js:82:5)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "Sanity check: endContainer must be correct")
    at testExtend ( /selection/extend.js:84:5)
Pass
assert_equals(1, 1, "Sanity check: endOffset must be correct")
    at testExtend ( /selection/extend.js:86:5)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "anchorNode must not change if the node passed to extend() has the same root as the original range")
    at testExtend ( /selection/extend.js:145:9)
Pass
assert_equals(0, 0, "anchorOffset must not change if the node passed to extend() has the same root as the original range")
    at testExtend ( /selection/extend.js:147:9)
Pass
assert_equals(Element node <div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ </p><p id="b" s..., Element node <div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ </p><p id="b" s..., "focusNode must be the node passed to extend()")
    at testExtend ( /selection/extend.js:155:5)
Pass
assert_equals(0, 0, "focusOffset must be the offset passed to extend()")
    at testExtend ( /selection/extend.js:157:5)
Pass
assert_not_equals(object "", object "A", "extend() must replace any existing range with a new one, not mutate the existing one")
    at testExtend ( /selection/extend.js:159:5)
Passextend() backwards with range 2 [paras[0].firstChild, 0, paras[0].firstChild, 1] and point 43 [testDiv, 0]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "Sanity check: startContainer must be correct")
    at testExtend ( /selection/extend.js:80:5)
Pass
assert_equals(0, 0, "Sanity check: startOffset must be correct")
    at testExtend ( /selection/extend.js:82:5)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "Sanity check: endContainer must be correct")
    at testExtend ( /selection/extend.js:84:5)
Pass
assert_equals(1, 1, "Sanity check: endOffset must be correct")
    at testExtend ( /selection/extend.js:86:5)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "anchorNode must not change if the node passed to extend() has the same root as the original range")
    at testExtend ( /selection/extend.js:145:9)
Pass
assert_equals(1, 1, "anchorOffset must not change if the node passed to extend() has the same root as the original range")
    at testExtend ( /selection/extend.js:147:9)
Pass
assert_equals(Element node <div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ </p><p id="b" s..., Element node <div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ </p><p id="b" s..., "focusNode must be the node passed to extend()")
    at testExtend ( /selection/extend.js:155:5)
Pass
assert_equals(0, 0, "focusOffset must be the offset passed to extend()")
    at testExtend ( /selection/extend.js:157:5)
Pass
assert_not_equals(object "A", object "A", "extend() must replace any existing range with a new one, not mutate the existing one")
    at testExtend ( /selection/extend.js:159:5)
Passextend() forwards with range 2 [paras[0].firstChild, 0, paras[0].firstChild, 1] and point 44 [testDiv, 3]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "Sanity check: startContainer must be correct")
    at testExtend ( /selection/extend.js:80:5)
Pass
assert_equals(0, 0, "Sanity check: startOffset must be correct")
    at testExtend ( /selection/extend.js:82:5)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "Sanity check: endContainer must be correct")
    at testExtend ( /selection/extend.js:84:5)
Pass
assert_equals(1, 1, "Sanity check: endOffset must be correct")
    at testExtend ( /selection/extend.js:86:5)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "anchorNode must not change if the node passed to extend() has the same root as the original range")
    at testExtend ( /selection/extend.js:145:9)
Pass
assert_equals(0, 0, "anchorOffset must not change if the node passed to extend() has the same root as the original range")
    at testExtend ( /selection/extend.js:147:9)
Pass
assert_equals(Element node <div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ </p><p id="b" s..., Element node <div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ </p><p id="b" s..., "focusNode must be the node passed to extend()")
    at testExtend ( /selection/extend.js:155:5)
Pass
assert_equals(3, 3, "focusOffset must be the offset passed to extend()")
    at testExtend ( /selection/extend.js:157:5)
Pass
assert_not_equals(object "Äb̈c̈d̈ëf̈g̈ḧ Ijklmnop Qrstuvwx", object "A", "extend() must replace any existing range with a new one, not mutate the existing one")
    at testExtend ( /selection/extend.js:159:5)
Passextend() backwards with range 2 [paras[0].firstChild, 0, paras[0].firstChild, 1] and point 44 [testDiv, 3]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "Sanity check: startContainer must be correct")
    at testExtend ( /selection/extend.js:80:5)
Pass
assert_equals(0, 0, "Sanity check: startOffset must be correct")
    at testExtend ( /selection/extend.js:82:5)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "Sanity check: endContainer must be correct")
    at testExtend ( /selection/extend.js:84:5)
Pass
assert_equals(1, 1, "Sanity check: endOffset must be correct")
    at testExtend ( /selection/extend.js:86:5)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "anchorNode must not change if the node passed to extend() has the same root as the original range")
    at testExtend ( /selection/extend.js:145:9)
Pass
assert_equals(1, 1, "anchorOffset must not change if the node passed to extend() has the same root as the original range")
    at testExtend ( /selection/extend.js:147:9)
Pass
assert_equals(Element node <div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ </p><p id="b" s..., Element node <div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ </p><p id="b" s..., "focusNode must be the node passed to extend()")
    at testExtend ( /selection/extend.js:155:5)
Pass
assert_equals(3, 3, "focusOffset must be the offset passed to extend()")
    at testExtend ( /selection/extend.js:157:5)
Pass
assert_not_equals(object "̈b̈c̈d̈ëf̈g̈ḧ Ijklmnop Qrstuvwx", object "A", "extend() must replace any existing range with a new one, not mutate the existing one")
    at testExtend ( /selection/extend.js:159:5)
Passextend() forwards with range 2 [paras[0].firstChild, 0, paras[0].firstChild, 1] and point 45 [document, -1]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "Sanity check: startContainer must be correct")
    at testExtend ( /selection/extend.js:80:5)
Pass
assert_equals(0, 0, "Sanity check: startOffset must be correct")
    at testExtend ( /selection/extend.js:82:5)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "Sanity check: endContainer must be correct")
    at testExtend ( /selection/extend.js:84:5)
Pass
assert_equals(1, 1, "Sanity check: endOffset must be correct")
    at testExtend ( /selection/extend.js:86:5)
Pass
assert_throws_dom("INDEX_SIZE_ERR", function "function() {             selection.extend(node, offset);         }", "extend() to an offset that's greater than node length (2) must throw IndexSizeError")
    at testExtend ( /selection/extend.js:117:9)
Passextend() backwards with range 2 [paras[0].firstChild, 0, paras[0].firstChild, 1] and point 45 [document, -1]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "Sanity check: startContainer must be correct")
    at testExtend ( /selection/extend.js:80:5)
Pass
assert_equals(0, 0, "Sanity check: startOffset must be correct")
    at testExtend ( /selection/extend.js:82:5)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "Sanity check: endContainer must be correct")
    at testExtend ( /selection/extend.js:84:5)
Pass
assert_equals(1, 1, "Sanity check: endOffset must be correct")
    at testExtend ( /selection/extend.js:86:5)
Pass
assert_throws_dom("INDEX_SIZE_ERR", function "function() {             selection.extend(node, offset);         }", "extend() to an offset that's greater than node length (2) must throw IndexSizeError")
    at testExtend ( /selection/extend.js:117:9)
Passextend() forwards with range 2 [paras[0].firstChild, 0, paras[0].firstChild, 1] and point 46 [document, 0]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "Sanity check: startContainer must be correct")
    at testExtend ( /selection/extend.js:80:5)
Pass
assert_equals(0, 0, "Sanity check: startOffset must be correct")
    at testExtend ( /selection/extend.js:82:5)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "Sanity check: endContainer must be correct")
    at testExtend ( /selection/extend.js:84:5)
Pass
assert_equals(1, 1, "Sanity check: endOffset must be correct")
    at testExtend ( /selection/extend.js:86:5)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "anchorNode must not change if the node passed to extend() has the same root as the original range")
    at testExtend ( /selection/extend.js:145:9)
Pass
assert_equals(0, 0, "anchorOffset must not change if the node passed to extend() has the same root as the original range")
    at testExtend ( /selection/extend.js:147:9)
Pass
assert_equals(Document node with 2 children, Document node with 2 children, "focusNode must be the node passed to extend()")
    at testExtend ( /selection/extend.js:155:5)
Pass
assert_equals(0, 0, "focusOffset must be the offset passed to extend()")
    at testExtend ( /selection/extend.js:157:5)
Pass
assert_not_equals(object "Selection extend() tests   ", object "A", "extend() must replace any existing range with a new one, not mutate the existing one")
    at testExtend ( /selection/extend.js:159:5)
Passextend() backwards with range 2 [paras[0].firstChild, 0, paras[0].firstChild, 1] and point 46 [document, 0]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "Sanity check: startContainer must be correct")
    at testExtend ( /selection/extend.js:80:5)
Pass
assert_equals(0, 0, "Sanity check: startOffset must be correct")
    at testExtend ( /selection/extend.js:82:5)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "Sanity check: endContainer must be correct")
    at testExtend ( /selection/extend.js:84:5)
Pass
assert_equals(1, 1, "Sanity check: endOffset must be correct")
    at testExtend ( /selection/extend.js:86:5)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "anchorNode must not change if the node passed to extend() has the same root as the original range")
    at testExtend ( /selection/extend.js:145:9)
Pass
assert_equals(1, 1, "anchorOffset must not change if the node passed to extend() has the same root as the original range")
    at testExtend ( /selection/extend.js:147:9)
Pass
assert_equals(Document node with 2 children, Document node with 2 children, "focusNode must be the node passed to extend()")
    at testExtend ( /selection/extend.js:155:5)
Pass
assert_equals(0, 0, "focusOffset must be the offset passed to extend()")
    at testExtend ( /selection/extend.js:157:5)
Pass
assert_not_equals(object "Selection extend() tests   A", object "A", "extend() must replace any existing range with a new one, not mutate the existing one")
    at testExtend ( /selection/extend.js:159:5)
Passextend() forwards with range 2 [paras[0].firstChild, 0, paras[0].firstChild, 1] and point 47 [document, 1]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "Sanity check: startContainer must be correct")
    at testExtend ( /selection/extend.js:80:5)
Pass
assert_equals(0, 0, "Sanity check: startOffset must be correct")
    at testExtend ( /selection/extend.js:82:5)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "Sanity check: endContainer must be correct")
    at testExtend ( /selection/extend.js:84:5)
Pass
assert_equals(1, 1, "Sanity check: endOffset must be correct")
    at testExtend ( /selection/extend.js:86:5)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "anchorNode must not change if the node passed to extend() has the same root as the original range")
    at testExtend ( /selection/extend.js:145:9)
Pass
assert_equals(0, 0, "anchorOffset must not change if the node passed to extend() has the same root as the original range")
    at testExtend ( /selection/extend.js:147:9)
Pass
assert_equals(Document node with 2 children, Document node with 2 children, "focusNode must be the node passed to extend()")
    at testExtend ( /selection/extend.js:155:5)
Pass
assert_equals(1, 1, "focusOffset must be the offset passed to extend()")
    at testExtend ( /selection/extend.js:157:5)
Pass
assert_not_equals(object "Selection extend() tests   ", object "A", "extend() must replace any existing range with a new one, not mutate the existing one")
    at testExtend ( /selection/extend.js:159:5)
Passextend() backwards with range 2 [paras[0].firstChild, 0, paras[0].firstChild, 1] and point 47 [document, 1]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "Sanity check: startContainer must be correct")
    at testExtend ( /selection/extend.js:80:5)
Pass
assert_equals(0, 0, "Sanity check: startOffset must be correct")
    at testExtend ( /selection/extend.js:82:5)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "Sanity check: endContainer must be correct")
    at testExtend ( /selection/extend.js:84:5)
Pass
assert_equals(1, 1, "Sanity check: endOffset must be correct")
    at testExtend ( /selection/extend.js:86:5)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "anchorNode must not change if the node passed to extend() has the same root as the original range")
    at testExtend ( /selection/extend.js:145:9)
Pass
assert_equals(1, 1, "anchorOffset must not change if the node passed to extend() has the same root as the original range")
    at testExtend ( /selection/extend.js:147:9)
Pass
assert_equals(Document node with 2 children, Document node with 2 children, "focusNode must be the node passed to extend()")
    at testExtend ( /selection/extend.js:155:5)
Pass
assert_equals(1, 1, "focusOffset must be the offset passed to extend()")
    at testExtend ( /selection/extend.js:157:5)
Pass
assert_not_equals(object "Selection extend() tests   A", object "A", "extend() must replace any existing range with a new one, not mutate the existing one")
    at testExtend ( /selection/extend.js:159:5)
Passextend() forwards with range 2 [paras[0].firstChild, 0, paras[0].firstChild, 1] and point 48 [document, 2]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "Sanity check: startContainer must be correct")
    at testExtend ( /selection/extend.js:80:5)
Pass
assert_equals(0, 0, "Sanity check: startOffset must be correct")
    at testExtend ( /selection/extend.js:82:5)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "Sanity check: endContainer must be correct")
    at testExtend ( /selection/extend.js:84:5)
Pass
assert_equals(1, 1, "Sanity check: endOffset must be correct")
    at testExtend ( /selection/extend.js:86:5)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "anchorNode must not change if the node passed to extend() has the same root as the original range")
    at testExtend ( /selection/extend.js:145:9)
Pass
assert_equals(0, 0, "anchorOffset must not change if the node passed to extend() has the same root as the original range")
    at testExtend ( /selection/extend.js:147:9)
Pass
assert_equals(Document node with 2 children, Document node with 2 children, "focusNode must be the node passed to extend()")
    at testExtend ( /selection/extend.js:155:5)
Pass
assert_equals(2, 2, "focusOffset must be the offset passed to extend()")
    at testExtend ( /selection/extend.js:157:5)
Pass
assert_not_equals(object "Äb̈c̈d̈ëf̈g̈ḧ Ijklmnop QrstuvwxYzabcdefGhijklmn     Running, 100 complete, 1 remain  "use strict";  testExtendSubSet(0, 20); testDiv.style.display = "none"; ", object "A", "extend() must replace any existing range with a new one, not mutate the existing one")
    at testExtend ( /selection/extend.js:159:5)
Passextend() backwards with range 2 [paras[0].firstChild, 0, paras[0].firstChild, 1] and point 48 [document, 2]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "Sanity check: startContainer must be correct")
    at testExtend ( /selection/extend.js:80:5)
Pass
assert_equals(0, 0, "Sanity check: startOffset must be correct")
    at testExtend ( /selection/extend.js:82:5)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "Sanity check: endContainer must be correct")
    at testExtend ( /selection/extend.js:84:5)
Pass
assert_equals(1, 1, "Sanity check: endOffset must be correct")
    at testExtend ( /selection/extend.js:86:5)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "anchorNode must not change if the node passed to extend() has the same root as the original range")
    at testExtend ( /selection/extend.js:145:9)
Pass
assert_equals(1, 1, "anchorOffset must not change if the node passed to extend() has the same root as the original range")
    at testExtend ( /selection/extend.js:147:9)
Pass
assert_equals(Document node with 2 children, Document node with 2 children, "focusNode must be the node passed to extend()")
    at testExtend ( /selection/extend.js:155:5)
Pass
assert_equals(2, 2, "focusOffset must be the offset passed to extend()")
    at testExtend ( /selection/extend.js:157:5)
Pass
assert_not_equals(object "̈b̈c̈d̈ëf̈g̈ḧ Ijklmnop QrstuvwxYzabcdefGhijklmn     Running, 100 complete, 1 remain  "use strict";  testExtendSubSet(0, 20); testDiv.style.display = "none"; ", object "A", "extend() must replace any existing range with a new one, not mutate the existing one")
    at testExtend ( /selection/extend.js:159:5)
Passextend() forwards with range 2 [paras[0].firstChild, 0, paras[0].firstChild, 1] and point 49 [document, 3]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "Sanity check: startContainer must be correct")
    at testExtend ( /selection/extend.js:80:5)
Pass
assert_equals(0, 0, "Sanity check: startOffset must be correct")
    at testExtend ( /selection/extend.js:82:5)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "Sanity check: endContainer must be correct")
    at testExtend ( /selection/extend.js:84:5)
Pass
assert_equals(1, 1, "Sanity check: endOffset must be correct")
    at testExtend ( /selection/extend.js:86:5)
Pass
assert_throws_dom("INDEX_SIZE_ERR", function "function() {             selection.extend(node, offset);         }", "extend() to an offset that's greater than node length (2) must throw IndexSizeError")
    at testExtend ( /selection/extend.js:117:9)
Passextend() backwards with range 2 [paras[0].firstChild, 0, paras[0].firstChild, 1] and point 49 [document, 3]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "Sanity check: startContainer must be correct")
    at testExtend ( /selection/extend.js:80:5)
Pass
assert_equals(0, 0, "Sanity check: startOffset must be correct")
    at testExtend ( /selection/extend.js:82:5)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "Sanity check: endContainer must be correct")
    at testExtend ( /selection/extend.js:84:5)
Pass
assert_equals(1, 1, "Sanity check: endOffset must be correct")
    at testExtend ( /selection/extend.js:86:5)
Pass
assert_throws_dom("INDEX_SIZE_ERR", function "function() {             selection.extend(node, offset);         }", "extend() to an offset that's greater than node length (2) must throw IndexSizeError")
    at testExtend ( /selection/extend.js:117:9)
Passextend() forwards with range 2 [paras[0].firstChild, 0, paras[0].firstChild, 1] and point 50 [comment, -1]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "Sanity check: startContainer must be correct")
    at testExtend ( /selection/extend.js:80:5)
Pass
assert_equals(0, 0, "Sanity check: startOffset must be correct")
    at testExtend ( /selection/extend.js:82:5)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "Sanity check: endContainer must be correct")
    at testExtend ( /selection/extend.js:84:5)
Pass
assert_equals(1, 1, "Sanity check: endOffset must be correct")
    at testExtend ( /selection/extend.js:86:5)
Pass
assert_throws_dom("INDEX_SIZE_ERR", function "function() {             selection.extend(node, offset);         }", "extend() to an offset that's greater than node length (14) must throw IndexSizeError")
    at testExtend ( /selection/extend.js:117:9)
Passextend() backwards with range 2 [paras[0].firstChild, 0, paras[0].firstChild, 1] and point 50 [comment, -1]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "Sanity check: startContainer must be correct")
    at testExtend ( /selection/extend.js:80:5)
Pass
assert_equals(0, 0, "Sanity check: startOffset must be correct")
    at testExtend ( /selection/extend.js:82:5)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "Sanity check: endContainer must be correct")
    at testExtend ( /selection/extend.js:84:5)
Pass
assert_equals(1, 1, "Sanity check: endOffset must be correct")
    at testExtend ( /selection/extend.js:86:5)
Pass
assert_throws_dom("INDEX_SIZE_ERR", function "function() {             selection.extend(node, offset);         }", "extend() to an offset that's greater than node length (14) must throw IndexSizeError")
    at testExtend ( /selection/extend.js:117:9)
Passextend() forwards with range 2 [paras[0].firstChild, 0, paras[0].firstChild, 1] and point 51 [comment, 0]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "Sanity check: startContainer must be correct")
    at testExtend ( /selection/extend.js:80:5)
Pass
assert_equals(0, 0, "Sanity check: startOffset must be correct")
    at testExtend ( /selection/extend.js:82:5)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "Sanity check: endContainer must be correct")
    at testExtend ( /selection/extend.js:84:5)
Pass
assert_equals(1, 1, "Sanity check: endOffset must be correct")
    at testExtend ( /selection/extend.js:86:5)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "anchorNode must not change if the node passed to extend() has the same root as the original range")
    at testExtend ( /selection/extend.js:145:9)
Pass
assert_equals(0, 0, "anchorOffset must not change if the node passed to extend() has the same root as the original range")
    at testExtend ( /selection/extend.js:147:9)
Pass
assert_equals(Comment node <!--Alphabet soup?-->, Comment node <!--Alphabet soup?-->, "focusNode must be the node passed to extend()")
    at testExtend ( /selection/extend.js:155:5)
Pass
assert_equals(0, 0, "focusOffset must be the offset passed to extend()")
    at testExtend ( /selection/extend.js:157:5)
Pass
assert_not_equals(object "Äb̈c̈d̈ëf̈g̈ḧ Ijklmnop QrstuvwxYzabcdefGhijklmn", object "A", "extend() must replace any existing range with a new one, not mutate the existing one")
    at testExtend ( /selection/extend.js:159:5)
Passextend() backwards with range 2 [paras[0].firstChild, 0, paras[0].firstChild, 1] and point 51 [comment, 0]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "Sanity check: startContainer must be correct")
    at testExtend ( /selection/extend.js:80:5)
Pass
assert_equals(0, 0, "Sanity check: startOffset must be correct")
    at testExtend ( /selection/extend.js:82:5)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "Sanity check: endContainer must be correct")
    at testExtend ( /selection/extend.js:84:5)
Pass
assert_equals(1, 1, "Sanity check: endOffset must be correct")
    at testExtend ( /selection/extend.js:86:5)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "anchorNode must not change if the node passed to extend() has the same root as the original range")
    at testExtend ( /selection/extend.js:145:9)
Pass
assert_equals(1, 1, "anchorOffset must not change if the node passed to extend() has the same root as the original range")
    at testExtend ( /selection/extend.js:147:9)
Pass
assert_equals(Comment node <!--Alphabet soup?-->, Comment node <!--Alphabet soup?-->, "focusNode must be the node passed to extend()")
    at testExtend ( /selection/extend.js:155:5)
Pass
assert_equals(0, 0, "focusOffset must be the offset passed to extend()")
    at testExtend ( /selection/extend.js:157:5)
Pass
assert_not_equals(object "̈b̈c̈d̈ëf̈g̈ḧ Ijklmnop QrstuvwxYzabcdefGhijklmn", object "A", "extend() must replace any existing range with a new one, not mutate the existing one")
    at testExtend ( /selection/extend.js:159:5)
Passextend() forwards with range 2 [paras[0].firstChild, 0, paras[0].firstChild, 1] and point 52 [comment, 4]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "Sanity check: startContainer must be correct")
    at testExtend ( /selection/extend.js:80:5)
Pass
assert_equals(0, 0, "Sanity check: startOffset must be correct")
    at testExtend ( /selection/extend.js:82:5)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "Sanity check: endContainer must be correct")
    at testExtend ( /selection/extend.js:84:5)
Pass
assert_equals(1, 1, "Sanity check: endOffset must be correct")
    at testExtend ( /selection/extend.js:86:5)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "anchorNode must not change if the node passed to extend() has the same root as the original range")
    at testExtend ( /selection/extend.js:145:9)
Pass
assert_equals(0, 0, "anchorOffset must not change if the node passed to extend() has the same root as the original range")
    at testExtend ( /selection/extend.js:147:9)
Pass
assert_equals(Comment node <!--Alphabet soup?-->, Comment node <!--Alphabet soup?-->, "focusNode must be the node passed to extend()")
    at testExtend ( /selection/extend.js:155:5)
Pass
assert_equals(4, 4, "focusOffset must be the offset passed to extend()")
    at testExtend ( /selection/extend.js:157:5)
Pass
assert_not_equals(object "Äb̈c̈d̈ëf̈g̈ḧ Ijklmnop QrstuvwxYzabcdefGhijklmn", object "A", "extend() must replace any existing range with a new one, not mutate the existing one")
    at testExtend ( /selection/extend.js:159:5)
Passextend() backwards with range 2 [paras[0].firstChild, 0, paras[0].firstChild, 1] and point 52 [comment, 4]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "Sanity check: startContainer must be correct")
    at testExtend ( /selection/extend.js:80:5)
Pass
assert_equals(0, 0, "Sanity check: startOffset must be correct")
    at testExtend ( /selection/extend.js:82:5)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "Sanity check: endContainer must be correct")
    at testExtend ( /selection/extend.js:84:5)
Pass
assert_equals(1, 1, "Sanity check: endOffset must be correct")
    at testExtend ( /selection/extend.js:86:5)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "anchorNode must not change if the node passed to extend() has the same root as the original range")
    at testExtend ( /selection/extend.js:145:9)
Pass
assert_equals(1, 1, "anchorOffset must not change if the node passed to extend() has the same root as the original range")
    at testExtend ( /selection/extend.js:147:9)
Pass
assert_equals(Comment node <!--Alphabet soup?-->, Comment node <!--Alphabet soup?-->, "focusNode must be the node passed to extend()")
    at testExtend ( /selection/extend.js:155:5)
Pass
assert_equals(4, 4, "focusOffset must be the offset passed to extend()")
    at testExtend ( /selection/extend.js:157:5)
Pass
assert_not_equals(object "̈b̈c̈d̈ëf̈g̈ḧ Ijklmnop QrstuvwxYzabcdefGhijklmn", object "A", "extend() must replace any existing range with a new one, not mutate the existing one")
    at testExtend ( /selection/extend.js:159:5)
Passextend() forwards with range 2 [paras[0].firstChild, 0, paras[0].firstChild, 1] and point 53 [comment, 96]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "Sanity check: startContainer must be correct")
    at testExtend ( /selection/extend.js:80:5)
Pass
assert_equals(0, 0, "Sanity check: startOffset must be correct")
    at testExtend ( /selection/extend.js:82:5)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "Sanity check: endContainer must be correct")
    at testExtend ( /selection/extend.js:84:5)
Pass
assert_equals(1, 1, "Sanity check: endOffset must be correct")
    at testExtend ( /selection/extend.js:86:5)
Pass
assert_throws_dom("INDEX_SIZE_ERR", function "function() {             selection.extend(node, offset);         }", "extend() to an offset that's greater than node length (14) must throw IndexSizeError")
    at testExtend ( /selection/extend.js:117:9)
Passextend() backwards with range 2 [paras[0].firstChild, 0, paras[0].firstChild, 1] and point 53 [comment, 96]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "Sanity check: startContainer must be correct")
    at testExtend ( /selection/extend.js:80:5)
Pass
assert_equals(0, 0, "Sanity check: startOffset must be correct")
    at testExtend ( /selection/extend.js:82:5)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "Sanity check: endContainer must be correct")
    at testExtend ( /selection/extend.js:84:5)
Pass
assert_equals(1, 1, "Sanity check: endOffset must be correct")
    at testExtend ( /selection/extend.js:86:5)
Pass
assert_throws_dom("INDEX_SIZE_ERR", function "function() {             selection.extend(node, offset);         }", "extend() to an offset that's greater than node length (14) must throw IndexSizeError")
    at testExtend ( /selection/extend.js:117:9)
Passextend() forwards with range 2 [paras[0].firstChild, 0, paras[0].firstChild, 1] and point 54 [foreignDoc, 0]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(1, 1, "The operation should not add Range")
    at assertSelectionNoChange ( /selection/common.js:976:5)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "The operation should not update anchorNode")
    at assertSelectionNoChange ( /selection/common.js:978:5)
Pass
assert_equals(0, 0, "The operation should not update anchorOffset")
    at assertSelectionNoChange ( /selection/common.js:980:5)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "The operation should not update focusNode")
    at assertSelectionNoChange ( /selection/common.js:982:5)
Pass
assert_equals(1, 1, "The operation should not update focusOffset")
    at assertSelectionNoChange ( /selection/common.js:984:5)
Pass
assert_equals(object "A", object "A", "The operation should not replace a registered Range")
    at assertSelectionNoChange ( /selection/common.js:988:5)
Passextend() backwards with range 2 [paras[0].firstChild, 0, paras[0].firstChild, 1] and point 54 [foreignDoc, 0]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(1, 1, "The operation should not add Range")
    at assertSelectionNoChange ( /selection/common.js:976:5)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "The operation should not update anchorNode")
    at assertSelectionNoChange ( /selection/common.js:978:5)
Pass
assert_equals(1, 1, "The operation should not update anchorOffset")
    at assertSelectionNoChange ( /selection/common.js:980:5)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "The operation should not update focusNode")
    at assertSelectionNoChange ( /selection/common.js:982:5)
Pass
assert_equals(0, 0, "The operation should not update focusOffset")
    at assertSelectionNoChange ( /selection/common.js:984:5)
Pass
assert_equals(object "A", object "A", "The operation should not replace a registered Range")
    at assertSelectionNoChange ( /selection/common.js:988:5)
Passextend() forwards with range 2 [paras[0].firstChild, 0, paras[0].firstChild, 1] and point 55 [foreignDoc, 1]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(1, 1, "The operation should not add Range")
    at assertSelectionNoChange ( /selection/common.js:976:5)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "The operation should not update anchorNode")
    at assertSelectionNoChange ( /selection/common.js:978:5)
Pass
assert_equals(0, 0, "The operation should not update anchorOffset")
    at assertSelectionNoChange ( /selection/common.js:980:5)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "The operation should not update focusNode")
    at assertSelectionNoChange ( /selection/common.js:982:5)
Pass
assert_equals(1, 1, "The operation should not update focusOffset")
    at assertSelectionNoChange ( /selection/common.js:984:5)
Pass
assert_equals(object "A", object "A", "The operation should not replace a registered Range")
    at assertSelectionNoChange ( /selection/common.js:988:5)
Passextend() backwards with range 2 [paras[0].firstChild, 0, paras[0].firstChild, 1] and point 55 [foreignDoc, 1]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(1, 1, "The operation should not add Range")
    at assertSelectionNoChange ( /selection/common.js:976:5)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "The operation should not update anchorNode")
    at assertSelectionNoChange ( /selection/common.js:978:5)
Pass
assert_equals(1, 1, "The operation should not update anchorOffset")
    at assertSelectionNoChange ( /selection/common.js:980:5)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "The operation should not update focusNode")
    at assertSelectionNoChange ( /selection/common.js:982:5)
Pass
assert_equals(0, 0, "The operation should not update focusOffset")
    at assertSelectionNoChange ( /selection/common.js:984:5)
Pass
assert_equals(object "A", object "A", "The operation should not replace a registered Range")
    at assertSelectionNoChange ( /selection/common.js:988:5)
Passextend() forwards with range 2 [paras[0].firstChild, 0, paras[0].firstChild, 1] and point 56 [foreignComment, 2]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(1, 1, "The operation should not add Range")
    at assertSelectionNoChange ( /selection/common.js:976:5)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "The operation should not update anchorNode")
    at assertSelectionNoChange ( /selection/common.js:978:5)
Pass
assert_equals(0, 0, "The operation should not update anchorOffset")
    at assertSelectionNoChange ( /selection/common.js:980:5)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "The operation should not update focusNode")
    at assertSelectionNoChange ( /selection/common.js:982:5)
Pass
assert_equals(1, 1, "The operation should not update focusOffset")
    at assertSelectionNoChange ( /selection/common.js:984:5)
Pass
assert_equals(object "A", object "A", "The operation should not replace a registered Range")
    at assertSelectionNoChange ( /selection/common.js:988:5)
Passextend() backwards with range 2 [paras[0].firstChild, 0, paras[0].firstChild, 1] and point 56 [foreignComment, 2]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(1, 1, "The operation should not add Range")
    at assertSelectionNoChange ( /selection/common.js:976:5)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "The operation should not update anchorNode")
    at assertSelectionNoChange ( /selection/common.js:978:5)
Pass
assert_equals(1, 1, "The operation should not update anchorOffset")
    at assertSelectionNoChange ( /selection/common.js:980:5)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "The operation should not update focusNode")
    at assertSelectionNoChange ( /selection/common.js:982:5)
Pass
assert_equals(0, 0, "The operation should not update focusOffset")
    at assertSelectionNoChange ( /selection/common.js:984:5)
Pass
assert_equals(object "A", object "A", "The operation should not replace a registered Range")
    at assertSelectionNoChange ( /selection/common.js:988:5)
Passextend() forwards with range 2 [paras[0].firstChild, 0, paras[0].firstChild, 1] and point 57 [foreignTextNode, 0]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(1, 1, "The operation should not add Range")
    at assertSelectionNoChange ( /selection/common.js:976:5)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "The operation should not update anchorNode")
    at assertSelectionNoChange ( /selection/common.js:978:5)
Pass
assert_equals(0, 0, "The operation should not update anchorOffset")
    at assertSelectionNoChange ( /selection/common.js:980:5)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "The operation should not update focusNode")
    at assertSelectionNoChange ( /selection/common.js:982:5)
Pass
assert_equals(1, 1, "The operation should not update focusOffset")
    at assertSelectionNoChange ( /selection/common.js:984:5)
Pass
assert_equals(object "A", object "A", "The operation should not replace a registered Range")
    at assertSelectionNoChange ( /selection/common.js:988:5)
Passextend() backwards with range 2 [paras[0].firstChild, 0, paras[0].firstChild, 1] and point 57 [foreignTextNode, 0]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(1, 1, "The operation should not add Range")
    at assertSelectionNoChange ( /selection/common.js:976:5)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "The operation should not update anchorNode")
    at assertSelectionNoChange ( /selection/common.js:978:5)
Pass
assert_equals(1, 1, "The operation should not update anchorOffset")
    at assertSelectionNoChange ( /selection/common.js:980:5)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "The operation should not update focusNode")
    at assertSelectionNoChange ( /selection/common.js:982:5)
Pass
assert_equals(0, 0, "The operation should not update focusOffset")
    at assertSelectionNoChange ( /selection/common.js:984:5)
Pass
assert_equals(object "A", object "A", "The operation should not replace a registered Range")
    at assertSelectionNoChange ( /selection/common.js:988:5)
Passextend() forwards with range 2 [paras[0].firstChild, 0, paras[0].firstChild, 1] and point 58 [foreignTextNode, 36]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(1, 1, "The operation should not add Range")
    at assertSelectionNoChange ( /selection/common.js:976:5)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "The operation should not update anchorNode")
    at assertSelectionNoChange ( /selection/common.js:978:5)
Pass
assert_equals(0, 0, "The operation should not update anchorOffset")
    at assertSelectionNoChange ( /selection/common.js:980:5)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "The operation should not update focusNode")
    at assertSelectionNoChange ( /selection/common.js:982:5)
Pass
assert_equals(1, 1, "The operation should not update focusOffset")
    at assertSelectionNoChange ( /selection/common.js:984:5)
Pass
assert_equals(object "A", object "A", "The operation should not replace a registered Range")
    at assertSelectionNoChange ( /selection/common.js:988:5)
Passextend() backwards with range 2 [paras[0].firstChild, 0, paras[0].firstChild, 1] and point 58 [foreignTextNode, 36]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(1, 1, "The operation should not add Range")
    at assertSelectionNoChange ( /selection/common.js:976:5)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "The operation should not update anchorNode")
    at assertSelectionNoChange ( /selection/common.js:978:5)
Pass
assert_equals(1, 1, "The operation should not update anchorOffset")
    at assertSelectionNoChange ( /selection/common.js:980:5)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "The operation should not update focusNode")
    at assertSelectionNoChange ( /selection/common.js:982:5)
Pass
assert_equals(0, 0, "The operation should not update focusOffset")
    at assertSelectionNoChange ( /selection/common.js:984:5)
Pass
assert_equals(object "A", object "A", "The operation should not replace a registered Range")
    at assertSelectionNoChange ( /selection/common.js:988:5)
Passextend() forwards with range 2 [paras[0].firstChild, 0, paras[0].firstChild, 1] and point 59 [xmlDoc, -1]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(1, 1, "The operation should not add Range")
    at assertSelectionNoChange ( /selection/common.js:976:5)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "The operation should not update anchorNode")
    at assertSelectionNoChange ( /selection/common.js:978:5)
Pass
assert_equals(0, 0, "The operation should not update anchorOffset")
    at assertSelectionNoChange ( /selection/common.js:980:5)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "The operation should not update focusNode")
    at assertSelectionNoChange ( /selection/common.js:982:5)
Pass
assert_equals(1, 1, "The operation should not update focusOffset")
    at assertSelectionNoChange ( /selection/common.js:984:5)
Pass
assert_equals(object "A", object "A", "The operation should not replace a registered Range")
    at assertSelectionNoChange ( /selection/common.js:988:5)
Passextend() backwards with range 2 [paras[0].firstChild, 0, paras[0].firstChild, 1] and point 59 [xmlDoc, -1]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(1, 1, "The operation should not add Range")
    at assertSelectionNoChange ( /selection/common.js:976:5)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "The operation should not update anchorNode")
    at assertSelectionNoChange ( /selection/common.js:978:5)
Pass
assert_equals(1, 1, "The operation should not update anchorOffset")
    at assertSelectionNoChange ( /selection/common.js:980:5)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "The operation should not update focusNode")
    at assertSelectionNoChange ( /selection/common.js:982:5)
Pass
assert_equals(0, 0, "The operation should not update focusOffset")
    at assertSelectionNoChange ( /selection/common.js:984:5)
Pass
assert_equals(object "A", object "A", "The operation should not replace a registered Range")
    at assertSelectionNoChange ( /selection/common.js:988:5)
Passextend() forwards with range 2 [paras[0].firstChild, 0, paras[0].firstChild, 1] and point 60 [xmlDoc, 0]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(1, 1, "The operation should not add Range")
    at assertSelectionNoChange ( /selection/common.js:976:5)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "The operation should not update anchorNode")
    at assertSelectionNoChange ( /selection/common.js:978:5)
Pass
assert_equals(0, 0, "The operation should not update anchorOffset")
    at assertSelectionNoChange ( /selection/common.js:980:5)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "The operation should not update focusNode")
    at assertSelectionNoChange ( /selection/common.js:982:5)
Pass
assert_equals(1, 1, "The operation should not update focusOffset")
    at assertSelectionNoChange ( /selection/common.js:984:5)
Pass
assert_equals(object "A", object "A", "The operation should not replace a registered Range")
    at assertSelectionNoChange ( /selection/common.js:988:5)
Passextend() backwards with range 2 [paras[0].firstChild, 0, paras[0].firstChild, 1] and point 60 [xmlDoc, 0]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(1, 1, "The operation should not add Range")
    at assertSelectionNoChange ( /selection/common.js:976:5)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "The operation should not update anchorNode")
    at assertSelectionNoChange ( /selection/common.js:978:5)
Pass
assert_equals(1, 1, "The operation should not update anchorOffset")
    at assertSelectionNoChange ( /selection/common.js:980:5)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "The operation should not update focusNode")
    at assertSelectionNoChange ( /selection/common.js:982:5)
Pass
assert_equals(0, 0, "The operation should not update focusOffset")
    at assertSelectionNoChange ( /selection/common.js:984:5)
Pass
assert_equals(object "A", object "A", "The operation should not replace a registered Range")
    at assertSelectionNoChange ( /selection/common.js:988:5)
Passextend() forwards with range 2 [paras[0].firstChild, 0, paras[0].firstChild, 1] and point 61 [xmlDoc, 1]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(1, 1, "The operation should not add Range")
    at assertSelectionNoChange ( /selection/common.js:976:5)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "The operation should not update anchorNode")
    at assertSelectionNoChange ( /selection/common.js:978:5)
Pass
assert_equals(0, 0, "The operation should not update anchorOffset")
    at assertSelectionNoChange ( /selection/common.js:980:5)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "The operation should not update focusNode")
    at assertSelectionNoChange ( /selection/common.js:982:5)
Pass
assert_equals(1, 1, "The operation should not update focusOffset")
    at assertSelectionNoChange ( /selection/common.js:984:5)
Pass
assert_equals(object "A", object "A", "The operation should not replace a registered Range")
    at assertSelectionNoChange ( /selection/common.js:988:5)
Passextend() backwards with range 2 [paras[0].firstChild, 0, paras[0].firstChild, 1] and point 61 [xmlDoc, 1]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(1, 1, "The operation should not add Range")
    at assertSelectionNoChange ( /selection/common.js:976:5)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "The operation should not update anchorNode")
    at assertSelectionNoChange ( /selection/common.js:978:5)
Pass
assert_equals(1, 1, "The operation should not update anchorOffset")
    at assertSelectionNoChange ( /selection/common.js:980:5)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "The operation should not update focusNode")
    at assertSelectionNoChange ( /selection/common.js:982:5)
Pass
assert_equals(0, 0, "The operation should not update focusOffset")
    at assertSelectionNoChange ( /selection/common.js:984:5)
Pass
assert_equals(object "A", object "A", "The operation should not replace a registered Range")
    at assertSelectionNoChange ( /selection/common.js:988:5)
Passextend() forwards with range 2 [paras[0].firstChild, 0, paras[0].firstChild, 1] and point 62 [xmlDoc, 5]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(1, 1, "The operation should not add Range")
    at assertSelectionNoChange ( /selection/common.js:976:5)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "The operation should not update anchorNode")
    at assertSelectionNoChange ( /selection/common.js:978:5)
Pass
assert_equals(0, 0, "The operation should not update anchorOffset")
    at assertSelectionNoChange ( /selection/common.js:980:5)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "The operation should not update focusNode")
    at assertSelectionNoChange ( /selection/common.js:982:5)
Pass
assert_equals(1, 1, "The operation should not update focusOffset")
    at assertSelectionNoChange ( /selection/common.js:984:5)
Pass
assert_equals(object "A", object "A", "The operation should not replace a registered Range")
    at assertSelectionNoChange ( /selection/common.js:988:5)
Passextend() backwards with range 2 [paras[0].firstChild, 0, paras[0].firstChild, 1] and point 62 [xmlDoc, 5]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(1, 1, "The operation should not add Range")
    at assertSelectionNoChange ( /selection/common.js:976:5)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "The operation should not update anchorNode")
    at assertSelectionNoChange ( /selection/common.js:978:5)
Pass
assert_equals(1, 1, "The operation should not update anchorOffset")
    at assertSelectionNoChange ( /selection/common.js:980:5)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "The operation should not update focusNode")
    at assertSelectionNoChange ( /selection/common.js:982:5)
Pass
assert_equals(0, 0, "The operation should not update focusOffset")
    at assertSelectionNoChange ( /selection/common.js:984:5)
Pass
assert_equals(object "A", object "A", "The operation should not replace a registered Range")
    at assertSelectionNoChange ( /selection/common.js:988:5)
Passextend() forwards with range 2 [paras[0].firstChild, 0, paras[0].firstChild, 1] and point 63 [xmlComment, 0]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(1, 1, "The operation should not add Range")
    at assertSelectionNoChange ( /selection/common.js:976:5)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "The operation should not update anchorNode")
    at assertSelectionNoChange ( /selection/common.js:978:5)
Pass
assert_equals(0, 0, "The operation should not update anchorOffset")
    at assertSelectionNoChange ( /selection/common.js:980:5)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "The operation should not update focusNode")
    at assertSelectionNoChange ( /selection/common.js:982:5)
Pass
assert_equals(1, 1, "The operation should not update focusOffset")
    at assertSelectionNoChange ( /selection/common.js:984:5)
Pass
assert_equals(object "A", object "A", "The operation should not replace a registered Range")
    at assertSelectionNoChange ( /selection/common.js:988:5)
Passextend() backwards with range 2 [paras[0].firstChild, 0, paras[0].firstChild, 1] and point 63 [xmlComment, 0]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(1, 1, "The operation should not add Range")
    at assertSelectionNoChange ( /selection/common.js:976:5)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "The operation should not update anchorNode")
    at assertSelectionNoChange ( /selection/common.js:978:5)
Pass
assert_equals(1, 1, "The operation should not update anchorOffset")
    at assertSelectionNoChange ( /selection/common.js:980:5)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "The operation should not update focusNode")
    at assertSelectionNoChange ( /selection/common.js:982:5)
Pass
assert_equals(0, 0, "The operation should not update focusOffset")
    at assertSelectionNoChange ( /selection/common.js:984:5)
Pass
assert_equals(object "A", object "A", "The operation should not replace a registered Range")
    at assertSelectionNoChange ( /selection/common.js:988:5)
Passextend() forwards with range 2 [paras[0].firstChild, 0, paras[0].firstChild, 1] and point 64 [xmlComment, 4]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(1, 1, "The operation should not add Range")
    at assertSelectionNoChange ( /selection/common.js:976:5)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "The operation should not update anchorNode")
    at assertSelectionNoChange ( /selection/common.js:978:5)
Pass
assert_equals(0, 0, "The operation should not update anchorOffset")
    at assertSelectionNoChange ( /selection/common.js:980:5)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "The operation should not update focusNode")
    at assertSelectionNoChange ( /selection/common.js:982:5)
Pass
assert_equals(1, 1, "The operation should not update focusOffset")
    at assertSelectionNoChange ( /selection/common.js:984:5)
Pass
assert_equals(object "A", object "A", "The operation should not replace a registered Range")
    at assertSelectionNoChange ( /selection/common.js:988:5)
Passextend() backwards with range 2 [paras[0].firstChild, 0, paras[0].firstChild, 1] and point 64 [xmlComment, 4]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(1, 1, "The operation should not add Range")
    at assertSelectionNoChange ( /selection/common.js:976:5)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "The operation should not update anchorNode")
    at assertSelectionNoChange ( /selection/common.js:978:5)
Pass
assert_equals(1, 1, "The operation should not update anchorOffset")
    at assertSelectionNoChange ( /selection/common.js:980:5)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "The operation should not update focusNode")
    at assertSelectionNoChange ( /selection/common.js:982:5)
Pass
assert_equals(0, 0, "The operation should not update focusOffset")
    at assertSelectionNoChange ( /selection/common.js:984:5)
Pass
assert_equals(object "A", object "A", "The operation should not replace a registered Range")
    at assertSelectionNoChange ( /selection/common.js:988:5)
Passextend() forwards with range 2 [paras[0].firstChild, 0, paras[0].firstChild, 1] and point 65 [processingInstruction, 0]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(1, 1, "The operation should not add Range")
    at assertSelectionNoChange ( /selection/common.js:976:5)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "The operation should not update anchorNode")
    at assertSelectionNoChange ( /selection/common.js:978:5)
Pass
assert_equals(0, 0, "The operation should not update anchorOffset")
    at assertSelectionNoChange ( /selection/common.js:980:5)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "The operation should not update focusNode")
    at assertSelectionNoChange ( /selection/common.js:982:5)
Pass
assert_equals(1, 1, "The operation should not update focusOffset")
    at assertSelectionNoChange ( /selection/common.js:984:5)
Pass
assert_equals(object "A", object "A", "The operation should not replace a registered Range")
    at assertSelectionNoChange ( /selection/common.js:988:5)
Passextend() backwards with range 2 [paras[0].firstChild, 0, paras[0].firstChild, 1] and point 65 [processingInstruction, 0]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(1, 1, "The operation should not add Range")
    at assertSelectionNoChange ( /selection/common.js:976:5)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "The operation should not update anchorNode")
    at assertSelectionNoChange ( /selection/common.js:978:5)
Pass
assert_equals(1, 1, "The operation should not update anchorOffset")
    at assertSelectionNoChange ( /selection/common.js:980:5)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "The operation should not update focusNode")
    at assertSelectionNoChange ( /selection/common.js:982:5)
Pass
assert_equals(0, 0, "The operation should not update focusOffset")
    at assertSelectionNoChange ( /selection/common.js:984:5)
Pass
assert_equals(object "A", object "A", "The operation should not replace a registered Range")
    at assertSelectionNoChange ( /selection/common.js:988:5)
Passextend() forwards with range 2 [paras[0].firstChild, 0, paras[0].firstChild, 1] and point 66 [processingInstruction, 5]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(1, 1, "The operation should not add Range")
    at assertSelectionNoChange ( /selection/common.js:976:5)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "The operation should not update anchorNode")
    at assertSelectionNoChange ( /selection/common.js:978:5)
Pass
assert_equals(0, 0, "The operation should not update anchorOffset")
    at assertSelectionNoChange ( /selection/common.js:980:5)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "The operation should not update focusNode")
    at assertSelectionNoChange ( /selection/common.js:982:5)
Pass
assert_equals(1, 1, "The operation should not update focusOffset")
    at assertSelectionNoChange ( /selection/common.js:984:5)
Pass
assert_equals(object "A", object "A", "The operation should not replace a registered Range")
    at assertSelectionNoChange ( /selection/common.js:988:5)
Passextend() backwards with range 2 [paras[0].firstChild, 0, paras[0].firstChild, 1] and point 66 [processingInstruction, 5]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(1, 1, "The operation should not add Range")
    at assertSelectionNoChange ( /selection/common.js:976:5)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "The operation should not update anchorNode")
    at assertSelectionNoChange ( /selection/common.js:978:5)
Pass
assert_equals(1, 1, "The operation should not update anchorOffset")
    at assertSelectionNoChange ( /selection/common.js:980:5)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "The operation should not update focusNode")
    at assertSelectionNoChange ( /selection/common.js:982:5)
Pass
assert_equals(0, 0, "The operation should not update focusOffset")
    at assertSelectionNoChange ( /selection/common.js:984:5)
Pass
assert_equals(object "A", object "A", "The operation should not replace a registered Range")
    at assertSelectionNoChange ( /selection/common.js:988:5)
Passextend() forwards with range 2 [paras[0].firstChild, 0, paras[0].firstChild, 1] and point 67 [processingInstruction, 9]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(1, 1, "The operation should not add Range")
    at assertSelectionNoChange ( /selection/common.js:976:5)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "The operation should not update anchorNode")
    at assertSelectionNoChange ( /selection/common.js:978:5)
Pass
assert_equals(0, 0, "The operation should not update anchorOffset")
    at assertSelectionNoChange ( /selection/common.js:980:5)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "The operation should not update focusNode")
    at assertSelectionNoChange ( /selection/common.js:982:5)
Pass
assert_equals(1, 1, "The operation should not update focusOffset")
    at assertSelectionNoChange ( /selection/common.js:984:5)
Pass
assert_equals(object "A", object "A", "The operation should not replace a registered Range")
    at assertSelectionNoChange ( /selection/common.js:988:5)
Passextend() backwards with range 2 [paras[0].firstChild, 0, paras[0].firstChild, 1] and point 67 [processingInstruction, 9]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(1, 1, "The operation should not add Range")
    at assertSelectionNoChange ( /selection/common.js:976:5)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "The operation should not update anchorNode")
    at assertSelectionNoChange ( /selection/common.js:978:5)
Pass
assert_equals(1, 1, "The operation should not update anchorOffset")
    at assertSelectionNoChange ( /selection/common.js:980:5)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "The operation should not update focusNode")
    at assertSelectionNoChange ( /selection/common.js:982:5)
Pass
assert_equals(0, 0, "The operation should not update focusOffset")
    at assertSelectionNoChange ( /selection/common.js:984:5)
Pass
assert_equals(object "A", object "A", "The operation should not replace a registered Range")
    at assertSelectionNoChange ( /selection/common.js:988:5)
Passextend() forwards with range 2 [paras[0].firstChild, 0, paras[0].firstChild, 1] and point 68 [detachedTextNode, 0]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(1, 1, "The operation should not add Range")
    at assertSelectionNoChange ( /selection/common.js:976:5)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "The operation should not update anchorNode")
    at assertSelectionNoChange ( /selection/common.js:978:5)
Pass
assert_equals(0, 0, "The operation should not update anchorOffset")
    at assertSelectionNoChange ( /selection/common.js:980:5)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "The operation should not update focusNode")
    at assertSelectionNoChange ( /selection/common.js:982:5)
Pass
assert_equals(1, 1, "The operation should not update focusOffset")
    at assertSelectionNoChange ( /selection/common.js:984:5)
Pass
assert_equals(object "A", object "A", "The operation should not replace a registered Range")
    at assertSelectionNoChange ( /selection/common.js:988:5)
Passextend() backwards with range 2 [paras[0].firstChild, 0, paras[0].firstChild, 1] and point 68 [detachedTextNode, 0]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(1, 1, "The operation should not add Range")
    at assertSelectionNoChange ( /selection/common.js:976:5)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "The operation should not update anchorNode")
    at assertSelectionNoChange ( /selection/common.js:978:5)
Pass
assert_equals(1, 1, "The operation should not update anchorOffset")
    at assertSelectionNoChange ( /selection/common.js:980:5)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "The operation should not update focusNode")
    at assertSelectionNoChange ( /selection/common.js:982:5)
Pass
assert_equals(0, 0, "The operation should not update focusOffset")
    at assertSelectionNoChange ( /selection/common.js:984:5)
Pass
assert_equals(object "A", object "A", "The operation should not replace a registered Range")
    at assertSelectionNoChange ( /selection/common.js:988:5)
Passextend() forwards with range 2 [paras[0].firstChild, 0, paras[0].firstChild, 1] and point 69 [detachedTextNode, 8]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(1, 1, "The operation should not add Range")
    at assertSelectionNoChange ( /selection/common.js:976:5)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "The operation should not update anchorNode")
    at assertSelectionNoChange ( /selection/common.js:978:5)
Pass
assert_equals(0, 0, "The operation should not update anchorOffset")
    at assertSelectionNoChange ( /selection/common.js:980:5)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "The operation should not update focusNode")
    at assertSelectionNoChange ( /selection/common.js:982:5)
Pass
assert_equals(1, 1, "The operation should not update focusOffset")
    at assertSelectionNoChange ( /selection/common.js:984:5)
Pass
assert_equals(object "A", object "A", "The operation should not replace a registered Range")
    at assertSelectionNoChange ( /selection/common.js:988:5)
Passextend() backwards with range 2 [paras[0].firstChild, 0, paras[0].firstChild, 1] and point 69 [detachedTextNode, 8]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(1, 1, "The operation should not add Range")
    at assertSelectionNoChange ( /selection/common.js:976:5)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "The operation should not update anchorNode")
    at assertSelectionNoChange ( /selection/common.js:978:5)
Pass
assert_equals(1, 1, "The operation should not update anchorOffset")
    at assertSelectionNoChange ( /selection/common.js:980:5)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "The operation should not update focusNode")
    at assertSelectionNoChange ( /selection/common.js:982:5)
Pass
assert_equals(0, 0, "The operation should not update focusOffset")
    at assertSelectionNoChange ( /selection/common.js:984:5)
Pass
assert_equals(object "A", object "A", "The operation should not replace a registered Range")
    at assertSelectionNoChange ( /selection/common.js:988:5)
Passextend() forwards with range 2 [paras[0].firstChild, 0, paras[0].firstChild, 1] and point 70 [detachedForeignTextNode, 0]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(1, 1, "The operation should not add Range")
    at assertSelectionNoChange ( /selection/common.js:976:5)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "The operation should not update anchorNode")
    at assertSelectionNoChange ( /selection/common.js:978:5)
Pass
assert_equals(0, 0, "The operation should not update anchorOffset")
    at assertSelectionNoChange ( /selection/common.js:980:5)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "The operation should not update focusNode")
    at assertSelectionNoChange ( /selection/common.js:982:5)
Pass
assert_equals(1, 1, "The operation should not update focusOffset")
    at assertSelectionNoChange ( /selection/common.js:984:5)
Pass
assert_equals(object "A", object "A", "The operation should not replace a registered Range")
    at assertSelectionNoChange ( /selection/common.js:988:5)
Passextend() backwards with range 2 [paras[0].firstChild, 0, paras[0].firstChild, 1] and point 70 [detachedForeignTextNode, 0]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(1, 1, "The operation should not add Range")
    at assertSelectionNoChange ( /selection/common.js:976:5)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "The operation should not update anchorNode")
    at assertSelectionNoChange ( /selection/common.js:978:5)
Pass
assert_equals(1, 1, "The operation should not update anchorOffset")
    at assertSelectionNoChange ( /selection/common.js:980:5)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "The operation should not update focusNode")
    at assertSelectionNoChange ( /selection/common.js:982:5)
Pass
assert_equals(0, 0, "The operation should not update focusOffset")
    at assertSelectionNoChange ( /selection/common.js:984:5)
Pass
assert_equals(object "A", object "A", "The operation should not replace a registered Range")
    at assertSelectionNoChange ( /selection/common.js:988:5)
Passextend() forwards with range 2 [paras[0].firstChild, 0, paras[0].firstChild, 1] and point 71 [detachedForeignTextNode, 8]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(1, 1, "The operation should not add Range")
    at assertSelectionNoChange ( /selection/common.js:976:5)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "The operation should not update anchorNode")
    at assertSelectionNoChange ( /selection/common.js:978:5)
Pass
assert_equals(0, 0, "The operation should not update anchorOffset")
    at assertSelectionNoChange ( /selection/common.js:980:5)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "The operation should not update focusNode")
    at assertSelectionNoChange ( /selection/common.js:982:5)
Pass
assert_equals(1, 1, "The operation should not update focusOffset")
    at assertSelectionNoChange ( /selection/common.js:984:5)
Pass
assert_equals(object "A", object "A", "The operation should not replace a registered Range")
    at assertSelectionNoChange ( /selection/common.js:988:5)
Passextend() backwards with range 2 [paras[0].firstChild, 0, paras[0].firstChild, 1] and point 71 [detachedForeignTextNode, 8]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(1, 1, "The operation should not add Range")
    at assertSelectionNoChange ( /selection/common.js:976:5)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "The operation should not update anchorNode")
    at assertSelectionNoChange ( /selection/common.js:978:5)
Pass
assert_equals(1, 1, "The operation should not update anchorOffset")
    at assertSelectionNoChange ( /selection/common.js:980:5)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "The operation should not update focusNode")
    at assertSelectionNoChange ( /selection/common.js:982:5)
Pass
assert_equals(0, 0, "The operation should not update focusOffset")
    at assertSelectionNoChange ( /selection/common.js:984:5)
Pass
assert_equals(object "A", object "A", "The operation should not replace a registered Range")
    at assertSelectionNoChange ( /selection/common.js:988:5)
Passextend() forwards with range 2 [paras[0].firstChild, 0, paras[0].firstChild, 1] and point 72 [detachedXmlTextNode, 0]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(1, 1, "The operation should not add Range")
    at assertSelectionNoChange ( /selection/common.js:976:5)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "The operation should not update anchorNode")
    at assertSelectionNoChange ( /selection/common.js:978:5)
Pass
assert_equals(0, 0, "The operation should not update anchorOffset")
    at assertSelectionNoChange ( /selection/common.js:980:5)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "The operation should not update focusNode")
    at assertSelectionNoChange ( /selection/common.js:982:5)
Pass
assert_equals(1, 1, "The operation should not update focusOffset")
    at assertSelectionNoChange ( /selection/common.js:984:5)
Pass
assert_equals(object "A", object "A", "The operation should not replace a registered Range")
    at assertSelectionNoChange ( /selection/common.js:988:5)
Passextend() backwards with range 2 [paras[0].firstChild, 0, paras[0].firstChild, 1] and point 72 [detachedXmlTextNode, 0]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(1, 1, "The operation should not add Range")
    at assertSelectionNoChange ( /selection/common.js:976:5)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "The operation should not update anchorNode")
    at assertSelectionNoChange ( /selection/common.js:978:5)
Pass
assert_equals(1, 1, "The operation should not update anchorOffset")
    at assertSelectionNoChange ( /selection/common.js:980:5)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "The operation should not update focusNode")
    at assertSelectionNoChange ( /selection/common.js:982:5)
Pass
assert_equals(0, 0, "The operation should not update focusOffset")
    at assertSelectionNoChange ( /selection/common.js:984:5)
Pass
assert_equals(object "A", object "A", "The operation should not replace a registered Range")
    at assertSelectionNoChange ( /selection/common.js:988:5)
Passextend() forwards with range 2 [paras[0].firstChild, 0, paras[0].firstChild, 1] and point 73 [detachedXmlTextNode, 8]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(1, 1, "The operation should not add Range")
    at assertSelectionNoChange ( /selection/common.js:976:5)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "The operation should not update anchorNode")
    at assertSelectionNoChange ( /selection/common.js:978:5)
Pass
assert_equals(0, 0, "The operation should not update anchorOffset")
    at assertSelectionNoChange ( /selection/common.js:980:5)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "The operation should not update focusNode")
    at assertSelectionNoChange ( /selection/common.js:982:5)
Pass
assert_equals(1, 1, "The operation should not update focusOffset")
    at assertSelectionNoChange ( /selection/common.js:984:5)
Pass
assert_equals(object "A", object "A", "The operation should not replace a registered Range")
    at assertSelectionNoChange ( /selection/common.js:988:5)
Passextend() backwards with range 2 [paras[0].firstChild, 0, paras[0].firstChild, 1] and point 73 [detachedXmlTextNode, 8]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(1, 1, "The operation should not add Range")
    at assertSelectionNoChange ( /selection/common.js:976:5)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "The operation should not update anchorNode")
    at assertSelectionNoChange ( /selection/common.js:978:5)
Pass
assert_equals(1, 1, "The operation should not update anchorOffset")
    at assertSelectionNoChange ( /selection/common.js:980:5)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "The operation should not update focusNode")
    at assertSelectionNoChange ( /selection/common.js:982:5)
Pass
assert_equals(0, 0, "The operation should not update focusOffset")
    at assertSelectionNoChange ( /selection/common.js:984:5)
Pass
assert_equals(object "A", object "A", "The operation should not replace a registered Range")
    at assertSelectionNoChange ( /selection/common.js:988:5)
Passextend() forwards with range 2 [paras[0].firstChild, 0, paras[0].firstChild, 1] and point 74 [detachedProcessingInstruction, 12]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(1, 1, "The operation should not add Range")
    at assertSelectionNoChange ( /selection/common.js:976:5)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "The operation should not update anchorNode")
    at assertSelectionNoChange ( /selection/common.js:978:5)
Pass
assert_equals(0, 0, "The operation should not update anchorOffset")
    at assertSelectionNoChange ( /selection/common.js:980:5)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "The operation should not update focusNode")
    at assertSelectionNoChange ( /selection/common.js:982:5)
Pass
assert_equals(1, 1, "The operation should not update focusOffset")
    at assertSelectionNoChange ( /selection/common.js:984:5)
Pass
assert_equals(object "A", object "A", "The operation should not replace a registered Range")
    at assertSelectionNoChange ( /selection/common.js:988:5)
Passextend() backwards with range 2 [paras[0].firstChild, 0, paras[0].firstChild, 1] and point 74 [detachedProcessingInstruction, 12]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(1, 1, "The operation should not add Range")
    at assertSelectionNoChange ( /selection/common.js:976:5)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "The operation should not update anchorNode")
    at assertSelectionNoChange ( /selection/common.js:978:5)
Pass
assert_equals(1, 1, "The operation should not update anchorOffset")
    at assertSelectionNoChange ( /selection/common.js:980:5)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "The operation should not update focusNode")
    at assertSelectionNoChange ( /selection/common.js:982:5)
Pass
assert_equals(0, 0, "The operation should not update focusOffset")
    at assertSelectionNoChange ( /selection/common.js:984:5)
Pass
assert_equals(object "A", object "A", "The operation should not replace a registered Range")
    at assertSelectionNoChange ( /selection/common.js:988:5)
Passextend() forwards with range 2 [paras[0].firstChild, 0, paras[0].firstChild, 1] and point 75 [detachedComment, 3]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(1, 1, "The operation should not add Range")
    at assertSelectionNoChange ( /selection/common.js:976:5)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "The operation should not update anchorNode")
    at assertSelectionNoChange ( /selection/common.js:978:5)
Pass
assert_equals(0, 0, "The operation should not update anchorOffset")
    at assertSelectionNoChange ( /selection/common.js:980:5)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "The operation should not update focusNode")
    at assertSelectionNoChange ( /selection/common.js:982:5)
Pass
assert_equals(1, 1, "The operation should not update focusOffset")
    at assertSelectionNoChange ( /selection/common.js:984:5)
Pass
assert_equals(object "A", object "A", "The operation should not replace a registered Range")
    at assertSelectionNoChange ( /selection/common.js:988:5)
Passextend() backwards with range 2 [paras[0].firstChild, 0, paras[0].firstChild, 1] and point 75 [detachedComment, 3]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(1, 1, "The operation should not add Range")
    at assertSelectionNoChange ( /selection/common.js:976:5)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "The operation should not update anchorNode")
    at assertSelectionNoChange ( /selection/common.js:978:5)
Pass
assert_equals(1, 1, "The operation should not update anchorOffset")
    at assertSelectionNoChange ( /selection/common.js:980:5)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "The operation should not update focusNode")
    at assertSelectionNoChange ( /selection/common.js:982:5)
Pass
assert_equals(0, 0, "The operation should not update focusOffset")
    at assertSelectionNoChange ( /selection/common.js:984:5)
Pass
assert_equals(object "A", object "A", "The operation should not replace a registered Range")
    at assertSelectionNoChange ( /selection/common.js:988:5)
Passextend() forwards with range 2 [paras[0].firstChild, 0, paras[0].firstChild, 1] and point 76 [detachedComment, 5]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(1, 1, "The operation should not add Range")
    at assertSelectionNoChange ( /selection/common.js:976:5)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "The operation should not update anchorNode")
    at assertSelectionNoChange ( /selection/common.js:978:5)
Pass
assert_equals(0, 0, "The operation should not update anchorOffset")
    at assertSelectionNoChange ( /selection/common.js:980:5)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "The operation should not update focusNode")
    at assertSelectionNoChange ( /selection/common.js:982:5)
Pass
assert_equals(1, 1, "The operation should not update focusOffset")
    at assertSelectionNoChange ( /selection/common.js:984:5)
Pass
assert_equals(object "A", object "A", "The operation should not replace a registered Range")
    at assertSelectionNoChange ( /selection/common.js:988:5)
Passextend() backwards with range 2 [paras[0].firstChild, 0, paras[0].firstChild, 1] and point 76 [detachedComment, 5]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(1, 1, "The operation should not add Range")
    at assertSelectionNoChange ( /selection/common.js:976:5)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "The operation should not update anchorNode")
    at assertSelectionNoChange ( /selection/common.js:978:5)
Pass
assert_equals(1, 1, "The operation should not update anchorOffset")
    at assertSelectionNoChange ( /selection/common.js:980:5)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "The operation should not update focusNode")
    at assertSelectionNoChange ( /selection/common.js:982:5)
Pass
assert_equals(0, 0, "The operation should not update focusOffset")
    at assertSelectionNoChange ( /selection/common.js:984:5)
Pass
assert_equals(object "A", object "A", "The operation should not replace a registered Range")
    at assertSelectionNoChange ( /selection/common.js:988:5)
Passextend() forwards with range 2 [paras[0].firstChild, 0, paras[0].firstChild, 1] and point 77 [detachedForeignComment, 0]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(1, 1, "The operation should not add Range")
    at assertSelectionNoChange ( /selection/common.js:976:5)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "The operation should not update anchorNode")
    at assertSelectionNoChange ( /selection/common.js:978:5)
Pass
assert_equals(0, 0, "The operation should not update anchorOffset")
    at assertSelectionNoChange ( /selection/common.js:980:5)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "The operation should not update focusNode")
    at assertSelectionNoChange ( /selection/common.js:982:5)
Pass
assert_equals(1, 1, "The operation should not update focusOffset")
    at assertSelectionNoChange ( /selection/common.js:984:5)
Pass
assert_equals(object "A", object "A", "The operation should not replace a registered Range")
    at assertSelectionNoChange ( /selection/common.js:988:5)
Passextend() backwards with range 2 [paras[0].firstChild, 0, paras[0].firstChild, 1] and point 77 [detachedForeignComment, 0]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(1, 1, "The operation should not add Range")
    at assertSelectionNoChange ( /selection/common.js:976:5)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "The operation should not update anchorNode")
    at assertSelectionNoChange ( /selection/common.js:978:5)
Pass
assert_equals(1, 1, "The operation should not update anchorOffset")
    at assertSelectionNoChange ( /selection/common.js:980:5)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "The operation should not update focusNode")
    at assertSelectionNoChange ( /selection/common.js:982:5)
Pass
assert_equals(0, 0, "The operation should not update focusOffset")
    at assertSelectionNoChange ( /selection/common.js:984:5)
Pass
assert_equals(object "A", object "A", "The operation should not replace a registered Range")
    at assertSelectionNoChange ( /selection/common.js:988:5)
Passextend() forwards with range 2 [paras[0].firstChild, 0, paras[0].firstChild, 1] and point 78 [detachedForeignComment, 4]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(1, 1, "The operation should not add Range")
    at assertSelectionNoChange ( /selection/common.js:976:5)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "The operation should not update anchorNode")
    at assertSelectionNoChange ( /selection/common.js:978:5)
Pass
assert_equals(0, 0, "The operation should not update anchorOffset")
    at assertSelectionNoChange ( /selection/common.js:980:5)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "The operation should not update focusNode")
    at assertSelectionNoChange ( /selection/common.js:982:5)
Pass
assert_equals(1, 1, "The operation should not update focusOffset")
    at assertSelectionNoChange ( /selection/common.js:984:5)
Pass
assert_equals(object "A", object "A", "The operation should not replace a registered Range")
    at assertSelectionNoChange ( /selection/common.js:988:5)
Passextend() backwards with range 2 [paras[0].firstChild, 0, paras[0].firstChild, 1] and point 78 [detachedForeignComment, 4]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(1, 1, "The operation should not add Range")
    at assertSelectionNoChange ( /selection/common.js:976:5)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "The operation should not update anchorNode")
    at assertSelectionNoChange ( /selection/common.js:978:5)
Pass
assert_equals(1, 1, "The operation should not update anchorOffset")
    at assertSelectionNoChange ( /selection/common.js:980:5)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "The operation should not update focusNode")
    at assertSelectionNoChange ( /selection/common.js:982:5)
Pass
assert_equals(0, 0, "The operation should not update focusOffset")
    at assertSelectionNoChange ( /selection/common.js:984:5)
Pass
assert_equals(object "A", object "A", "The operation should not replace a registered Range")
    at assertSelectionNoChange ( /selection/common.js:988:5)
Passextend() forwards with range 2 [paras[0].firstChild, 0, paras[0].firstChild, 1] and point 79 [detachedXmlComment, 2]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(1, 1, "The operation should not add Range")
    at assertSelectionNoChange ( /selection/common.js:976:5)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "The operation should not update anchorNode")
    at assertSelectionNoChange ( /selection/common.js:978:5)
Pass
assert_equals(0, 0, "The operation should not update anchorOffset")
    at assertSelectionNoChange ( /selection/common.js:980:5)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "The operation should not update focusNode")
    at assertSelectionNoChange ( /selection/common.js:982:5)
Pass
assert_equals(1, 1, "The operation should not update focusOffset")
    at assertSelectionNoChange ( /selection/common.js:984:5)
Pass
assert_equals(object "A", object "A", "The operation should not replace a registered Range")
    at assertSelectionNoChange ( /selection/common.js:988:5)
Passextend() backwards with range 2 [paras[0].firstChild, 0, paras[0].firstChild, 1] and point 79 [detachedXmlComment, 2]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(1, 1, "The operation should not add Range")
    at assertSelectionNoChange ( /selection/common.js:976:5)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "The operation should not update anchorNode")
    at assertSelectionNoChange ( /selection/common.js:978:5)
Pass
assert_equals(1, 1, "The operation should not update anchorOffset")
    at assertSelectionNoChange ( /selection/common.js:980:5)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "The operation should not update focusNode")
    at assertSelectionNoChange ( /selection/common.js:982:5)
Pass
assert_equals(0, 0, "The operation should not update focusOffset")
    at assertSelectionNoChange ( /selection/common.js:984:5)
Pass
assert_equals(object "A", object "A", "The operation should not replace a registered Range")
    at assertSelectionNoChange ( /selection/common.js:988:5)
Passextend() forwards with range 2 [paras[0].firstChild, 0, paras[0].firstChild, 1] and point 80 [docfrag, 0]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(1, 1, "The operation should not add Range")
    at assertSelectionNoChange ( /selection/common.js:976:5)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "The operation should not update anchorNode")
    at assertSelectionNoChange ( /selection/common.js:978:5)
Pass
assert_equals(0, 0, "The operation should not update anchorOffset")
    at assertSelectionNoChange ( /selection/common.js:980:5)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "The operation should not update focusNode")
    at assertSelectionNoChange ( /selection/common.js:982:5)
Pass
assert_equals(1, 1, "The operation should not update focusOffset")
    at assertSelectionNoChange ( /selection/common.js:984:5)
Pass
assert_equals(object "A", object "A", "The operation should not replace a registered Range")
    at assertSelectionNoChange ( /selection/common.js:988:5)
Passextend() backwards with range 2 [paras[0].firstChild, 0, paras[0].firstChild, 1] and point 80 [docfrag, 0]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(1, 1, "The operation should not add Range")
    at assertSelectionNoChange ( /selection/common.js:976:5)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "The operation should not update anchorNode")
    at assertSelectionNoChange ( /selection/common.js:978:5)
Pass
assert_equals(1, 1, "The operation should not update anchorOffset")
    at assertSelectionNoChange ( /selection/common.js:980:5)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "The operation should not update focusNode")
    at assertSelectionNoChange ( /selection/common.js:982:5)
Pass
assert_equals(0, 0, "The operation should not update focusOffset")
    at assertSelectionNoChange ( /selection/common.js:984:5)
Pass
assert_equals(object "A", object "A", "The operation should not replace a registered Range")
    at assertSelectionNoChange ( /selection/common.js:988:5)
Passextend() forwards with range 2 [paras[0].firstChild, 0, paras[0].firstChild, 1] and point 81 [foreignDocfrag, 0]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(1, 1, "The operation should not add Range")
    at assertSelectionNoChange ( /selection/common.js:976:5)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "The operation should not update anchorNode")
    at assertSelectionNoChange ( /selection/common.js:978:5)
Pass
assert_equals(0, 0, "The operation should not update anchorOffset")
    at assertSelectionNoChange ( /selection/common.js:980:5)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "The operation should not update focusNode")
    at assertSelectionNoChange ( /selection/common.js:982:5)
Pass
assert_equals(1, 1, "The operation should not update focusOffset")
    at assertSelectionNoChange ( /selection/common.js:984:5)
Pass
assert_equals(object "A", object "A", "The operation should not replace a registered Range")
    at assertSelectionNoChange ( /selection/common.js:988:5)
Passextend() backwards with range 2 [paras[0].firstChild, 0, paras[0].firstChild, 1] and point 81 [foreignDocfrag, 0]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(1, 1, "The operation should not add Range")
    at assertSelectionNoChange ( /selection/common.js:976:5)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "The operation should not update anchorNode")
    at assertSelectionNoChange ( /selection/common.js:978:5)
Pass
assert_equals(1, 1, "The operation should not update anchorOffset")
    at assertSelectionNoChange ( /selection/common.js:980:5)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "The operation should not update focusNode")
    at assertSelectionNoChange ( /selection/common.js:982:5)
Pass
assert_equals(0, 0, "The operation should not update focusOffset")
    at assertSelectionNoChange ( /selection/common.js:984:5)
Pass
assert_equals(object "A", object "A", "The operation should not replace a registered Range")
    at assertSelectionNoChange ( /selection/common.js:988:5)
Passextend() forwards with range 2 [paras[0].firstChild, 0, paras[0].firstChild, 1] and point 82 [xmlDocfrag, 0]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(1, 1, "The operation should not add Range")
    at assertSelectionNoChange ( /selection/common.js:976:5)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "The operation should not update anchorNode")
    at assertSelectionNoChange ( /selection/common.js:978:5)
Pass
assert_equals(0, 0, "The operation should not update anchorOffset")
    at assertSelectionNoChange ( /selection/common.js:980:5)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "The operation should not update focusNode")
    at assertSelectionNoChange ( /selection/common.js:982:5)
Pass
assert_equals(1, 1, "The operation should not update focusOffset")
    at assertSelectionNoChange ( /selection/common.js:984:5)
Pass
assert_equals(object "A", object "A", "The operation should not replace a registered Range")
    at assertSelectionNoChange ( /selection/common.js:988:5)
Passextend() backwards with range 2 [paras[0].firstChild, 0, paras[0].firstChild, 1] and point 82 [xmlDocfrag, 0]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(1, 1, "The operation should not add Range")
    at assertSelectionNoChange ( /selection/common.js:976:5)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "The operation should not update anchorNode")
    at assertSelectionNoChange ( /selection/common.js:978:5)
Pass
assert_equals(1, 1, "The operation should not update anchorOffset")
    at assertSelectionNoChange ( /selection/common.js:980:5)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "The operation should not update focusNode")
    at assertSelectionNoChange ( /selection/common.js:982:5)
Pass
assert_equals(0, 0, "The operation should not update focusOffset")
    at assertSelectionNoChange ( /selection/common.js:984:5)
Pass
assert_equals(object "A", object "A", "The operation should not replace a registered Range")
    at assertSelectionNoChange ( /selection/common.js:988:5)
Passextend() forwards with range 2 [paras[0].firstChild, 0, paras[0].firstChild, 1] and point 83 [doctype, 0]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "Sanity check: startContainer must be correct")
    at testExtend ( /selection/extend.js:80:5)
Pass
assert_equals(0, 0, "Sanity check: startOffset must be correct")
    at testExtend ( /selection/extend.js:82:5)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "Sanity check: endContainer must be correct")
    at testExtend ( /selection/extend.js:84:5)
Pass
assert_equals(1, 1, "Sanity check: endOffset must be correct")
    at testExtend ( /selection/extend.js:86:5)
Pass
assert_throws_dom("INVALID_NODE_TYPE_ERR", function "function() {             selection.extend(node, offset);         }", "extend() to a doctype must throw InvalidNodeTypeError")
    at testExtend ( /selection/extend.js:104:9)
Passextend() backwards with range 2 [paras[0].firstChild, 0, paras[0].firstChild, 1] and point 83 [doctype, 0]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "Sanity check: startContainer must be correct")
    at testExtend ( /selection/extend.js:80:5)
Pass
assert_equals(0, 0, "Sanity check: startOffset must be correct")
    at testExtend ( /selection/extend.js:82:5)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "Sanity check: endContainer must be correct")
    at testExtend ( /selection/extend.js:84:5)
Pass
assert_equals(1, 1, "Sanity check: endOffset must be correct")
    at testExtend ( /selection/extend.js:86:5)
Pass
assert_throws_dom("INVALID_NODE_TYPE_ERR", function "function() {             selection.extend(node, offset);         }", "extend() to a doctype must throw InvalidNodeTypeError")
    at testExtend ( /selection/extend.js:104:9)
Passextend() forwards with range 2 [paras[0].firstChild, 0, paras[0].firstChild, 1] and point 84 [doctype, -17]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "Sanity check: startContainer must be correct")
    at testExtend ( /selection/extend.js:80:5)
Pass
assert_equals(0, 0, "Sanity check: startOffset must be correct")
    at testExtend ( /selection/extend.js:82:5)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "Sanity check: endContainer must be correct")
    at testExtend ( /selection/extend.js:84:5)
Pass
assert_equals(1, 1, "Sanity check: endOffset must be correct")
    at testExtend ( /selection/extend.js:86:5)
Pass
assert_throws_dom("INVALID_NODE_TYPE_ERR", function "function() {             selection.extend(node, offset);         }", "extend() to a doctype must throw InvalidNodeTypeError")
    at testExtend ( /selection/extend.js:104:9)
Passextend() backwards with range 2 [paras[0].firstChild, 0, paras[0].firstChild, 1] and point 84 [doctype, -17]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "Sanity check: startContainer must be correct")
    at testExtend ( /selection/extend.js:80:5)
Pass
assert_equals(0, 0, "Sanity check: startOffset must be correct")
    at testExtend ( /selection/extend.js:82:5)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "Sanity check: endContainer must be correct")
    at testExtend ( /selection/extend.js:84:5)
Pass
assert_equals(1, 1, "Sanity check: endOffset must be correct")
    at testExtend ( /selection/extend.js:86:5)
Pass
assert_throws_dom("INVALID_NODE_TYPE_ERR", function "function() {             selection.extend(node, offset);         }", "extend() to a doctype must throw InvalidNodeTypeError")
    at testExtend ( /selection/extend.js:104:9)
Passextend() forwards with range 2 [paras[0].firstChild, 0, paras[0].firstChild, 1] and point 85 [doctype, 1]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "Sanity check: startContainer must be correct")
    at testExtend ( /selection/extend.js:80:5)
Pass
assert_equals(0, 0, "Sanity check: startOffset must be correct")
    at testExtend ( /selection/extend.js:82:5)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "Sanity check: endContainer must be correct")
    at testExtend ( /selection/extend.js:84:5)
Pass
assert_equals(1, 1, "Sanity check: endOffset must be correct")
    at testExtend ( /selection/extend.js:86:5)
Pass
assert_throws_dom("INVALID_NODE_TYPE_ERR", function "function() {             selection.extend(node, offset);         }", "extend() to a doctype must throw InvalidNodeTypeError")
    at testExtend ( /selection/extend.js:104:9)
Passextend() backwards with range 2 [paras[0].firstChild, 0, paras[0].firstChild, 1] and point 85 [doctype, 1]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "Sanity check: startContainer must be correct")
    at testExtend ( /selection/extend.js:80:5)
Pass
assert_equals(0, 0, "Sanity check: startOffset must be correct")
    at testExtend ( /selection/extend.js:82:5)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "Sanity check: endContainer must be correct")
    at testExtend ( /selection/extend.js:84:5)
Pass
assert_equals(1, 1, "Sanity check: endOffset must be correct")
    at testExtend ( /selection/extend.js:86:5)
Pass
assert_throws_dom("INVALID_NODE_TYPE_ERR", function "function() {             selection.extend(node, offset);         }", "extend() to a doctype must throw InvalidNodeTypeError")
    at testExtend ( /selection/extend.js:104:9)
Passextend() forwards with range 2 [paras[0].firstChild, 0, paras[0].firstChild, 1] and point 86 [foreignDoctype, 0]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(1, 1, "The operation should not add Range")
    at assertSelectionNoChange ( /selection/common.js:976:5)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "The operation should not update anchorNode")
    at assertSelectionNoChange ( /selection/common.js:978:5)
Pass
assert_equals(0, 0, "The operation should not update anchorOffset")
    at assertSelectionNoChange ( /selection/common.js:980:5)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "The operation should not update focusNode")
    at assertSelectionNoChange ( /selection/common.js:982:5)
Pass
assert_equals(1, 1, "The operation should not update focusOffset")
    at assertSelectionNoChange ( /selection/common.js:984:5)
Pass
assert_equals(object "A", object "A", "The operation should not replace a registered Range")
    at assertSelectionNoChange ( /selection/common.js:988:5)
Passextend() backwards with range 2 [paras[0].firstChild, 0, paras[0].firstChild, 1] and point 86 [foreignDoctype, 0]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(1, 1, "The operation should not add Range")
    at assertSelectionNoChange ( /selection/common.js:976:5)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "The operation should not update anchorNode")
    at assertSelectionNoChange ( /selection/common.js:978:5)
Pass
assert_equals(1, 1, "The operation should not update anchorOffset")
    at assertSelectionNoChange ( /selection/common.js:980:5)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "The operation should not update focusNode")
    at assertSelectionNoChange ( /selection/common.js:982:5)
Pass
assert_equals(0, 0, "The operation should not update focusOffset")
    at assertSelectionNoChange ( /selection/common.js:984:5)
Pass
assert_equals(object "A", object "A", "The operation should not replace a registered Range")
    at assertSelectionNoChange ( /selection/common.js:988:5)
Passextend() forwards with range 2 [paras[0].firstChild, 0, paras[0].firstChild, 1] and point 87 [xmlDoctype, 0]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(1, 1, "The operation should not add Range")
    at assertSelectionNoChange ( /selection/common.js:976:5)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "The operation should not update anchorNode")
    at assertSelectionNoChange ( /selection/common.js:978:5)
Pass
assert_equals(0, 0, "The operation should not update anchorOffset")
    at assertSelectionNoChange ( /selection/common.js:980:5)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "The operation should not update focusNode")
    at assertSelectionNoChange ( /selection/common.js:982:5)
Pass
assert_equals(1, 1, "The operation should not update focusOffset")
    at assertSelectionNoChange ( /selection/common.js:984:5)
Pass
assert_equals(object "A", object "A", "The operation should not replace a registered Range")
    at assertSelectionNoChange ( /selection/common.js:988:5)
Passextend() backwards with range 2 [paras[0].firstChild, 0, paras[0].firstChild, 1] and point 87 [xmlDoctype, 0]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(1, 1, "The operation should not add Range")
    at assertSelectionNoChange ( /selection/common.js:976:5)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "The operation should not update anchorNode")
    at assertSelectionNoChange ( /selection/common.js:978:5)
Pass
assert_equals(1, 1, "The operation should not update anchorOffset")
    at assertSelectionNoChange ( /selection/common.js:980:5)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "The operation should not update focusNode")
    at assertSelectionNoChange ( /selection/common.js:982:5)
Pass
assert_equals(0, 0, "The operation should not update focusOffset")
    at assertSelectionNoChange ( /selection/common.js:984:5)
Pass
assert_equals(object "A", object "A", "The operation should not replace a registered Range")
    at assertSelectionNoChange ( /selection/common.js:988:5)
Passextend() forwards with range 3 [paras[0].firstChild, 2, paras[0].firstChild, 8] and point 0 [paras[0].firstChild, -1]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "Sanity check: startContainer must be correct")
    at testExtend ( /selection/extend.js:80:5)
Pass
assert_equals(2, 2, "Sanity check: startOffset must be correct")
    at testExtend ( /selection/extend.js:82:5)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "Sanity check: endContainer must be correct")
    at testExtend ( /selection/extend.js:84:5)
Pass
assert_equals(8, 8, "Sanity check: endOffset must be correct")
    at testExtend ( /selection/extend.js:86:5)
Pass
assert_throws_dom("INDEX_SIZE_ERR", function "function() {             selection.extend(node, offset);         }", "extend() to an offset that's greater than node length (17) must throw IndexSizeError")
    at testExtend ( /selection/extend.js:117:9)
Passextend() backwards with range 3 [paras[0].firstChild, 2, paras[0].firstChild, 8] and point 0 [paras[0].firstChild, -1]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "Sanity check: startContainer must be correct")
    at testExtend ( /selection/extend.js:80:5)
Pass
assert_equals(2, 2, "Sanity check: startOffset must be correct")
    at testExtend ( /selection/extend.js:82:5)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "Sanity check: endContainer must be correct")
    at testExtend ( /selection/extend.js:84:5)
Pass
assert_equals(8, 8, "Sanity check: endOffset must be correct")
    at testExtend ( /selection/extend.js:86:5)
Pass
assert_throws_dom("INDEX_SIZE_ERR", function "function() {             selection.extend(node, offset);         }", "extend() to an offset that's greater than node length (17) must throw IndexSizeError")
    at testExtend ( /selection/extend.js:117:9)
Passextend() forwards with range 3 [paras[0].firstChild, 2, paras[0].firstChild, 8] and point 1 [paras[0].firstChild, 0]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "Sanity check: startContainer must be correct")
    at testExtend ( /selection/extend.js:80:5)
Pass
assert_equals(2, 2, "Sanity check: startOffset must be correct")
    at testExtend ( /selection/extend.js:82:5)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "Sanity check: endContainer must be correct")
    at testExtend ( /selection/extend.js:84:5)
Pass
assert_equals(8, 8, "Sanity check: endOffset must be correct")
    at testExtend ( /selection/extend.js:86:5)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "anchorNode must not change if the node passed to extend() has the same root as the original range")
    at testExtend ( /selection/extend.js:145:9)
Pass
assert_equals(2, 2, "anchorOffset must not change if the node passed to extend() has the same root as the original range")
    at testExtend ( /selection/extend.js:147:9)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "focusNode must be the node passed to extend()")
    at testExtend ( /selection/extend.js:155:5)
Pass
assert_equals(0, 0, "focusOffset must be the offset passed to extend()")
    at testExtend ( /selection/extend.js:157:5)
Pass
assert_not_equals(object "Ä", object "b̈c̈d̈", "extend() must replace any existing range with a new one, not mutate the existing one")
    at testExtend ( /selection/extend.js:159:5)
Passextend() backwards with range 3 [paras[0].firstChild, 2, paras[0].firstChild, 8] and point 1 [paras[0].firstChild, 0]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "Sanity check: startContainer must be correct")
    at testExtend ( /selection/extend.js:80:5)
Pass
assert_equals(2, 2, "Sanity check: startOffset must be correct")
    at testExtend ( /selection/extend.js:82:5)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "Sanity check: endContainer must be correct")
    at testExtend ( /selection/extend.js:84:5)
Pass
assert_equals(8, 8, "Sanity check: endOffset must be correct")
    at testExtend ( /selection/extend.js:86:5)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "anchorNode must not change if the node passed to extend() has the same root as the original range")
    at testExtend ( /selection/extend.js:145:9)
Pass
assert_equals(8, 8, "anchorOffset must not change if the node passed to extend() has the same root as the original range")
    at testExtend ( /selection/extend.js:147:9)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "focusNode must be the node passed to extend()")
    at testExtend ( /selection/extend.js:155:5)
Pass
assert_equals(0, 0, "focusOffset must be the offset passed to extend()")
    at testExtend ( /selection/extend.js:157:5)
Pass
assert_not_equals(object "Äb̈c̈d̈", object "b̈c̈d̈", "extend() must replace any existing range with a new one, not mutate the existing one")
    at testExtend ( /selection/extend.js:159:5)
Passextend() forwards with range 3 [paras[0].firstChild, 2, paras[0].firstChild, 8] and point 2 [paras[0].firstChild, 1]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "Sanity check: startContainer must be correct")
    at testExtend ( /selection/extend.js:80:5)
Pass
assert_equals(2, 2, "Sanity check: startOffset must be correct")
    at testExtend ( /selection/extend.js:82:5)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "Sanity check: endContainer must be correct")
    at testExtend ( /selection/extend.js:84:5)
Pass
assert_equals(8, 8, "Sanity check: endOffset must be correct")
    at testExtend ( /selection/extend.js:86:5)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "anchorNode must not change if the node passed to extend() has the same root as the original range")
    at testExtend ( /selection/extend.js:145:9)
Pass
assert_equals(2, 2, "anchorOffset must not change if the node passed to extend() has the same root as the original range")
    at testExtend ( /selection/extend.js:147:9)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "focusNode must be the node passed to extend()")
    at testExtend ( /selection/extend.js:155:5)
Pass
assert_equals(1, 1, "focusOffset must be the offset passed to extend()")
    at testExtend ( /selection/extend.js:157:5)
Pass
assert_not_equals(object "̈", object "b̈c̈d̈", "extend() must replace any existing range with a new one, not mutate the existing one")
    at testExtend ( /selection/extend.js:159:5)
Passextend() backwards with range 3 [paras[0].firstChild, 2, paras[0].firstChild, 8] and point 2 [paras[0].firstChild, 1]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "Sanity check: startContainer must be correct")
    at testExtend ( /selection/extend.js:80:5)
Pass
assert_equals(2, 2, "Sanity check: startOffset must be correct")
    at testExtend ( /selection/extend.js:82:5)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "Sanity check: endContainer must be correct")
    at testExtend ( /selection/extend.js:84:5)
Pass
assert_equals(8, 8, "Sanity check: endOffset must be correct")
    at testExtend ( /selection/extend.js:86:5)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "anchorNode must not change if the node passed to extend() has the same root as the original range")
    at testExtend ( /selection/extend.js:145:9)
Pass
assert_equals(8, 8, "anchorOffset must not change if the node passed to extend() has the same root as the original range")
    at testExtend ( /selection/extend.js:147:9)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "focusNode must be the node passed to extend()")
    at testExtend ( /selection/extend.js:155:5)
Pass
assert_equals(1, 1, "focusOffset must be the offset passed to extend()")
    at testExtend ( /selection/extend.js:157:5)
Pass
assert_not_equals(object "̈b̈c̈d̈", object "b̈c̈d̈", "extend() must replace any existing range with a new one, not mutate the existing one")
    at testExtend ( /selection/extend.js:159:5)
Passextend() forwards with range 3 [paras[0].firstChild, 2, paras[0].firstChild, 8] and point 3 [paras[0].firstChild, 2]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "Sanity check: startContainer must be correct")
    at testExtend ( /selection/extend.js:80:5)
Pass
assert_equals(2, 2, "Sanity check: startOffset must be correct")
    at testExtend ( /selection/extend.js:82:5)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "Sanity check: endContainer must be correct")
    at testExtend ( /selection/extend.js:84:5)
Pass
assert_equals(8, 8, "Sanity check: endOffset must be correct")
    at testExtend ( /selection/extend.js:86:5)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "anchorNode must not change if the node passed to extend() has the same root as the original range")
    at testExtend ( /selection/extend.js:145:9)
Pass
assert_equals(2, 2, "anchorOffset must not change if the node passed to extend() has the same root as the original range")
    at testExtend ( /selection/extend.js:147:9)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "focusNode must be the node passed to extend()")
    at testExtend ( /selection/extend.js:155:5)
Pass
assert_equals(2, 2, "focusOffset must be the offset passed to extend()")
    at testExtend ( /selection/extend.js:157:5)
Pass
assert_not_equals(object "", object "b̈c̈d̈", "extend() must replace any existing range with a new one, not mutate the existing one")
    at testExtend ( /selection/extend.js:159:5)
Passextend() backwards with range 3 [paras[0].firstChild, 2, paras[0].firstChild, 8] and point 3 [paras[0].firstChild, 2]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "Sanity check: startContainer must be correct")
    at testExtend ( /selection/extend.js:80:5)
Pass
assert_equals(2, 2, "Sanity check: startOffset must be correct")
    at testExtend ( /selection/extend.js:82:5)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "Sanity check: endContainer must be correct")
    at testExtend ( /selection/extend.js:84:5)
Pass
assert_equals(8, 8, "Sanity check: endOffset must be correct")
    at testExtend ( /selection/extend.js:86:5)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "anchorNode must not change if the node passed to extend() has the same root as the original range")
    at testExtend ( /selection/extend.js:145:9)
Pass
assert_equals(8, 8, "anchorOffset must not change if the node passed to extend() has the same root as the original range")
    at testExtend ( /selection/extend.js:147:9)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "focusNode must be the node passed to extend()")
    at testExtend ( /selection/extend.js:155:5)
Pass
assert_equals(2, 2, "focusOffset must be the offset passed to extend()")
    at testExtend ( /selection/extend.js:157:5)
Pass
assert_not_equals(object "b̈c̈d̈", object "b̈c̈d̈", "extend() must replace any existing range with a new one, not mutate the existing one")
    at testExtend ( /selection/extend.js:159:5)
Passextend() forwards with range 3 [paras[0].firstChild, 2, paras[0].firstChild, 8] and point 4 [paras[0].firstChild, 8]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "Sanity check: startContainer must be correct")
    at testExtend ( /selection/extend.js:80:5)
Pass
assert_equals(2, 2, "Sanity check: startOffset must be correct")
    at testExtend ( /selection/extend.js:82:5)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "Sanity check: endContainer must be correct")
    at testExtend ( /selection/extend.js:84:5)
Pass
assert_equals(8, 8, "Sanity check: endOffset must be correct")
    at testExtend ( /selection/extend.js:86:5)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "anchorNode must not change if the node passed to extend() has the same root as the original range")
    at testExtend ( /selection/extend.js:145:9)
Pass
assert_equals(2, 2, "anchorOffset must not change if the node passed to extend() has the same root as the original range")
    at testExtend ( /selection/extend.js:147:9)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "focusNode must be the node passed to extend()")
    at testExtend ( /selection/extend.js:155:5)
Pass
assert_equals(8, 8, "focusOffset must be the offset passed to extend()")
    at testExtend ( /selection/extend.js:157:5)
Pass
assert_not_equals(object "b̈c̈d̈", object "b̈c̈d̈", "extend() must replace any existing range with a new one, not mutate the existing one")
    at testExtend ( /selection/extend.js:159:5)
Passextend() backwards with range 3 [paras[0].firstChild, 2, paras[0].firstChild, 8] and point 4 [paras[0].firstChild, 8]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "Sanity check: startContainer must be correct")
    at testExtend ( /selection/extend.js:80:5)
Pass
assert_equals(2, 2, "Sanity check: startOffset must be correct")
    at testExtend ( /selection/extend.js:82:5)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "Sanity check: endContainer must be correct")
    at testExtend ( /selection/extend.js:84:5)
Pass
assert_equals(8, 8, "Sanity check: endOffset must be correct")
    at testExtend ( /selection/extend.js:86:5)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "anchorNode must not change if the node passed to extend() has the same root as the original range")
    at testExtend ( /selection/extend.js:145:9)
Pass
assert_equals(8, 8, "anchorOffset must not change if the node passed to extend() has the same root as the original range")
    at testExtend ( /selection/extend.js:147:9)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "focusNode must be the node passed to extend()")
    at testExtend ( /selection/extend.js:155:5)
Pass
assert_equals(8, 8, "focusOffset must be the offset passed to extend()")
    at testExtend ( /selection/extend.js:157:5)
Pass
assert_not_equals(object "", object "b̈c̈d̈", "extend() must replace any existing range with a new one, not mutate the existing one")
    at testExtend ( /selection/extend.js:159:5)
Passextend() forwards with range 3 [paras[0].firstChild, 2, paras[0].firstChild, 8] and point 5 [paras[0].firstChild, 9]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "Sanity check: startContainer must be correct")
    at testExtend ( /selection/extend.js:80:5)
Pass
assert_equals(2, 2, "Sanity check: startOffset must be correct")
    at testExtend ( /selection/extend.js:82:5)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "Sanity check: endContainer must be correct")
    at testExtend ( /selection/extend.js:84:5)
Pass
assert_equals(8, 8, "Sanity check: endOffset must be correct")
    at testExtend ( /selection/extend.js:86:5)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "anchorNode must not change if the node passed to extend() has the same root as the original range")
    at testExtend ( /selection/extend.js:145:9)
Pass
assert_equals(2, 2, "anchorOffset must not change if the node passed to extend() has the same root as the original range")
    at testExtend ( /selection/extend.js:147:9)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "focusNode must be the node passed to extend()")
    at testExtend ( /selection/extend.js:155:5)
Pass
assert_equals(9, 9, "focusOffset must be the offset passed to extend()")
    at testExtend ( /selection/extend.js:157:5)
Pass
assert_not_equals(object "b̈c̈d̈e", object "b̈c̈d̈", "extend() must replace any existing range with a new one, not mutate the existing one")
    at testExtend ( /selection/extend.js:159:5)
Passextend() backwards with range 3 [paras[0].firstChild, 2, paras[0].firstChild, 8] and point 5 [paras[0].firstChild, 9]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "Sanity check: startContainer must be correct")
    at testExtend ( /selection/extend.js:80:5)
Pass
assert_equals(2, 2, "Sanity check: startOffset must be correct")
    at testExtend ( /selection/extend.js:82:5)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "Sanity check: endContainer must be correct")
    at testExtend ( /selection/extend.js:84:5)
Pass
assert_equals(8, 8, "Sanity check: endOffset must be correct")
    at testExtend ( /selection/extend.js:86:5)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "anchorNode must not change if the node passed to extend() has the same root as the original range")
    at testExtend ( /selection/extend.js:145:9)
Pass
assert_equals(8, 8, "anchorOffset must not change if the node passed to extend() has the same root as the original range")
    at testExtend ( /selection/extend.js:147:9)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "focusNode must be the node passed to extend()")
    at testExtend ( /selection/extend.js:155:5)
Pass
assert_equals(9, 9, "focusOffset must be the offset passed to extend()")
    at testExtend ( /selection/extend.js:157:5)
Pass
assert_not_equals(object "e", object "b̈c̈d̈", "extend() must replace any existing range with a new one, not mutate the existing one")
    at testExtend ( /selection/extend.js:159:5)
Passextend() forwards with range 3 [paras[0].firstChild, 2, paras[0].firstChild, 8] and point 6 [paras[0].firstChild, 10]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "Sanity check: startContainer must be correct")
    at testExtend ( /selection/extend.js:80:5)
Pass
assert_equals(2, 2, "Sanity check: startOffset must be correct")
    at testExtend ( /selection/extend.js:82:5)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "Sanity check: endContainer must be correct")
    at testExtend ( /selection/extend.js:84:5)
Pass
assert_equals(8, 8, "Sanity check: endOffset must be correct")
    at testExtend ( /selection/extend.js:86:5)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "anchorNode must not change if the node passed to extend() has the same root as the original range")
    at testExtend ( /selection/extend.js:145:9)
Pass
assert_equals(2, 2, "anchorOffset must not change if the node passed to extend() has the same root as the original range")
    at testExtend ( /selection/extend.js:147:9)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "focusNode must be the node passed to extend()")
    at testExtend ( /selection/extend.js:155:5)
Pass
assert_equals(10, 10, "focusOffset must be the offset passed to extend()")
    at testExtend ( /selection/extend.js:157:5)
Pass
assert_not_equals(object "b̈c̈d̈ë", object "b̈c̈d̈", "extend() must replace any existing range with a new one, not mutate the existing one")
    at testExtend ( /selection/extend.js:159:5)
Passextend() backwards with range 3 [paras[0].firstChild, 2, paras[0].firstChild, 8] and point 6 [paras[0].firstChild, 10]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "Sanity check: startContainer must be correct")
    at testExtend ( /selection/extend.js:80:5)
Pass
assert_equals(2, 2, "Sanity check: startOffset must be correct")
    at testExtend ( /selection/extend.js:82:5)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "Sanity check: endContainer must be correct")
    at testExtend ( /selection/extend.js:84:5)
Pass
assert_equals(8, 8, "Sanity check: endOffset must be correct")
    at testExtend ( /selection/extend.js:86:5)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "anchorNode must not change if the node passed to extend() has the same root as the original range")
    at testExtend ( /selection/extend.js:145:9)
Pass
assert_equals(8, 8, "anchorOffset must not change if the node passed to extend() has the same root as the original range")
    at testExtend ( /selection/extend.js:147:9)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "focusNode must be the node passed to extend()")
    at testExtend ( /selection/extend.js:155:5)
Pass
assert_equals(10, 10, "focusOffset must be the offset passed to extend()")
    at testExtend ( /selection/extend.js:157:5)
Pass
assert_not_equals(object "ë", object "b̈c̈d̈", "extend() must replace any existing range with a new one, not mutate the existing one")
    at testExtend ( /selection/extend.js:159:5)
Passextend() forwards with range 3 [paras[0].firstChild, 2, paras[0].firstChild, 8] and point 7 [paras[0].firstChild, 65535]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "Sanity check: startContainer must be correct")
    at testExtend ( /selection/extend.js:80:5)
Pass
assert_equals(2, 2, "Sanity check: startOffset must be correct")
    at testExtend ( /selection/extend.js:82:5)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "Sanity check: endContainer must be correct")
    at testExtend ( /selection/extend.js:84:5)
Pass
assert_equals(8, 8, "Sanity check: endOffset must be correct")
    at testExtend ( /selection/extend.js:86:5)
Pass
assert_throws_dom("INDEX_SIZE_ERR", function "function() {             selection.extend(node, offset);         }", "extend() to an offset that's greater than node length (17) must throw IndexSizeError")
    at testExtend ( /selection/extend.js:117:9)
Passextend() backwards with range 3 [paras[0].firstChild, 2, paras[0].firstChild, 8] and point 7 [paras[0].firstChild, 65535]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "Sanity check: startContainer must be correct")
    at testExtend ( /selection/extend.js:80:5)
Pass
assert_equals(2, 2, "Sanity check: startOffset must be correct")
    at testExtend ( /selection/extend.js:82:5)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "Sanity check: endContainer must be correct")
    at testExtend ( /selection/extend.js:84:5)
Pass
assert_equals(8, 8, "Sanity check: endOffset must be correct")
    at testExtend ( /selection/extend.js:86:5)
Pass
assert_throws_dom("INDEX_SIZE_ERR", function "function() {             selection.extend(node, offset);         }", "extend() to an offset that's greater than node length (17) must throw IndexSizeError")
    at testExtend ( /selection/extend.js:117:9)
Passextend() forwards with range 3 [paras[0].firstChild, 2, paras[0].firstChild, 8] and point 8 [paras[1].firstChild, -1]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "Sanity check: startContainer must be correct")
    at testExtend ( /selection/extend.js:80:5)
Pass
assert_equals(2, 2, "Sanity check: startOffset must be correct")
    at testExtend ( /selection/extend.js:82:5)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "Sanity check: endContainer must be correct")
    at testExtend ( /selection/extend.js:84:5)
Pass
assert_equals(8, 8, "Sanity check: endOffset must be correct")
    at testExtend ( /selection/extend.js:86:5)
Pass
assert_throws_dom("INDEX_SIZE_ERR", function "function() {             selection.extend(node, offset);         }", "extend() to an offset that's greater than node length (9) must throw IndexSizeError")
    at testExtend ( /selection/extend.js:117:9)
Passextend() backwards with range 3 [paras[0].firstChild, 2, paras[0].firstChild, 8] and point 8 [paras[1].firstChild, -1]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "Sanity check: startContainer must be correct")
    at testExtend ( /selection/extend.js:80:5)
Pass
assert_equals(2, 2, "Sanity check: startOffset must be correct")
    at testExtend ( /selection/extend.js:82:5)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "Sanity check: endContainer must be correct")
    at testExtend ( /selection/extend.js:84:5)
Pass
assert_equals(8, 8, "Sanity check: endOffset must be correct")
    at testExtend ( /selection/extend.js:86:5)
Pass
assert_throws_dom("INDEX_SIZE_ERR", function "function() {             selection.extend(node, offset);         }", "extend() to an offset that's greater than node length (9) must throw IndexSizeError")
    at testExtend ( /selection/extend.js:117:9)
Passextend() forwards with range 3 [paras[0].firstChild, 2, paras[0].firstChild, 8] and point 9 [paras[1].firstChild, 0]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "Sanity check: startContainer must be correct")
    at testExtend ( /selection/extend.js:80:5)
Pass
assert_equals(2, 2, "Sanity check: startOffset must be correct")
    at testExtend ( /selection/extend.js:82:5)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "Sanity check: endContainer must be correct")
    at testExtend ( /selection/extend.js:84:5)
Pass
assert_equals(8, 8, "Sanity check: endOffset must be correct")
    at testExtend ( /selection/extend.js:86:5)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "anchorNode must not change if the node passed to extend() has the same root as the original range")
    at testExtend ( /selection/extend.js:145:9)
Pass
assert_equals(2, 2, "anchorOffset must not change if the node passed to extend() has the same root as the original range")
    at testExtend ( /selection/extend.js:147:9)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "focusNode must be the node passed to extend()")
    at testExtend ( /selection/extend.js:155:5)
Pass
assert_equals(0, 0, "focusOffset must be the offset passed to extend()")
    at testExtend ( /selection/extend.js:157:5)
Pass
assert_not_equals(object "b̈c̈d̈ëf̈g̈ḧ ", object "b̈c̈d̈", "extend() must replace any existing range with a new one, not mutate the existing one")
    at testExtend ( /selection/extend.js:159:5)
Passextend() backwards with range 3 [paras[0].firstChild, 2, paras[0].firstChild, 8] and point 9 [paras[1].firstChild, 0]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "Sanity check: startContainer must be correct")
    at testExtend ( /selection/extend.js:80:5)
Pass
assert_equals(2, 2, "Sanity check: startOffset must be correct")
    at testExtend ( /selection/extend.js:82:5)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "Sanity check: endContainer must be correct")
    at testExtend ( /selection/extend.js:84:5)
Pass
assert_equals(8, 8, "Sanity check: endOffset must be correct")
    at testExtend ( /selection/extend.js:86:5)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "anchorNode must not change if the node passed to extend() has the same root as the original range")
    at testExtend ( /selection/extend.js:145:9)
Pass
assert_equals(8, 8, "anchorOffset must not change if the node passed to extend() has the same root as the original range")
    at testExtend ( /selection/extend.js:147:9)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "focusNode must be the node passed to extend()")
    at testExtend ( /selection/extend.js:155:5)
Pass
assert_equals(0, 0, "focusOffset must be the offset passed to extend()")
    at testExtend ( /selection/extend.js:157:5)
Pass
assert_not_equals(object "ëf̈g̈ḧ ", object "b̈c̈d̈", "extend() must replace any existing range with a new one, not mutate the existing one")
    at testExtend ( /selection/extend.js:159:5)
Passextend() forwards with range 3 [paras[0].firstChild, 2, paras[0].firstChild, 8] and point 10 [paras[1].firstChild, 1]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "Sanity check: startContainer must be correct")
    at testExtend ( /selection/extend.js:80:5)
Pass
assert_equals(2, 2, "Sanity check: startOffset must be correct")
    at testExtend ( /selection/extend.js:82:5)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "Sanity check: endContainer must be correct")
    at testExtend ( /selection/extend.js:84:5)
Pass
assert_equals(8, 8, "Sanity check: endOffset must be correct")
    at testExtend ( /selection/extend.js:86:5)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "anchorNode must not change if the node passed to extend() has the same root as the original range")
    at testExtend ( /selection/extend.js:145:9)
Pass
assert_equals(2, 2, "anchorOffset must not change if the node passed to extend() has the same root as the original range")
    at testExtend ( /selection/extend.js:147:9)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "focusNode must be the node passed to extend()")
    at testExtend ( /selection/extend.js:155:5)
Pass
assert_equals(1, 1, "focusOffset must be the offset passed to extend()")
    at testExtend ( /selection/extend.js:157:5)
Pass
assert_not_equals(object "b̈c̈d̈ëf̈g̈ḧ I", object "b̈c̈d̈", "extend() must replace any existing range with a new one, not mutate the existing one")
    at testExtend ( /selection/extend.js:159:5)
Passextend() backwards with range 3 [paras[0].firstChild, 2, paras[0].firstChild, 8] and point 10 [paras[1].firstChild, 1]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "Sanity check: startContainer must be correct")
    at testExtend ( /selection/extend.js:80:5)
Pass
assert_equals(2, 2, "Sanity check: startOffset must be correct")
    at testExtend ( /selection/extend.js:82:5)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "Sanity check: endContainer must be correct")
    at testExtend ( /selection/extend.js:84:5)
Pass
assert_equals(8, 8, "Sanity check: endOffset must be correct")
    at testExtend ( /selection/extend.js:86:5)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "anchorNode must not change if the node passed to extend() has the same root as the original range")
    at testExtend ( /selection/extend.js:145:9)
Pass
assert_equals(8, 8, "anchorOffset must not change if the node passed to extend() has the same root as the original range")
    at testExtend ( /selection/extend.js:147:9)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "focusNode must be the node passed to extend()")
    at testExtend ( /selection/extend.js:155:5)
Pass
assert_equals(1, 1, "focusOffset must be the offset passed to extend()")
    at testExtend ( /selection/extend.js:157:5)
Pass
assert_not_equals(object "ëf̈g̈ḧ I", object "b̈c̈d̈", "extend() must replace any existing range with a new one, not mutate the existing one")
    at testExtend ( /selection/extend.js:159:5)
Passextend() forwards with range 3 [paras[0].firstChild, 2, paras[0].firstChild, 8] and point 11 [paras[1].firstChild, 2]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "Sanity check: startContainer must be correct")
    at testExtend ( /selection/extend.js:80:5)
Pass
assert_equals(2, 2, "Sanity check: startOffset must be correct")
    at testExtend ( /selection/extend.js:82:5)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "Sanity check: endContainer must be correct")
    at testExtend ( /selection/extend.js:84:5)
Pass
assert_equals(8, 8, "Sanity check: endOffset must be correct")
    at testExtend ( /selection/extend.js:86:5)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "anchorNode must not change if the node passed to extend() has the same root as the original range")
    at testExtend ( /selection/extend.js:145:9)
Pass
assert_equals(2, 2, "anchorOffset must not change if the node passed to extend() has the same root as the original range")
    at testExtend ( /selection/extend.js:147:9)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "focusNode must be the node passed to extend()")
    at testExtend ( /selection/extend.js:155:5)
Pass
assert_equals(2, 2, "focusOffset must be the offset passed to extend()")
    at testExtend ( /selection/extend.js:157:5)
Pass
assert_not_equals(object "b̈c̈d̈ëf̈g̈ḧ Ij", object "b̈c̈d̈", "extend() must replace any existing range with a new one, not mutate the existing one")
    at testExtend ( /selection/extend.js:159:5)
Passextend() backwards with range 3 [paras[0].firstChild, 2, paras[0].firstChild, 8] and point 11 [paras[1].firstChild, 2]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "Sanity check: startContainer must be correct")
    at testExtend ( /selection/extend.js:80:5)
Pass
assert_equals(2, 2, "Sanity check: startOffset must be correct")
    at testExtend ( /selection/extend.js:82:5)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "Sanity check: endContainer must be correct")
    at testExtend ( /selection/extend.js:84:5)
Pass
assert_equals(8, 8, "Sanity check: endOffset must be correct")
    at testExtend ( /selection/extend.js:86:5)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "anchorNode must not change if the node passed to extend() has the same root as the original range")
    at testExtend ( /selection/extend.js:145:9)
Pass
assert_equals(8, 8, "anchorOffset must not change if the node passed to extend() has the same root as the original range")
    at testExtend ( /selection/extend.js:147:9)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "focusNode must be the node passed to extend()")
    at testExtend ( /selection/extend.js:155:5)
Pass
assert_equals(2, 2, "focusOffset must be the offset passed to extend()")
    at testExtend ( /selection/extend.js:157:5)
Pass
assert_not_equals(object "ëf̈g̈ḧ Ij", object "b̈c̈d̈", "extend() must replace any existing range with a new one, not mutate the existing one")
    at testExtend ( /selection/extend.js:159:5)
Passextend() forwards with range 3 [paras[0].firstChild, 2, paras[0].firstChild, 8] and point 12 [paras[1].firstChild, 8]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "Sanity check: startContainer must be correct")
    at testExtend ( /selection/extend.js:80:5)
Pass
assert_equals(2, 2, "Sanity check: startOffset must be correct")
    at testExtend ( /selection/extend.js:82:5)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "Sanity check: endContainer must be correct")
    at testExtend ( /selection/extend.js:84:5)
Pass
assert_equals(8, 8, "Sanity check: endOffset must be correct")
    at testExtend ( /selection/extend.js:86:5)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "anchorNode must not change if the node passed to extend() has the same root as the original range")
    at testExtend ( /selection/extend.js:145:9)
Pass
assert_equals(2, 2, "anchorOffset must not change if the node passed to extend() has the same root as the original range")
    at testExtend ( /selection/extend.js:147:9)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "focusNode must be the node passed to extend()")
    at testExtend ( /selection/extend.js:155:5)
Pass
assert_equals(8, 8, "focusOffset must be the offset passed to extend()")
    at testExtend ( /selection/extend.js:157:5)
Pass
assert_not_equals(object "b̈c̈d̈ëf̈g̈ḧ Ijklmnop", object "b̈c̈d̈", "extend() must replace any existing range with a new one, not mutate the existing one")
    at testExtend ( /selection/extend.js:159:5)
Passextend() backwards with range 3 [paras[0].firstChild, 2, paras[0].firstChild, 8] and point 12 [paras[1].firstChild, 8]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "Sanity check: startContainer must be correct")
    at testExtend ( /selection/extend.js:80:5)
Pass
assert_equals(2, 2, "Sanity check: startOffset must be correct")
    at testExtend ( /selection/extend.js:82:5)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "Sanity check: endContainer must be correct")
    at testExtend ( /selection/extend.js:84:5)
Pass
assert_equals(8, 8, "Sanity check: endOffset must be correct")
    at testExtend ( /selection/extend.js:86:5)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "anchorNode must not change if the node passed to extend() has the same root as the original range")
    at testExtend ( /selection/extend.js:145:9)
Pass
assert_equals(8, 8, "anchorOffset must not change if the node passed to extend() has the same root as the original range")
    at testExtend ( /selection/extend.js:147:9)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "focusNode must be the node passed to extend()")
    at testExtend ( /selection/extend.js:155:5)
Pass
assert_equals(8, 8, "focusOffset must be the offset passed to extend()")
    at testExtend ( /selection/extend.js:157:5)
Pass
assert_not_equals(object "ëf̈g̈ḧ Ijklmnop", object "b̈c̈d̈", "extend() must replace any existing range with a new one, not mutate the existing one")
    at testExtend ( /selection/extend.js:159:5)
Passextend() forwards with range 3 [paras[0].firstChild, 2, paras[0].firstChild, 8] and point 13 [paras[1].firstChild, 9]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "Sanity check: startContainer must be correct")
    at testExtend ( /selection/extend.js:80:5)
Pass
assert_equals(2, 2, "Sanity check: startOffset must be correct")
    at testExtend ( /selection/extend.js:82:5)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "Sanity check: endContainer must be correct")
    at testExtend ( /selection/extend.js:84:5)
Pass
assert_equals(8, 8, "Sanity check: endOffset must be correct")
    at testExtend ( /selection/extend.js:86:5)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "anchorNode must not change if the node passed to extend() has the same root as the original range")
    at testExtend ( /selection/extend.js:145:9)
Pass
assert_equals(2, 2, "anchorOffset must not change if the node passed to extend() has the same root as the original range")
    at testExtend ( /selection/extend.js:147:9)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "focusNode must be the node passed to extend()")
    at testExtend ( /selection/extend.js:155:5)
Pass
assert_equals(9, 9, "focusOffset must be the offset passed to extend()")
    at testExtend ( /selection/extend.js:157:5)
Pass
assert_not_equals(object "b̈c̈d̈ëf̈g̈ḧ Ijklmnop ", object "b̈c̈d̈", "extend() must replace any existing range with a new one, not mutate the existing one")
    at testExtend ( /selection/extend.js:159:5)
Passextend() backwards with range 3 [paras[0].firstChild, 2, paras[0].firstChild, 8] and point 13 [paras[1].firstChild, 9]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "Sanity check: startContainer must be correct")
    at testExtend ( /selection/extend.js:80:5)
Pass
assert_equals(2, 2, "Sanity check: startOffset must be correct")
    at testExtend ( /selection/extend.js:82:5)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "Sanity check: endContainer must be correct")
    at testExtend ( /selection/extend.js:84:5)
Pass
assert_equals(8, 8, "Sanity check: endOffset must be correct")
    at testExtend ( /selection/extend.js:86:5)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "anchorNode must not change if the node passed to extend() has the same root as the original range")
    at testExtend ( /selection/extend.js:145:9)
Pass
assert_equals(8, 8, "anchorOffset must not change if the node passed to extend() has the same root as the original range")
    at testExtend ( /selection/extend.js:147:9)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "focusNode must be the node passed to extend()")
    at testExtend ( /selection/extend.js:155:5)
Pass
assert_equals(9, 9, "focusOffset must be the offset passed to extend()")
    at testExtend ( /selection/extend.js:157:5)
Pass
assert_not_equals(object "ëf̈g̈ḧ Ijklmnop ", object "b̈c̈d̈", "extend() must replace any existing range with a new one, not mutate the existing one")
    at testExtend ( /selection/extend.js:159:5)
Passextend() forwards with range 3 [paras[0].firstChild, 2, paras[0].firstChild, 8] and point 14 [paras[1].firstChild, 10]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "Sanity check: startContainer must be correct")
    at testExtend ( /selection/extend.js:80:5)
Pass
assert_equals(2, 2, "Sanity check: startOffset must be correct")
    at testExtend ( /selection/extend.js:82:5)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "Sanity check: endContainer must be correct")
    at testExtend ( /selection/extend.js:84:5)
Pass
assert_equals(8, 8, "Sanity check: endOffset must be correct")
    at testExtend ( /selection/extend.js:86:5)
Pass
assert_throws_dom("INDEX_SIZE_ERR", function "function() {             selection.extend(node, offset);         }", "extend() to an offset that's greater than node length (9) must throw IndexSizeError")
    at testExtend ( /selection/extend.js:117:9)
Passextend() backwards with range 3 [paras[0].firstChild, 2, paras[0].firstChild, 8] and point 14 [paras[1].firstChild, 10]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "Sanity check: startContainer must be correct")
    at testExtend ( /selection/extend.js:80:5)
Pass
assert_equals(2, 2, "Sanity check: startOffset must be correct")
    at testExtend ( /selection/extend.js:82:5)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "Sanity check: endContainer must be correct")
    at testExtend ( /selection/extend.js:84:5)
Pass
assert_equals(8, 8, "Sanity check: endOffset must be correct")
    at testExtend ( /selection/extend.js:86:5)
Pass
assert_throws_dom("INDEX_SIZE_ERR", function "function() {             selection.extend(node, offset);         }", "extend() to an offset that's greater than node length (9) must throw IndexSizeError")
    at testExtend ( /selection/extend.js:117:9)
Passextend() forwards with range 3 [paras[0].firstChild, 2, paras[0].firstChild, 8] and point 15 [paras[1].firstChild, 65535]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "Sanity check: startContainer must be correct")
    at testExtend ( /selection/extend.js:80:5)
Pass
assert_equals(2, 2, "Sanity check: startOffset must be correct")
    at testExtend ( /selection/extend.js:82:5)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "Sanity check: endContainer must be correct")
    at testExtend ( /selection/extend.js:84:5)
Pass
assert_equals(8, 8, "Sanity check: endOffset must be correct")
    at testExtend ( /selection/extend.js:86:5)
Pass
assert_throws_dom("INDEX_SIZE_ERR", function "function() {             selection.extend(node, offset);         }", "extend() to an offset that's greater than node length (9) must throw IndexSizeError")
    at testExtend ( /selection/extend.js:117:9)
Passextend() backwards with range 3 [paras[0].firstChild, 2, paras[0].firstChild, 8] and point 15 [paras[1].firstChild, 65535]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "Sanity check: startContainer must be correct")
    at testExtend ( /selection/extend.js:80:5)
Pass
assert_equals(2, 2, "Sanity check: startOffset must be correct")
    at testExtend ( /selection/extend.js:82:5)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "Sanity check: endContainer must be correct")
    at testExtend ( /selection/extend.js:84:5)
Pass
assert_equals(8, 8, "Sanity check: endOffset must be correct")
    at testExtend ( /selection/extend.js:86:5)
Pass
assert_throws_dom("INDEX_SIZE_ERR", function "function() {             selection.extend(node, offset);         }", "extend() to an offset that's greater than node length (9) must throw IndexSizeError")
    at testExtend ( /selection/extend.js:117:9)
Passextend() forwards with range 3 [paras[0].firstChild, 2, paras[0].firstChild, 8] and point 16 [detachedPara1.firstChild, 0]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(1, 1, "The operation should not add Range")
    at assertSelectionNoChange ( /selection/common.js:976:5)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "The operation should not update anchorNode")
    at assertSelectionNoChange ( /selection/common.js:978:5)
Pass
assert_equals(2, 2, "The operation should not update anchorOffset")
    at assertSelectionNoChange ( /selection/common.js:980:5)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "The operation should not update focusNode")
    at assertSelectionNoChange ( /selection/common.js:982:5)
Pass
assert_equals(8, 8, "The operation should not update focusOffset")
    at assertSelectionNoChange ( /selection/common.js:984:5)
Pass
assert_equals(object "b̈c̈d̈", object "b̈c̈d̈", "The operation should not replace a registered Range")
    at assertSelectionNoChange ( /selection/common.js:988:5)
Passextend() backwards with range 3 [paras[0].firstChild, 2, paras[0].firstChild, 8] and point 16 [detachedPara1.firstChild, 0]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(1, 1, "The operation should not add Range")
    at assertSelectionNoChange ( /selection/common.js:976:5)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "The operation should not update anchorNode")
    at assertSelectionNoChange ( /selection/common.js:978:5)
Pass
assert_equals(8, 8, "The operation should not update anchorOffset")
    at assertSelectionNoChange ( /selection/common.js:980:5)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "The operation should not update focusNode")
    at assertSelectionNoChange ( /selection/common.js:982:5)
Pass
assert_equals(2, 2, "The operation should not update focusOffset")
    at assertSelectionNoChange ( /selection/common.js:984:5)
Pass
assert_equals(object "b̈c̈d̈", object "b̈c̈d̈", "The operation should not replace a registered Range")
    at assertSelectionNoChange ( /selection/common.js:988:5)
Passextend() forwards with range 3 [paras[0].firstChild, 2, paras[0].firstChild, 8] and point 17 [detachedPara1.firstChild, 1]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(1, 1, "The operation should not add Range")
    at assertSelectionNoChange ( /selection/common.js:976:5)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "The operation should not update anchorNode")
    at assertSelectionNoChange ( /selection/common.js:978:5)
Pass
assert_equals(2, 2, "The operation should not update anchorOffset")
    at assertSelectionNoChange ( /selection/common.js:980:5)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "The operation should not update focusNode")
    at assertSelectionNoChange ( /selection/common.js:982:5)
Pass
assert_equals(8, 8, "The operation should not update focusOffset")
    at assertSelectionNoChange ( /selection/common.js:984:5)
Pass
assert_equals(object "b̈c̈d̈", object "b̈c̈d̈", "The operation should not replace a registered Range")
    at assertSelectionNoChange ( /selection/common.js:988:5)
Passextend() backwards with range 3 [paras[0].firstChild, 2, paras[0].firstChild, 8] and point 17 [detachedPara1.firstChild, 1]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(1, 1, "The operation should not add Range")
    at assertSelectionNoChange ( /selection/common.js:976:5)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "The operation should not update anchorNode")
    at assertSelectionNoChange ( /selection/common.js:978:5)
Pass
assert_equals(8, 8, "The operation should not update anchorOffset")
    at assertSelectionNoChange ( /selection/common.js:980:5)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "The operation should not update focusNode")
    at assertSelectionNoChange ( /selection/common.js:982:5)
Pass
assert_equals(2, 2, "The operation should not update focusOffset")
    at assertSelectionNoChange ( /selection/common.js:984:5)
Pass
assert_equals(object "b̈c̈d̈", object "b̈c̈d̈", "The operation should not replace a registered Range")
    at assertSelectionNoChange ( /selection/common.js:988:5)
Passextend() forwards with range 3 [paras[0].firstChild, 2, paras[0].firstChild, 8] and point 18 [detachedPara1.firstChild, 8]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(1, 1, "The operation should not add Range")
    at assertSelectionNoChange ( /selection/common.js:976:5)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "The operation should not update anchorNode")
    at assertSelectionNoChange ( /selection/common.js:978:5)
Pass
assert_equals(2, 2, "The operation should not update anchorOffset")
    at assertSelectionNoChange ( /selection/common.js:980:5)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "The operation should not update focusNode")
    at assertSelectionNoChange ( /selection/common.js:982:5)
Pass
assert_equals(8, 8, "The operation should not update focusOffset")
    at assertSelectionNoChange ( /selection/common.js:984:5)
Pass
assert_equals(object "b̈c̈d̈", object "b̈c̈d̈", "The operation should not replace a registered Range")
    at assertSelectionNoChange ( /selection/common.js:988:5)
Passextend() backwards with range 3 [paras[0].firstChild, 2, paras[0].firstChild, 8] and point 18 [detachedPara1.firstChild, 8]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(1, 1, "The operation should not add Range")
    at assertSelectionNoChange ( /selection/common.js:976:5)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "The operation should not update anchorNode")
    at assertSelectionNoChange ( /selection/common.js:978:5)
Pass
assert_equals(8, 8, "The operation should not update anchorOffset")
    at assertSelectionNoChange ( /selection/common.js:980:5)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "The operation should not update focusNode")
    at assertSelectionNoChange ( /selection/common.js:982:5)
Pass
assert_equals(2, 2, "The operation should not update focusOffset")
    at assertSelectionNoChange ( /selection/common.js:984:5)
Pass
assert_equals(object "b̈c̈d̈", object "b̈c̈d̈", "The operation should not replace a registered Range")
    at assertSelectionNoChange ( /selection/common.js:988:5)
Passextend() forwards with range 3 [paras[0].firstChild, 2, paras[0].firstChild, 8] and point 19 [detachedPara1.firstChild, 9]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(1, 1, "The operation should not add Range")
    at assertSelectionNoChange ( /selection/common.js:976:5)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "The operation should not update anchorNode")
    at assertSelectionNoChange ( /selection/common.js:978:5)
Pass
assert_equals(2, 2, "The operation should not update anchorOffset")
    at assertSelectionNoChange ( /selection/common.js:980:5)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "The operation should not update focusNode")
    at assertSelectionNoChange ( /selection/common.js:982:5)
Pass
assert_equals(8, 8, "The operation should not update focusOffset")
    at assertSelectionNoChange ( /selection/common.js:984:5)
Pass
assert_equals(object "b̈c̈d̈", object "b̈c̈d̈", "The operation should not replace a registered Range")
    at assertSelectionNoChange ( /selection/common.js:988:5)
Passextend() backwards with range 3 [paras[0].firstChild, 2, paras[0].firstChild, 8] and point 19 [detachedPara1.firstChild, 9]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(1, 1, "The operation should not add Range")
    at assertSelectionNoChange ( /selection/common.js:976:5)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "The operation should not update anchorNode")
    at assertSelectionNoChange ( /selection/common.js:978:5)
Pass
assert_equals(8, 8, "The operation should not update anchorOffset")
    at assertSelectionNoChange ( /selection/common.js:980:5)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "The operation should not update focusNode")
    at assertSelectionNoChange ( /selection/common.js:982:5)
Pass
assert_equals(2, 2, "The operation should not update focusOffset")
    at assertSelectionNoChange ( /selection/common.js:984:5)
Pass
assert_equals(object "b̈c̈d̈", object "b̈c̈d̈", "The operation should not replace a registered Range")
    at assertSelectionNoChange ( /selection/common.js:988:5)
Passextend() forwards with range 3 [paras[0].firstChild, 2, paras[0].firstChild, 8] and point 20 [foreignPara1.firstChild, 0]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(1, 1, "The operation should not add Range")
    at assertSelectionNoChange ( /selection/common.js:976:5)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "The operation should not update anchorNode")
    at assertSelectionNoChange ( /selection/common.js:978:5)
Pass
assert_equals(2, 2, "The operation should not update anchorOffset")
    at assertSelectionNoChange ( /selection/common.js:980:5)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "The operation should not update focusNode")
    at assertSelectionNoChange ( /selection/common.js:982:5)
Pass
assert_equals(8, 8, "The operation should not update focusOffset")
    at assertSelectionNoChange ( /selection/common.js:984:5)
Pass
assert_equals(object "b̈c̈d̈", object "b̈c̈d̈", "The operation should not replace a registered Range")
    at assertSelectionNoChange ( /selection/common.js:988:5)
Passextend() backwards with range 3 [paras[0].firstChild, 2, paras[0].firstChild, 8] and point 20 [foreignPara1.firstChild, 0]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(1, 1, "The operation should not add Range")
    at assertSelectionNoChange ( /selection/common.js:976:5)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "The operation should not update anchorNode")
    at assertSelectionNoChange ( /selection/common.js:978:5)
Pass
assert_equals(8, 8, "The operation should not update anchorOffset")
    at assertSelectionNoChange ( /selection/common.js:980:5)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "The operation should not update focusNode")
    at assertSelectionNoChange ( /selection/common.js:982:5)
Pass
assert_equals(2, 2, "The operation should not update focusOffset")
    at assertSelectionNoChange ( /selection/common.js:984:5)
Pass
assert_equals(object "b̈c̈d̈", object "b̈c̈d̈", "The operation should not replace a registered Range")
    at assertSelectionNoChange ( /selection/common.js:988:5)
Passextend() forwards with range 3 [paras[0].firstChild, 2, paras[0].firstChild, 8] and point 21 [foreignPara1.firstChild, 1]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(1, 1, "The operation should not add Range")
    at assertSelectionNoChange ( /selection/common.js:976:5)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "The operation should not update anchorNode")
    at assertSelectionNoChange ( /selection/common.js:978:5)
Pass
assert_equals(2, 2, "The operation should not update anchorOffset")
    at assertSelectionNoChange ( /selection/common.js:980:5)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "The operation should not update focusNode")
    at assertSelectionNoChange ( /selection/common.js:982:5)
Pass
assert_equals(8, 8, "The operation should not update focusOffset")
    at assertSelectionNoChange ( /selection/common.js:984:5)
Pass
assert_equals(object "b̈c̈d̈", object "b̈c̈d̈", "The operation should not replace a registered Range")
    at assertSelectionNoChange ( /selection/common.js:988:5)
Passextend() backwards with range 3 [paras[0].firstChild, 2, paras[0].firstChild, 8] and point 21 [foreignPara1.firstChild, 1]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(1, 1, "The operation should not add Range")
    at assertSelectionNoChange ( /selection/common.js:976:5)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "The operation should not update anchorNode")
    at assertSelectionNoChange ( /selection/common.js:978:5)
Pass
assert_equals(8, 8, "The operation should not update anchorOffset")
    at assertSelectionNoChange ( /selection/common.js:980:5)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "The operation should not update focusNode")
    at assertSelectionNoChange ( /selection/common.js:982:5)
Pass
assert_equals(2, 2, "The operation should not update focusOffset")
    at assertSelectionNoChange ( /selection/common.js:984:5)
Pass
assert_equals(object "b̈c̈d̈", object "b̈c̈d̈", "The operation should not replace a registered Range")
    at assertSelectionNoChange ( /selection/common.js:988:5)
Passextend() forwards with range 3 [paras[0].firstChild, 2, paras[0].firstChild, 8] and point 22 [foreignPara1.firstChild, 8]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(1, 1, "The operation should not add Range")
    at assertSelectionNoChange ( /selection/common.js:976:5)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "The operation should not update anchorNode")
    at assertSelectionNoChange ( /selection/common.js:978:5)
Pass
assert_equals(2, 2, "The operation should not update anchorOffset")
    at assertSelectionNoChange ( /selection/common.js:980:5)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "The operation should not update focusNode")
    at assertSelectionNoChange ( /selection/common.js:982:5)
Pass
assert_equals(8, 8, "The operation should not update focusOffset")
    at assertSelectionNoChange ( /selection/common.js:984:5)
Pass
assert_equals(object "b̈c̈d̈", object "b̈c̈d̈", "The operation should not replace a registered Range")
    at assertSelectionNoChange ( /selection/common.js:988:5)
Passextend() backwards with range 3 [paras[0].firstChild, 2, paras[0].firstChild, 8] and point 22 [foreignPara1.firstChild, 8]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(1, 1, "The operation should not add Range")
    at assertSelectionNoChange ( /selection/common.js:976:5)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "The operation should not update anchorNode")
    at assertSelectionNoChange ( /selection/common.js:978:5)
Pass
assert_equals(8, 8, "The operation should not update anchorOffset")
    at assertSelectionNoChange ( /selection/common.js:980:5)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "The operation should not update focusNode")
    at assertSelectionNoChange ( /selection/common.js:982:5)
Pass
assert_equals(2, 2, "The operation should not update focusOffset")
    at assertSelectionNoChange ( /selection/common.js:984:5)
Pass
assert_equals(object "b̈c̈d̈", object "b̈c̈d̈", "The operation should not replace a registered Range")
    at assertSelectionNoChange ( /selection/common.js:988:5)
Passextend() forwards with range 3 [paras[0].firstChild, 2, paras[0].firstChild, 8] and point 23 [foreignPara1.firstChild, 9]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(1, 1, "The operation should not add Range")
    at assertSelectionNoChange ( /selection/common.js:976:5)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "The operation should not update anchorNode")
    at assertSelectionNoChange ( /selection/common.js:978:5)
Pass
assert_equals(2, 2, "The operation should not update anchorOffset")
    at assertSelectionNoChange ( /selection/common.js:980:5)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "The operation should not update focusNode")
    at assertSelectionNoChange ( /selection/common.js:982:5)
Pass
assert_equals(8, 8, "The operation should not update focusOffset")
    at assertSelectionNoChange ( /selection/common.js:984:5)
Pass
assert_equals(object "b̈c̈d̈", object "b̈c̈d̈", "The operation should not replace a registered Range")
    at assertSelectionNoChange ( /selection/common.js:988:5)
Passextend() backwards with range 3 [paras[0].firstChild, 2, paras[0].firstChild, 8] and point 23 [foreignPara1.firstChild, 9]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(1, 1, "The operation should not add Range")
    at assertSelectionNoChange ( /selection/common.js:976:5)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "The operation should not update anchorNode")
    at assertSelectionNoChange ( /selection/common.js:978:5)
Pass
assert_equals(8, 8, "The operation should not update anchorOffset")
    at assertSelectionNoChange ( /selection/common.js:980:5)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "The operation should not update focusNode")
    at assertSelectionNoChange ( /selection/common.js:982:5)
Pass
assert_equals(2, 2, "The operation should not update focusOffset")
    at assertSelectionNoChange ( /selection/common.js:984:5)
Pass
assert_equals(object "b̈c̈d̈", object "b̈c̈d̈", "The operation should not replace a registered Range")
    at assertSelectionNoChange ( /selection/common.js:988:5)
Passextend() forwards with range 3 [paras[0].firstChild, 2, paras[0].firstChild, 8] and point 24 [document.documentElement, -1]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "Sanity check: startContainer must be correct")
    at testExtend ( /selection/extend.js:80:5)
Pass
assert_equals(2, 2, "Sanity check: startOffset must be correct")
    at testExtend ( /selection/extend.js:82:5)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "Sanity check: endContainer must be correct")
    at testExtend ( /selection/extend.js:84:5)
Pass
assert_equals(8, 8, "Sanity check: endOffset must be correct")
    at testExtend ( /selection/extend.js:86:5)
Pass
assert_throws_dom("INDEX_SIZE_ERR", function "function() {             selection.extend(node, offset);         }", "extend() to an offset that's greater than node length (2) must throw IndexSizeError")
    at testExtend ( /selection/extend.js:117:9)
Passextend() backwards with range 3 [paras[0].firstChild, 2, paras[0].firstChild, 8] and point 24 [document.documentElement, -1]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "Sanity check: startContainer must be correct")
    at testExtend ( /selection/extend.js:80:5)
Pass
assert_equals(2, 2, "Sanity check: startOffset must be correct")
    at testExtend ( /selection/extend.js:82:5)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "Sanity check: endContainer must be correct")
    at testExtend ( /selection/extend.js:84:5)
Pass
assert_equals(8, 8, "Sanity check: endOffset must be correct")
    at testExtend ( /selection/extend.js:86:5)
Pass
assert_throws_dom("INDEX_SIZE_ERR", function "function() {             selection.extend(node, offset);         }", "extend() to an offset that's greater than node length (2) must throw IndexSizeError")
    at testExtend ( /selection/extend.js:117:9)
Passextend() forwards with range 3 [paras[0].firstChild, 2, paras[0].firstChild, 8] and point 25 [document.documentElement, 0]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "Sanity check: startContainer must be correct")
    at testExtend ( /selection/extend.js:80:5)
Pass
assert_equals(2, 2, "Sanity check: startOffset must be correct")
    at testExtend ( /selection/extend.js:82:5)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "Sanity check: endContainer must be correct")
    at testExtend ( /selection/extend.js:84:5)
Pass
assert_equals(8, 8, "Sanity check: endOffset must be correct")
    at testExtend ( /selection/extend.js:86:5)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "anchorNode must not change if the node passed to extend() has the same root as the original range")
    at testExtend ( /selection/extend.js:145:9)
Pass
assert_equals(2, 2, "anchorOffset must not change if the node passed to extend() has the same root as the original range")
    at testExtend ( /selection/extend.js:147:9)
Pass
assert_equals(Element node <html><head><title>Selection extend() tests</title> <meta..., Element node <html><head><title>Selection extend() tests</title> <meta..., "focusNode must be the node passed to extend()")
    at testExtend ( /selection/extend.js:155:5)
Pass
assert_equals(0, 0, "focusOffset must be the offset passed to extend()")
    at testExtend ( /selection/extend.js:157:5)
Pass
assert_not_equals(object "Selection extend() tests   Ä", object "b̈c̈d̈", "extend() must replace any existing range with a new one, not mutate the existing one")
    at testExtend ( /selection/extend.js:159:5)
Passextend() backwards with range 3 [paras[0].firstChild, 2, paras[0].firstChild, 8] and point 25 [document.documentElement, 0]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "Sanity check: startContainer must be correct")
    at testExtend ( /selection/extend.js:80:5)
Pass
assert_equals(2, 2, "Sanity check: startOffset must be correct")
    at testExtend ( /selection/extend.js:82:5)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "Sanity check: endContainer must be correct")
    at testExtend ( /selection/extend.js:84:5)
Pass
assert_equals(8, 8, "Sanity check: endOffset must be correct")
    at testExtend ( /selection/extend.js:86:5)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "anchorNode must not change if the node passed to extend() has the same root as the original range")
    at testExtend ( /selection/extend.js:145:9)
Pass
assert_equals(8, 8, "anchorOffset must not change if the node passed to extend() has the same root as the original range")
    at testExtend ( /selection/extend.js:147:9)
Pass
assert_equals(Element node <html><head><title>Selection extend() tests</title> <meta..., Element node <html><head><title>Selection extend() tests</title> <meta..., "focusNode must be the node passed to extend()")
    at testExtend ( /selection/extend.js:155:5)
Pass
assert_equals(0, 0, "focusOffset must be the offset passed to extend()")
    at testExtend ( /selection/extend.js:157:5)
Pass
assert_not_equals(object "Selection extend() tests   Äb̈c̈d̈", object "b̈c̈d̈", "extend() must replace any existing range with a new one, not mutate the existing one")
    at testExtend ( /selection/extend.js:159:5)
Passextend() forwards with range 3 [paras[0].firstChild, 2, paras[0].firstChild, 8] and point 26 [document.documentElement, 1]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "Sanity check: startContainer must be correct")
    at testExtend ( /selection/extend.js:80:5)
Pass
assert_equals(2, 2, "Sanity check: startOffset must be correct")
    at testExtend ( /selection/extend.js:82:5)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "Sanity check: endContainer must be correct")
    at testExtend ( /selection/extend.js:84:5)
Pass
assert_equals(8, 8, "Sanity check: endOffset must be correct")
    at testExtend ( /selection/extend.js:86:5)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "anchorNode must not change if the node passed to extend() has the same root as the original range")
    at testExtend ( /selection/extend.js:145:9)
Pass
assert_equals(2, 2, "anchorOffset must not change if the node passed to extend() has the same root as the original range")
    at testExtend ( /selection/extend.js:147:9)
Pass
assert_equals(Element node <html><head><title>Selection extend() tests</title> <meta..., Element node <html><head><title>Selection extend() tests</title> <meta..., "focusNode must be the node passed to extend()")
    at testExtend ( /selection/extend.js:155:5)
Pass
assert_equals(1, 1, "focusOffset must be the offset passed to extend()")
    at testExtend ( /selection/extend.js:157:5)
Pass
assert_not_equals(object "Ä", object "b̈c̈d̈", "extend() must replace any existing range with a new one, not mutate the existing one")
    at testExtend ( /selection/extend.js:159:5)
Passextend() backwards with range 3 [paras[0].firstChild, 2, paras[0].firstChild, 8] and point 26 [document.documentElement, 1]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "Sanity check: startContainer must be correct")
    at testExtend ( /selection/extend.js:80:5)
Pass
assert_equals(2, 2, "Sanity check: startOffset must be correct")
    at testExtend ( /selection/extend.js:82:5)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "Sanity check: endContainer must be correct")
    at testExtend ( /selection/extend.js:84:5)
Pass
assert_equals(8, 8, "Sanity check: endOffset must be correct")
    at testExtend ( /selection/extend.js:86:5)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "anchorNode must not change if the node passed to extend() has the same root as the original range")
    at testExtend ( /selection/extend.js:145:9)
Pass
assert_equals(8, 8, "anchorOffset must not change if the node passed to extend() has the same root as the original range")
    at testExtend ( /selection/extend.js:147:9)
Pass
assert_equals(Element node <html><head><title>Selection extend() tests</title> <meta..., Element node <html><head><title>Selection extend() tests</title> <meta..., "focusNode must be the node passed to extend()")
    at testExtend ( /selection/extend.js:155:5)
Pass
assert_equals(1, 1, "focusOffset must be the offset passed to extend()")
    at testExtend ( /selection/extend.js:157:5)
Pass
assert_not_equals(object "Äb̈c̈d̈", object "b̈c̈d̈", "extend() must replace any existing range with a new one, not mutate the existing one")
    at testExtend ( /selection/extend.js:159:5)
Passextend() forwards with range 3 [paras[0].firstChild, 2, paras[0].firstChild, 8] and point 27 [document.documentElement, 2]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "Sanity check: startContainer must be correct")
    at testExtend ( /selection/extend.js:80:5)
Pass
assert_equals(2, 2, "Sanity check: startOffset must be correct")
    at testExtend ( /selection/extend.js:82:5)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "Sanity check: endContainer must be correct")
    at testExtend ( /selection/extend.js:84:5)
Pass
assert_equals(8, 8, "Sanity check: endOffset must be correct")
    at testExtend ( /selection/extend.js:86:5)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "anchorNode must not change if the node passed to extend() has the same root as the original range")
    at testExtend ( /selection/extend.js:145:9)
Pass
assert_equals(2, 2, "anchorOffset must not change if the node passed to extend() has the same root as the original range")
    at testExtend ( /selection/extend.js:147:9)
Pass
assert_equals(Element node <html><head><title>Selection extend() tests</title> <meta..., Element node <html><head><title>Selection extend() tests</title> <meta..., "focusNode must be the node passed to extend()")
    at testExtend ( /selection/extend.js:155:5)
Pass
assert_equals(2, 2, "focusOffset must be the offset passed to extend()")
    at testExtend ( /selection/extend.js:157:5)
Pass
assert_not_equals(object "b̈c̈d̈ëf̈g̈ḧ Ijklmnop QrstuvwxYzabcdefGhijklmn     Running, 300 complete, 1 remain  "use strict";  testExtendSubSet(0, 20); testDiv.style.display = "none"; ", object "b̈c̈d̈", "extend() must replace any existing range with a new one, not mutate the existing one")
    at testExtend ( /selection/extend.js:159:5)
Passextend() backwards with range 3 [paras[0].firstChild, 2, paras[0].firstChild, 8] and point 27 [document.documentElement, 2]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "Sanity check: startContainer must be correct")
    at testExtend ( /selection/extend.js:80:5)
Pass
assert_equals(2, 2, "Sanity check: startOffset must be correct")
    at testExtend ( /selection/extend.js:82:5)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "Sanity check: endContainer must be correct")
    at testExtend ( /selection/extend.js:84:5)
Pass
assert_equals(8, 8, "Sanity check: endOffset must be correct")
    at testExtend ( /selection/extend.js:86:5)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "anchorNode must not change if the node passed to extend() has the same root as the original range")
    at testExtend ( /selection/extend.js:145:9)
Pass
assert_equals(8, 8, "anchorOffset must not change if the node passed to extend() has the same root as the original range")
    at testExtend ( /selection/extend.js:147:9)
Pass
assert_equals(Element node <html><head><title>Selection extend() tests</title> <meta..., Element node <html><head><title>Selection extend() tests</title> <meta..., "focusNode must be the node passed to extend()")
    at testExtend ( /selection/extend.js:155:5)
Pass
assert_equals(2, 2, "focusOffset must be the offset passed to extend()")
    at testExtend ( /selection/extend.js:157:5)
Pass
assert_not_equals(object "ëf̈g̈ḧ Ijklmnop QrstuvwxYzabcdefGhijklmn     Running, 300 complete, 1 remain  "use strict";  testExtendSubSet(0, 20); testDiv.style.display = "none"; ", object "b̈c̈d̈", "extend() must replace any existing range with a new one, not mutate the existing one")
    at testExtend ( /selection/extend.js:159:5)
Passextend() forwards with range 3 [paras[0].firstChild, 2, paras[0].firstChild, 8] and point 28 [document.documentElement, 7]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "Sanity check: startContainer must be correct")
    at testExtend ( /selection/extend.js:80:5)
Pass
assert_equals(2, 2, "Sanity check: startOffset must be correct")
    at testExtend ( /selection/extend.js:82:5)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "Sanity check: endContainer must be correct")
    at testExtend ( /selection/extend.js:84:5)
Pass
assert_equals(8, 8, "Sanity check: endOffset must be correct")
    at testExtend ( /selection/extend.js:86:5)
Pass
assert_throws_dom("INDEX_SIZE_ERR", function "function() {             selection.extend(node, offset);         }", "extend() to an offset that's greater than node length (2) must throw IndexSizeError")
    at testExtend ( /selection/extend.js:117:9)
Passextend() backwards with range 3 [paras[0].firstChild, 2, paras[0].firstChild, 8] and point 28 [document.documentElement, 7]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "Sanity check: startContainer must be correct")
    at testExtend ( /selection/extend.js:80:5)
Pass
assert_equals(2, 2, "Sanity check: startOffset must be correct")
    at testExtend ( /selection/extend.js:82:5)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "Sanity check: endContainer must be correct")
    at testExtend ( /selection/extend.js:84:5)
Pass
assert_equals(8, 8, "Sanity check: endOffset must be correct")
    at testExtend ( /selection/extend.js:86:5)
Pass
assert_throws_dom("INDEX_SIZE_ERR", function "function() {             selection.extend(node, offset);         }", "extend() to an offset that's greater than node length (2) must throw IndexSizeError")
    at testExtend ( /selection/extend.js:117:9)
Passextend() forwards with range 3 [paras[0].firstChild, 2, paras[0].firstChild, 8] and point 29 [document.head, 1]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "Sanity check: startContainer must be correct")
    at testExtend ( /selection/extend.js:80:5)
Pass
assert_equals(2, 2, "Sanity check: startOffset must be correct")
    at testExtend ( /selection/extend.js:82:5)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "Sanity check: endContainer must be correct")
    at testExtend ( /selection/extend.js:84:5)
Pass
assert_equals(8, 8, "Sanity check: endOffset must be correct")
    at testExtend ( /selection/extend.js:86:5)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "anchorNode must not change if the node passed to extend() has the same root as the original range")
    at testExtend ( /selection/extend.js:145:9)
Pass
assert_equals(2, 2, "anchorOffset must not change if the node passed to extend() has the same root as the original range")
    at testExtend ( /selection/extend.js:147:9)
Pass
assert_equals(Element node <head><title>Selection extend() tests</title> <meta chars..., Element node <head><title>Selection extend() tests</title> <meta chars..., "focusNode must be the node passed to extend()")
    at testExtend ( /selection/extend.js:155:5)
Pass
assert_equals(1, 1, "focusOffset must be the offset passed to extend()")
    at testExtend ( /selection/extend.js:157:5)
Pass
assert_not_equals(object "   Ä", object "b̈c̈d̈", "extend() must replace any existing range with a new one, not mutate the existing one")
    at testExtend ( /selection/extend.js:159:5)
Passextend() backwards with range 3 [paras[0].firstChild, 2, paras[0].firstChild, 8] and point 29 [document.head, 1]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "Sanity check: startContainer must be correct")
    at testExtend ( /selection/extend.js:80:5)
Pass
assert_equals(2, 2, "Sanity check: startOffset must be correct")
    at testExtend ( /selection/extend.js:82:5)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "Sanity check: endContainer must be correct")
    at testExtend ( /selection/extend.js:84:5)
Pass
assert_equals(8, 8, "Sanity check: endOffset must be correct")
    at testExtend ( /selection/extend.js:86:5)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "anchorNode must not change if the node passed to extend() has the same root as the original range")
    at testExtend ( /selection/extend.js:145:9)
Pass
assert_equals(8, 8, "anchorOffset must not change if the node passed to extend() has the same root as the original range")
    at testExtend ( /selection/extend.js:147:9)
Pass
assert_equals(Element node <head><title>Selection extend() tests</title> <meta chars..., Element node <head><title>Selection extend() tests</title> <meta chars..., "focusNode must be the node passed to extend()")
    at testExtend ( /selection/extend.js:155:5)
Pass
assert_equals(1, 1, "focusOffset must be the offset passed to extend()")
    at testExtend ( /selection/extend.js:157:5)
Pass
assert_not_equals(object "   Äb̈c̈d̈", object "b̈c̈d̈", "extend() must replace any existing range with a new one, not mutate the existing one")
    at testExtend ( /selection/extend.js:159:5)
Passextend() forwards with range 3 [paras[0].firstChild, 2, paras[0].firstChild, 8] and point 30 [document.body, 3]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "Sanity check: startContainer must be correct")
    at testExtend ( /selection/extend.js:80:5)
Pass
assert_equals(2, 2, "Sanity check: startOffset must be correct")
    at testExtend ( /selection/extend.js:82:5)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "Sanity check: endContainer must be correct")
    at testExtend ( /selection/extend.js:84:5)
Pass
assert_equals(8, 8, "Sanity check: endOffset must be correct")
    at testExtend ( /selection/extend.js:86:5)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "anchorNode must not change if the node passed to extend() has the same root as the original range")
    at testExtend ( /selection/extend.js:145:9)
Pass
assert_equals(2, 2, "anchorOffset must not change if the node passed to extend() has the same root as the original range")
    at testExtend ( /selection/extend.js:147:9)
Pass
assert_equals(Element node <body><div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ </p><p id..., Element node <body><div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ </p><p id..., "focusNode must be the node passed to extend()")
    at testExtend ( /selection/extend.js:155:5)
Pass
assert_equals(3, 3, "focusOffset must be the offset passed to extend()")
    at testExtend ( /selection/extend.js:157:5)
Pass
assert_not_equals(object "b̈c̈d̈ëf̈g̈ḧ Ijklmnop QrstuvwxYzabcdefGhijklmn ", object "b̈c̈d̈", "extend() must replace any existing range with a new one, not mutate the existing one")
    at testExtend ( /selection/extend.js:159:5)
Passextend() backwards with range 3 [paras[0].firstChild, 2, paras[0].firstChild, 8] and point 30 [document.body, 3]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "Sanity check: startContainer must be correct")
    at testExtend ( /selection/extend.js:80:5)
Pass
assert_equals(2, 2, "Sanity check: startOffset must be correct")
    at testExtend ( /selection/extend.js:82:5)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "Sanity check: endContainer must be correct")
    at testExtend ( /selection/extend.js:84:5)
Pass
assert_equals(8, 8, "Sanity check: endOffset must be correct")
    at testExtend ( /selection/extend.js:86:5)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "anchorNode must not change if the node passed to extend() has the same root as the original range")
    at testExtend ( /selection/extend.js:145:9)
Pass
assert_equals(8, 8, "anchorOffset must not change if the node passed to extend() has the same root as the original range")
    at testExtend ( /selection/extend.js:147:9)
Pass
assert_equals(Element node <body><div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ </p><p id..., Element node <body><div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ </p><p id..., "focusNode must be the node passed to extend()")
    at testExtend ( /selection/extend.js:155:5)
Pass
assert_equals(3, 3, "focusOffset must be the offset passed to extend()")
    at testExtend ( /selection/extend.js:157:5)
Pass
assert_not_equals(object "ëf̈g̈ḧ Ijklmnop QrstuvwxYzabcdefGhijklmn ", object "b̈c̈d̈", "extend() must replace any existing range with a new one, not mutate the existing one")
    at testExtend ( /selection/extend.js:159:5)
Passextend() forwards with range 3 [paras[0].firstChild, 2, paras[0].firstChild, 8] and point 31 [foreignDoc.documentElement, 0]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(1, 1, "The operation should not add Range")
    at assertSelectionNoChange ( /selection/common.js:976:5)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "The operation should not update anchorNode")
    at assertSelectionNoChange ( /selection/common.js:978:5)
Pass
assert_equals(2, 2, "The operation should not update anchorOffset")
    at assertSelectionNoChange ( /selection/common.js:980:5)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "The operation should not update focusNode")
    at assertSelectionNoChange ( /selection/common.js:982:5)
Pass
assert_equals(8, 8, "The operation should not update focusOffset")
    at assertSelectionNoChange ( /selection/common.js:984:5)
Pass
assert_equals(object "b̈c̈d̈", object "b̈c̈d̈", "The operation should not replace a registered Range")
    at assertSelectionNoChange ( /selection/common.js:988:5)
Passextend() backwards with range 3 [paras[0].firstChild, 2, paras[0].firstChild, 8] and point 31 [foreignDoc.documentElement, 0]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(1, 1, "The operation should not add Range")
    at assertSelectionNoChange ( /selection/common.js:976:5)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "The operation should not update anchorNode")
    at assertSelectionNoChange ( /selection/common.js:978:5)
Pass
assert_equals(8, 8, "The operation should not update anchorOffset")
    at assertSelectionNoChange ( /selection/common.js:980:5)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "The operation should not update focusNode")
    at assertSelectionNoChange ( /selection/common.js:982:5)
Pass
assert_equals(2, 2, "The operation should not update focusOffset")
    at assertSelectionNoChange ( /selection/common.js:984:5)
Pass
assert_equals(object "b̈c̈d̈", object "b̈c̈d̈", "The operation should not replace a registered Range")
    at assertSelectionNoChange ( /selection/common.js:988:5)
Passextend() forwards with range 3 [paras[0].firstChild, 2, paras[0].firstChild, 8] and point 32 [foreignDoc.documentElement, 1]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(1, 1, "The operation should not add Range")
    at assertSelectionNoChange ( /selection/common.js:976:5)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "The operation should not update anchorNode")
    at assertSelectionNoChange ( /selection/common.js:978:5)
Pass
assert_equals(2, 2, "The operation should not update anchorOffset")
    at assertSelectionNoChange ( /selection/common.js:980:5)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "The operation should not update focusNode")
    at assertSelectionNoChange ( /selection/common.js:982:5)
Pass
assert_equals(8, 8, "The operation should not update focusOffset")
    at assertSelectionNoChange ( /selection/common.js:984:5)
Pass
assert_equals(object "b̈c̈d̈", object "b̈c̈d̈", "The operation should not replace a registered Range")
    at assertSelectionNoChange ( /selection/common.js:988:5)
Passextend() backwards with range 3 [paras[0].firstChild, 2, paras[0].firstChild, 8] and point 32 [foreignDoc.documentElement, 1]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(1, 1, "The operation should not add Range")
    at assertSelectionNoChange ( /selection/common.js:976:5)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "The operation should not update anchorNode")
    at assertSelectionNoChange ( /selection/common.js:978:5)
Pass
assert_equals(8, 8, "The operation should not update anchorOffset")
    at assertSelectionNoChange ( /selection/common.js:980:5)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "The operation should not update focusNode")
    at assertSelectionNoChange ( /selection/common.js:982:5)
Pass
assert_equals(2, 2, "The operation should not update focusOffset")
    at assertSelectionNoChange ( /selection/common.js:984:5)
Pass
assert_equals(object "b̈c̈d̈", object "b̈c̈d̈", "The operation should not replace a registered Range")
    at assertSelectionNoChange ( /selection/common.js:988:5)
Passextend() forwards with range 3 [paras[0].firstChild, 2, paras[0].firstChild, 8] and point 33 [foreignDoc.head, 0]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(1, 1, "The operation should not add Range")
    at assertSelectionNoChange ( /selection/common.js:976:5)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "The operation should not update anchorNode")
    at assertSelectionNoChange ( /selection/common.js:978:5)
Pass
assert_equals(2, 2, "The operation should not update anchorOffset")
    at assertSelectionNoChange ( /selection/common.js:980:5)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "The operation should not update focusNode")
    at assertSelectionNoChange ( /selection/common.js:982:5)
Pass
assert_equals(8, 8, "The operation should not update focusOffset")
    at assertSelectionNoChange ( /selection/common.js:984:5)
Pass
assert_equals(object "b̈c̈d̈", object "b̈c̈d̈", "The operation should not replace a registered Range")
    at assertSelectionNoChange ( /selection/common.js:988:5)
Passextend() backwards with range 3 [paras[0].firstChild, 2, paras[0].firstChild, 8] and point 33 [foreignDoc.head, 0]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(1, 1, "The operation should not add Range")
    at assertSelectionNoChange ( /selection/common.js:976:5)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "The operation should not update anchorNode")
    at assertSelectionNoChange ( /selection/common.js:978:5)
Pass
assert_equals(8, 8, "The operation should not update anchorOffset")
    at assertSelectionNoChange ( /selection/common.js:980:5)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "The operation should not update focusNode")
    at assertSelectionNoChange ( /selection/common.js:982:5)
Pass
assert_equals(2, 2, "The operation should not update focusOffset")
    at assertSelectionNoChange ( /selection/common.js:984:5)
Pass
assert_equals(object "b̈c̈d̈", object "b̈c̈d̈", "The operation should not replace a registered Range")
    at assertSelectionNoChange ( /selection/common.js:988:5)
Passextend() forwards with range 3 [paras[0].firstChild, 2, paras[0].firstChild, 8] and point 34 [foreignDoc.body, 1]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(1, 1, "The operation should not add Range")
    at assertSelectionNoChange ( /selection/common.js:976:5)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "The operation should not update anchorNode")
    at assertSelectionNoChange ( /selection/common.js:978:5)
Pass
assert_equals(2, 2, "The operation should not update anchorOffset")
    at assertSelectionNoChange ( /selection/common.js:980:5)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "The operation should not update focusNode")
    at assertSelectionNoChange ( /selection/common.js:982:5)
Pass
assert_equals(8, 8, "The operation should not update focusOffset")
    at assertSelectionNoChange ( /selection/common.js:984:5)
Pass
assert_equals(object "b̈c̈d̈", object "b̈c̈d̈", "The operation should not replace a registered Range")
    at assertSelectionNoChange ( /selection/common.js:988:5)
Passextend() backwards with range 3 [paras[0].firstChild, 2, paras[0].firstChild, 8] and point 34 [foreignDoc.body, 1]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(1, 1, "The operation should not add Range")
    at assertSelectionNoChange ( /selection/common.js:976:5)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "The operation should not update anchorNode")
    at assertSelectionNoChange ( /selection/common.js:978:5)
Pass
assert_equals(8, 8, "The operation should not update anchorOffset")
    at assertSelectionNoChange ( /selection/common.js:980:5)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "The operation should not update focusNode")
    at assertSelectionNoChange ( /selection/common.js:982:5)
Pass
assert_equals(2, 2, "The operation should not update focusOffset")
    at assertSelectionNoChange ( /selection/common.js:984:5)
Pass
assert_equals(object "b̈c̈d̈", object "b̈c̈d̈", "The operation should not replace a registered Range")
    at assertSelectionNoChange ( /selection/common.js:988:5)
Passextend() forwards with range 3 [paras[0].firstChild, 2, paras[0].firstChild, 8] and point 35 [paras[0], 0]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "Sanity check: startContainer must be correct")
    at testExtend ( /selection/extend.js:80:5)
Pass
assert_equals(2, 2, "Sanity check: startOffset must be correct")
    at testExtend ( /selection/extend.js:82:5)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "Sanity check: endContainer must be correct")
    at testExtend ( /selection/extend.js:84:5)
Pass
assert_equals(8, 8, "Sanity check: endOffset must be correct")
    at testExtend ( /selection/extend.js:86:5)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "anchorNode must not change if the node passed to extend() has the same root as the original range")
    at testExtend ( /selection/extend.js:145:9)
Pass
assert_equals(2, 2, "anchorOffset must not change if the node passed to extend() has the same root as the original range")
    at testExtend ( /selection/extend.js:147:9)
Pass
assert_equals(Element node <p id="a">Äb̈c̈d̈ëf̈g̈ḧ </p>, Element node <p id="a">Äb̈c̈d̈ëf̈g̈ḧ </p>, "focusNode must be the node passed to extend()")
    at testExtend ( /selection/extend.js:155:5)
Pass
assert_equals(0, 0, "focusOffset must be the offset passed to extend()")
    at testExtend ( /selection/extend.js:157:5)
Pass
assert_not_equals(object "Ä", object "b̈c̈d̈", "extend() must replace any existing range with a new one, not mutate the existing one")
    at testExtend ( /selection/extend.js:159:5)
Passextend() backwards with range 3 [paras[0].firstChild, 2, paras[0].firstChild, 8] and point 35 [paras[0], 0]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "Sanity check: startContainer must be correct")
    at testExtend ( /selection/extend.js:80:5)
Pass
assert_equals(2, 2, "Sanity check: startOffset must be correct")
    at testExtend ( /selection/extend.js:82:5)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "Sanity check: endContainer must be correct")
    at testExtend ( /selection/extend.js:84:5)
Pass
assert_equals(8, 8, "Sanity check: endOffset must be correct")
    at testExtend ( /selection/extend.js:86:5)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "anchorNode must not change if the node passed to extend() has the same root as the original range")
    at testExtend ( /selection/extend.js:145:9)
Pass
assert_equals(8, 8, "anchorOffset must not change if the node passed to extend() has the same root as the original range")
    at testExtend ( /selection/extend.js:147:9)
Pass
assert_equals(Element node <p id="a">Äb̈c̈d̈ëf̈g̈ḧ </p>, Element node <p id="a">Äb̈c̈d̈ëf̈g̈ḧ </p>, "focusNode must be the node passed to extend()")
    at testExtend ( /selection/extend.js:155:5)
Pass
assert_equals(0, 0, "focusOffset must be the offset passed to extend()")
    at testExtend ( /selection/extend.js:157:5)
Pass
assert_not_equals(object "Äb̈c̈d̈", object "b̈c̈d̈", "extend() must replace any existing range with a new one, not mutate the existing one")
    at testExtend ( /selection/extend.js:159:5)
Passextend() forwards with range 3 [paras[0].firstChild, 2, paras[0].firstChild, 8] and point 36 [paras[0], 1]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "Sanity check: startContainer must be correct")
    at testExtend ( /selection/extend.js:80:5)
Pass
assert_equals(2, 2, "Sanity check: startOffset must be correct")
    at testExtend ( /selection/extend.js:82:5)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "Sanity check: endContainer must be correct")
    at testExtend ( /selection/extend.js:84:5)
Pass
assert_equals(8, 8, "Sanity check: endOffset must be correct")
    at testExtend ( /selection/extend.js:86:5)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "anchorNode must not change if the node passed to extend() has the same root as the original range")
    at testExtend ( /selection/extend.js:145:9)
Pass
assert_equals(2, 2, "anchorOffset must not change if the node passed to extend() has the same root as the original range")
    at testExtend ( /selection/extend.js:147:9)
Pass
assert_equals(Element node <p id="a">Äb̈c̈d̈ëf̈g̈ḧ </p>, Element node <p id="a">Äb̈c̈d̈ëf̈g̈ḧ </p>, "focusNode must be the node passed to extend()")
    at testExtend ( /selection/extend.js:155:5)
Pass
assert_equals(1, 1, "focusOffset must be the offset passed to extend()")
    at testExtend ( /selection/extend.js:157:5)
Pass
assert_not_equals(object "b̈c̈d̈ëf̈g̈ḧ ", object "b̈c̈d̈", "extend() must replace any existing range with a new one, not mutate the existing one")
    at testExtend ( /selection/extend.js:159:5)
Passextend() backwards with range 3 [paras[0].firstChild, 2, paras[0].firstChild, 8] and point 36 [paras[0], 1]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "Sanity check: startContainer must be correct")
    at testExtend ( /selection/extend.js:80:5)
Pass
assert_equals(2, 2, "Sanity check: startOffset must be correct")
    at testExtend ( /selection/extend.js:82:5)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "Sanity check: endContainer must be correct")
    at testExtend ( /selection/extend.js:84:5)
Pass
assert_equals(8, 8, "Sanity check: endOffset must be correct")
    at testExtend ( /selection/extend.js:86:5)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "anchorNode must not change if the node passed to extend() has the same root as the original range")
    at testExtend ( /selection/extend.js:145:9)
Pass
assert_equals(8, 8, "anchorOffset must not change if the node passed to extend() has the same root as the original range")
    at testExtend ( /selection/extend.js:147:9)
Pass
assert_equals(Element node <p id="a">Äb̈c̈d̈ëf̈g̈ḧ </p>, Element node <p id="a">Äb̈c̈d̈ëf̈g̈ḧ </p>, "focusNode must be the node passed to extend()")
    at testExtend ( /selection/extend.js:155:5)
Pass
assert_equals(1, 1, "focusOffset must be the offset passed to extend()")
    at testExtend ( /selection/extend.js:157:5)
Pass
assert_not_equals(object "ëf̈g̈ḧ ", object "b̈c̈d̈", "extend() must replace any existing range with a new one, not mutate the existing one")
    at testExtend ( /selection/extend.js:159:5)
Passextend() forwards with range 3 [paras[0].firstChild, 2, paras[0].firstChild, 8] and point 37 [paras[0], 2]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "Sanity check: startContainer must be correct")
    at testExtend ( /selection/extend.js:80:5)
Pass
assert_equals(2, 2, "Sanity check: startOffset must be correct")
    at testExtend ( /selection/extend.js:82:5)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "Sanity check: endContainer must be correct")
    at testExtend ( /selection/extend.js:84:5)
Pass
assert_equals(8, 8, "Sanity check: endOffset must be correct")
    at testExtend ( /selection/extend.js:86:5)
Pass
assert_throws_dom("INDEX_SIZE_ERR", function "function() {             selection.extend(node, offset);         }", "extend() to an offset that's greater than node length (1) must throw IndexSizeError")
    at testExtend ( /selection/extend.js:117:9)
Passextend() backwards with range 3 [paras[0].firstChild, 2, paras[0].firstChild, 8] and point 37 [paras[0], 2]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "Sanity check: startContainer must be correct")
    at testExtend ( /selection/extend.js:80:5)
Pass
assert_equals(2, 2, "Sanity check: startOffset must be correct")
    at testExtend ( /selection/extend.js:82:5)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "Sanity check: endContainer must be correct")
    at testExtend ( /selection/extend.js:84:5)
Pass
assert_equals(8, 8, "Sanity check: endOffset must be correct")
    at testExtend ( /selection/extend.js:86:5)
Pass
assert_throws_dom("INDEX_SIZE_ERR", function "function() {             selection.extend(node, offset);         }", "extend() to an offset that's greater than node length (1) must throw IndexSizeError")
    at testExtend ( /selection/extend.js:117:9)
Passextend() forwards with range 3 [paras[0].firstChild, 2, paras[0].firstChild, 8] and point 38 [paras[1], 0]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "Sanity check: startContainer must be correct")
    at testExtend ( /selection/extend.js:80:5)
Pass
assert_equals(2, 2, "Sanity check: startOffset must be correct")
    at testExtend ( /selection/extend.js:82:5)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "Sanity check: endContainer must be correct")
    at testExtend ( /selection/extend.js:84:5)
Pass
assert_equals(8, 8, "Sanity check: endOffset must be correct")
    at testExtend ( /selection/extend.js:86:5)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "anchorNode must not change if the node passed to extend() has the same root as the original range")
    at testExtend ( /selection/extend.js:145:9)
Pass
assert_equals(2, 2, "anchorOffset must not change if the node passed to extend() has the same root as the original range")
    at testExtend ( /selection/extend.js:147:9)
Pass
assert_equals(Element node <p id="b" style="display:none">Ijklmnop </p>, Element node <p id="b" style="display:none">Ijklmnop </p>, "focusNode must be the node passed to extend()")
    at testExtend ( /selection/extend.js:155:5)
Pass
assert_equals(0, 0, "focusOffset must be the offset passed to extend()")
    at testExtend ( /selection/extend.js:157:5)
Pass
assert_not_equals(object "b̈c̈d̈ëf̈g̈ḧ ", object "b̈c̈d̈", "extend() must replace any existing range with a new one, not mutate the existing one")
    at testExtend ( /selection/extend.js:159:5)
Passextend() backwards with range 3 [paras[0].firstChild, 2, paras[0].firstChild, 8] and point 38 [paras[1], 0]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "Sanity check: startContainer must be correct")
    at testExtend ( /selection/extend.js:80:5)
Pass
assert_equals(2, 2, "Sanity check: startOffset must be correct")
    at testExtend ( /selection/extend.js:82:5)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "Sanity check: endContainer must be correct")
    at testExtend ( /selection/extend.js:84:5)
Pass
assert_equals(8, 8, "Sanity check: endOffset must be correct")
    at testExtend ( /selection/extend.js:86:5)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "anchorNode must not change if the node passed to extend() has the same root as the original range")
    at testExtend ( /selection/extend.js:145:9)
Pass
assert_equals(8, 8, "anchorOffset must not change if the node passed to extend() has the same root as the original range")
    at testExtend ( /selection/extend.js:147:9)
Pass
assert_equals(Element node <p id="b" style="display:none">Ijklmnop </p>, Element node <p id="b" style="display:none">Ijklmnop </p>, "focusNode must be the node passed to extend()")
    at testExtend ( /selection/extend.js:155:5)
Pass
assert_equals(0, 0, "focusOffset must be the offset passed to extend()")
    at testExtend ( /selection/extend.js:157:5)
Pass
assert_not_equals(object "ëf̈g̈ḧ ", object "b̈c̈d̈", "extend() must replace any existing range with a new one, not mutate the existing one")
    at testExtend ( /selection/extend.js:159:5)
Passextend() forwards with range 3 [paras[0].firstChild, 2, paras[0].firstChild, 8] and point 39 [paras[1], 1]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "Sanity check: startContainer must be correct")
    at testExtend ( /selection/extend.js:80:5)
Pass
assert_equals(2, 2, "Sanity check: startOffset must be correct")
    at testExtend ( /selection/extend.js:82:5)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "Sanity check: endContainer must be correct")
    at testExtend ( /selection/extend.js:84:5)
Pass
assert_equals(8, 8, "Sanity check: endOffset must be correct")
    at testExtend ( /selection/extend.js:86:5)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "anchorNode must not change if the node passed to extend() has the same root as the original range")
    at testExtend ( /selection/extend.js:145:9)
Pass
assert_equals(2, 2, "anchorOffset must not change if the node passed to extend() has the same root as the original range")
    at testExtend ( /selection/extend.js:147:9)
Pass
assert_equals(Element node <p id="b" style="display:none">Ijklmnop </p>, Element node <p id="b" style="display:none">Ijklmnop </p>, "focusNode must be the node passed to extend()")
    at testExtend ( /selection/extend.js:155:5)
Pass
assert_equals(1, 1, "focusOffset must be the offset passed to extend()")
    at testExtend ( /selection/extend.js:157:5)
Pass
assert_not_equals(object "b̈c̈d̈ëf̈g̈ḧ Ijklmnop ", object "b̈c̈d̈", "extend() must replace any existing range with a new one, not mutate the existing one")
    at testExtend ( /selection/extend.js:159:5)
Passextend() backwards with range 3 [paras[0].firstChild, 2, paras[0].firstChild, 8] and point 39 [paras[1], 1]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "Sanity check: startContainer must be correct")
    at testExtend ( /selection/extend.js:80:5)
Pass
assert_equals(2, 2, "Sanity check: startOffset must be correct")
    at testExtend ( /selection/extend.js:82:5)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "Sanity check: endContainer must be correct")
    at testExtend ( /selection/extend.js:84:5)
Pass
assert_equals(8, 8, "Sanity check: endOffset must be correct")
    at testExtend ( /selection/extend.js:86:5)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "anchorNode must not change if the node passed to extend() has the same root as the original range")
    at testExtend ( /selection/extend.js:145:9)
Pass
assert_equals(8, 8, "anchorOffset must not change if the node passed to extend() has the same root as the original range")
    at testExtend ( /selection/extend.js:147:9)
Pass
assert_equals(Element node <p id="b" style="display:none">Ijklmnop </p>, Element node <p id="b" style="display:none">Ijklmnop </p>, "focusNode must be the node passed to extend()")
    at testExtend ( /selection/extend.js:155:5)
Pass
assert_equals(1, 1, "focusOffset must be the offset passed to extend()")
    at testExtend ( /selection/extend.js:157:5)
Pass
assert_not_equals(object "ëf̈g̈ḧ Ijklmnop ", object "b̈c̈d̈", "extend() must replace any existing range with a new one, not mutate the existing one")
    at testExtend ( /selection/extend.js:159:5)
Passextend() forwards with range 3 [paras[0].firstChild, 2, paras[0].firstChild, 8] and point 40 [paras[1], 2]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "Sanity check: startContainer must be correct")
    at testExtend ( /selection/extend.js:80:5)
Pass
assert_equals(2, 2, "Sanity check: startOffset must be correct")
    at testExtend ( /selection/extend.js:82:5)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "Sanity check: endContainer must be correct")
    at testExtend ( /selection/extend.js:84:5)
Pass
assert_equals(8, 8, "Sanity check: endOffset must be correct")
    at testExtend ( /selection/extend.js:86:5)
Pass
assert_throws_dom("INDEX_SIZE_ERR", function "function() {             selection.extend(node, offset);         }", "extend() to an offset that's greater than node length (1) must throw IndexSizeError")
    at testExtend ( /selection/extend.js:117:9)
Passextend() backwards with range 3 [paras[0].firstChild, 2, paras[0].firstChild, 8] and point 40 [paras[1], 2]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "Sanity check: startContainer must be correct")
    at testExtend ( /selection/extend.js:80:5)
Pass
assert_equals(2, 2, "Sanity check: startOffset must be correct")
    at testExtend ( /selection/extend.js:82:5)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "Sanity check: endContainer must be correct")
    at testExtend ( /selection/extend.js:84:5)
Pass
assert_equals(8, 8, "Sanity check: endOffset must be correct")
    at testExtend ( /selection/extend.js:86:5)
Pass
assert_throws_dom("INDEX_SIZE_ERR", function "function() {             selection.extend(node, offset);         }", "extend() to an offset that's greater than node length (1) must throw IndexSizeError")
    at testExtend ( /selection/extend.js:117:9)
Passextend() forwards with range 3 [paras[0].firstChild, 2, paras[0].firstChild, 8] and point 41 [detachedPara1, 0]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(1, 1, "The operation should not add Range")
    at assertSelectionNoChange ( /selection/common.js:976:5)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "The operation should not update anchorNode")
    at assertSelectionNoChange ( /selection/common.js:978:5)
Pass
assert_equals(2, 2, "The operation should not update anchorOffset")
    at assertSelectionNoChange ( /selection/common.js:980:5)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "The operation should not update focusNode")
    at assertSelectionNoChange ( /selection/common.js:982:5)
Pass
assert_equals(8, 8, "The operation should not update focusOffset")
    at assertSelectionNoChange ( /selection/common.js:984:5)
Pass
assert_equals(object "b̈c̈d̈", object "b̈c̈d̈", "The operation should not replace a registered Range")
    at assertSelectionNoChange ( /selection/common.js:988:5)
Passextend() backwards with range 3 [paras[0].firstChild, 2, paras[0].firstChild, 8] and point 41 [detachedPara1, 0]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(1, 1, "The operation should not add Range")
    at assertSelectionNoChange ( /selection/common.js:976:5)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "The operation should not update anchorNode")
    at assertSelectionNoChange ( /selection/common.js:978:5)
Pass
assert_equals(8, 8, "The operation should not update anchorOffset")
    at assertSelectionNoChange ( /selection/common.js:980:5)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "The operation should not update focusNode")
    at assertSelectionNoChange ( /selection/common.js:982:5)
Pass
assert_equals(2, 2, "The operation should not update focusOffset")
    at assertSelectionNoChange ( /selection/common.js:984:5)
Pass
assert_equals(object "b̈c̈d̈", object "b̈c̈d̈", "The operation should not replace a registered Range")
    at assertSelectionNoChange ( /selection/common.js:988:5)
Passextend() forwards with range 3 [paras[0].firstChild, 2, paras[0].firstChild, 8] and point 42 [detachedPara1, 1]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(1, 1, "The operation should not add Range")
    at assertSelectionNoChange ( /selection/common.js:976:5)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "The operation should not update anchorNode")
    at assertSelectionNoChange ( /selection/common.js:978:5)
Pass
assert_equals(2, 2, "The operation should not update anchorOffset")
    at assertSelectionNoChange ( /selection/common.js:980:5)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "The operation should not update focusNode")
    at assertSelectionNoChange ( /selection/common.js:982:5)
Pass
assert_equals(8, 8, "The operation should not update focusOffset")
    at assertSelectionNoChange ( /selection/common.js:984:5)
Pass
assert_equals(object "b̈c̈d̈", object "b̈c̈d̈", "The operation should not replace a registered Range")
    at assertSelectionNoChange ( /selection/common.js:988:5)
Passextend() backwards with range 3 [paras[0].firstChild, 2, paras[0].firstChild, 8] and point 42 [detachedPara1, 1]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(1, 1, "The operation should not add Range")
    at assertSelectionNoChange ( /selection/common.js:976:5)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "The operation should not update anchorNode")
    at assertSelectionNoChange ( /selection/common.js:978:5)
Pass
assert_equals(8, 8, "The operation should not update anchorOffset")
    at assertSelectionNoChange ( /selection/common.js:980:5)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "The operation should not update focusNode")
    at assertSelectionNoChange ( /selection/common.js:982:5)
Pass
assert_equals(2, 2, "The operation should not update focusOffset")
    at assertSelectionNoChange ( /selection/common.js:984:5)
Pass
assert_equals(object "b̈c̈d̈", object "b̈c̈d̈", "The operation should not replace a registered Range")
    at assertSelectionNoChange ( /selection/common.js:988:5)
Passextend() forwards with range 3 [paras[0].firstChild, 2, paras[0].firstChild, 8] and point 43 [testDiv, 0]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "Sanity check: startContainer must be correct")
    at testExtend ( /selection/extend.js:80:5)
Pass
assert_equals(2, 2, "Sanity check: startOffset must be correct")
    at testExtend ( /selection/extend.js:82:5)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "Sanity check: endContainer must be correct")
    at testExtend ( /selection/extend.js:84:5)
Pass
assert_equals(8, 8, "Sanity check: endOffset must be correct")
    at testExtend ( /selection/extend.js:86:5)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "anchorNode must not change if the node passed to extend() has the same root as the original range")
    at testExtend ( /selection/extend.js:145:9)
Pass
assert_equals(2, 2, "anchorOffset must not change if the node passed to extend() has the same root as the original range")
    at testExtend ( /selection/extend.js:147:9)
Pass
assert_equals(Element node <div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ </p><p id="b" s..., Element node <div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ </p><p id="b" s..., "focusNode must be the node passed to extend()")
    at testExtend ( /selection/extend.js:155:5)
Pass
assert_equals(0, 0, "focusOffset must be the offset passed to extend()")
    at testExtend ( /selection/extend.js:157:5)
Pass
assert_not_equals(object "Ä", object "b̈c̈d̈", "extend() must replace any existing range with a new one, not mutate the existing one")
    at testExtend ( /selection/extend.js:159:5)
Passextend() backwards with range 3 [paras[0].firstChild, 2, paras[0].firstChild, 8] and point 43 [testDiv, 0]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "Sanity check: startContainer must be correct")
    at testExtend ( /selection/extend.js:80:5)
Pass
assert_equals(2, 2, "Sanity check: startOffset must be correct")
    at testExtend ( /selection/extend.js:82:5)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "Sanity check: endContainer must be correct")
    at testExtend ( /selection/extend.js:84:5)
Pass
assert_equals(8, 8, "Sanity check: endOffset must be correct")
    at testExtend ( /selection/extend.js:86:5)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "anchorNode must not change if the node passed to extend() has the same root as the original range")
    at testExtend ( /selection/extend.js:145:9)
Pass
assert_equals(8, 8, "anchorOffset must not change if the node passed to extend() has the same root as the original range")
    at testExtend ( /selection/extend.js:147:9)
Pass
assert_equals(Element node <div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ </p><p id="b" s..., Element node <div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ </p><p id="b" s..., "focusNode must be the node passed to extend()")
    at testExtend ( /selection/extend.js:155:5)
Pass
assert_equals(0, 0, "focusOffset must be the offset passed to extend()")
    at testExtend ( /selection/extend.js:157:5)
Pass
assert_not_equals(object "Äb̈c̈d̈", object "b̈c̈d̈", "extend() must replace any existing range with a new one, not mutate the existing one")
    at testExtend ( /selection/extend.js:159:5)
Passextend() forwards with range 3 [paras[0].firstChild, 2, paras[0].firstChild, 8] and point 44 [testDiv, 3]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "Sanity check: startContainer must be correct")
    at testExtend ( /selection/extend.js:80:5)
Pass
assert_equals(2, 2, "Sanity check: startOffset must be correct")
    at testExtend ( /selection/extend.js:82:5)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "Sanity check: endContainer must be correct")
    at testExtend ( /selection/extend.js:84:5)
Pass
assert_equals(8, 8, "Sanity check: endOffset must be correct")
    at testExtend ( /selection/extend.js:86:5)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "anchorNode must not change if the node passed to extend() has the same root as the original range")
    at testExtend ( /selection/extend.js:145:9)
Pass
assert_equals(2, 2, "anchorOffset must not change if the node passed to extend() has the same root as the original range")
    at testExtend ( /selection/extend.js:147:9)
Pass
assert_equals(Element node <div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ </p><p id="b" s..., Element node <div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ </p><p id="b" s..., "focusNode must be the node passed to extend()")
    at testExtend ( /selection/extend.js:155:5)
Pass
assert_equals(3, 3, "focusOffset must be the offset passed to extend()")
    at testExtend ( /selection/extend.js:157:5)
Pass
assert_not_equals(object "b̈c̈d̈ëf̈g̈ḧ Ijklmnop Qrstuvwx", object "b̈c̈d̈", "extend() must replace any existing range with a new one, not mutate the existing one")
    at testExtend ( /selection/extend.js:159:5)
Passextend() backwards with range 3 [paras[0].firstChild, 2, paras[0].firstChild, 8] and point 44 [testDiv, 3]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "Sanity check: startContainer must be correct")
    at testExtend ( /selection/extend.js:80:5)
Pass
assert_equals(2, 2, "Sanity check: startOffset must be correct")
    at testExtend ( /selection/extend.js:82:5)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "Sanity check: endContainer must be correct")
    at testExtend ( /selection/extend.js:84:5)
Pass
assert_equals(8, 8, "Sanity check: endOffset must be correct")
    at testExtend ( /selection/extend.js:86:5)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "anchorNode must not change if the node passed to extend() has the same root as the original range")
    at testExtend ( /selection/extend.js:145:9)
Pass
assert_equals(8, 8, "anchorOffset must not change if the node passed to extend() has the same root as the original range")
    at testExtend ( /selection/extend.js:147:9)
Pass
assert_equals(Element node <div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ </p><p id="b" s..., Element node <div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ </p><p id="b" s..., "focusNode must be the node passed to extend()")
    at testExtend ( /selection/extend.js:155:5)
Pass
assert_equals(3, 3, "focusOffset must be the offset passed to extend()")
    at testExtend ( /selection/extend.js:157:5)
Pass
assert_not_equals(object "ëf̈g̈ḧ Ijklmnop Qrstuvwx", object "b̈c̈d̈", "extend() must replace any existing range with a new one, not mutate the existing one")
    at testExtend ( /selection/extend.js:159:5)
Passextend() forwards with range 3 [paras[0].firstChild, 2, paras[0].firstChild, 8] and point 45 [document, -1]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "Sanity check: startContainer must be correct")
    at testExtend ( /selection/extend.js:80:5)
Pass
assert_equals(2, 2, "Sanity check: startOffset must be correct")
    at testExtend ( /selection/extend.js:82:5)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "Sanity check: endContainer must be correct")
    at testExtend ( /selection/extend.js:84:5)
Pass
assert_equals(8, 8, "Sanity check: endOffset must be correct")
    at testExtend ( /selection/extend.js:86:5)
Pass
assert_throws_dom("INDEX_SIZE_ERR", function "function() {             selection.extend(node, offset);         }", "extend() to an offset that's greater than node length (2) must throw IndexSizeError")
    at testExtend ( /selection/extend.js:117:9)
Passextend() backwards with range 3 [paras[0].firstChild, 2, paras[0].firstChild, 8] and point 45 [document, -1]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "Sanity check: startContainer must be correct")
    at testExtend ( /selection/extend.js:80:5)
Pass
assert_equals(2, 2, "Sanity check: startOffset must be correct")
    at testExtend ( /selection/extend.js:82:5)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "Sanity check: endContainer must be correct")
    at testExtend ( /selection/extend.js:84:5)
Pass
assert_equals(8, 8, "Sanity check: endOffset must be correct")
    at testExtend ( /selection/extend.js:86:5)
Pass
assert_throws_dom("INDEX_SIZE_ERR", function "function() {             selection.extend(node, offset);         }", "extend() to an offset that's greater than node length (2) must throw IndexSizeError")
    at testExtend ( /selection/extend.js:117:9)
Passextend() forwards with range 3 [paras[0].firstChild, 2, paras[0].firstChild, 8] and point 46 [document, 0]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "Sanity check: startContainer must be correct")
    at testExtend ( /selection/extend.js:80:5)
Pass
assert_equals(2, 2, "Sanity check: startOffset must be correct")
    at testExtend ( /selection/extend.js:82:5)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "Sanity check: endContainer must be correct")
    at testExtend ( /selection/extend.js:84:5)
Pass
assert_equals(8, 8, "Sanity check: endOffset must be correct")
    at testExtend ( /selection/extend.js:86:5)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "anchorNode must not change if the node passed to extend() has the same root as the original range")
    at testExtend ( /selection/extend.js:145:9)
Pass
assert_equals(2, 2, "anchorOffset must not change if the node passed to extend() has the same root as the original range")
    at testExtend ( /selection/extend.js:147:9)
Pass
assert_equals(Document node with 2 children, Document node with 2 children, "focusNode must be the node passed to extend()")
    at testExtend ( /selection/extend.js:155:5)
Pass
assert_equals(0, 0, "focusOffset must be the offset passed to extend()")
    at testExtend ( /selection/extend.js:157:5)
Pass
assert_not_equals(object "Selection extend() tests   Ä", object "b̈c̈d̈", "extend() must replace any existing range with a new one, not mutate the existing one")
    at testExtend ( /selection/extend.js:159:5)
Passextend() backwards with range 3 [paras[0].firstChild, 2, paras[0].firstChild, 8] and point 46 [document, 0]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "Sanity check: startContainer must be correct")
    at testExtend ( /selection/extend.js:80:5)
Pass
assert_equals(2, 2, "Sanity check: startOffset must be correct")
    at testExtend ( /selection/extend.js:82:5)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "Sanity check: endContainer must be correct")
    at testExtend ( /selection/extend.js:84:5)
Pass
assert_equals(8, 8, "Sanity check: endOffset must be correct")
    at testExtend ( /selection/extend.js:86:5)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "anchorNode must not change if the node passed to extend() has the same root as the original range")
    at testExtend ( /selection/extend.js:145:9)
Pass
assert_equals(8, 8, "anchorOffset must not change if the node passed to extend() has the same root as the original range")
    at testExtend ( /selection/extend.js:147:9)
Pass
assert_equals(Document node with 2 children, Document node with 2 children, "focusNode must be the node passed to extend()")
    at testExtend ( /selection/extend.js:155:5)
Pass
assert_equals(0, 0, "focusOffset must be the offset passed to extend()")
    at testExtend ( /selection/extend.js:157:5)
Pass
assert_not_equals(object "Selection extend() tests   Äb̈c̈d̈", object "b̈c̈d̈", "extend() must replace any existing range with a new one, not mutate the existing one")
    at testExtend ( /selection/extend.js:159:5)
Passextend() forwards with range 3 [paras[0].firstChild, 2, paras[0].firstChild, 8] and point 47 [document, 1]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "Sanity check: startContainer must be correct")
    at testExtend ( /selection/extend.js:80:5)
Pass
assert_equals(2, 2, "Sanity check: startOffset must be correct")
    at testExtend ( /selection/extend.js:82:5)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "Sanity check: endContainer must be correct")
    at testExtend ( /selection/extend.js:84:5)
Pass
assert_equals(8, 8, "Sanity check: endOffset must be correct")
    at testExtend ( /selection/extend.js:86:5)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "anchorNode must not change if the node passed to extend() has the same root as the original range")
    at testExtend ( /selection/extend.js:145:9)
Pass
assert_equals(2, 2, "anchorOffset must not change if the node passed to extend() has the same root as the original range")
    at testExtend ( /selection/extend.js:147:9)
Pass
assert_equals(Document node with 2 children, Document node with 2 children, "focusNode must be the node passed to extend()")
    at testExtend ( /selection/extend.js:155:5)
Pass
assert_equals(1, 1, "focusOffset must be the offset passed to extend()")
    at testExtend ( /selection/extend.js:157:5)
Pass
assert_not_equals(object "Selection extend() tests   Ä", object "b̈c̈d̈", "extend() must replace any existing range with a new one, not mutate the existing one")
    at testExtend ( /selection/extend.js:159:5)
Passextend() backwards with range 3 [paras[0].firstChild, 2, paras[0].firstChild, 8] and point 47 [document, 1]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "Sanity check: startContainer must be correct")
    at testExtend ( /selection/extend.js:80:5)
Pass
assert_equals(2, 2, "Sanity check: startOffset must be correct")
    at testExtend ( /selection/extend.js:82:5)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "Sanity check: endContainer must be correct")
    at testExtend ( /selection/extend.js:84:5)
Pass
assert_equals(8, 8, "Sanity check: endOffset must be correct")
    at testExtend ( /selection/extend.js:86:5)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "anchorNode must not change if the node passed to extend() has the same root as the original range")
    at testExtend ( /selection/extend.js:145:9)
Pass
assert_equals(8, 8, "anchorOffset must not change if the node passed to extend() has the same root as the original range")
    at testExtend ( /selection/extend.js:147:9)
Pass
assert_equals(Document node with 2 children, Document node with 2 children, "focusNode must be the node passed to extend()")
    at testExtend ( /selection/extend.js:155:5)
Pass
assert_equals(1, 1, "focusOffset must be the offset passed to extend()")
    at testExtend ( /selection/extend.js:157:5)
Pass
assert_not_equals(object "Selection extend() tests   Äb̈c̈d̈", object "b̈c̈d̈", "extend() must replace any existing range with a new one, not mutate the existing one")
    at testExtend ( /selection/extend.js:159:5)
Passextend() forwards with range 3 [paras[0].firstChild, 2, paras[0].firstChild, 8] and point 48 [document, 2]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "Sanity check: startContainer must be correct")
    at testExtend ( /selection/extend.js:80:5)
Pass
assert_equals(2, 2, "Sanity check: startOffset must be correct")
    at testExtend ( /selection/extend.js:82:5)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "Sanity check: endContainer must be correct")
    at testExtend ( /selection/extend.js:84:5)
Pass
assert_equals(8, 8, "Sanity check: endOffset must be correct")
    at testExtend ( /selection/extend.js:86:5)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "anchorNode must not change if the node passed to extend() has the same root as the original range")
    at testExtend ( /selection/extend.js:145:9)
Pass
assert_equals(2, 2, "anchorOffset must not change if the node passed to extend() has the same root as the original range")
    at testExtend ( /selection/extend.js:147:9)
Pass
assert_equals(Document node with 2 children, Document node with 2 children, "focusNode must be the node passed to extend()")
    at testExtend ( /selection/extend.js:155:5)
Pass
assert_equals(2, 2, "focusOffset must be the offset passed to extend()")
    at testExtend ( /selection/extend.js:157:5)
Pass
assert_not_equals(object "b̈c̈d̈ëf̈g̈ḧ Ijklmnop QrstuvwxYzabcdefGhijklmn     Running, 300 complete, 1 remain  "use strict";  testExtendSubSet(0, 20); testDiv.style.display = "none"; ", object "b̈c̈d̈", "extend() must replace any existing range with a new one, not mutate the existing one")
    at testExtend ( /selection/extend.js:159:5)
Passextend() backwards with range 3 [paras[0].firstChild, 2, paras[0].firstChild, 8] and point 48 [document, 2]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "Sanity check: startContainer must be correct")
    at testExtend ( /selection/extend.js:80:5)
Pass
assert_equals(2, 2, "Sanity check: startOffset must be correct")
    at testExtend ( /selection/extend.js:82:5)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "Sanity check: endContainer must be correct")
    at testExtend ( /selection/extend.js:84:5)
Pass
assert_equals(8, 8, "Sanity check: endOffset must be correct")
    at testExtend ( /selection/extend.js:86:5)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "anchorNode must not change if the node passed to extend() has the same root as the original range")
    at testExtend ( /selection/extend.js:145:9)
Pass
assert_equals(8, 8, "anchorOffset must not change if the node passed to extend() has the same root as the original range")
    at testExtend ( /selection/extend.js:147:9)
Pass
assert_equals(Document node with 2 children, Document node with 2 children, "focusNode must be the node passed to extend()")
    at testExtend ( /selection/extend.js:155:5)
Pass
assert_equals(2, 2, "focusOffset must be the offset passed to extend()")
    at testExtend ( /selection/extend.js:157:5)
Pass
assert_not_equals(object "ëf̈g̈ḧ Ijklmnop QrstuvwxYzabcdefGhijklmn     Running, 300 complete, 1 remain  "use strict";  testExtendSubSet(0, 20); testDiv.style.display = "none"; ", object "b̈c̈d̈", "extend() must replace any existing range with a new one, not mutate the existing one")
    at testExtend ( /selection/extend.js:159:5)
Passextend() forwards with range 3 [paras[0].firstChild, 2, paras[0].firstChild, 8] and point 49 [document, 3]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "Sanity check: startContainer must be correct")
    at testExtend ( /selection/extend.js:80:5)
Pass
assert_equals(2, 2, "Sanity check: startOffset must be correct")
    at testExtend ( /selection/extend.js:82:5)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "Sanity check: endContainer must be correct")
    at testExtend ( /selection/extend.js:84:5)
Pass
assert_equals(8, 8, "Sanity check: endOffset must be correct")
    at testExtend ( /selection/extend.js:86:5)
Pass
assert_throws_dom("INDEX_SIZE_ERR", function "function() {             selection.extend(node, offset);         }", "extend() to an offset that's greater than node length (2) must throw IndexSizeError")
    at testExtend ( /selection/extend.js:117:9)
Passextend() backwards with range 3 [paras[0].firstChild, 2, paras[0].firstChild, 8] and point 49 [document, 3]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "Sanity check: startContainer must be correct")
    at testExtend ( /selection/extend.js:80:5)
Pass
assert_equals(2, 2, "Sanity check: startOffset must be correct")
    at testExtend ( /selection/extend.js:82:5)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "Sanity check: endContainer must be correct")
    at testExtend ( /selection/extend.js:84:5)
Pass
assert_equals(8, 8, "Sanity check: endOffset must be correct")
    at testExtend ( /selection/extend.js:86:5)
Pass
assert_throws_dom("INDEX_SIZE_ERR", function "function() {             selection.extend(node, offset);         }", "extend() to an offset that's greater than node length (2) must throw IndexSizeError")
    at testExtend ( /selection/extend.js:117:9)
Passextend() forwards with range 3 [paras[0].firstChild, 2, paras[0].firstChild, 8] and point 50 [comment, -1]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "Sanity check: startContainer must be correct")
    at testExtend ( /selection/extend.js:80:5)
Pass
assert_equals(2, 2, "Sanity check: startOffset must be correct")
    at testExtend ( /selection/extend.js:82:5)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "Sanity check: endContainer must be correct")
    at testExtend ( /selection/extend.js:84:5)
Pass
assert_equals(8, 8, "Sanity check: endOffset must be correct")
    at testExtend ( /selection/extend.js:86:5)
Pass
assert_throws_dom("INDEX_SIZE_ERR", function "function() {             selection.extend(node, offset);         }", "extend() to an offset that's greater than node length (14) must throw IndexSizeError")
    at testExtend ( /selection/extend.js:117:9)
Passextend() backwards with range 3 [paras[0].firstChild, 2, paras[0].firstChild, 8] and point 50 [comment, -1]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "Sanity check: startContainer must be correct")
    at testExtend ( /selection/extend.js:80:5)
Pass
assert_equals(2, 2, "Sanity check: startOffset must be correct")
    at testExtend ( /selection/extend.js:82:5)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "Sanity check: endContainer must be correct")
    at testExtend ( /selection/extend.js:84:5)
Pass
assert_equals(8, 8, "Sanity check: endOffset must be correct")
    at testExtend ( /selection/extend.js:86:5)
Pass
assert_throws_dom("INDEX_SIZE_ERR", function "function() {             selection.extend(node, offset);         }", "extend() to an offset that's greater than node length (14) must throw IndexSizeError")
    at testExtend ( /selection/extend.js:117:9)
Passextend() forwards with range 3 [paras[0].firstChild, 2, paras[0].firstChild, 8] and point 51 [comment, 0]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "Sanity check: startContainer must be correct")
    at testExtend ( /selection/extend.js:80:5)
Pass
assert_equals(2, 2, "Sanity check: startOffset must be correct")
    at testExtend ( /selection/extend.js:82:5)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "Sanity check: endContainer must be correct")
    at testExtend ( /selection/extend.js:84:5)
Pass
assert_equals(8, 8, "Sanity check: endOffset must be correct")
    at testExtend ( /selection/extend.js:86:5)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "anchorNode must not change if the node passed to extend() has the same root as the original range")
    at testExtend ( /selection/extend.js:145:9)
Pass
assert_equals(2, 2, "anchorOffset must not change if the node passed to extend() has the same root as the original range")
    at testExtend ( /selection/extend.js:147:9)
Pass
assert_equals(Comment node <!--Alphabet soup?-->, Comment node <!--Alphabet soup?-->, "focusNode must be the node passed to extend()")
    at testExtend ( /selection/extend.js:155:5)
Pass
assert_equals(0, 0, "focusOffset must be the offset passed to extend()")
    at testExtend ( /selection/extend.js:157:5)
Pass
assert_not_equals(object "b̈c̈d̈ëf̈g̈ḧ Ijklmnop QrstuvwxYzabcdefGhijklmn", object "b̈c̈d̈", "extend() must replace any existing range with a new one, not mutate the existing one")
    at testExtend ( /selection/extend.js:159:5)
Passextend() backwards with range 3 [paras[0].firstChild, 2, paras[0].firstChild, 8] and point 51 [comment, 0]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "Sanity check: startContainer must be correct")
    at testExtend ( /selection/extend.js:80:5)
Pass
assert_equals(2, 2, "Sanity check: startOffset must be correct")
    at testExtend ( /selection/extend.js:82:5)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "Sanity check: endContainer must be correct")
    at testExtend ( /selection/extend.js:84:5)
Pass
assert_equals(8, 8, "Sanity check: endOffset must be correct")
    at testExtend ( /selection/extend.js:86:5)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "anchorNode must not change if the node passed to extend() has the same root as the original range")
    at testExtend ( /selection/extend.js:145:9)
Pass
assert_equals(8, 8, "anchorOffset must not change if the node passed to extend() has the same root as the original range")
    at testExtend ( /selection/extend.js:147:9)
Pass
assert_equals(Comment node <!--Alphabet soup?-->, Comment node <!--Alphabet soup?-->, "focusNode must be the node passed to extend()")
    at testExtend ( /selection/extend.js:155:5)
Pass
assert_equals(0, 0, "focusOffset must be the offset passed to extend()")
    at testExtend ( /selection/extend.js:157:5)
Pass
assert_not_equals(object "ëf̈g̈ḧ Ijklmnop QrstuvwxYzabcdefGhijklmn", object "b̈c̈d̈", "extend() must replace any existing range with a new one, not mutate the existing one")
    at testExtend ( /selection/extend.js:159:5)
Passextend() forwards with range 3 [paras[0].firstChild, 2, paras[0].firstChild, 8] and point 52 [comment, 4]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "Sanity check: startContainer must be correct")
    at testExtend ( /selection/extend.js:80:5)
Pass
assert_equals(2, 2, "Sanity check: startOffset must be correct")
    at testExtend ( /selection/extend.js:82:5)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "Sanity check: endContainer must be correct")
    at testExtend ( /selection/extend.js:84:5)
Pass
assert_equals(8, 8, "Sanity check: endOffset must be correct")
    at testExtend ( /selection/extend.js:86:5)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "anchorNode must not change if the node passed to extend() has the same root as the original range")
    at testExtend ( /selection/extend.js:145:9)
Pass
assert_equals(2, 2, "anchorOffset must not change if the node passed to extend() has the same root as the original range")
    at testExtend ( /selection/extend.js:147:9)
Pass
assert_equals(Comment node <!--Alphabet soup?-->, Comment node <!--Alphabet soup?-->, "focusNode must be the node passed to extend()")
    at testExtend ( /selection/extend.js:155:5)
Pass
assert_equals(4, 4, "focusOffset must be the offset passed to extend()")
    at testExtend ( /selection/extend.js:157:5)
Pass
assert_not_equals(object "b̈c̈d̈ëf̈g̈ḧ Ijklmnop QrstuvwxYzabcdefGhijklmn", object "b̈c̈d̈", "extend() must replace any existing range with a new one, not mutate the existing one")
    at testExtend ( /selection/extend.js:159:5)
Passextend() backwards with range 3 [paras[0].firstChild, 2, paras[0].firstChild, 8] and point 52 [comment, 4]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "Sanity check: startContainer must be correct")
    at testExtend ( /selection/extend.js:80:5)
Pass
assert_equals(2, 2, "Sanity check: startOffset must be correct")
    at testExtend ( /selection/extend.js:82:5)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "Sanity check: endContainer must be correct")
    at testExtend ( /selection/extend.js:84:5)
Pass
assert_equals(8, 8, "Sanity check: endOffset must be correct")
    at testExtend ( /selection/extend.js:86:5)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "anchorNode must not change if the node passed to extend() has the same root as the original range")
    at testExtend ( /selection/extend.js:145:9)
Pass
assert_equals(8, 8, "anchorOffset must not change if the node passed to extend() has the same root as the original range")
    at testExtend ( /selection/extend.js:147:9)
Pass
assert_equals(Comment node <!--Alphabet soup?-->, Comment node <!--Alphabet soup?-->, "focusNode must be the node passed to extend()")
    at testExtend ( /selection/extend.js:155:5)
Pass
assert_equals(4, 4, "focusOffset must be the offset passed to extend()")
    at testExtend ( /selection/extend.js:157:5)
Pass
assert_not_equals(object "ëf̈g̈ḧ Ijklmnop QrstuvwxYzabcdefGhijklmn", object "b̈c̈d̈", "extend() must replace any existing range with a new one, not mutate the existing one")
    at testExtend ( /selection/extend.js:159:5)
Passextend() forwards with range 3 [paras[0].firstChild, 2, paras[0].firstChild, 8] and point 53 [comment, 96]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "Sanity check: startContainer must be correct")
    at testExtend ( /selection/extend.js:80:5)
Pass
assert_equals(2, 2, "Sanity check: startOffset must be correct")
    at testExtend ( /selection/extend.js:82:5)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "Sanity check: endContainer must be correct")
    at testExtend ( /selection/extend.js:84:5)
Pass
assert_equals(8, 8, "Sanity check: endOffset must be correct")
    at testExtend ( /selection/extend.js:86:5)
Pass
assert_throws_dom("INDEX_SIZE_ERR", function "function() {             selection.extend(node, offset);         }", "extend() to an offset that's greater than node length (14) must throw IndexSizeError")
    at testExtend ( /selection/extend.js:117:9)
Passextend() backwards with range 3 [paras[0].firstChild, 2, paras[0].firstChild, 8] and point 53 [comment, 96]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "Sanity check: startContainer must be correct")
    at testExtend ( /selection/extend.js:80:5)
Pass
assert_equals(2, 2, "Sanity check: startOffset must be correct")
    at testExtend ( /selection/extend.js:82:5)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "Sanity check: endContainer must be correct")
    at testExtend ( /selection/extend.js:84:5)
Pass
assert_equals(8, 8, "Sanity check: endOffset must be correct")
    at testExtend ( /selection/extend.js:86:5)
Pass
assert_throws_dom("INDEX_SIZE_ERR", function "function() {             selection.extend(node, offset);         }", "extend() to an offset that's greater than node length (14) must throw IndexSizeError")
    at testExtend ( /selection/extend.js:117:9)
Passextend() forwards with range 3 [paras[0].firstChild, 2, paras[0].firstChild, 8] and point 54 [foreignDoc, 0]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(1, 1, "The operation should not add Range")
    at assertSelectionNoChange ( /selection/common.js:976:5)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "The operation should not update anchorNode")
    at assertSelectionNoChange ( /selection/common.js:978:5)
Pass
assert_equals(2, 2, "The operation should not update anchorOffset")
    at assertSelectionNoChange ( /selection/common.js:980:5)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "The operation should not update focusNode")
    at assertSelectionNoChange ( /selection/common.js:982:5)
Pass
assert_equals(8, 8, "The operation should not update focusOffset")
    at assertSelectionNoChange ( /selection/common.js:984:5)
Pass
assert_equals(object "b̈c̈d̈", object "b̈c̈d̈", "The operation should not replace a registered Range")
    at assertSelectionNoChange ( /selection/common.js:988:5)
Passextend() backwards with range 3 [paras[0].firstChild, 2, paras[0].firstChild, 8] and point 54 [foreignDoc, 0]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(1, 1, "The operation should not add Range")
    at assertSelectionNoChange ( /selection/common.js:976:5)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "The operation should not update anchorNode")
    at assertSelectionNoChange ( /selection/common.js:978:5)
Pass
assert_equals(8, 8, "The operation should not update anchorOffset")
    at assertSelectionNoChange ( /selection/common.js:980:5)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "The operation should not update focusNode")
    at assertSelectionNoChange ( /selection/common.js:982:5)
Pass
assert_equals(2, 2, "The operation should not update focusOffset")
    at assertSelectionNoChange ( /selection/common.js:984:5)
Pass
assert_equals(object "b̈c̈d̈", object "b̈c̈d̈", "The operation should not replace a registered Range")
    at assertSelectionNoChange ( /selection/common.js:988:5)
Passextend() forwards with range 3 [paras[0].firstChild, 2, paras[0].firstChild, 8] and point 55 [foreignDoc, 1]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(1, 1, "The operation should not add Range")
    at assertSelectionNoChange ( /selection/common.js:976:5)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "The operation should not update anchorNode")
    at assertSelectionNoChange ( /selection/common.js:978:5)
Pass
assert_equals(2, 2, "The operation should not update anchorOffset")
    at assertSelectionNoChange ( /selection/common.js:980:5)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "The operation should not update focusNode")
    at assertSelectionNoChange ( /selection/common.js:982:5)
Pass
assert_equals(8, 8, "The operation should not update focusOffset")
    at assertSelectionNoChange ( /selection/common.js:984:5)
Pass
assert_equals(object "b̈c̈d̈", object "b̈c̈d̈", "The operation should not replace a registered Range")
    at assertSelectionNoChange ( /selection/common.js:988:5)
Passextend() backwards with range 3 [paras[0].firstChild, 2, paras[0].firstChild, 8] and point 55 [foreignDoc, 1]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(1, 1, "The operation should not add Range")
    at assertSelectionNoChange ( /selection/common.js:976:5)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "The operation should not update anchorNode")
    at assertSelectionNoChange ( /selection/common.js:978:5)
Pass
assert_equals(8, 8, "The operation should not update anchorOffset")
    at assertSelectionNoChange ( /selection/common.js:980:5)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "The operation should not update focusNode")
    at assertSelectionNoChange ( /selection/common.js:982:5)
Pass
assert_equals(2, 2, "The operation should not update focusOffset")
    at assertSelectionNoChange ( /selection/common.js:984:5)
Pass
assert_equals(object "b̈c̈d̈", object "b̈c̈d̈", "The operation should not replace a registered Range")
    at assertSelectionNoChange ( /selection/common.js:988:5)
Passextend() forwards with range 3 [paras[0].firstChild, 2, paras[0].firstChild, 8] and point 56 [foreignComment, 2]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(1, 1, "The operation should not add Range")
    at assertSelectionNoChange ( /selection/common.js:976:5)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "The operation should not update anchorNode")
    at assertSelectionNoChange ( /selection/common.js:978:5)
Pass
assert_equals(2, 2, "The operation should not update anchorOffset")
    at assertSelectionNoChange ( /selection/common.js:980:5)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "The operation should not update focusNode")
    at assertSelectionNoChange ( /selection/common.js:982:5)
Pass
assert_equals(8, 8, "The operation should not update focusOffset")
    at assertSelectionNoChange ( /selection/common.js:984:5)
Pass
assert_equals(object "b̈c̈d̈", object "b̈c̈d̈", "The operation should not replace a registered Range")
    at assertSelectionNoChange ( /selection/common.js:988:5)
Passextend() backwards with range 3 [paras[0].firstChild, 2, paras[0].firstChild, 8] and point 56 [foreignComment, 2]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(1, 1, "The operation should not add Range")
    at assertSelectionNoChange ( /selection/common.js:976:5)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "The operation should not update anchorNode")
    at assertSelectionNoChange ( /selection/common.js:978:5)
Pass
assert_equals(8, 8, "The operation should not update anchorOffset")
    at assertSelectionNoChange ( /selection/common.js:980:5)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "The operation should not update focusNode")
    at assertSelectionNoChange ( /selection/common.js:982:5)
Pass
assert_equals(2, 2, "The operation should not update focusOffset")
    at assertSelectionNoChange ( /selection/common.js:984:5)
Pass
assert_equals(object "b̈c̈d̈", object "b̈c̈d̈", "The operation should not replace a registered Range")
    at assertSelectionNoChange ( /selection/common.js:988:5)
Passextend() forwards with range 3 [paras[0].firstChild, 2, paras[0].firstChild, 8] and point 57 [foreignTextNode, 0]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(1, 1, "The operation should not add Range")
    at assertSelectionNoChange ( /selection/common.js:976:5)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "The operation should not update anchorNode")
    at assertSelectionNoChange ( /selection/common.js:978:5)
Pass
assert_equals(2, 2, "The operation should not update anchorOffset")
    at assertSelectionNoChange ( /selection/common.js:980:5)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "The operation should not update focusNode")
    at assertSelectionNoChange ( /selection/common.js:982:5)
Pass
assert_equals(8, 8, "The operation should not update focusOffset")
    at assertSelectionNoChange ( /selection/common.js:984:5)
Pass
assert_equals(object "b̈c̈d̈", object "b̈c̈d̈", "The operation should not replace a registered Range")
    at assertSelectionNoChange ( /selection/common.js:988:5)
Passextend() backwards with range 3 [paras[0].firstChild, 2, paras[0].firstChild, 8] and point 57 [foreignTextNode, 0]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(1, 1, "The operation should not add Range")
    at assertSelectionNoChange ( /selection/common.js:976:5)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "The operation should not update anchorNode")
    at assertSelectionNoChange ( /selection/common.js:978:5)
Pass
assert_equals(8, 8, "The operation should not update anchorOffset")
    at assertSelectionNoChange ( /selection/common.js:980:5)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "The operation should not update focusNode")
    at assertSelectionNoChange ( /selection/common.js:982:5)
Pass
assert_equals(2, 2, "The operation should not update focusOffset")
    at assertSelectionNoChange ( /selection/common.js:984:5)
Pass
assert_equals(object "b̈c̈d̈", object "b̈c̈d̈", "The operation should not replace a registered Range")
    at assertSelectionNoChange ( /selection/common.js:988:5)
Passextend() forwards with range 3 [paras[0].firstChild, 2, paras[0].firstChild, 8] and point 58 [foreignTextNode, 36]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(1, 1, "The operation should not add Range")
    at assertSelectionNoChange ( /selection/common.js:976:5)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "The operation should not update anchorNode")
    at assertSelectionNoChange ( /selection/common.js:978:5)
Pass
assert_equals(2, 2, "The operation should not update anchorOffset")
    at assertSelectionNoChange ( /selection/common.js:980:5)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "The operation should not update focusNode")
    at assertSelectionNoChange ( /selection/common.js:982:5)
Pass
assert_equals(8, 8, "The operation should not update focusOffset")
    at assertSelectionNoChange ( /selection/common.js:984:5)
Pass
assert_equals(object "b̈c̈d̈", object "b̈c̈d̈", "The operation should not replace a registered Range")
    at assertSelectionNoChange ( /selection/common.js:988:5)
Passextend() backwards with range 3 [paras[0].firstChild, 2, paras[0].firstChild, 8] and point 58 [foreignTextNode, 36]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(1, 1, "The operation should not add Range")
    at assertSelectionNoChange ( /selection/common.js:976:5)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "The operation should not update anchorNode")
    at assertSelectionNoChange ( /selection/common.js:978:5)
Pass
assert_equals(8, 8, "The operation should not update anchorOffset")
    at assertSelectionNoChange ( /selection/common.js:980:5)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "The operation should not update focusNode")
    at assertSelectionNoChange ( /selection/common.js:982:5)
Pass
assert_equals(2, 2, "The operation should not update focusOffset")
    at assertSelectionNoChange ( /selection/common.js:984:5)
Pass
assert_equals(object "b̈c̈d̈", object "b̈c̈d̈", "The operation should not replace a registered Range")
    at assertSelectionNoChange ( /selection/common.js:988:5)
Passextend() forwards with range 3 [paras[0].firstChild, 2, paras[0].firstChild, 8] and point 59 [xmlDoc, -1]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(1, 1, "The operation should not add Range")
    at assertSelectionNoChange ( /selection/common.js:976:5)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "The operation should not update anchorNode")
    at assertSelectionNoChange ( /selection/common.js:978:5)
Pass
assert_equals(2, 2, "The operation should not update anchorOffset")
    at assertSelectionNoChange ( /selection/common.js:980:5)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "The operation should not update focusNode")
    at assertSelectionNoChange ( /selection/common.js:982:5)
Pass
assert_equals(8, 8, "The operation should not update focusOffset")
    at assertSelectionNoChange ( /selection/common.js:984:5)
Pass
assert_equals(object "b̈c̈d̈", object "b̈c̈d̈", "The operation should not replace a registered Range")
    at assertSelectionNoChange ( /selection/common.js:988:5)
Passextend() backwards with range 3 [paras[0].firstChild, 2, paras[0].firstChild, 8] and point 59 [xmlDoc, -1]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(1, 1, "The operation should not add Range")
    at assertSelectionNoChange ( /selection/common.js:976:5)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "The operation should not update anchorNode")
    at assertSelectionNoChange ( /selection/common.js:978:5)
Pass
assert_equals(8, 8, "The operation should not update anchorOffset")
    at assertSelectionNoChange ( /selection/common.js:980:5)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "The operation should not update focusNode")
    at assertSelectionNoChange ( /selection/common.js:982:5)
Pass
assert_equals(2, 2, "The operation should not update focusOffset")
    at assertSelectionNoChange ( /selection/common.js:984:5)
Pass
assert_equals(object "b̈c̈d̈", object "b̈c̈d̈", "The operation should not replace a registered Range")
    at assertSelectionNoChange ( /selection/common.js:988:5)
Passextend() forwards with range 3 [paras[0].firstChild, 2, paras[0].firstChild, 8] and point 60 [xmlDoc, 0]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(1, 1, "The operation should not add Range")
    at assertSelectionNoChange ( /selection/common.js:976:5)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "The operation should not update anchorNode")
    at assertSelectionNoChange ( /selection/common.js:978:5)
Pass
assert_equals(2, 2, "The operation should not update anchorOffset")
    at assertSelectionNoChange ( /selection/common.js:980:5)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "The operation should not update focusNode")
    at assertSelectionNoChange ( /selection/common.js:982:5)
Pass
assert_equals(8, 8, "The operation should not update focusOffset")
    at assertSelectionNoChange ( /selection/common.js:984:5)
Pass
assert_equals(object "b̈c̈d̈", object "b̈c̈d̈", "The operation should not replace a registered Range")
    at assertSelectionNoChange ( /selection/common.js:988:5)
Passextend() backwards with range 3 [paras[0].firstChild, 2, paras[0].firstChild, 8] and point 60 [xmlDoc, 0]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(1, 1, "The operation should not add Range")
    at assertSelectionNoChange ( /selection/common.js:976:5)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "The operation should not update anchorNode")
    at assertSelectionNoChange ( /selection/common.js:978:5)
Pass
assert_equals(8, 8, "The operation should not update anchorOffset")
    at assertSelectionNoChange ( /selection/common.js:980:5)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "The operation should not update focusNode")
    at assertSelectionNoChange ( /selection/common.js:982:5)
Pass
assert_equals(2, 2, "The operation should not update focusOffset")
    at assertSelectionNoChange ( /selection/common.js:984:5)
Pass
assert_equals(object "b̈c̈d̈", object "b̈c̈d̈", "The operation should not replace a registered Range")
    at assertSelectionNoChange ( /selection/common.js:988:5)
Passextend() forwards with range 3 [paras[0].firstChild, 2, paras[0].firstChild, 8] and point 61 [xmlDoc, 1]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(1, 1, "The operation should not add Range")
    at assertSelectionNoChange ( /selection/common.js:976:5)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "The operation should not update anchorNode")
    at assertSelectionNoChange ( /selection/common.js:978:5)
Pass
assert_equals(2, 2, "The operation should not update anchorOffset")
    at assertSelectionNoChange ( /selection/common.js:980:5)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "The operation should not update focusNode")
    at assertSelectionNoChange ( /selection/common.js:982:5)
Pass
assert_equals(8, 8, "The operation should not update focusOffset")
    at assertSelectionNoChange ( /selection/common.js:984:5)
Pass
assert_equals(object "b̈c̈d̈", object "b̈c̈d̈", "The operation should not replace a registered Range")
    at assertSelectionNoChange ( /selection/common.js:988:5)
Passextend() backwards with range 3 [paras[0].firstChild, 2, paras[0].firstChild, 8] and point 61 [xmlDoc, 1]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(1, 1, "The operation should not add Range")
    at assertSelectionNoChange ( /selection/common.js:976:5)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "The operation should not update anchorNode")
    at assertSelectionNoChange ( /selection/common.js:978:5)
Pass
assert_equals(8, 8, "The operation should not update anchorOffset")
    at assertSelectionNoChange ( /selection/common.js:980:5)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "The operation should not update focusNode")
    at assertSelectionNoChange ( /selection/common.js:982:5)
Pass
assert_equals(2, 2, "The operation should not update focusOffset")
    at assertSelectionNoChange ( /selection/common.js:984:5)
Pass
assert_equals(object "b̈c̈d̈", object "b̈c̈d̈", "The operation should not replace a registered Range")
    at assertSelectionNoChange ( /selection/common.js:988:5)
Passextend() forwards with range 3 [paras[0].firstChild, 2, paras[0].firstChild, 8] and point 62 [xmlDoc, 5]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(1, 1, "The operation should not add Range")
    at assertSelectionNoChange ( /selection/common.js:976:5)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "The operation should not update anchorNode")
    at assertSelectionNoChange ( /selection/common.js:978:5)
Pass
assert_equals(2, 2, "The operation should not update anchorOffset")
    at assertSelectionNoChange ( /selection/common.js:980:5)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "The operation should not update focusNode")
    at assertSelectionNoChange ( /selection/common.js:982:5)
Pass
assert_equals(8, 8, "The operation should not update focusOffset")
    at assertSelectionNoChange ( /selection/common.js:984:5)
Pass
assert_equals(object "b̈c̈d̈", object "b̈c̈d̈", "The operation should not replace a registered Range")
    at assertSelectionNoChange ( /selection/common.js:988:5)
Passextend() backwards with range 3 [paras[0].firstChild, 2, paras[0].firstChild, 8] and point 62 [xmlDoc, 5]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(1, 1, "The operation should not add Range")
    at assertSelectionNoChange ( /selection/common.js:976:5)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "The operation should not update anchorNode")
    at assertSelectionNoChange ( /selection/common.js:978:5)
Pass
assert_equals(8, 8, "The operation should not update anchorOffset")
    at assertSelectionNoChange ( /selection/common.js:980:5)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "The operation should not update focusNode")
    at assertSelectionNoChange ( /selection/common.js:982:5)
Pass
assert_equals(2, 2, "The operation should not update focusOffset")
    at assertSelectionNoChange ( /selection/common.js:984:5)
Pass
assert_equals(object "b̈c̈d̈", object "b̈c̈d̈", "The operation should not replace a registered Range")
    at assertSelectionNoChange ( /selection/common.js:988:5)
Passextend() forwards with range 3 [paras[0].firstChild, 2, paras[0].firstChild, 8] and point 63 [xmlComment, 0]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(1, 1, "The operation should not add Range")
    at assertSelectionNoChange ( /selection/common.js:976:5)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "The operation should not update anchorNode")
    at assertSelectionNoChange ( /selection/common.js:978:5)
Pass
assert_equals(2, 2, "The operation should not update anchorOffset")
    at assertSelectionNoChange ( /selection/common.js:980:5)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "The operation should not update focusNode")
    at assertSelectionNoChange ( /selection/common.js:982:5)
Pass
assert_equals(8, 8, "The operation should not update focusOffset")
    at assertSelectionNoChange ( /selection/common.js:984:5)
Pass
assert_equals(object "b̈c̈d̈", object "b̈c̈d̈", "The operation should not replace a registered Range")
    at assertSelectionNoChange ( /selection/common.js:988:5)
Passextend() backwards with range 3 [paras[0].firstChild, 2, paras[0].firstChild, 8] and point 63 [xmlComment, 0]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(1, 1, "The operation should not add Range")
    at assertSelectionNoChange ( /selection/common.js:976:5)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "The operation should not update anchorNode")
    at assertSelectionNoChange ( /selection/common.js:978:5)
Pass
assert_equals(8, 8, "The operation should not update anchorOffset")
    at assertSelectionNoChange ( /selection/common.js:980:5)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "The operation should not update focusNode")
    at assertSelectionNoChange ( /selection/common.js:982:5)
Pass
assert_equals(2, 2, "The operation should not update focusOffset")
    at assertSelectionNoChange ( /selection/common.js:984:5)
Pass
assert_equals(object "b̈c̈d̈", object "b̈c̈d̈", "The operation should not replace a registered Range")
    at assertSelectionNoChange ( /selection/common.js:988:5)
Passextend() forwards with range 3 [paras[0].firstChild, 2, paras[0].firstChild, 8] and point 64 [xmlComment, 4]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(1, 1, "The operation should not add Range")
    at assertSelectionNoChange ( /selection/common.js:976:5)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "The operation should not update anchorNode")
    at assertSelectionNoChange ( /selection/common.js:978:5)
Pass
assert_equals(2, 2, "The operation should not update anchorOffset")
    at assertSelectionNoChange ( /selection/common.js:980:5)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "The operation should not update focusNode")
    at assertSelectionNoChange ( /selection/common.js:982:5)
Pass
assert_equals(8, 8, "The operation should not update focusOffset")
    at assertSelectionNoChange ( /selection/common.js:984:5)
Pass
assert_equals(object "b̈c̈d̈", object "b̈c̈d̈", "The operation should not replace a registered Range")
    at assertSelectionNoChange ( /selection/common.js:988:5)
Passextend() backwards with range 3 [paras[0].firstChild, 2, paras[0].firstChild, 8] and point 64 [xmlComment, 4]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(1, 1, "The operation should not add Range")
    at assertSelectionNoChange ( /selection/common.js:976:5)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "The operation should not update anchorNode")
    at assertSelectionNoChange ( /selection/common.js:978:5)
Pass
assert_equals(8, 8, "The operation should not update anchorOffset")
    at assertSelectionNoChange ( /selection/common.js:980:5)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "The operation should not update focusNode")
    at assertSelectionNoChange ( /selection/common.js:982:5)
Pass
assert_equals(2, 2, "The operation should not update focusOffset")
    at assertSelectionNoChange ( /selection/common.js:984:5)
Pass
assert_equals(object "b̈c̈d̈", object "b̈c̈d̈", "The operation should not replace a registered Range")
    at assertSelectionNoChange ( /selection/common.js:988:5)
Passextend() forwards with range 3 [paras[0].firstChild, 2, paras[0].firstChild, 8] and point 65 [processingInstruction, 0]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(1, 1, "The operation should not add Range")
    at assertSelectionNoChange ( /selection/common.js:976:5)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "The operation should not update anchorNode")
    at assertSelectionNoChange ( /selection/common.js:978:5)
Pass
assert_equals(2, 2, "The operation should not update anchorOffset")
    at assertSelectionNoChange ( /selection/common.js:980:5)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "The operation should not update focusNode")
    at assertSelectionNoChange ( /selection/common.js:982:5)
Pass
assert_equals(8, 8, "The operation should not update focusOffset")
    at assertSelectionNoChange ( /selection/common.js:984:5)
Pass
assert_equals(object "b̈c̈d̈", object "b̈c̈d̈", "The operation should not replace a registered Range")
    at assertSelectionNoChange ( /selection/common.js:988:5)
Passextend() backwards with range 3 [paras[0].firstChild, 2, paras[0].firstChild, 8] and point 65 [processingInstruction, 0]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(1, 1, "The operation should not add Range")
    at assertSelectionNoChange ( /selection/common.js:976:5)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "The operation should not update anchorNode")
    at assertSelectionNoChange ( /selection/common.js:978:5)
Pass
assert_equals(8, 8, "The operation should not update anchorOffset")
    at assertSelectionNoChange ( /selection/common.js:980:5)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "The operation should not update focusNode")
    at assertSelectionNoChange ( /selection/common.js:982:5)
Pass
assert_equals(2, 2, "The operation should not update focusOffset")
    at assertSelectionNoChange ( /selection/common.js:984:5)
Pass
assert_equals(object "b̈c̈d̈", object "b̈c̈d̈", "The operation should not replace a registered Range")
    at assertSelectionNoChange ( /selection/common.js:988:5)
Passextend() forwards with range 3 [paras[0].firstChild, 2, paras[0].firstChild, 8] and point 66 [processingInstruction, 5]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(1, 1, "The operation should not add Range")
    at assertSelectionNoChange ( /selection/common.js:976:5)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "The operation should not update anchorNode")
    at assertSelectionNoChange ( /selection/common.js:978:5)
Pass
assert_equals(2, 2, "The operation should not update anchorOffset")
    at assertSelectionNoChange ( /selection/common.js:980:5)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "The operation should not update focusNode")
    at assertSelectionNoChange ( /selection/common.js:982:5)
Pass
assert_equals(8, 8, "The operation should not update focusOffset")
    at assertSelectionNoChange ( /selection/common.js:984:5)
Pass
assert_equals(object "b̈c̈d̈", object "b̈c̈d̈", "The operation should not replace a registered Range")
    at assertSelectionNoChange ( /selection/common.js:988:5)
Passextend() backwards with range 3 [paras[0].firstChild, 2, paras[0].firstChild, 8] and point 66 [processingInstruction, 5]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(1, 1, "The operation should not add Range")
    at assertSelectionNoChange ( /selection/common.js:976:5)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "The operation should not update anchorNode")
    at assertSelectionNoChange ( /selection/common.js:978:5)
Pass
assert_equals(8, 8, "The operation should not update anchorOffset")
    at assertSelectionNoChange ( /selection/common.js:980:5)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "The operation should not update focusNode")
    at assertSelectionNoChange ( /selection/common.js:982:5)
Pass
assert_equals(2, 2, "The operation should not update focusOffset")
    at assertSelectionNoChange ( /selection/common.js:984:5)
Pass
assert_equals(object "b̈c̈d̈", object "b̈c̈d̈", "The operation should not replace a registered Range")
    at assertSelectionNoChange ( /selection/common.js:988:5)
Passextend() forwards with range 3 [paras[0].firstChild, 2, paras[0].firstChild, 8] and point 67 [processingInstruction, 9]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(1, 1, "The operation should not add Range")
    at assertSelectionNoChange ( /selection/common.js:976:5)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "The operation should not update anchorNode")
    at assertSelectionNoChange ( /selection/common.js:978:5)
Pass
assert_equals(2, 2, "The operation should not update anchorOffset")
    at assertSelectionNoChange ( /selection/common.js:980:5)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "The operation should not update focusNode")
    at assertSelectionNoChange ( /selection/common.js:982:5)
Pass
assert_equals(8, 8, "The operation should not update focusOffset")
    at assertSelectionNoChange ( /selection/common.js:984:5)
Pass
assert_equals(object "b̈c̈d̈", object "b̈c̈d̈", "The operation should not replace a registered Range")
    at assertSelectionNoChange ( /selection/common.js:988:5)
Passextend() backwards with range 3 [paras[0].firstChild, 2, paras[0].firstChild, 8] and point 67 [processingInstruction, 9]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(1, 1, "The operation should not add Range")
    at assertSelectionNoChange ( /selection/common.js:976:5)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "The operation should not update anchorNode")
    at assertSelectionNoChange ( /selection/common.js:978:5)
Pass
assert_equals(8, 8, "The operation should not update anchorOffset")
    at assertSelectionNoChange ( /selection/common.js:980:5)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "The operation should not update focusNode")
    at assertSelectionNoChange ( /selection/common.js:982:5)
Pass
assert_equals(2, 2, "The operation should not update focusOffset")
    at assertSelectionNoChange ( /selection/common.js:984:5)
Pass
assert_equals(object "b̈c̈d̈", object "b̈c̈d̈", "The operation should not replace a registered Range")
    at assertSelectionNoChange ( /selection/common.js:988:5)
Passextend() forwards with range 3 [paras[0].firstChild, 2, paras[0].firstChild, 8] and point 68 [detachedTextNode, 0]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(1, 1, "The operation should not add Range")
    at assertSelectionNoChange ( /selection/common.js:976:5)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "The operation should not update anchorNode")
    at assertSelectionNoChange ( /selection/common.js:978:5)
Pass
assert_equals(2, 2, "The operation should not update anchorOffset")
    at assertSelectionNoChange ( /selection/common.js:980:5)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "The operation should not update focusNode")
    at assertSelectionNoChange ( /selection/common.js:982:5)
Pass
assert_equals(8, 8, "The operation should not update focusOffset")
    at assertSelectionNoChange ( /selection/common.js:984:5)
Pass
assert_equals(object "b̈c̈d̈", object "b̈c̈d̈", "The operation should not replace a registered Range")
    at assertSelectionNoChange ( /selection/common.js:988:5)
Passextend() backwards with range 3 [paras[0].firstChild, 2, paras[0].firstChild, 8] and point 68 [detachedTextNode, 0]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(1, 1, "The operation should not add Range")
    at assertSelectionNoChange ( /selection/common.js:976:5)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "The operation should not update anchorNode")
    at assertSelectionNoChange ( /selection/common.js:978:5)
Pass
assert_equals(8, 8, "The operation should not update anchorOffset")
    at assertSelectionNoChange ( /selection/common.js:980:5)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "The operation should not update focusNode")
    at assertSelectionNoChange ( /selection/common.js:982:5)
Pass
assert_equals(2, 2, "The operation should not update focusOffset")
    at assertSelectionNoChange ( /selection/common.js:984:5)
Pass
assert_equals(object "b̈c̈d̈", object "b̈c̈d̈", "The operation should not replace a registered Range")
    at assertSelectionNoChange ( /selection/common.js:988:5)
Passextend() forwards with range 3 [paras[0].firstChild, 2, paras[0].firstChild, 8] and point 69 [detachedTextNode, 8]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(1, 1, "The operation should not add Range")
    at assertSelectionNoChange ( /selection/common.js:976:5)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "The operation should not update anchorNode")
    at assertSelectionNoChange ( /selection/common.js:978:5)
Pass
assert_equals(2, 2, "The operation should not update anchorOffset")
    at assertSelectionNoChange ( /selection/common.js:980:5)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "The operation should not update focusNode")
    at assertSelectionNoChange ( /selection/common.js:982:5)
Pass
assert_equals(8, 8, "The operation should not update focusOffset")
    at assertSelectionNoChange ( /selection/common.js:984:5)
Pass
assert_equals(object "b̈c̈d̈", object "b̈c̈d̈", "The operation should not replace a registered Range")
    at assertSelectionNoChange ( /selection/common.js:988:5)
Passextend() backwards with range 3 [paras[0].firstChild, 2, paras[0].firstChild, 8] and point 69 [detachedTextNode, 8]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(1, 1, "The operation should not add Range")
    at assertSelectionNoChange ( /selection/common.js:976:5)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "The operation should not update anchorNode")
    at assertSelectionNoChange ( /selection/common.js:978:5)
Pass
assert_equals(8, 8, "The operation should not update anchorOffset")
    at assertSelectionNoChange ( /selection/common.js:980:5)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "The operation should not update focusNode")
    at assertSelectionNoChange ( /selection/common.js:982:5)
Pass
assert_equals(2, 2, "The operation should not update focusOffset")
    at assertSelectionNoChange ( /selection/common.js:984:5)
Pass
assert_equals(object "b̈c̈d̈", object "b̈c̈d̈", "The operation should not replace a registered Range")
    at assertSelectionNoChange ( /selection/common.js:988:5)
Passextend() forwards with range 3 [paras[0].firstChild, 2, paras[0].firstChild, 8] and point 70 [detachedForeignTextNode, 0]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(1, 1, "The operation should not add Range")
    at assertSelectionNoChange ( /selection/common.js:976:5)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "The operation should not update anchorNode")
    at assertSelectionNoChange ( /selection/common.js:978:5)
Pass
assert_equals(2, 2, "The operation should not update anchorOffset")
    at assertSelectionNoChange ( /selection/common.js:980:5)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "The operation should not update focusNode")
    at assertSelectionNoChange ( /selection/common.js:982:5)
Pass
assert_equals(8, 8, "The operation should not update focusOffset")
    at assertSelectionNoChange ( /selection/common.js:984:5)
Pass
assert_equals(object "b̈c̈d̈", object "b̈c̈d̈", "The operation should not replace a registered Range")
    at assertSelectionNoChange ( /selection/common.js:988:5)
Passextend() backwards with range 3 [paras[0].firstChild, 2, paras[0].firstChild, 8] and point 70 [detachedForeignTextNode, 0]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(1, 1, "The operation should not add Range")
    at assertSelectionNoChange ( /selection/common.js:976:5)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "The operation should not update anchorNode")
    at assertSelectionNoChange ( /selection/common.js:978:5)
Pass
assert_equals(8, 8, "The operation should not update anchorOffset")
    at assertSelectionNoChange ( /selection/common.js:980:5)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "The operation should not update focusNode")
    at assertSelectionNoChange ( /selection/common.js:982:5)
Pass
assert_equals(2, 2, "The operation should not update focusOffset")
    at assertSelectionNoChange ( /selection/common.js:984:5)
Pass
assert_equals(object "b̈c̈d̈", object "b̈c̈d̈", "The operation should not replace a registered Range")
    at assertSelectionNoChange ( /selection/common.js:988:5)
Passextend() forwards with range 3 [paras[0].firstChild, 2, paras[0].firstChild, 8] and point 71 [detachedForeignTextNode, 8]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(1, 1, "The operation should not add Range")
    at assertSelectionNoChange ( /selection/common.js:976:5)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "The operation should not update anchorNode")
    at assertSelectionNoChange ( /selection/common.js:978:5)
Pass
assert_equals(2, 2, "The operation should not update anchorOffset")
    at assertSelectionNoChange ( /selection/common.js:980:5)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "The operation should not update focusNode")
    at assertSelectionNoChange ( /selection/common.js:982:5)
Pass
assert_equals(8, 8, "The operation should not update focusOffset")
    at assertSelectionNoChange ( /selection/common.js:984:5)
Pass
assert_equals(object "b̈c̈d̈", object "b̈c̈d̈", "The operation should not replace a registered Range")
    at assertSelectionNoChange ( /selection/common.js:988:5)
Passextend() backwards with range 3 [paras[0].firstChild, 2, paras[0].firstChild, 8] and point 71 [detachedForeignTextNode, 8]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(1, 1, "The operation should not add Range")
    at assertSelectionNoChange ( /selection/common.js:976:5)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "The operation should not update anchorNode")
    at assertSelectionNoChange ( /selection/common.js:978:5)
Pass
assert_equals(8, 8, "The operation should not update anchorOffset")
    at assertSelectionNoChange ( /selection/common.js:980:5)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "The operation should not update focusNode")
    at assertSelectionNoChange ( /selection/common.js:982:5)
Pass
assert_equals(2, 2, "The operation should not update focusOffset")
    at assertSelectionNoChange ( /selection/common.js:984:5)
Pass
assert_equals(object "b̈c̈d̈", object "b̈c̈d̈", "The operation should not replace a registered Range")
    at assertSelectionNoChange ( /selection/common.js:988:5)
Passextend() forwards with range 3 [paras[0].firstChild, 2, paras[0].firstChild, 8] and point 72 [detachedXmlTextNode, 0]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(1, 1, "The operation should not add Range")
    at assertSelectionNoChange ( /selection/common.js:976:5)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "The operation should not update anchorNode")
    at assertSelectionNoChange ( /selection/common.js:978:5)
Pass
assert_equals(2, 2, "The operation should not update anchorOffset")
    at assertSelectionNoChange ( /selection/common.js:980:5)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "The operation should not update focusNode")
    at assertSelectionNoChange ( /selection/common.js:982:5)
Pass
assert_equals(8, 8, "The operation should not update focusOffset")
    at assertSelectionNoChange ( /selection/common.js:984:5)
Pass
assert_equals(object "b̈c̈d̈", object "b̈c̈d̈", "The operation should not replace a registered Range")
    at assertSelectionNoChange ( /selection/common.js:988:5)
Passextend() backwards with range 3 [paras[0].firstChild, 2, paras[0].firstChild, 8] and point 72 [detachedXmlTextNode, 0]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(1, 1, "The operation should not add Range")
    at assertSelectionNoChange ( /selection/common.js:976:5)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "The operation should not update anchorNode")
    at assertSelectionNoChange ( /selection/common.js:978:5)
Pass
assert_equals(8, 8, "The operation should not update anchorOffset")
    at assertSelectionNoChange ( /selection/common.js:980:5)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "The operation should not update focusNode")
    at assertSelectionNoChange ( /selection/common.js:982:5)
Pass
assert_equals(2, 2, "The operation should not update focusOffset")
    at assertSelectionNoChange ( /selection/common.js:984:5)
Pass
assert_equals(object "b̈c̈d̈", object "b̈c̈d̈", "The operation should not replace a registered Range")
    at assertSelectionNoChange ( /selection/common.js:988:5)
Passextend() forwards with range 3 [paras[0].firstChild, 2, paras[0].firstChild, 8] and point 73 [detachedXmlTextNode, 8]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(1, 1, "The operation should not add Range")
    at assertSelectionNoChange ( /selection/common.js:976:5)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "The operation should not update anchorNode")
    at assertSelectionNoChange ( /selection/common.js:978:5)
Pass
assert_equals(2, 2, "The operation should not update anchorOffset")
    at assertSelectionNoChange ( /selection/common.js:980:5)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "The operation should not update focusNode")
    at assertSelectionNoChange ( /selection/common.js:982:5)
Pass
assert_equals(8, 8, "The operation should not update focusOffset")
    at assertSelectionNoChange ( /selection/common.js:984:5)
Pass
assert_equals(object "b̈c̈d̈", object "b̈c̈d̈", "The operation should not replace a registered Range")
    at assertSelectionNoChange ( /selection/common.js:988:5)
Passextend() backwards with range 3 [paras[0].firstChild, 2, paras[0].firstChild, 8] and point 73 [detachedXmlTextNode, 8]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(1, 1, "The operation should not add Range")
    at assertSelectionNoChange ( /selection/common.js:976:5)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "The operation should not update anchorNode")
    at assertSelectionNoChange ( /selection/common.js:978:5)
Pass
assert_equals(8, 8, "The operation should not update anchorOffset")
    at assertSelectionNoChange ( /selection/common.js:980:5)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "The operation should not update focusNode")
    at assertSelectionNoChange ( /selection/common.js:982:5)
Pass
assert_equals(2, 2, "The operation should not update focusOffset")
    at assertSelectionNoChange ( /selection/common.js:984:5)
Pass
assert_equals(object "b̈c̈d̈", object "b̈c̈d̈", "The operation should not replace a registered Range")
    at assertSelectionNoChange ( /selection/common.js:988:5)
Passextend() forwards with range 3 [paras[0].firstChild, 2, paras[0].firstChild, 8] and point 74 [detachedProcessingInstruction, 12]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(1, 1, "The operation should not add Range")
    at assertSelectionNoChange ( /selection/common.js:976:5)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "The operation should not update anchorNode")
    at assertSelectionNoChange ( /selection/common.js:978:5)
Pass
assert_equals(2, 2, "The operation should not update anchorOffset")
    at assertSelectionNoChange ( /selection/common.js:980:5)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "The operation should not update focusNode")
    at assertSelectionNoChange ( /selection/common.js:982:5)
Pass
assert_equals(8, 8, "The operation should not update focusOffset")
    at assertSelectionNoChange ( /selection/common.js:984:5)
Pass
assert_equals(object "b̈c̈d̈", object "b̈c̈d̈", "The operation should not replace a registered Range")
    at assertSelectionNoChange ( /selection/common.js:988:5)
Passextend() backwards with range 3 [paras[0].firstChild, 2, paras[0].firstChild, 8] and point 74 [detachedProcessingInstruction, 12]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(1, 1, "The operation should not add Range")
    at assertSelectionNoChange ( /selection/common.js:976:5)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "The operation should not update anchorNode")
    at assertSelectionNoChange ( /selection/common.js:978:5)
Pass
assert_equals(8, 8, "The operation should not update anchorOffset")
    at assertSelectionNoChange ( /selection/common.js:980:5)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "The operation should not update focusNode")
    at assertSelectionNoChange ( /selection/common.js:982:5)
Pass
assert_equals(2, 2, "The operation should not update focusOffset")
    at assertSelectionNoChange ( /selection/common.js:984:5)
Pass
assert_equals(object "b̈c̈d̈", object "b̈c̈d̈", "The operation should not replace a registered Range")
    at assertSelectionNoChange ( /selection/common.js:988:5)
Passextend() forwards with range 3 [paras[0].firstChild, 2, paras[0].firstChild, 8] and point 75 [detachedComment, 3]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(1, 1, "The operation should not add Range")
    at assertSelectionNoChange ( /selection/common.js:976:5)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "The operation should not update anchorNode")
    at assertSelectionNoChange ( /selection/common.js:978:5)
Pass
assert_equals(2, 2, "The operation should not update anchorOffset")
    at assertSelectionNoChange ( /selection/common.js:980:5)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "The operation should not update focusNode")
    at assertSelectionNoChange ( /selection/common.js:982:5)
Pass
assert_equals(8, 8, "The operation should not update focusOffset")
    at assertSelectionNoChange ( /selection/common.js:984:5)
Pass
assert_equals(object "b̈c̈d̈", object "b̈c̈d̈", "The operation should not replace a registered Range")
    at assertSelectionNoChange ( /selection/common.js:988:5)
Passextend() backwards with range 3 [paras[0].firstChild, 2, paras[0].firstChild, 8] and point 75 [detachedComment, 3]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(1, 1, "The operation should not add Range")
    at assertSelectionNoChange ( /selection/common.js:976:5)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "The operation should not update anchorNode")
    at assertSelectionNoChange ( /selection/common.js:978:5)
Pass
assert_equals(8, 8, "The operation should not update anchorOffset")
    at assertSelectionNoChange ( /selection/common.js:980:5)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "The operation should not update focusNode")
    at assertSelectionNoChange ( /selection/common.js:982:5)
Pass
assert_equals(2, 2, "The operation should not update focusOffset")
    at assertSelectionNoChange ( /selection/common.js:984:5)
Pass
assert_equals(object "b̈c̈d̈", object "b̈c̈d̈", "The operation should not replace a registered Range")
    at assertSelectionNoChange ( /selection/common.js:988:5)
Passextend() forwards with range 3 [paras[0].firstChild, 2, paras[0].firstChild, 8] and point 76 [detachedComment, 5]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(1, 1, "The operation should not add Range")
    at assertSelectionNoChange ( /selection/common.js:976:5)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "The operation should not update anchorNode")
    at assertSelectionNoChange ( /selection/common.js:978:5)
Pass
assert_equals(2, 2, "The operation should not update anchorOffset")
    at assertSelectionNoChange ( /selection/common.js:980:5)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "The operation should not update focusNode")
    at assertSelectionNoChange ( /selection/common.js:982:5)
Pass
assert_equals(8, 8, "The operation should not update focusOffset")
    at assertSelectionNoChange ( /selection/common.js:984:5)
Pass
assert_equals(object "b̈c̈d̈", object "b̈c̈d̈", "The operation should not replace a registered Range")
    at assertSelectionNoChange ( /selection/common.js:988:5)
Passextend() backwards with range 3 [paras[0].firstChild, 2, paras[0].firstChild, 8] and point 76 [detachedComment, 5]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(1, 1, "The operation should not add Range")
    at assertSelectionNoChange ( /selection/common.js:976:5)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "The operation should not update anchorNode")
    at assertSelectionNoChange ( /selection/common.js:978:5)
Pass
assert_equals(8, 8, "The operation should not update anchorOffset")
    at assertSelectionNoChange ( /selection/common.js:980:5)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "The operation should not update focusNode")
    at assertSelectionNoChange ( /selection/common.js:982:5)
Pass
assert_equals(2, 2, "The operation should not update focusOffset")
    at assertSelectionNoChange ( /selection/common.js:984:5)
Pass
assert_equals(object "b̈c̈d̈", object "b̈c̈d̈", "The operation should not replace a registered Range")
    at assertSelectionNoChange ( /selection/common.js:988:5)
Passextend() forwards with range 3 [paras[0].firstChild, 2, paras[0].firstChild, 8] and point 77 [detachedForeignComment, 0]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(1, 1, "The operation should not add Range")
    at assertSelectionNoChange ( /selection/common.js:976:5)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "The operation should not update anchorNode")
    at assertSelectionNoChange ( /selection/common.js:978:5)
Pass
assert_equals(2, 2, "The operation should not update anchorOffset")
    at assertSelectionNoChange ( /selection/common.js:980:5)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "The operation should not update focusNode")
    at assertSelectionNoChange ( /selection/common.js:982:5)
Pass
assert_equals(8, 8, "The operation should not update focusOffset")
    at assertSelectionNoChange ( /selection/common.js:984:5)
Pass
assert_equals(object "b̈c̈d̈", object "b̈c̈d̈", "The operation should not replace a registered Range")
    at assertSelectionNoChange ( /selection/common.js:988:5)
Passextend() backwards with range 3 [paras[0].firstChild, 2, paras[0].firstChild, 8] and point 77 [detachedForeignComment, 0]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(1, 1, "The operation should not add Range")
    at assertSelectionNoChange ( /selection/common.js:976:5)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "The operation should not update anchorNode")
    at assertSelectionNoChange ( /selection/common.js:978:5)
Pass
assert_equals(8, 8, "The operation should not update anchorOffset")
    at assertSelectionNoChange ( /selection/common.js:980:5)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "The operation should not update focusNode")
    at assertSelectionNoChange ( /selection/common.js:982:5)
Pass
assert_equals(2, 2, "The operation should not update focusOffset")
    at assertSelectionNoChange ( /selection/common.js:984:5)
Pass
assert_equals(object "b̈c̈d̈", object "b̈c̈d̈", "The operation should not replace a registered Range")
    at assertSelectionNoChange ( /selection/common.js:988:5)
Passextend() forwards with range 3 [paras[0].firstChild, 2, paras[0].firstChild, 8] and point 78 [detachedForeignComment, 4]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(1, 1, "The operation should not add Range")
    at assertSelectionNoChange ( /selection/common.js:976:5)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "The operation should not update anchorNode")
    at assertSelectionNoChange ( /selection/common.js:978:5)
Pass
assert_equals(2, 2, "The operation should not update anchorOffset")
    at assertSelectionNoChange ( /selection/common.js:980:5)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "The operation should not update focusNode")
    at assertSelectionNoChange ( /selection/common.js:982:5)
Pass
assert_equals(8, 8, "The operation should not update focusOffset")
    at assertSelectionNoChange ( /selection/common.js:984:5)
Pass
assert_equals(object "b̈c̈d̈", object "b̈c̈d̈", "The operation should not replace a registered Range")
    at assertSelectionNoChange ( /selection/common.js:988:5)
Passextend() backwards with range 3 [paras[0].firstChild, 2, paras[0].firstChild, 8] and point 78 [detachedForeignComment, 4]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(1, 1, "The operation should not add Range")
    at assertSelectionNoChange ( /selection/common.js:976:5)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "The operation should not update anchorNode")
    at assertSelectionNoChange ( /selection/common.js:978:5)
Pass
assert_equals(8, 8, "The operation should not update anchorOffset")
    at assertSelectionNoChange ( /selection/common.js:980:5)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "The operation should not update focusNode")
    at assertSelectionNoChange ( /selection/common.js:982:5)
Pass
assert_equals(2, 2, "The operation should not update focusOffset")
    at assertSelectionNoChange ( /selection/common.js:984:5)
Pass
assert_equals(object "b̈c̈d̈", object "b̈c̈d̈", "The operation should not replace a registered Range")
    at assertSelectionNoChange ( /selection/common.js:988:5)
Passextend() forwards with range 3 [paras[0].firstChild, 2, paras[0].firstChild, 8] and point 79 [detachedXmlComment, 2]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(1, 1, "The operation should not add Range")
    at assertSelectionNoChange ( /selection/common.js:976:5)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "The operation should not update anchorNode")
    at assertSelectionNoChange ( /selection/common.js:978:5)
Pass
assert_equals(2, 2, "The operation should not update anchorOffset")
    at assertSelectionNoChange ( /selection/common.js:980:5)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "The operation should not update focusNode")
    at assertSelectionNoChange ( /selection/common.js:982:5)
Pass
assert_equals(8, 8, "The operation should not update focusOffset")
    at assertSelectionNoChange ( /selection/common.js:984:5)
Pass
assert_equals(object "b̈c̈d̈", object "b̈c̈d̈", "The operation should not replace a registered Range")
    at assertSelectionNoChange ( /selection/common.js:988:5)
Passextend() backwards with range 3 [paras[0].firstChild, 2, paras[0].firstChild, 8] and point 79 [detachedXmlComment, 2]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(1, 1, "The operation should not add Range")
    at assertSelectionNoChange ( /selection/common.js:976:5)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "The operation should not update anchorNode")
    at assertSelectionNoChange ( /selection/common.js:978:5)
Pass
assert_equals(8, 8, "The operation should not update anchorOffset")
    at assertSelectionNoChange ( /selection/common.js:980:5)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "The operation should not update focusNode")
    at assertSelectionNoChange ( /selection/common.js:982:5)
Pass
assert_equals(2, 2, "The operation should not update focusOffset")
    at assertSelectionNoChange ( /selection/common.js:984:5)
Pass
assert_equals(object "b̈c̈d̈", object "b̈c̈d̈", "The operation should not replace a registered Range")
    at assertSelectionNoChange ( /selection/common.js:988:5)
Passextend() forwards with range 3 [paras[0].firstChild, 2, paras[0].firstChild, 8] and point 80 [docfrag, 0]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(1, 1, "The operation should not add Range")
    at assertSelectionNoChange ( /selection/common.js:976:5)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "The operation should not update anchorNode")
    at assertSelectionNoChange ( /selection/common.js:978:5)
Pass
assert_equals(2, 2, "The operation should not update anchorOffset")
    at assertSelectionNoChange ( /selection/common.js:980:5)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "The operation should not update focusNode")
    at assertSelectionNoChange ( /selection/common.js:982:5)
Pass
assert_equals(8, 8, "The operation should not update focusOffset")
    at assertSelectionNoChange ( /selection/common.js:984:5)
Pass
assert_equals(object "b̈c̈d̈", object "b̈c̈d̈", "The operation should not replace a registered Range")
    at assertSelectionNoChange ( /selection/common.js:988:5)
Passextend() backwards with range 3 [paras[0].firstChild, 2, paras[0].firstChild, 8] and point 80 [docfrag, 0]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(1, 1, "The operation should not add Range")
    at assertSelectionNoChange ( /selection/common.js:976:5)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "The operation should not update anchorNode")
    at assertSelectionNoChange ( /selection/common.js:978:5)
Pass
assert_equals(8, 8, "The operation should not update anchorOffset")
    at assertSelectionNoChange ( /selection/common.js:980:5)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "The operation should not update focusNode")
    at assertSelectionNoChange ( /selection/common.js:982:5)
Pass
assert_equals(2, 2, "The operation should not update focusOffset")
    at assertSelectionNoChange ( /selection/common.js:984:5)
Pass
assert_equals(object "b̈c̈d̈", object "b̈c̈d̈", "The operation should not replace a registered Range")
    at assertSelectionNoChange ( /selection/common.js:988:5)
Passextend() forwards with range 3 [paras[0].firstChild, 2, paras[0].firstChild, 8] and point 81 [foreignDocfrag, 0]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(1, 1, "The operation should not add Range")
    at assertSelectionNoChange ( /selection/common.js:976:5)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "The operation should not update anchorNode")
    at assertSelectionNoChange ( /selection/common.js:978:5)
Pass
assert_equals(2, 2, "The operation should not update anchorOffset")
    at assertSelectionNoChange ( /selection/common.js:980:5)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "The operation should not update focusNode")
    at assertSelectionNoChange ( /selection/common.js:982:5)
Pass
assert_equals(8, 8, "The operation should not update focusOffset")
    at assertSelectionNoChange ( /selection/common.js:984:5)
Pass
assert_equals(object "b̈c̈d̈", object "b̈c̈d̈", "The operation should not replace a registered Range")
    at assertSelectionNoChange ( /selection/common.js:988:5)
Passextend() backwards with range 3 [paras[0].firstChild, 2, paras[0].firstChild, 8] and point 81 [foreignDocfrag, 0]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(1, 1, "The operation should not add Range")
    at assertSelectionNoChange ( /selection/common.js:976:5)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "The operation should not update anchorNode")
    at assertSelectionNoChange ( /selection/common.js:978:5)
Pass
assert_equals(8, 8, "The operation should not update anchorOffset")
    at assertSelectionNoChange ( /selection/common.js:980:5)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "The operation should not update focusNode")
    at assertSelectionNoChange ( /selection/common.js:982:5)
Pass
assert_equals(2, 2, "The operation should not update focusOffset")
    at assertSelectionNoChange ( /selection/common.js:984:5)
Pass
assert_equals(object "b̈c̈d̈", object "b̈c̈d̈", "The operation should not replace a registered Range")
    at assertSelectionNoChange ( /selection/common.js:988:5)
Passextend() forwards with range 3 [paras[0].firstChild, 2, paras[0].firstChild, 8] and point 82 [xmlDocfrag, 0]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(1, 1, "The operation should not add Range")
    at assertSelectionNoChange ( /selection/common.js:976:5)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "The operation should not update anchorNode")
    at assertSelectionNoChange ( /selection/common.js:978:5)
Pass
assert_equals(2, 2, "The operation should not update anchorOffset")
    at assertSelectionNoChange ( /selection/common.js:980:5)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "The operation should not update focusNode")
    at assertSelectionNoChange ( /selection/common.js:982:5)
Pass
assert_equals(8, 8, "The operation should not update focusOffset")
    at assertSelectionNoChange ( /selection/common.js:984:5)
Pass
assert_equals(object "b̈c̈d̈", object "b̈c̈d̈", "The operation should not replace a registered Range")
    at assertSelectionNoChange ( /selection/common.js:988:5)
Passextend() backwards with range 3 [paras[0].firstChild, 2, paras[0].firstChild, 8] and point 82 [xmlDocfrag, 0]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(1, 1, "The operation should not add Range")
    at assertSelectionNoChange ( /selection/common.js:976:5)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "The operation should not update anchorNode")
    at assertSelectionNoChange ( /selection/common.js:978:5)
Pass
assert_equals(8, 8, "The operation should not update anchorOffset")
    at assertSelectionNoChange ( /selection/common.js:980:5)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "The operation should not update focusNode")
    at assertSelectionNoChange ( /selection/common.js:982:5)
Pass
assert_equals(2, 2, "The operation should not update focusOffset")
    at assertSelectionNoChange ( /selection/common.js:984:5)
Pass
assert_equals(object "b̈c̈d̈", object "b̈c̈d̈", "The operation should not replace a registered Range")
    at assertSelectionNoChange ( /selection/common.js:988:5)
Passextend() forwards with range 3 [paras[0].firstChild, 2, paras[0].firstChild, 8] and point 83 [doctype, 0]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "Sanity check: startContainer must be correct")
    at testExtend ( /selection/extend.js:80:5)
Pass
assert_equals(2, 2, "Sanity check: startOffset must be correct")
    at testExtend ( /selection/extend.js:82:5)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "Sanity check: endContainer must be correct")
    at testExtend ( /selection/extend.js:84:5)
Pass
assert_equals(8, 8, "Sanity check: endOffset must be correct")
    at testExtend ( /selection/extend.js:86:5)
Pass
assert_throws_dom("INVALID_NODE_TYPE_ERR", function "function() {             selection.extend(node, offset);         }", "extend() to a doctype must throw InvalidNodeTypeError")
    at testExtend ( /selection/extend.js:104:9)
Passextend() backwards with range 3 [paras[0].firstChild, 2, paras[0].firstChild, 8] and point 83 [doctype, 0]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "Sanity check: startContainer must be correct")
    at testExtend ( /selection/extend.js:80:5)
Pass
assert_equals(2, 2, "Sanity check: startOffset must be correct")
    at testExtend ( /selection/extend.js:82:5)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "Sanity check: endContainer must be correct")
    at testExtend ( /selection/extend.js:84:5)
Pass
assert_equals(8, 8, "Sanity check: endOffset must be correct")
    at testExtend ( /selection/extend.js:86:5)
Pass
assert_throws_dom("INVALID_NODE_TYPE_ERR", function "function() {             selection.extend(node, offset);         }", "extend() to a doctype must throw InvalidNodeTypeError")
    at testExtend ( /selection/extend.js:104:9)
Passextend() forwards with range 3 [paras[0].firstChild, 2, paras[0].firstChild, 8] and point 84 [doctype, -17]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "Sanity check: startContainer must be correct")
    at testExtend ( /selection/extend.js:80:5)
Pass
assert_equals(2, 2, "Sanity check: startOffset must be correct")
    at testExtend ( /selection/extend.js:82:5)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "Sanity check: endContainer must be correct")
    at testExtend ( /selection/extend.js:84:5)
Pass
assert_equals(8, 8, "Sanity check: endOffset must be correct")
    at testExtend ( /selection/extend.js:86:5)
Pass
assert_throws_dom("INVALID_NODE_TYPE_ERR", function "function() {             selection.extend(node, offset);         }", "extend() to a doctype must throw InvalidNodeTypeError")
    at testExtend ( /selection/extend.js:104:9)
Passextend() backwards with range 3 [paras[0].firstChild, 2, paras[0].firstChild, 8] and point 84 [doctype, -17]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "Sanity check: startContainer must be correct")
    at testExtend ( /selection/extend.js:80:5)
Pass
assert_equals(2, 2, "Sanity check: startOffset must be correct")
    at testExtend ( /selection/extend.js:82:5)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "Sanity check: endContainer must be correct")
    at testExtend ( /selection/extend.js:84:5)
Pass
assert_equals(8, 8, "Sanity check: endOffset must be correct")
    at testExtend ( /selection/extend.js:86:5)
Pass
assert_throws_dom("INVALID_NODE_TYPE_ERR", function "function() {             selection.extend(node, offset);         }", "extend() to a doctype must throw InvalidNodeTypeError")
    at testExtend ( /selection/extend.js:104:9)
Passextend() forwards with range 3 [paras[0].firstChild, 2, paras[0].firstChild, 8] and point 85 [doctype, 1]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "Sanity check: startContainer must be correct")
    at testExtend ( /selection/extend.js:80:5)
Pass
assert_equals(2, 2, "Sanity check: startOffset must be correct")
    at testExtend ( /selection/extend.js:82:5)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "Sanity check: endContainer must be correct")
    at testExtend ( /selection/extend.js:84:5)
Pass
assert_equals(8, 8, "Sanity check: endOffset must be correct")
    at testExtend ( /selection/extend.js:86:5)
Pass
assert_throws_dom("INVALID_NODE_TYPE_ERR", function "function() {             selection.extend(node, offset);         }", "extend() to a doctype must throw InvalidNodeTypeError")
    at testExtend ( /selection/extend.js:104:9)
Passextend() backwards with range 3 [paras[0].firstChild, 2, paras[0].firstChild, 8] and point 85 [doctype, 1]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "Sanity check: startContainer must be correct")
    at testExtend ( /selection/extend.js:80:5)
Pass
assert_equals(2, 2, "Sanity check: startOffset must be correct")
    at testExtend ( /selection/extend.js:82:5)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "Sanity check: endContainer must be correct")
    at testExtend ( /selection/extend.js:84:5)
Pass
assert_equals(8, 8, "Sanity check: endOffset must be correct")
    at testExtend ( /selection/extend.js:86:5)
Pass
assert_throws_dom("INVALID_NODE_TYPE_ERR", function "function() {             selection.extend(node, offset);         }", "extend() to a doctype must throw InvalidNodeTypeError")
    at testExtend ( /selection/extend.js:104:9)
Passextend() forwards with range 3 [paras[0].firstChild, 2, paras[0].firstChild, 8] and point 86 [foreignDoctype, 0]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(1, 1, "The operation should not add Range")
    at assertSelectionNoChange ( /selection/common.js:976:5)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "The operation should not update anchorNode")
    at assertSelectionNoChange ( /selection/common.js:978:5)
Pass
assert_equals(2, 2, "The operation should not update anchorOffset")
    at assertSelectionNoChange ( /selection/common.js:980:5)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "The operation should not update focusNode")
    at assertSelectionNoChange ( /selection/common.js:982:5)
Pass
assert_equals(8, 8, "The operation should not update focusOffset")
    at assertSelectionNoChange ( /selection/common.js:984:5)
Pass
assert_equals(object "b̈c̈d̈", object "b̈c̈d̈", "The operation should not replace a registered Range")
    at assertSelectionNoChange ( /selection/common.js:988:5)
Passextend() backwards with range 3 [paras[0].firstChild, 2, paras[0].firstChild, 8] and point 86 [foreignDoctype, 0]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(1, 1, "The operation should not add Range")
    at assertSelectionNoChange ( /selection/common.js:976:5)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "The operation should not update anchorNode")
    at assertSelectionNoChange ( /selection/common.js:978:5)
Pass
assert_equals(8, 8, "The operation should not update anchorOffset")
    at assertSelectionNoChange ( /selection/common.js:980:5)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "The operation should not update focusNode")
    at assertSelectionNoChange ( /selection/common.js:982:5)
Pass
assert_equals(2, 2, "The operation should not update focusOffset")
    at assertSelectionNoChange ( /selection/common.js:984:5)
Pass
assert_equals(object "b̈c̈d̈", object "b̈c̈d̈", "The operation should not replace a registered Range")
    at assertSelectionNoChange ( /selection/common.js:988:5)
Passextend() forwards with range 3 [paras[0].firstChild, 2, paras[0].firstChild, 8] and point 87 [xmlDoctype, 0]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(1, 1, "The operation should not add Range")
    at assertSelectionNoChange ( /selection/common.js:976:5)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "The operation should not update anchorNode")
    at assertSelectionNoChange ( /selection/common.js:978:5)
Pass
assert_equals(2, 2, "The operation should not update anchorOffset")
    at assertSelectionNoChange ( /selection/common.js:980:5)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "The operation should not update focusNode")
    at assertSelectionNoChange ( /selection/common.js:982:5)
Pass
assert_equals(8, 8, "The operation should not update focusOffset")
    at assertSelectionNoChange ( /selection/common.js:984:5)
Pass
assert_equals(object "b̈c̈d̈", object "b̈c̈d̈", "The operation should not replace a registered Range")
    at assertSelectionNoChange ( /selection/common.js:988:5)
Passextend() backwards with range 3 [paras[0].firstChild, 2, paras[0].firstChild, 8] and point 87 [xmlDoctype, 0]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(1, 1, "The operation should not add Range")
    at assertSelectionNoChange ( /selection/common.js:976:5)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "The operation should not update anchorNode")
    at assertSelectionNoChange ( /selection/common.js:978:5)
Pass
assert_equals(8, 8, "The operation should not update anchorOffset")
    at assertSelectionNoChange ( /selection/common.js:980:5)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "The operation should not update focusNode")
    at assertSelectionNoChange ( /selection/common.js:982:5)
Pass
assert_equals(2, 2, "The operation should not update focusOffset")
    at assertSelectionNoChange ( /selection/common.js:984:5)
Pass
assert_equals(object "b̈c̈d̈", object "b̈c̈d̈", "The operation should not replace a registered Range")
    at assertSelectionNoChange ( /selection/common.js:988:5)
Passextend() forwards with range 4 [paras[0].firstChild, 2, paras[0].firstChild, 9] and point 0 [paras[0].firstChild, -1]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "Sanity check: startContainer must be correct")
    at testExtend ( /selection/extend.js:80:5)
Pass
assert_equals(2, 2, "Sanity check: startOffset must be correct")
    at testExtend ( /selection/extend.js:82:5)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "Sanity check: endContainer must be correct")
    at testExtend ( /selection/extend.js:84:5)
Pass
assert_equals(9, 9, "Sanity check: endOffset must be correct")
    at testExtend ( /selection/extend.js:86:5)
Pass
assert_throws_dom("INDEX_SIZE_ERR", function "function() {             selection.extend(node, offset);         }", "extend() to an offset that's greater than node length (17) must throw IndexSizeError")
    at testExtend ( /selection/extend.js:117:9)
Passextend() backwards with range 4 [paras[0].firstChild, 2, paras[0].firstChild, 9] and point 0 [paras[0].firstChild, -1]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "Sanity check: startContainer must be correct")
    at testExtend ( /selection/extend.js:80:5)
Pass
assert_equals(2, 2, "Sanity check: startOffset must be correct")
    at testExtend ( /selection/extend.js:82:5)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "Sanity check: endContainer must be correct")
    at testExtend ( /selection/extend.js:84:5)
Pass
assert_equals(9, 9, "Sanity check: endOffset must be correct")
    at testExtend ( /selection/extend.js:86:5)
Pass
assert_throws_dom("INDEX_SIZE_ERR", function "function() {             selection.extend(node, offset);         }", "extend() to an offset that's greater than node length (17) must throw IndexSizeError")
    at testExtend ( /selection/extend.js:117:9)
Passextend() forwards with range 4 [paras[0].firstChild, 2, paras[0].firstChild, 9] and point 1 [paras[0].firstChild, 0]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "Sanity check: startContainer must be correct")
    at testExtend ( /selection/extend.js:80:5)
Pass
assert_equals(2, 2, "Sanity check: startOffset must be correct")
    at testExtend ( /selection/extend.js:82:5)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "Sanity check: endContainer must be correct")
    at testExtend ( /selection/extend.js:84:5)
Pass
assert_equals(9, 9, "Sanity check: endOffset must be correct")
    at testExtend ( /selection/extend.js:86:5)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "anchorNode must not change if the node passed to extend() has the same root as the original range")
    at testExtend ( /selection/extend.js:145:9)
Pass
assert_equals(2, 2, "anchorOffset must not change if the node passed to extend() has the same root as the original range")
    at testExtend ( /selection/extend.js:147:9)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "focusNode must be the node passed to extend()")
    at testExtend ( /selection/extend.js:155:5)
Pass
assert_equals(0, 0, "focusOffset must be the offset passed to extend()")
    at testExtend ( /selection/extend.js:157:5)
Pass
assert_not_equals(object "Ä", object "b̈c̈d̈e", "extend() must replace any existing range with a new one, not mutate the existing one")
    at testExtend ( /selection/extend.js:159:5)
Passextend() backwards with range 4 [paras[0].firstChild, 2, paras[0].firstChild, 9] and point 1 [paras[0].firstChild, 0]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "Sanity check: startContainer must be correct")
    at testExtend ( /selection/extend.js:80:5)
Pass
assert_equals(2, 2, "Sanity check: startOffset must be correct")
    at testExtend ( /selection/extend.js:82:5)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "Sanity check: endContainer must be correct")
    at testExtend ( /selection/extend.js:84:5)
Pass
assert_equals(9, 9, "Sanity check: endOffset must be correct")
    at testExtend ( /selection/extend.js:86:5)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "anchorNode must not change if the node passed to extend() has the same root as the original range")
    at testExtend ( /selection/extend.js:145:9)
Pass
assert_equals(9, 9, "anchorOffset must not change if the node passed to extend() has the same root as the original range")
    at testExtend ( /selection/extend.js:147:9)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "focusNode must be the node passed to extend()")
    at testExtend ( /selection/extend.js:155:5)
Pass
assert_equals(0, 0, "focusOffset must be the offset passed to extend()")
    at testExtend ( /selection/extend.js:157:5)
Pass
assert_not_equals(object "Äb̈c̈d̈e", object "b̈c̈d̈e", "extend() must replace any existing range with a new one, not mutate the existing one")
    at testExtend ( /selection/extend.js:159:5)
Passextend() forwards with range 4 [paras[0].firstChild, 2, paras[0].firstChild, 9] and point 2 [paras[0].firstChild, 1]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "Sanity check: startContainer must be correct")
    at testExtend ( /selection/extend.js:80:5)
Pass
assert_equals(2, 2, "Sanity check: startOffset must be correct")
    at testExtend ( /selection/extend.js:82:5)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "Sanity check: endContainer must be correct")
    at testExtend ( /selection/extend.js:84:5)
Pass
assert_equals(9, 9, "Sanity check: endOffset must be correct")
    at testExtend ( /selection/extend.js:86:5)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "anchorNode must not change if the node passed to extend() has the same root as the original range")
    at testExtend ( /selection/extend.js:145:9)
Pass
assert_equals(2, 2, "anchorOffset must not change if the node passed to extend() has the same root as the original range")
    at testExtend ( /selection/extend.js:147:9)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "focusNode must be the node passed to extend()")
    at testExtend ( /selection/extend.js:155:5)
Pass
assert_equals(1, 1, "focusOffset must be the offset passed to extend()")
    at testExtend ( /selection/extend.js:157:5)
Pass
assert_not_equals(object "̈", object "b̈c̈d̈e", "extend() must replace any existing range with a new one, not mutate the existing one")
    at testExtend ( /selection/extend.js:159:5)
Passextend() backwards with range 4 [paras[0].firstChild, 2, paras[0].firstChild, 9] and point 2 [paras[0].firstChild, 1]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "Sanity check: startContainer must be correct")
    at testExtend ( /selection/extend.js:80:5)
Pass
assert_equals(2, 2, "Sanity check: startOffset must be correct")
    at testExtend ( /selection/extend.js:82:5)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "Sanity check: endContainer must be correct")
    at testExtend ( /selection/extend.js:84:5)
Pass
assert_equals(9, 9, "Sanity check: endOffset must be correct")
    at testExtend ( /selection/extend.js:86:5)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "anchorNode must not change if the node passed to extend() has the same root as the original range")
    at testExtend ( /selection/extend.js:145:9)
Pass
assert_equals(9, 9, "anchorOffset must not change if the node passed to extend() has the same root as the original range")
    at testExtend ( /selection/extend.js:147:9)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "focusNode must be the node passed to extend()")
    at testExtend ( /selection/extend.js:155:5)
Pass
assert_equals(1, 1, "focusOffset must be the offset passed to extend()")
    at testExtend ( /selection/extend.js:157:5)
Pass
assert_not_equals(object "̈b̈c̈d̈e", object "b̈c̈d̈e", "extend() must replace any existing range with a new one, not mutate the existing one")
    at testExtend ( /selection/extend.js:159:5)
Passextend() forwards with range 4 [paras[0].firstChild, 2, paras[0].firstChild, 9] and point 3 [paras[0].firstChild, 2]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "Sanity check: startContainer must be correct")
    at testExtend ( /selection/extend.js:80:5)
Pass
assert_equals(2, 2, "Sanity check: startOffset must be correct")
    at testExtend ( /selection/extend.js:82:5)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "Sanity check: endContainer must be correct")
    at testExtend ( /selection/extend.js:84:5)
Pass
assert_equals(9, 9, "Sanity check: endOffset must be correct")
    at testExtend ( /selection/extend.js:86:5)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "anchorNode must not change if the node passed to extend() has the same root as the original range")
    at testExtend ( /selection/extend.js:145:9)
Pass
assert_equals(2, 2, "anchorOffset must not change if the node passed to extend() has the same root as the original range")
    at testExtend ( /selection/extend.js:147:9)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "focusNode must be the node passed to extend()")
    at testExtend ( /selection/extend.js:155:5)
Pass
assert_equals(2, 2, "focusOffset must be the offset passed to extend()")
    at testExtend ( /selection/extend.js:157:5)
Pass
assert_not_equals(object "", object "b̈c̈d̈e", "extend() must replace any existing range with a new one, not mutate the existing one")
    at testExtend ( /selection/extend.js:159:5)
Passextend() backwards with range 4 [paras[0].firstChild, 2, paras[0].firstChild, 9] and point 3 [paras[0].firstChild, 2]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "Sanity check: startContainer must be correct")
    at testExtend ( /selection/extend.js:80:5)
Pass
assert_equals(2, 2, "Sanity check: startOffset must be correct")
    at testExtend ( /selection/extend.js:82:5)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "Sanity check: endContainer must be correct")
    at testExtend ( /selection/extend.js:84:5)
Pass
assert_equals(9, 9, "Sanity check: endOffset must be correct")
    at testExtend ( /selection/extend.js:86:5)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "anchorNode must not change if the node passed to extend() has the same root as the original range")
    at testExtend ( /selection/extend.js:145:9)
Pass
assert_equals(9, 9, "anchorOffset must not change if the node passed to extend() has the same root as the original range")
    at testExtend ( /selection/extend.js:147:9)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "focusNode must be the node passed to extend()")
    at testExtend ( /selection/extend.js:155:5)
Pass
assert_equals(2, 2, "focusOffset must be the offset passed to extend()")
    at testExtend ( /selection/extend.js:157:5)
Pass
assert_not_equals(object "b̈c̈d̈e", object "b̈c̈d̈e", "extend() must replace any existing range with a new one, not mutate the existing one")
    at testExtend ( /selection/extend.js:159:5)
Passextend() forwards with range 4 [paras[0].firstChild, 2, paras[0].firstChild, 9] and point 4 [paras[0].firstChild, 8]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "Sanity check: startContainer must be correct")
    at testExtend ( /selection/extend.js:80:5)
Pass
assert_equals(2, 2, "Sanity check: startOffset must be correct")
    at testExtend ( /selection/extend.js:82:5)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "Sanity check: endContainer must be correct")
    at testExtend ( /selection/extend.js:84:5)
Pass
assert_equals(9, 9, "Sanity check: endOffset must be correct")
    at testExtend ( /selection/extend.js:86:5)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "anchorNode must not change if the node passed to extend() has the same root as the original range")
    at testExtend ( /selection/extend.js:145:9)
Pass
assert_equals(2, 2, "anchorOffset must not change if the node passed to extend() has the same root as the original range")
    at testExtend ( /selection/extend.js:147:9)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "focusNode must be the node passed to extend()")
    at testExtend ( /selection/extend.js:155:5)
Pass
assert_equals(8, 8, "focusOffset must be the offset passed to extend()")
    at testExtend ( /selection/extend.js:157:5)
Pass
assert_not_equals(object "b̈c̈d̈", object "b̈c̈d̈e", "extend() must replace any existing range with a new one, not mutate the existing one")
    at testExtend ( /selection/extend.js:159:5)
Passextend() backwards with range 4 [paras[0].firstChild, 2, paras[0].firstChild, 9] and point 4 [paras[0].firstChild, 8]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "Sanity check: startContainer must be correct")
    at testExtend ( /selection/extend.js:80:5)
Pass
assert_equals(2, 2, "Sanity check: startOffset must be correct")
    at testExtend ( /selection/extend.js:82:5)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "Sanity check: endContainer must be correct")
    at testExtend ( /selection/extend.js:84:5)
Pass
assert_equals(9, 9, "Sanity check: endOffset must be correct")
    at testExtend ( /selection/extend.js:86:5)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "anchorNode must not change if the node passed to extend() has the same root as the original range")
    at testExtend ( /selection/extend.js:145:9)
Pass
assert_equals(9, 9, "anchorOffset must not change if the node passed to extend() has the same root as the original range")
    at testExtend ( /selection/extend.js:147:9)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "focusNode must be the node passed to extend()")
    at testExtend ( /selection/extend.js:155:5)
Pass
assert_equals(8, 8, "focusOffset must be the offset passed to extend()")
    at testExtend ( /selection/extend.js:157:5)
Pass
assert_not_equals(object "e", object "b̈c̈d̈e", "extend() must replace any existing range with a new one, not mutate the existing one")
    at testExtend ( /selection/extend.js:159:5)
Passextend() forwards with range 4 [paras[0].firstChild, 2, paras[0].firstChild, 9] and point 5 [paras[0].firstChild, 9]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "Sanity check: startContainer must be correct")
    at testExtend ( /selection/extend.js:80:5)
Pass
assert_equals(2, 2, "Sanity check: startOffset must be correct")
    at testExtend ( /selection/extend.js:82:5)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "Sanity check: endContainer must be correct")
    at testExtend ( /selection/extend.js:84:5)
Pass
assert_equals(9, 9, "Sanity check: endOffset must be correct")
    at testExtend ( /selection/extend.js:86:5)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "anchorNode must not change if the node passed to extend() has the same root as the original range")
    at testExtend ( /selection/extend.js:145:9)
Pass
assert_equals(2, 2, "anchorOffset must not change if the node passed to extend() has the same root as the original range")
    at testExtend ( /selection/extend.js:147:9)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "focusNode must be the node passed to extend()")
    at testExtend ( /selection/extend.js:155:5)
Pass
assert_equals(9, 9, "focusOffset must be the offset passed to extend()")
    at testExtend ( /selection/extend.js:157:5)
Pass
assert_not_equals(object "b̈c̈d̈e", object "b̈c̈d̈e", "extend() must replace any existing range with a new one, not mutate the existing one")
    at testExtend ( /selection/extend.js:159:5)
Passextend() backwards with range 4 [paras[0].firstChild, 2, paras[0].firstChild, 9] and point 5 [paras[0].firstChild, 9]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "Sanity check: startContainer must be correct")
    at testExtend ( /selection/extend.js:80:5)
Pass
assert_equals(2, 2, "Sanity check: startOffset must be correct")
    at testExtend ( /selection/extend.js:82:5)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "Sanity check: endContainer must be correct")
    at testExtend ( /selection/extend.js:84:5)
Pass
assert_equals(9, 9, "Sanity check: endOffset must be correct")
    at testExtend ( /selection/extend.js:86:5)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "anchorNode must not change if the node passed to extend() has the same root as the original range")
    at testExtend ( /selection/extend.js:145:9)
Pass
assert_equals(9, 9, "anchorOffset must not change if the node passed to extend() has the same root as the original range")
    at testExtend ( /selection/extend.js:147:9)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "focusNode must be the node passed to extend()")
    at testExtend ( /selection/extend.js:155:5)
Pass
assert_equals(9, 9, "focusOffset must be the offset passed to extend()")
    at testExtend ( /selection/extend.js:157:5)
Pass
assert_not_equals(object "", object "b̈c̈d̈e", "extend() must replace any existing range with a new one, not mutate the existing one")
    at testExtend ( /selection/extend.js:159:5)
Passextend() forwards with range 4 [paras[0].firstChild, 2, paras[0].firstChild, 9] and point 6 [paras[0].firstChild, 10]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "Sanity check: startContainer must be correct")
    at testExtend ( /selection/extend.js:80:5)
Pass
assert_equals(2, 2, "Sanity check: startOffset must be correct")
    at testExtend ( /selection/extend.js:82:5)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "Sanity check: endContainer must be correct")
    at testExtend ( /selection/extend.js:84:5)
Pass
assert_equals(9, 9, "Sanity check: endOffset must be correct")
    at testExtend ( /selection/extend.js:86:5)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "anchorNode must not change if the node passed to extend() has the same root as the original range")
    at testExtend ( /selection/extend.js:145:9)
Pass
assert_equals(2, 2, "anchorOffset must not change if the node passed to extend() has the same root as the original range")
    at testExtend ( /selection/extend.js:147:9)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "focusNode must be the node passed to extend()")
    at testExtend ( /selection/extend.js:155:5)
Pass
assert_equals(10, 10, "focusOffset must be the offset passed to extend()")
    at testExtend ( /selection/extend.js:157:5)
Pass
assert_not_equals(object "b̈c̈d̈ë", object "b̈c̈d̈e", "extend() must replace any existing range with a new one, not mutate the existing one")
    at testExtend ( /selection/extend.js:159:5)
Passextend() backwards with range 4 [paras[0].firstChild, 2, paras[0].firstChild, 9] and point 6 [paras[0].firstChild, 10]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "Sanity check: startContainer must be correct")
    at testExtend ( /selection/extend.js:80:5)
Pass
assert_equals(2, 2, "Sanity check: startOffset must be correct")
    at testExtend ( /selection/extend.js:82:5)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "Sanity check: endContainer must be correct")
    at testExtend ( /selection/extend.js:84:5)
Pass
assert_equals(9, 9, "Sanity check: endOffset must be correct")
    at testExtend ( /selection/extend.js:86:5)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "anchorNode must not change if the node passed to extend() has the same root as the original range")
    at testExtend ( /selection/extend.js:145:9)
Pass
assert_equals(9, 9, "anchorOffset must not change if the node passed to extend() has the same root as the original range")
    at testExtend ( /selection/extend.js:147:9)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "focusNode must be the node passed to extend()")
    at testExtend ( /selection/extend.js:155:5)
Pass
assert_equals(10, 10, "focusOffset must be the offset passed to extend()")
    at testExtend ( /selection/extend.js:157:5)
Pass
assert_not_equals(object "̈", object "b̈c̈d̈e", "extend() must replace any existing range with a new one, not mutate the existing one")
    at testExtend ( /selection/extend.js:159:5)
Passextend() forwards with range 4 [paras[0].firstChild, 2, paras[0].firstChild, 9] and point 7 [paras[0].firstChild, 65535]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "Sanity check: startContainer must be correct")
    at testExtend ( /selection/extend.js:80:5)
Pass
assert_equals(2, 2, "Sanity check: startOffset must be correct")
    at testExtend ( /selection/extend.js:82:5)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "Sanity check: endContainer must be correct")
    at testExtend ( /selection/extend.js:84:5)
Pass
assert_equals(9, 9, "Sanity check: endOffset must be correct")
    at testExtend ( /selection/extend.js:86:5)
Pass
assert_throws_dom("INDEX_SIZE_ERR", function "function() {             selection.extend(node, offset);         }", "extend() to an offset that's greater than node length (17) must throw IndexSizeError")
    at testExtend ( /selection/extend.js:117:9)
Passextend() backwards with range 4 [paras[0].firstChild, 2, paras[0].firstChild, 9] and point 7 [paras[0].firstChild, 65535]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "Sanity check: startContainer must be correct")
    at testExtend ( /selection/extend.js:80:5)
Pass
assert_equals(2, 2, "Sanity check: startOffset must be correct")
    at testExtend ( /selection/extend.js:82:5)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "Sanity check: endContainer must be correct")
    at testExtend ( /selection/extend.js:84:5)
Pass
assert_equals(9, 9, "Sanity check: endOffset must be correct")
    at testExtend ( /selection/extend.js:86:5)
Pass
assert_throws_dom("INDEX_SIZE_ERR", function "function() {             selection.extend(node, offset);         }", "extend() to an offset that's greater than node length (17) must throw IndexSizeError")
    at testExtend ( /selection/extend.js:117:9)
Passextend() forwards with range 4 [paras[0].firstChild, 2, paras[0].firstChild, 9] and point 8 [paras[1].firstChild, -1]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "Sanity check: startContainer must be correct")
    at testExtend ( /selection/extend.js:80:5)
Pass
assert_equals(2, 2, "Sanity check: startOffset must be correct")
    at testExtend ( /selection/extend.js:82:5)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "Sanity check: endContainer must be correct")
    at testExtend ( /selection/extend.js:84:5)
Pass
assert_equals(9, 9, "Sanity check: endOffset must be correct")
    at testExtend ( /selection/extend.js:86:5)
Pass
assert_throws_dom("INDEX_SIZE_ERR", function "function() {             selection.extend(node, offset);         }", "extend() to an offset that's greater than node length (9) must throw IndexSizeError")
    at testExtend ( /selection/extend.js:117:9)
Passextend() backwards with range 4 [paras[0].firstChild, 2, paras[0].firstChild, 9] and point 8 [paras[1].firstChild, -1]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "Sanity check: startContainer must be correct")
    at testExtend ( /selection/extend.js:80:5)
Pass
assert_equals(2, 2, "Sanity check: startOffset must be correct")
    at testExtend ( /selection/extend.js:82:5)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "Sanity check: endContainer must be correct")
    at testExtend ( /selection/extend.js:84:5)
Pass
assert_equals(9, 9, "Sanity check: endOffset must be correct")
    at testExtend ( /selection/extend.js:86:5)
Pass
assert_throws_dom("INDEX_SIZE_ERR", function "function() {             selection.extend(node, offset);         }", "extend() to an offset that's greater than node length (9) must throw IndexSizeError")
    at testExtend ( /selection/extend.js:117:9)
Passextend() forwards with range 4 [paras[0].firstChild, 2, paras[0].firstChild, 9] and point 9 [paras[1].firstChild, 0]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "Sanity check: startContainer must be correct")
    at testExtend ( /selection/extend.js:80:5)
Pass
assert_equals(2, 2, "Sanity check: startOffset must be correct")
    at testExtend ( /selection/extend.js:82:5)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "Sanity check: endContainer must be correct")
    at testExtend ( /selection/extend.js:84:5)
Pass
assert_equals(9, 9, "Sanity check: endOffset must be correct")
    at testExtend ( /selection/extend.js:86:5)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "anchorNode must not change if the node passed to extend() has the same root as the original range")
    at testExtend ( /selection/extend.js:145:9)
Pass
assert_equals(2, 2, "anchorOffset must not change if the node passed to extend() has the same root as the original range")
    at testExtend ( /selection/extend.js:147:9)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "focusNode must be the node passed to extend()")
    at testExtend ( /selection/extend.js:155:5)
Pass
assert_equals(0, 0, "focusOffset must be the offset passed to extend()")
    at testExtend ( /selection/extend.js:157:5)
Pass
assert_not_equals(object "b̈c̈d̈ëf̈g̈ḧ ", object "b̈c̈d̈e", "extend() must replace any existing range with a new one, not mutate the existing one")
    at testExtend ( /selection/extend.js:159:5)
Passextend() backwards with range 4 [paras[0].firstChild, 2, paras[0].firstChild, 9] and point 9 [paras[1].firstChild, 0]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "Sanity check: startContainer must be correct")
    at testExtend ( /selection/extend.js:80:5)
Pass
assert_equals(2, 2, "Sanity check: startOffset must be correct")
    at testExtend ( /selection/extend.js:82:5)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "Sanity check: endContainer must be correct")
    at testExtend ( /selection/extend.js:84:5)
Pass
assert_equals(9, 9, "Sanity check: endOffset must be correct")
    at testExtend ( /selection/extend.js:86:5)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "anchorNode must not change if the node passed to extend() has the same root as the original range")
    at testExtend ( /selection/extend.js:145:9)
Pass
assert_equals(9, 9, "anchorOffset must not change if the node passed to extend() has the same root as the original range")
    at testExtend ( /selection/extend.js:147:9)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "focusNode must be the node passed to extend()")
    at testExtend ( /selection/extend.js:155:5)
Pass
assert_equals(0, 0, "focusOffset must be the offset passed to extend()")
    at testExtend ( /selection/extend.js:157:5)
Pass
assert_not_equals(object "̈f̈g̈ḧ ", object "b̈c̈d̈e", "extend() must replace any existing range with a new one, not mutate the existing one")
    at testExtend ( /selection/extend.js:159:5)
Passextend() forwards with range 4 [paras[0].firstChild, 2, paras[0].firstChild, 9] and point 10 [paras[1].firstChild, 1]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "Sanity check: startContainer must be correct")
    at testExtend ( /selection/extend.js:80:5)
Pass
assert_equals(2, 2, "Sanity check: startOffset must be correct")
    at testExtend ( /selection/extend.js:82:5)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "Sanity check: endContainer must be correct")
    at testExtend ( /selection/extend.js:84:5)
Pass
assert_equals(9, 9, "Sanity check: endOffset must be correct")
    at testExtend ( /selection/extend.js:86:5)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "anchorNode must not change if the node passed to extend() has the same root as the original range")
    at testExtend ( /selection/extend.js:145:9)
Pass
assert_equals(2, 2, "anchorOffset must not change if the node passed to extend() has the same root as the original range")
    at testExtend ( /selection/extend.js:147:9)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "focusNode must be the node passed to extend()")
    at testExtend ( /selection/extend.js:155:5)
Pass
assert_equals(1, 1, "focusOffset must be the offset passed to extend()")
    at testExtend ( /selection/extend.js:157:5)
Pass
assert_not_equals(object "b̈c̈d̈ëf̈g̈ḧ I", object "b̈c̈d̈e", "extend() must replace any existing range with a new one, not mutate the existing one")
    at testExtend ( /selection/extend.js:159:5)
Passextend() backwards with range 4 [paras[0].firstChild, 2, paras[0].firstChild, 9] and point 10 [paras[1].firstChild, 1]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "Sanity check: startContainer must be correct")
    at testExtend ( /selection/extend.js:80:5)
Pass
assert_equals(2, 2, "Sanity check: startOffset must be correct")
    at testExtend ( /selection/extend.js:82:5)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "Sanity check: endContainer must be correct")
    at testExtend ( /selection/extend.js:84:5)
Pass
assert_equals(9, 9, "Sanity check: endOffset must be correct")
    at testExtend ( /selection/extend.js:86:5)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "anchorNode must not change if the node passed to extend() has the same root as the original range")
    at testExtend ( /selection/extend.js:145:9)
Pass
assert_equals(9, 9, "anchorOffset must not change if the node passed to extend() has the same root as the original range")
    at testExtend ( /selection/extend.js:147:9)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "focusNode must be the node passed to extend()")
    at testExtend ( /selection/extend.js:155:5)
Pass
assert_equals(1, 1, "focusOffset must be the offset passed to extend()")
    at testExtend ( /selection/extend.js:157:5)
Pass
assert_not_equals(object "̈f̈g̈ḧ I", object "b̈c̈d̈e", "extend() must replace any existing range with a new one, not mutate the existing one")
    at testExtend ( /selection/extend.js:159:5)
Passextend() forwards with range 4 [paras[0].firstChild, 2, paras[0].firstChild, 9] and point 11 [paras[1].firstChild, 2]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "Sanity check: startContainer must be correct")
    at testExtend ( /selection/extend.js:80:5)
Pass
assert_equals(2, 2, "Sanity check: startOffset must be correct")
    at testExtend ( /selection/extend.js:82:5)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "Sanity check: endContainer must be correct")
    at testExtend ( /selection/extend.js:84:5)
Pass
assert_equals(9, 9, "Sanity check: endOffset must be correct")
    at testExtend ( /selection/extend.js:86:5)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "anchorNode must not change if the node passed to extend() has the same root as the original range")
    at testExtend ( /selection/extend.js:145:9)
Pass
assert_equals(2, 2, "anchorOffset must not change if the node passed to extend() has the same root as the original range")
    at testExtend ( /selection/extend.js:147:9)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "focusNode must be the node passed to extend()")
    at testExtend ( /selection/extend.js:155:5)
Pass
assert_equals(2, 2, "focusOffset must be the offset passed to extend()")
    at testExtend ( /selection/extend.js:157:5)
Pass
assert_not_equals(object "b̈c̈d̈ëf̈g̈ḧ Ij", object "b̈c̈d̈e", "extend() must replace any existing range with a new one, not mutate the existing one")
    at testExtend ( /selection/extend.js:159:5)
Passextend() backwards with range 4 [paras[0].firstChild, 2, paras[0].firstChild, 9] and point 11 [paras[1].firstChild, 2]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "Sanity check: startContainer must be correct")
    at testExtend ( /selection/extend.js:80:5)
Pass
assert_equals(2, 2, "Sanity check: startOffset must be correct")
    at testExtend ( /selection/extend.js:82:5)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "Sanity check: endContainer must be correct")
    at testExtend ( /selection/extend.js:84:5)
Pass
assert_equals(9, 9, "Sanity check: endOffset must be correct")
    at testExtend ( /selection/extend.js:86:5)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "anchorNode must not change if the node passed to extend() has the same root as the original range")
    at testExtend ( /selection/extend.js:145:9)
Pass
assert_equals(9, 9, "anchorOffset must not change if the node passed to extend() has the same root as the original range")
    at testExtend ( /selection/extend.js:147:9)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "focusNode must be the node passed to extend()")
    at testExtend ( /selection/extend.js:155:5)
Pass
assert_equals(2, 2, "focusOffset must be the offset passed to extend()")
    at testExtend ( /selection/extend.js:157:5)
Pass
assert_not_equals(object "̈f̈g̈ḧ Ij", object "b̈c̈d̈e", "extend() must replace any existing range with a new one, not mutate the existing one")
    at testExtend ( /selection/extend.js:159:5)
Passextend() forwards with range 4 [paras[0].firstChild, 2, paras[0].firstChild, 9] and point 12 [paras[1].firstChild, 8]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "Sanity check: startContainer must be correct")
    at testExtend ( /selection/extend.js:80:5)
Pass
assert_equals(2, 2, "Sanity check: startOffset must be correct")
    at testExtend ( /selection/extend.js:82:5)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "Sanity check: endContainer must be correct")
    at testExtend ( /selection/extend.js:84:5)
Pass
assert_equals(9, 9, "Sanity check: endOffset must be correct")
    at testExtend ( /selection/extend.js:86:5)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "anchorNode must not change if the node passed to extend() has the same root as the original range")
    at testExtend ( /selection/extend.js:145:9)
Pass
assert_equals(2, 2, "anchorOffset must not change if the node passed to extend() has the same root as the original range")
    at testExtend ( /selection/extend.js:147:9)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "focusNode must be the node passed to extend()")
    at testExtend ( /selection/extend.js:155:5)
Pass
assert_equals(8, 8, "focusOffset must be the offset passed to extend()")
    at testExtend ( /selection/extend.js:157:5)
Pass
assert_not_equals(object "b̈c̈d̈ëf̈g̈ḧ Ijklmnop", object "b̈c̈d̈e", "extend() must replace any existing range with a new one, not mutate the existing one")
    at testExtend ( /selection/extend.js:159:5)
Passextend() backwards with range 4 [paras[0].firstChild, 2, paras[0].firstChild, 9] and point 12 [paras[1].firstChild, 8]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "Sanity check: startContainer must be correct")
    at testExtend ( /selection/extend.js:80:5)
Pass
assert_equals(2, 2, "Sanity check: startOffset must be correct")
    at testExtend ( /selection/extend.js:82:5)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "Sanity check: endContainer must be correct")
    at testExtend ( /selection/extend.js:84:5)
Pass
assert_equals(9, 9, "Sanity check: endOffset must be correct")
    at testExtend ( /selection/extend.js:86:5)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "anchorNode must not change if the node passed to extend() has the same root as the original range")
    at testExtend ( /selection/extend.js:145:9)
Pass
assert_equals(9, 9, "anchorOffset must not change if the node passed to extend() has the same root as the original range")
    at testExtend ( /selection/extend.js:147:9)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "focusNode must be the node passed to extend()")
    at testExtend ( /selection/extend.js:155:5)
Pass
assert_equals(8, 8, "focusOffset must be the offset passed to extend()")
    at testExtend ( /selection/extend.js:157:5)
Pass
assert_not_equals(object "̈f̈g̈ḧ Ijklmnop", object "b̈c̈d̈e", "extend() must replace any existing range with a new one, not mutate the existing one")
    at testExtend ( /selection/extend.js:159:5)
Passextend() forwards with range 4 [paras[0].firstChild, 2, paras[0].firstChild, 9] and point 13 [paras[1].firstChild, 9]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "Sanity check: startContainer must be correct")
    at testExtend ( /selection/extend.js:80:5)
Pass
assert_equals(2, 2, "Sanity check: startOffset must be correct")
    at testExtend ( /selection/extend.js:82:5)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "Sanity check: endContainer must be correct")
    at testExtend ( /selection/extend.js:84:5)
Pass
assert_equals(9, 9, "Sanity check: endOffset must be correct")
    at testExtend ( /selection/extend.js:86:5)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "anchorNode must not change if the node passed to extend() has the same root as the original range")
    at testExtend ( /selection/extend.js:145:9)
Pass
assert_equals(2, 2, "anchorOffset must not change if the node passed to extend() has the same root as the original range")
    at testExtend ( /selection/extend.js:147:9)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "focusNode must be the node passed to extend()")
    at testExtend ( /selection/extend.js:155:5)
Pass
assert_equals(9, 9, "focusOffset must be the offset passed to extend()")
    at testExtend ( /selection/extend.js:157:5)
Pass
assert_not_equals(object "b̈c̈d̈ëf̈g̈ḧ Ijklmnop ", object "b̈c̈d̈e", "extend() must replace any existing range with a new one, not mutate the existing one")
    at testExtend ( /selection/extend.js:159:5)
Passextend() backwards with range 4 [paras[0].firstChild, 2, paras[0].firstChild, 9] and point 13 [paras[1].firstChild, 9]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "Sanity check: startContainer must be correct")
    at testExtend ( /selection/extend.js:80:5)
Pass
assert_equals(2, 2, "Sanity check: startOffset must be correct")
    at testExtend ( /selection/extend.js:82:5)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "Sanity check: endContainer must be correct")
    at testExtend ( /selection/extend.js:84:5)
Pass
assert_equals(9, 9, "Sanity check: endOffset must be correct")
    at testExtend ( /selection/extend.js:86:5)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "anchorNode must not change if the node passed to extend() has the same root as the original range")
    at testExtend ( /selection/extend.js:145:9)
Pass
assert_equals(9, 9, "anchorOffset must not change if the node passed to extend() has the same root as the original range")
    at testExtend ( /selection/extend.js:147:9)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "focusNode must be the node passed to extend()")
    at testExtend ( /selection/extend.js:155:5)
Pass
assert_equals(9, 9, "focusOffset must be the offset passed to extend()")
    at testExtend ( /selection/extend.js:157:5)
Pass
assert_not_equals(object "̈f̈g̈ḧ Ijklmnop ", object "b̈c̈d̈e", "extend() must replace any existing range with a new one, not mutate the existing one")
    at testExtend ( /selection/extend.js:159:5)
Passextend() forwards with range 4 [paras[0].firstChild, 2, paras[0].firstChild, 9] and point 14 [paras[1].firstChild, 10]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "Sanity check: startContainer must be correct")
    at testExtend ( /selection/extend.js:80:5)
Pass
assert_equals(2, 2, "Sanity check: startOffset must be correct")
    at testExtend ( /selection/extend.js:82:5)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "Sanity check: endContainer must be correct")
    at testExtend ( /selection/extend.js:84:5)
Pass
assert_equals(9, 9, "Sanity check: endOffset must be correct")
    at testExtend ( /selection/extend.js:86:5)
Pass
assert_throws_dom("INDEX_SIZE_ERR", function "function() {             selection.extend(node, offset);         }", "extend() to an offset that's greater than node length (9) must throw IndexSizeError")
    at testExtend ( /selection/extend.js:117:9)
Passextend() backwards with range 4 [paras[0].firstChild, 2, paras[0].firstChild, 9] and point 14 [paras[1].firstChild, 10]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "Sanity check: startContainer must be correct")
    at testExtend ( /selection/extend.js:80:5)
Pass
assert_equals(2, 2, "Sanity check: startOffset must be correct")
    at testExtend ( /selection/extend.js:82:5)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "Sanity check: endContainer must be correct")
    at testExtend ( /selection/extend.js:84:5)
Pass
assert_equals(9, 9, "Sanity check: endOffset must be correct")
    at testExtend ( /selection/extend.js:86:5)
Pass
assert_throws_dom("INDEX_SIZE_ERR", function "function() {             selection.extend(node, offset);         }", "extend() to an offset that's greater than node length (9) must throw IndexSizeError")
    at testExtend ( /selection/extend.js:117:9)
Passextend() forwards with range 4 [paras[0].firstChild, 2, paras[0].firstChild, 9] and point 15 [paras[1].firstChild, 65535]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "Sanity check: startContainer must be correct")
    at testExtend ( /selection/extend.js:80:5)
Pass
assert_equals(2, 2, "Sanity check: startOffset must be correct")
    at testExtend ( /selection/extend.js:82:5)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "Sanity check: endContainer must be correct")
    at testExtend ( /selection/extend.js:84:5)
Pass
assert_equals(9, 9, "Sanity check: endOffset must be correct")
    at testExtend ( /selection/extend.js:86:5)
Pass
assert_throws_dom("INDEX_SIZE_ERR", function "function() {             selection.extend(node, offset);         }", "extend() to an offset that's greater than node length (9) must throw IndexSizeError")
    at testExtend ( /selection/extend.js:117:9)
Passextend() backwards with range 4 [paras[0].firstChild, 2, paras[0].firstChild, 9] and point 15 [paras[1].firstChild, 65535]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "Sanity check: startContainer must be correct")
    at testExtend ( /selection/extend.js:80:5)
Pass
assert_equals(2, 2, "Sanity check: startOffset must be correct")
    at testExtend ( /selection/extend.js:82:5)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "Sanity check: endContainer must be correct")
    at testExtend ( /selection/extend.js:84:5)
Pass
assert_equals(9, 9, "Sanity check: endOffset must be correct")
    at testExtend ( /selection/extend.js:86:5)
Pass
assert_throws_dom("INDEX_SIZE_ERR", function "function() {             selection.extend(node, offset);         }", "extend() to an offset that's greater than node length (9) must throw IndexSizeError")
    at testExtend ( /selection/extend.js:117:9)
Passextend() forwards with range 4 [paras[0].firstChild, 2, paras[0].firstChild, 9] and point 16 [detachedPara1.firstChild, 0]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(1, 1, "The operation should not add Range")
    at assertSelectionNoChange ( /selection/common.js:976:5)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "The operation should not update anchorNode")
    at assertSelectionNoChange ( /selection/common.js:978:5)
Pass
assert_equals(2, 2, "The operation should not update anchorOffset")
    at assertSelectionNoChange ( /selection/common.js:980:5)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "The operation should not update focusNode")
    at assertSelectionNoChange ( /selection/common.js:982:5)
Pass
assert_equals(9, 9, "The operation should not update focusOffset")
    at assertSelectionNoChange ( /selection/common.js:984:5)
Pass
assert_equals(object "b̈c̈d̈e", object "b̈c̈d̈e", "The operation should not replace a registered Range")
    at assertSelectionNoChange ( /selection/common.js:988:5)
Passextend() backwards with range 4 [paras[0].firstChild, 2, paras[0].firstChild, 9] and point 16 [detachedPara1.firstChild, 0]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(1, 1, "The operation should not add Range")
    at assertSelectionNoChange ( /selection/common.js:976:5)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "The operation should not update anchorNode")
    at assertSelectionNoChange ( /selection/common.js:978:5)
Pass
assert_equals(9, 9, "The operation should not update anchorOffset")
    at assertSelectionNoChange ( /selection/common.js:980:5)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "The operation should not update focusNode")
    at assertSelectionNoChange ( /selection/common.js:982:5)
Pass
assert_equals(2, 2, "The operation should not update focusOffset")
    at assertSelectionNoChange ( /selection/common.js:984:5)
Pass
assert_equals(object "b̈c̈d̈e", object "b̈c̈d̈e", "The operation should not replace a registered Range")
    at assertSelectionNoChange ( /selection/common.js:988:5)
Passextend() forwards with range 4 [paras[0].firstChild, 2, paras[0].firstChild, 9] and point 17 [detachedPara1.firstChild, 1]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(1, 1, "The operation should not add Range")
    at assertSelectionNoChange ( /selection/common.js:976:5)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "The operation should not update anchorNode")
    at assertSelectionNoChange ( /selection/common.js:978:5)
Pass
assert_equals(2, 2, "The operation should not update anchorOffset")
    at assertSelectionNoChange ( /selection/common.js:980:5)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "The operation should not update focusNode")
    at assertSelectionNoChange ( /selection/common.js:982:5)
Pass
assert_equals(9, 9, "The operation should not update focusOffset")
    at assertSelectionNoChange ( /selection/common.js:984:5)
Pass
assert_equals(object "b̈c̈d̈e", object "b̈c̈d̈e", "The operation should not replace a registered Range")
    at assertSelectionNoChange ( /selection/common.js:988:5)
Passextend() backwards with range 4 [paras[0].firstChild, 2, paras[0].firstChild, 9] and point 17 [detachedPara1.firstChild, 1]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(1, 1, "The operation should not add Range")
    at assertSelectionNoChange ( /selection/common.js:976:5)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "The operation should not update anchorNode")
    at assertSelectionNoChange ( /selection/common.js:978:5)
Pass
assert_equals(9, 9, "The operation should not update anchorOffset")
    at assertSelectionNoChange ( /selection/common.js:980:5)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "The operation should not update focusNode")
    at assertSelectionNoChange ( /selection/common.js:982:5)
Pass
assert_equals(2, 2, "The operation should not update focusOffset")
    at assertSelectionNoChange ( /selection/common.js:984:5)
Pass
assert_equals(object "b̈c̈d̈e", object "b̈c̈d̈e", "The operation should not replace a registered Range")
    at assertSelectionNoChange ( /selection/common.js:988:5)
Passextend() forwards with range 4 [paras[0].firstChild, 2, paras[0].firstChild, 9] and point 18 [detachedPara1.firstChild, 8]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(1, 1, "The operation should not add Range")
    at assertSelectionNoChange ( /selection/common.js:976:5)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "The operation should not update anchorNode")
    at assertSelectionNoChange ( /selection/common.js:978:5)
Pass
assert_equals(2, 2, "The operation should not update anchorOffset")
    at assertSelectionNoChange ( /selection/common.js:980:5)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "The operation should not update focusNode")
    at assertSelectionNoChange ( /selection/common.js:982:5)
Pass
assert_equals(9, 9, "The operation should not update focusOffset")
    at assertSelectionNoChange ( /selection/common.js:984:5)
Pass
assert_equals(object "b̈c̈d̈e", object "b̈c̈d̈e", "The operation should not replace a registered Range")
    at assertSelectionNoChange ( /selection/common.js:988:5)
Passextend() backwards with range 4 [paras[0].firstChild, 2, paras[0].firstChild, 9] and point 18 [detachedPara1.firstChild, 8]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(1, 1, "The operation should not add Range")
    at assertSelectionNoChange ( /selection/common.js:976:5)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "The operation should not update anchorNode")
    at assertSelectionNoChange ( /selection/common.js:978:5)
Pass
assert_equals(9, 9, "The operation should not update anchorOffset")
    at assertSelectionNoChange ( /selection/common.js:980:5)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "The operation should not update focusNode")
    at assertSelectionNoChange ( /selection/common.js:982:5)
Pass
assert_equals(2, 2, "The operation should not update focusOffset")
    at assertSelectionNoChange ( /selection/common.js:984:5)
Pass
assert_equals(object "b̈c̈d̈e", object "b̈c̈d̈e", "The operation should not replace a registered Range")
    at assertSelectionNoChange ( /selection/common.js:988:5)
Passextend() forwards with range 4 [paras[0].firstChild, 2, paras[0].firstChild, 9] and point 19 [detachedPara1.firstChild, 9]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(1, 1, "The operation should not add Range")
    at assertSelectionNoChange ( /selection/common.js:976:5)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "The operation should not update anchorNode")
    at assertSelectionNoChange ( /selection/common.js:978:5)
Pass
assert_equals(2, 2, "The operation should not update anchorOffset")
    at assertSelectionNoChange ( /selection/common.js:980:5)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "The operation should not update focusNode")
    at assertSelectionNoChange ( /selection/common.js:982:5)
Pass
assert_equals(9, 9, "The operation should not update focusOffset")
    at assertSelectionNoChange ( /selection/common.js:984:5)
Pass
assert_equals(object "b̈c̈d̈e", object "b̈c̈d̈e", "The operation should not replace a registered Range")
    at assertSelectionNoChange ( /selection/common.js:988:5)
Passextend() backwards with range 4 [paras[0].firstChild, 2, paras[0].firstChild, 9] and point 19 [detachedPara1.firstChild, 9]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(1, 1, "The operation should not add Range")
    at assertSelectionNoChange ( /selection/common.js:976:5)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "The operation should not update anchorNode")
    at assertSelectionNoChange ( /selection/common.js:978:5)
Pass
assert_equals(9, 9, "The operation should not update anchorOffset")
    at assertSelectionNoChange ( /selection/common.js:980:5)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "The operation should not update focusNode")
    at assertSelectionNoChange ( /selection/common.js:982:5)
Pass
assert_equals(2, 2, "The operation should not update focusOffset")
    at assertSelectionNoChange ( /selection/common.js:984:5)
Pass
assert_equals(object "b̈c̈d̈e", object "b̈c̈d̈e", "The operation should not replace a registered Range")
    at assertSelectionNoChange ( /selection/common.js:988:5)
Passextend() forwards with range 4 [paras[0].firstChild, 2, paras[0].firstChild, 9] and point 20 [foreignPara1.firstChild, 0]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(1, 1, "The operation should not add Range")
    at assertSelectionNoChange ( /selection/common.js:976:5)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "The operation should not update anchorNode")
    at assertSelectionNoChange ( /selection/common.js:978:5)
Pass
assert_equals(2, 2, "The operation should not update anchorOffset")
    at assertSelectionNoChange ( /selection/common.js:980:5)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "The operation should not update focusNode")
    at assertSelectionNoChange ( /selection/common.js:982:5)
Pass
assert_equals(9, 9, "The operation should not update focusOffset")
    at assertSelectionNoChange ( /selection/common.js:984:5)
Pass
assert_equals(object "b̈c̈d̈e", object "b̈c̈d̈e", "The operation should not replace a registered Range")
    at assertSelectionNoChange ( /selection/common.js:988:5)
Passextend() backwards with range 4 [paras[0].firstChild, 2, paras[0].firstChild, 9] and point 20 [foreignPara1.firstChild, 0]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(1, 1, "The operation should not add Range")
    at assertSelectionNoChange ( /selection/common.js:976:5)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "The operation should not update anchorNode")
    at assertSelectionNoChange ( /selection/common.js:978:5)
Pass
assert_equals(9, 9, "The operation should not update anchorOffset")
    at assertSelectionNoChange ( /selection/common.js:980:5)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "The operation should not update focusNode")
    at assertSelectionNoChange ( /selection/common.js:982:5)
Pass
assert_equals(2, 2, "The operation should not update focusOffset")
    at assertSelectionNoChange ( /selection/common.js:984:5)
Pass
assert_equals(object "b̈c̈d̈e", object "b̈c̈d̈e", "The operation should not replace a registered Range")
    at assertSelectionNoChange ( /selection/common.js:988:5)
Passextend() forwards with range 4 [paras[0].firstChild, 2, paras[0].firstChild, 9] and point 21 [foreignPara1.firstChild, 1]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(1, 1, "The operation should not add Range")
    at assertSelectionNoChange ( /selection/common.js:976:5)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "The operation should not update anchorNode")
    at assertSelectionNoChange ( /selection/common.js:978:5)
Pass
assert_equals(2, 2, "The operation should not update anchorOffset")
    at assertSelectionNoChange ( /selection/common.js:980:5)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "The operation should not update focusNode")
    at assertSelectionNoChange ( /selection/common.js:982:5)
Pass
assert_equals(9, 9, "The operation should not update focusOffset")
    at assertSelectionNoChange ( /selection/common.js:984:5)
Pass
assert_equals(object "b̈c̈d̈e", object "b̈c̈d̈e", "The operation should not replace a registered Range")
    at assertSelectionNoChange ( /selection/common.js:988:5)
Passextend() backwards with range 4 [paras[0].firstChild, 2, paras[0].firstChild, 9] and point 21 [foreignPara1.firstChild, 1]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(1, 1, "The operation should not add Range")
    at assertSelectionNoChange ( /selection/common.js:976:5)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "The operation should not update anchorNode")
    at assertSelectionNoChange ( /selection/common.js:978:5)
Pass
assert_equals(9, 9, "The operation should not update anchorOffset")
    at assertSelectionNoChange ( /selection/common.js:980:5)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "The operation should not update focusNode")
    at assertSelectionNoChange ( /selection/common.js:982:5)
Pass
assert_equals(2, 2, "The operation should not update focusOffset")
    at assertSelectionNoChange ( /selection/common.js:984:5)
Pass
assert_equals(object "b̈c̈d̈e", object "b̈c̈d̈e", "The operation should not replace a registered Range")
    at assertSelectionNoChange ( /selection/common.js:988:5)
Passextend() forwards with range 4 [paras[0].firstChild, 2, paras[0].firstChild, 9] and point 22 [foreignPara1.firstChild, 8]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(1, 1, "The operation should not add Range")
    at assertSelectionNoChange ( /selection/common.js:976:5)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "The operation should not update anchorNode")
    at assertSelectionNoChange ( /selection/common.js:978:5)
Pass
assert_equals(2, 2, "The operation should not update anchorOffset")
    at assertSelectionNoChange ( /selection/common.js:980:5)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "The operation should not update focusNode")
    at assertSelectionNoChange ( /selection/common.js:982:5)
Pass
assert_equals(9, 9, "The operation should not update focusOffset")
    at assertSelectionNoChange ( /selection/common.js:984:5)
Pass
assert_equals(object "b̈c̈d̈e", object "b̈c̈d̈e", "The operation should not replace a registered Range")
    at assertSelectionNoChange ( /selection/common.js:988:5)
Passextend() backwards with range 4 [paras[0].firstChild, 2, paras[0].firstChild, 9] and point 22 [foreignPara1.firstChild, 8]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(1, 1, "The operation should not add Range")
    at assertSelectionNoChange ( /selection/common.js:976:5)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "The operation should not update anchorNode")
    at assertSelectionNoChange ( /selection/common.js:978:5)
Pass
assert_equals(9, 9, "The operation should not update anchorOffset")
    at assertSelectionNoChange ( /selection/common.js:980:5)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "The operation should not update focusNode")
    at assertSelectionNoChange ( /selection/common.js:982:5)
Pass
assert_equals(2, 2, "The operation should not update focusOffset")
    at assertSelectionNoChange ( /selection/common.js:984:5)
Pass
assert_equals(object "b̈c̈d̈e", object "b̈c̈d̈e", "The operation should not replace a registered Range")
    at assertSelectionNoChange ( /selection/common.js:988:5)
Passextend() forwards with range 4 [paras[0].firstChild, 2, paras[0].firstChild, 9] and point 23 [foreignPara1.firstChild, 9]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(1, 1, "The operation should not add Range")
    at assertSelectionNoChange ( /selection/common.js:976:5)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "The operation should not update anchorNode")
    at assertSelectionNoChange ( /selection/common.js:978:5)
Pass
assert_equals(2, 2, "The operation should not update anchorOffset")
    at assertSelectionNoChange ( /selection/common.js:980:5)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "The operation should not update focusNode")
    at assertSelectionNoChange ( /selection/common.js:982:5)
Pass
assert_equals(9, 9, "The operation should not update focusOffset")
    at assertSelectionNoChange ( /selection/common.js:984:5)
Pass
assert_equals(object "b̈c̈d̈e", object "b̈c̈d̈e", "The operation should not replace a registered Range")
    at assertSelectionNoChange ( /selection/common.js:988:5)
Passextend() backwards with range 4 [paras[0].firstChild, 2, paras[0].firstChild, 9] and point 23 [foreignPara1.firstChild, 9]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(1, 1, "The operation should not add Range")
    at assertSelectionNoChange ( /selection/common.js:976:5)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "The operation should not update anchorNode")
    at assertSelectionNoChange ( /selection/common.js:978:5)
Pass
assert_equals(9, 9, "The operation should not update anchorOffset")
    at assertSelectionNoChange ( /selection/common.js:980:5)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "The operation should not update focusNode")
    at assertSelectionNoChange ( /selection/common.js:982:5)
Pass
assert_equals(2, 2, "The operation should not update focusOffset")
    at assertSelectionNoChange ( /selection/common.js:984:5)
Pass
assert_equals(object "b̈c̈d̈e", object "b̈c̈d̈e", "The operation should not replace a registered Range")
    at assertSelectionNoChange ( /selection/common.js:988:5)
Passextend() forwards with range 4 [paras[0].firstChild, 2, paras[0].firstChild, 9] and point 24 [document.documentElement, -1]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "Sanity check: startContainer must be correct")
    at testExtend ( /selection/extend.js:80:5)
Pass
assert_equals(2, 2, "Sanity check: startOffset must be correct")
    at testExtend ( /selection/extend.js:82:5)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "Sanity check: endContainer must be correct")
    at testExtend ( /selection/extend.js:84:5)
Pass
assert_equals(9, 9, "Sanity check: endOffset must be correct")
    at testExtend ( /selection/extend.js:86:5)
Pass
assert_throws_dom("INDEX_SIZE_ERR", function "function() {             selection.extend(node, offset);         }", "extend() to an offset that's greater than node length (2) must throw IndexSizeError")
    at testExtend ( /selection/extend.js:117:9)
Passextend() backwards with range 4 [paras[0].firstChild, 2, paras[0].firstChild, 9] and point 24 [document.documentElement, -1]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "Sanity check: startContainer must be correct")
    at testExtend ( /selection/extend.js:80:5)
Pass
assert_equals(2, 2, "Sanity check: startOffset must be correct")
    at testExtend ( /selection/extend.js:82:5)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "Sanity check: endContainer must be correct")
    at testExtend ( /selection/extend.js:84:5)
Pass
assert_equals(9, 9, "Sanity check: endOffset must be correct")
    at testExtend ( /selection/extend.js:86:5)
Pass
assert_throws_dom("INDEX_SIZE_ERR", function "function() {             selection.extend(node, offset);         }", "extend() to an offset that's greater than node length (2) must throw IndexSizeError")
    at testExtend ( /selection/extend.js:117:9)
Passextend() forwards with range 4 [paras[0].firstChild, 2, paras[0].firstChild, 9] and point 25 [document.documentElement, 0]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "Sanity check: startContainer must be correct")
    at testExtend ( /selection/extend.js:80:5)
Pass
assert_equals(2, 2, "Sanity check: startOffset must be correct")
    at testExtend ( /selection/extend.js:82:5)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "Sanity check: endContainer must be correct")
    at testExtend ( /selection/extend.js:84:5)
Pass
assert_equals(9, 9, "Sanity check: endOffset must be correct")
    at testExtend ( /selection/extend.js:86:5)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "anchorNode must not change if the node passed to extend() has the same root as the original range")
    at testExtend ( /selection/extend.js:145:9)
Pass
assert_equals(2, 2, "anchorOffset must not change if the node passed to extend() has the same root as the original range")
    at testExtend ( /selection/extend.js:147:9)
Pass
assert_equals(Element node <html><head><title>Selection extend() tests</title> <meta..., Element node <html><head><title>Selection extend() tests</title> <meta..., "focusNode must be the node passed to extend()")
    at testExtend ( /selection/extend.js:155:5)
Pass
assert_equals(0, 0, "focusOffset must be the offset passed to extend()")
    at testExtend ( /selection/extend.js:157:5)
Pass
assert_not_equals(object "Selection extend() tests   Ä", object "b̈c̈d̈e", "extend() must replace any existing range with a new one, not mutate the existing one")
    at testExtend ( /selection/extend.js:159:5)
Passextend() backwards with range 4 [paras[0].firstChild, 2, paras[0].firstChild, 9] and point 25 [document.documentElement, 0]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "Sanity check: startContainer must be correct")
    at testExtend ( /selection/extend.js:80:5)
Pass
assert_equals(2, 2, "Sanity check: startOffset must be correct")
    at testExtend ( /selection/extend.js:82:5)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "Sanity check: endContainer must be correct")
    at testExtend ( /selection/extend.js:84:5)
Pass
assert_equals(9, 9, "Sanity check: endOffset must be correct")
    at testExtend ( /selection/extend.js:86:5)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "anchorNode must not change if the node passed to extend() has the same root as the original range")
    at testExtend ( /selection/extend.js:145:9)
Pass
assert_equals(9, 9, "anchorOffset must not change if the node passed to extend() has the same root as the original range")
    at testExtend ( /selection/extend.js:147:9)
Pass
assert_equals(Element node <html><head><title>Selection extend() tests</title> <meta..., Element node <html><head><title>Selection extend() tests</title> <meta..., "focusNode must be the node passed to extend()")
    at testExtend ( /selection/extend.js:155:5)
Pass
assert_equals(0, 0, "focusOffset must be the offset passed to extend()")
    at testExtend ( /selection/extend.js:157:5)
Pass
assert_not_equals(object "Selection extend() tests   Äb̈c̈d̈e", object "b̈c̈d̈e", "extend() must replace any existing range with a new one, not mutate the existing one")
    at testExtend ( /selection/extend.js:159:5)
Passextend() forwards with range 4 [paras[0].firstChild, 2, paras[0].firstChild, 9] and point 26 [document.documentElement, 1]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "Sanity check: startContainer must be correct")
    at testExtend ( /selection/extend.js:80:5)
Pass
assert_equals(2, 2, "Sanity check: startOffset must be correct")
    at testExtend ( /selection/extend.js:82:5)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "Sanity check: endContainer must be correct")
    at testExtend ( /selection/extend.js:84:5)
Pass
assert_equals(9, 9, "Sanity check: endOffset must be correct")
    at testExtend ( /selection/extend.js:86:5)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "anchorNode must not change if the node passed to extend() has the same root as the original range")
    at testExtend ( /selection/extend.js:145:9)
Pass
assert_equals(2, 2, "anchorOffset must not change if the node passed to extend() has the same root as the original range")
    at testExtend ( /selection/extend.js:147:9)
Pass
assert_equals(Element node <html><head><title>Selection extend() tests</title> <meta..., Element node <html><head><title>Selection extend() tests</title> <meta..., "focusNode must be the node passed to extend()")
    at testExtend ( /selection/extend.js:155:5)
Pass
assert_equals(1, 1, "focusOffset must be the offset passed to extend()")
    at testExtend ( /selection/extend.js:157:5)
Pass
assert_not_equals(object "Ä", object "b̈c̈d̈e", "extend() must replace any existing range with a new one, not mutate the existing one")
    at testExtend ( /selection/extend.js:159:5)
Passextend() backwards with range 4 [paras[0].firstChild, 2, paras[0].firstChild, 9] and point 26 [document.documentElement, 1]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "Sanity check: startContainer must be correct")
    at testExtend ( /selection/extend.js:80:5)
Pass
assert_equals(2, 2, "Sanity check: startOffset must be correct")
    at testExtend ( /selection/extend.js:82:5)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "Sanity check: endContainer must be correct")
    at testExtend ( /selection/extend.js:84:5)
Pass
assert_equals(9, 9, "Sanity check: endOffset must be correct")
    at testExtend ( /selection/extend.js:86:5)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "anchorNode must not change if the node passed to extend() has the same root as the original range")
    at testExtend ( /selection/extend.js:145:9)
Pass
assert_equals(9, 9, "anchorOffset must not change if the node passed to extend() has the same root as the original range")
    at testExtend ( /selection/extend.js:147:9)
Pass
assert_equals(Element node <html><head><title>Selection extend() tests</title> <meta..., Element node <html><head><title>Selection extend() tests</title> <meta..., "focusNode must be the node passed to extend()")
    at testExtend ( /selection/extend.js:155:5)
Pass
assert_equals(1, 1, "focusOffset must be the offset passed to extend()")
    at testExtend ( /selection/extend.js:157:5)
Pass
assert_not_equals(object "Äb̈c̈d̈e", object "b̈c̈d̈e", "extend() must replace any existing range with a new one, not mutate the existing one")
    at testExtend ( /selection/extend.js:159:5)
Passextend() forwards with range 4 [paras[0].firstChild, 2, paras[0].firstChild, 9] and point 27 [document.documentElement, 2]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "Sanity check: startContainer must be correct")
    at testExtend ( /selection/extend.js:80:5)
Pass
assert_equals(2, 2, "Sanity check: startOffset must be correct")
    at testExtend ( /selection/extend.js:82:5)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "Sanity check: endContainer must be correct")
    at testExtend ( /selection/extend.js:84:5)
Pass
assert_equals(9, 9, "Sanity check: endOffset must be correct")
    at testExtend ( /selection/extend.js:86:5)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "anchorNode must not change if the node passed to extend() has the same root as the original range")
    at testExtend ( /selection/extend.js:145:9)
Pass
assert_equals(2, 2, "anchorOffset must not change if the node passed to extend() has the same root as the original range")
    at testExtend ( /selection/extend.js:147:9)
Pass
assert_equals(Element node <html><head><title>Selection extend() tests</title> <meta..., Element node <html><head><title>Selection extend() tests</title> <meta..., "focusNode must be the node passed to extend()")
    at testExtend ( /selection/extend.js:155:5)
Pass
assert_equals(2, 2, "focusOffset must be the offset passed to extend()")
    at testExtend ( /selection/extend.js:157:5)
Pass
assert_not_equals(object "b̈c̈d̈ëf̈g̈ḧ Ijklmnop QrstuvwxYzabcdefGhijklmn     Running, 400 complete, 1 remain  "use strict";  testExtendSubSet(0, 20); testDiv.style.display = "none"; ", object "b̈c̈d̈e", "extend() must replace any existing range with a new one, not mutate the existing one")
    at testExtend ( /selection/extend.js:159:5)
Passextend() backwards with range 4 [paras[0].firstChild, 2, paras[0].firstChild, 9] and point 27 [document.documentElement, 2]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "Sanity check: startContainer must be correct")
    at testExtend ( /selection/extend.js:80:5)
Pass
assert_equals(2, 2, "Sanity check: startOffset must be correct")
    at testExtend ( /selection/extend.js:82:5)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "Sanity check: endContainer must be correct")
    at testExtend ( /selection/extend.js:84:5)
Pass
assert_equals(9, 9, "Sanity check: endOffset must be correct")
    at testExtend ( /selection/extend.js:86:5)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "anchorNode must not change if the node passed to extend() has the same root as the original range")
    at testExtend ( /selection/extend.js:145:9)
Pass
assert_equals(9, 9, "anchorOffset must not change if the node passed to extend() has the same root as the original range")
    at testExtend ( /selection/extend.js:147:9)
Pass
assert_equals(Element node <html><head><title>Selection extend() tests</title> <meta..., Element node <html><head><title>Selection extend() tests</title> <meta..., "focusNode must be the node passed to extend()")
    at testExtend ( /selection/extend.js:155:5)
Pass
assert_equals(2, 2, "focusOffset must be the offset passed to extend()")
    at testExtend ( /selection/extend.js:157:5)
Pass
assert_not_equals(object "̈f̈g̈ḧ Ijklmnop QrstuvwxYzabcdefGhijklmn     Running, 400 complete, 1 remain  "use strict";  testExtendSubSet(0, 20); testDiv.style.display = "none"; ", object "b̈c̈d̈e", "extend() must replace any existing range with a new one, not mutate the existing one")
    at testExtend ( /selection/extend.js:159:5)
Passextend() forwards with range 4 [paras[0].firstChild, 2, paras[0].firstChild, 9] and point 28 [document.documentElement, 7]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "Sanity check: startContainer must be correct")
    at testExtend ( /selection/extend.js:80:5)
Pass
assert_equals(2, 2, "Sanity check: startOffset must be correct")
    at testExtend ( /selection/extend.js:82:5)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "Sanity check: endContainer must be correct")
    at testExtend ( /selection/extend.js:84:5)
Pass
assert_equals(9, 9, "Sanity check: endOffset must be correct")
    at testExtend ( /selection/extend.js:86:5)
Pass
assert_throws_dom("INDEX_SIZE_ERR", function "function() {             selection.extend(node, offset);         }", "extend() to an offset that's greater than node length (2) must throw IndexSizeError")
    at testExtend ( /selection/extend.js:117:9)
Passextend() backwards with range 4 [paras[0].firstChild, 2, paras[0].firstChild, 9] and point 28 [document.documentElement, 7]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "Sanity check: startContainer must be correct")
    at testExtend ( /selection/extend.js:80:5)
Pass
assert_equals(2, 2, "Sanity check: startOffset must be correct")
    at testExtend ( /selection/extend.js:82:5)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "Sanity check: endContainer must be correct")
    at testExtend ( /selection/extend.js:84:5)
Pass
assert_equals(9, 9, "Sanity check: endOffset must be correct")
    at testExtend ( /selection/extend.js:86:5)
Pass
assert_throws_dom("INDEX_SIZE_ERR", function "function() {             selection.extend(node, offset);         }", "extend() to an offset that's greater than node length (2) must throw IndexSizeError")
    at testExtend ( /selection/extend.js:117:9)
Passextend() forwards with range 4 [paras[0].firstChild, 2, paras[0].firstChild, 9] and point 29 [document.head, 1]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "Sanity check: startContainer must be correct")
    at testExtend ( /selection/extend.js:80:5)
Pass
assert_equals(2, 2, "Sanity check: startOffset must be correct")
    at testExtend ( /selection/extend.js:82:5)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "Sanity check: endContainer must be correct")
    at testExtend ( /selection/extend.js:84:5)
Pass
assert_equals(9, 9, "Sanity check: endOffset must be correct")
    at testExtend ( /selection/extend.js:86:5)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "anchorNode must not change if the node passed to extend() has the same root as the original range")
    at testExtend ( /selection/extend.js:145:9)
Pass
assert_equals(2, 2, "anchorOffset must not change if the node passed to extend() has the same root as the original range")
    at testExtend ( /selection/extend.js:147:9)
Pass
assert_equals(Element node <head><title>Selection extend() tests</title> <meta chars..., Element node <head><title>Selection extend() tests</title> <meta chars..., "focusNode must be the node passed to extend()")
    at testExtend ( /selection/extend.js:155:5)
Pass
assert_equals(1, 1, "focusOffset must be the offset passed to extend()")
    at testExtend ( /selection/extend.js:157:5)
Pass
assert_not_equals(object "   Ä", object "b̈c̈d̈e", "extend() must replace any existing range with a new one, not mutate the existing one")
    at testExtend ( /selection/extend.js:159:5)
Passextend() backwards with range 4 [paras[0].firstChild, 2, paras[0].firstChild, 9] and point 29 [document.head, 1]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "Sanity check: startContainer must be correct")
    at testExtend ( /selection/extend.js:80:5)
Pass
assert_equals(2, 2, "Sanity check: startOffset must be correct")
    at testExtend ( /selection/extend.js:82:5)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "Sanity check: endContainer must be correct")
    at testExtend ( /selection/extend.js:84:5)
Pass
assert_equals(9, 9, "Sanity check: endOffset must be correct")
    at testExtend ( /selection/extend.js:86:5)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "anchorNode must not change if the node passed to extend() has the same root as the original range")
    at testExtend ( /selection/extend.js:145:9)
Pass
assert_equals(9, 9, "anchorOffset must not change if the node passed to extend() has the same root as the original range")
    at testExtend ( /selection/extend.js:147:9)
Pass
assert_equals(Element node <head><title>Selection extend() tests</title> <meta chars..., Element node <head><title>Selection extend() tests</title> <meta chars..., "focusNode must be the node passed to extend()")
    at testExtend ( /selection/extend.js:155:5)
Pass
assert_equals(1, 1, "focusOffset must be the offset passed to extend()")
    at testExtend ( /selection/extend.js:157:5)
Pass
assert_not_equals(object "   Äb̈c̈d̈e", object "b̈c̈d̈e", "extend() must replace any existing range with a new one, not mutate the existing one")
    at testExtend ( /selection/extend.js:159:5)
Passextend() forwards with range 4 [paras[0].firstChild, 2, paras[0].firstChild, 9] and point 30 [document.body, 3]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "Sanity check: startContainer must be correct")
    at testExtend ( /selection/extend.js:80:5)
Pass
assert_equals(2, 2, "Sanity check: startOffset must be correct")
    at testExtend ( /selection/extend.js:82:5)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "Sanity check: endContainer must be correct")
    at testExtend ( /selection/extend.js:84:5)
Pass
assert_equals(9, 9, "Sanity check: endOffset must be correct")
    at testExtend ( /selection/extend.js:86:5)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "anchorNode must not change if the node passed to extend() has the same root as the original range")
    at testExtend ( /selection/extend.js:145:9)
Pass
assert_equals(2, 2, "anchorOffset must not change if the node passed to extend() has the same root as the original range")
    at testExtend ( /selection/extend.js:147:9)
Pass
assert_equals(Element node <body><div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ </p><p id..., Element node <body><div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ </p><p id..., "focusNode must be the node passed to extend()")
    at testExtend ( /selection/extend.js:155:5)
Pass
assert_equals(3, 3, "focusOffset must be the offset passed to extend()")
    at testExtend ( /selection/extend.js:157:5)
Pass
assert_not_equals(object "b̈c̈d̈ëf̈g̈ḧ Ijklmnop QrstuvwxYzabcdefGhijklmn ", object "b̈c̈d̈e", "extend() must replace any existing range with a new one, not mutate the existing one")
    at testExtend ( /selection/extend.js:159:5)
Passextend() backwards with range 4 [paras[0].firstChild, 2, paras[0].firstChild, 9] and point 30 [document.body, 3]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "Sanity check: startContainer must be correct")
    at testExtend ( /selection/extend.js:80:5)
Pass
assert_equals(2, 2, "Sanity check: startOffset must be correct")
    at testExtend ( /selection/extend.js:82:5)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "Sanity check: endContainer must be correct")
    at testExtend ( /selection/extend.js:84:5)
Pass
assert_equals(9, 9, "Sanity check: endOffset must be correct")
    at testExtend ( /selection/extend.js:86:5)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "anchorNode must not change if the node passed to extend() has the same root as the original range")
    at testExtend ( /selection/extend.js:145:9)
Pass
assert_equals(9, 9, "anchorOffset must not change if the node passed to extend() has the same root as the original range")
    at testExtend ( /selection/extend.js:147:9)
Pass
assert_equals(Element node <body><div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ </p><p id..., Element node <body><div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ </p><p id..., "focusNode must be the node passed to extend()")
    at testExtend ( /selection/extend.js:155:5)
Pass
assert_equals(3, 3, "focusOffset must be the offset passed to extend()")
    at testExtend ( /selection/extend.js:157:5)
Pass
assert_not_equals(object "̈f̈g̈ḧ Ijklmnop QrstuvwxYzabcdefGhijklmn ", object "b̈c̈d̈e", "extend() must replace any existing range with a new one, not mutate the existing one")
    at testExtend ( /selection/extend.js:159:5)
Passextend() forwards with range 4 [paras[0].firstChild, 2, paras[0].firstChild, 9] and point 31 [foreignDoc.documentElement, 0]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(1, 1, "The operation should not add Range")
    at assertSelectionNoChange ( /selection/common.js:976:5)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "The operation should not update anchorNode")
    at assertSelectionNoChange ( /selection/common.js:978:5)
Pass
assert_equals(2, 2, "The operation should not update anchorOffset")
    at assertSelectionNoChange ( /selection/common.js:980:5)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "The operation should not update focusNode")
    at assertSelectionNoChange ( /selection/common.js:982:5)
Pass
assert_equals(9, 9, "The operation should not update focusOffset")
    at assertSelectionNoChange ( /selection/common.js:984:5)
Pass
assert_equals(object "b̈c̈d̈e", object "b̈c̈d̈e", "The operation should not replace a registered Range")
    at assertSelectionNoChange ( /selection/common.js:988:5)
Passextend() backwards with range 4 [paras[0].firstChild, 2, paras[0].firstChild, 9] and point 31 [foreignDoc.documentElement, 0]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(1, 1, "The operation should not add Range")
    at assertSelectionNoChange ( /selection/common.js:976:5)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "The operation should not update anchorNode")
    at assertSelectionNoChange ( /selection/common.js:978:5)
Pass
assert_equals(9, 9, "The operation should not update anchorOffset")
    at assertSelectionNoChange ( /selection/common.js:980:5)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "The operation should not update focusNode")
    at assertSelectionNoChange ( /selection/common.js:982:5)
Pass
assert_equals(2, 2, "The operation should not update focusOffset")
    at assertSelectionNoChange ( /selection/common.js:984:5)
Pass
assert_equals(object "b̈c̈d̈e", object "b̈c̈d̈e", "The operation should not replace a registered Range")
    at assertSelectionNoChange ( /selection/common.js:988:5)
Passextend() forwards with range 4 [paras[0].firstChild, 2, paras[0].firstChild, 9] and point 32 [foreignDoc.documentElement, 1]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(1, 1, "The operation should not add Range")
    at assertSelectionNoChange ( /selection/common.js:976:5)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "The operation should not update anchorNode")
    at assertSelectionNoChange ( /selection/common.js:978:5)
Pass
assert_equals(2, 2, "The operation should not update anchorOffset")
    at assertSelectionNoChange ( /selection/common.js:980:5)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "The operation should not update focusNode")
    at assertSelectionNoChange ( /selection/common.js:982:5)
Pass
assert_equals(9, 9, "The operation should not update focusOffset")
    at assertSelectionNoChange ( /selection/common.js:984:5)
Pass
assert_equals(object "b̈c̈d̈e", object "b̈c̈d̈e", "The operation should not replace a registered Range")
    at assertSelectionNoChange ( /selection/common.js:988:5)
Passextend() backwards with range 4 [paras[0].firstChild, 2, paras[0].firstChild, 9] and point 32 [foreignDoc.documentElement, 1]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(1, 1, "The operation should not add Range")
    at assertSelectionNoChange ( /selection/common.js:976:5)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "The operation should not update anchorNode")
    at assertSelectionNoChange ( /selection/common.js:978:5)
Pass
assert_equals(9, 9, "The operation should not update anchorOffset")
    at assertSelectionNoChange ( /selection/common.js:980:5)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "The operation should not update focusNode")
    at assertSelectionNoChange ( /selection/common.js:982:5)
Pass
assert_equals(2, 2, "The operation should not update focusOffset")
    at assertSelectionNoChange ( /selection/common.js:984:5)
Pass
assert_equals(object "b̈c̈d̈e", object "b̈c̈d̈e", "The operation should not replace a registered Range")
    at assertSelectionNoChange ( /selection/common.js:988:5)
Passextend() forwards with range 4 [paras[0].firstChild, 2, paras[0].firstChild, 9] and point 33 [foreignDoc.head, 0]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(1, 1, "The operation should not add Range")
    at assertSelectionNoChange ( /selection/common.js:976:5)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "The operation should not update anchorNode")
    at assertSelectionNoChange ( /selection/common.js:978:5)
Pass
assert_equals(2, 2, "The operation should not update anchorOffset")
    at assertSelectionNoChange ( /selection/common.js:980:5)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "The operation should not update focusNode")
    at assertSelectionNoChange ( /selection/common.js:982:5)
Pass
assert_equals(9, 9, "The operation should not update focusOffset")
    at assertSelectionNoChange ( /selection/common.js:984:5)
Pass
assert_equals(object "b̈c̈d̈e", object "b̈c̈d̈e", "The operation should not replace a registered Range")
    at assertSelectionNoChange ( /selection/common.js:988:5)
Passextend() backwards with range 4 [paras[0].firstChild, 2, paras[0].firstChild, 9] and point 33 [foreignDoc.head, 0]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(1, 1, "The operation should not add Range")
    at assertSelectionNoChange ( /selection/common.js:976:5)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "The operation should not update anchorNode")
    at assertSelectionNoChange ( /selection/common.js:978:5)
Pass
assert_equals(9, 9, "The operation should not update anchorOffset")
    at assertSelectionNoChange ( /selection/common.js:980:5)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "The operation should not update focusNode")
    at assertSelectionNoChange ( /selection/common.js:982:5)
Pass
assert_equals(2, 2, "The operation should not update focusOffset")
    at assertSelectionNoChange ( /selection/common.js:984:5)
Pass
assert_equals(object "b̈c̈d̈e", object "b̈c̈d̈e", "The operation should not replace a registered Range")
    at assertSelectionNoChange ( /selection/common.js:988:5)
Passextend() forwards with range 4 [paras[0].firstChild, 2, paras[0].firstChild, 9] and point 34 [foreignDoc.body, 1]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(1, 1, "The operation should not add Range")
    at assertSelectionNoChange ( /selection/common.js:976:5)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "The operation should not update anchorNode")
    at assertSelectionNoChange ( /selection/common.js:978:5)
Pass
assert_equals(2, 2, "The operation should not update anchorOffset")
    at assertSelectionNoChange ( /selection/common.js:980:5)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "The operation should not update focusNode")
    at assertSelectionNoChange ( /selection/common.js:982:5)
Pass
assert_equals(9, 9, "The operation should not update focusOffset")
    at assertSelectionNoChange ( /selection/common.js:984:5)
Pass
assert_equals(object "b̈c̈d̈e", object "b̈c̈d̈e", "The operation should not replace a registered Range")
    at assertSelectionNoChange ( /selection/common.js:988:5)
Passextend() backwards with range 4 [paras[0].firstChild, 2, paras[0].firstChild, 9] and point 34 [foreignDoc.body, 1]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(1, 1, "The operation should not add Range")
    at assertSelectionNoChange ( /selection/common.js:976:5)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "The operation should not update anchorNode")
    at assertSelectionNoChange ( /selection/common.js:978:5)
Pass
assert_equals(9, 9, "The operation should not update anchorOffset")
    at assertSelectionNoChange ( /selection/common.js:980:5)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "The operation should not update focusNode")
    at assertSelectionNoChange ( /selection/common.js:982:5)
Pass
assert_equals(2, 2, "The operation should not update focusOffset")
    at assertSelectionNoChange ( /selection/common.js:984:5)
Pass
assert_equals(object "b̈c̈d̈e", object "b̈c̈d̈e", "The operation should not replace a registered Range")
    at assertSelectionNoChange ( /selection/common.js:988:5)
Passextend() forwards with range 4 [paras[0].firstChild, 2, paras[0].firstChild, 9] and point 35 [paras[0], 0]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "Sanity check: startContainer must be correct")
    at testExtend ( /selection/extend.js:80:5)
Pass
assert_equals(2, 2, "Sanity check: startOffset must be correct")
    at testExtend ( /selection/extend.js:82:5)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "Sanity check: endContainer must be correct")
    at testExtend ( /selection/extend.js:84:5)
Pass
assert_equals(9, 9, "Sanity check: endOffset must be correct")
    at testExtend ( /selection/extend.js:86:5)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "anchorNode must not change if the node passed to extend() has the same root as the original range")
    at testExtend ( /selection/extend.js:145:9)
Pass
assert_equals(2, 2, "anchorOffset must not change if the node passed to extend() has the same root as the original range")
    at testExtend ( /selection/extend.js:147:9)
Pass
assert_equals(Element node <p id="a">Äb̈c̈d̈ëf̈g̈ḧ </p>, Element node <p id="a">Äb̈c̈d̈ëf̈g̈ḧ </p>, "focusNode must be the node passed to extend()")
    at testExtend ( /selection/extend.js:155:5)
Pass
assert_equals(0, 0, "focusOffset must be the offset passed to extend()")
    at testExtend ( /selection/extend.js:157:5)
Pass
assert_not_equals(object "Ä", object "b̈c̈d̈e", "extend() must replace any existing range with a new one, not mutate the existing one")
    at testExtend ( /selection/extend.js:159:5)
Passextend() backwards with range 4 [paras[0].firstChild, 2, paras[0].firstChild, 9] and point 35 [paras[0], 0]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "Sanity check: startContainer must be correct")
    at testExtend ( /selection/extend.js:80:5)
Pass
assert_equals(2, 2, "Sanity check: startOffset must be correct")
    at testExtend ( /selection/extend.js:82:5)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "Sanity check: endContainer must be correct")
    at testExtend ( /selection/extend.js:84:5)
Pass
assert_equals(9, 9, "Sanity check: endOffset must be correct")
    at testExtend ( /selection/extend.js:86:5)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "anchorNode must not change if the node passed to extend() has the same root as the original range")
    at testExtend ( /selection/extend.js:145:9)
Pass
assert_equals(9, 9, "anchorOffset must not change if the node passed to extend() has the same root as the original range")
    at testExtend ( /selection/extend.js:147:9)
Pass
assert_equals(Element node <p id="a">Äb̈c̈d̈ëf̈g̈ḧ </p>, Element node <p id="a">Äb̈c̈d̈ëf̈g̈ḧ </p>, "focusNode must be the node passed to extend()")
    at testExtend ( /selection/extend.js:155:5)
Pass
assert_equals(0, 0, "focusOffset must be the offset passed to extend()")
    at testExtend ( /selection/extend.js:157:5)
Pass
assert_not_equals(object "Äb̈c̈d̈e", object "b̈c̈d̈e", "extend() must replace any existing range with a new one, not mutate the existing one")
    at testExtend ( /selection/extend.js:159:5)
Passextend() forwards with range 4 [paras[0].firstChild, 2, paras[0].firstChild, 9] and point 36 [paras[0], 1]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "Sanity check: startContainer must be correct")
    at testExtend ( /selection/extend.js:80:5)
Pass
assert_equals(2, 2, "Sanity check: startOffset must be correct")
    at testExtend ( /selection/extend.js:82:5)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "Sanity check: endContainer must be correct")
    at testExtend ( /selection/extend.js:84:5)
Pass
assert_equals(9, 9, "Sanity check: endOffset must be correct")
    at testExtend ( /selection/extend.js:86:5)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "anchorNode must not change if the node passed to extend() has the same root as the original range")
    at testExtend ( /selection/extend.js:145:9)
Pass
assert_equals(2, 2, "anchorOffset must not change if the node passed to extend() has the same root as the original range")
    at testExtend ( /selection/extend.js:147:9)
Pass
assert_equals(Element node <p id="a">Äb̈c̈d̈ëf̈g̈ḧ </p>, Element node <p id="a">Äb̈c̈d̈ëf̈g̈ḧ </p>, "focusNode must be the node passed to extend()")
    at testExtend ( /selection/extend.js:155:5)
Pass
assert_equals(1, 1, "focusOffset must be the offset passed to extend()")
    at testExtend ( /selection/extend.js:157:5)
Pass
assert_not_equals(object "b̈c̈d̈ëf̈g̈ḧ ", object "b̈c̈d̈e", "extend() must replace any existing range with a new one, not mutate the existing one")
    at testExtend ( /selection/extend.js:159:5)
Passextend() backwards with range 4 [paras[0].firstChild, 2, paras[0].firstChild, 9] and point 36 [paras[0], 1]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "Sanity check: startContainer must be correct")
    at testExtend ( /selection/extend.js:80:5)
Pass
assert_equals(2, 2, "Sanity check: startOffset must be correct")
    at testExtend ( /selection/extend.js:82:5)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "Sanity check: endContainer must be correct")
    at testExtend ( /selection/extend.js:84:5)
Pass
assert_equals(9, 9, "Sanity check: endOffset must be correct")
    at testExtend ( /selection/extend.js:86:5)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "anchorNode must not change if the node passed to extend() has the same root as the original range")
    at testExtend ( /selection/extend.js:145:9)
Pass
assert_equals(9, 9, "anchorOffset must not change if the node passed to extend() has the same root as the original range")
    at testExtend ( /selection/extend.js:147:9)
Pass
assert_equals(Element node <p id="a">Äb̈c̈d̈ëf̈g̈ḧ </p>, Element node <p id="a">Äb̈c̈d̈ëf̈g̈ḧ </p>, "focusNode must be the node passed to extend()")
    at testExtend ( /selection/extend.js:155:5)
Pass
assert_equals(1, 1, "focusOffset must be the offset passed to extend()")
    at testExtend ( /selection/extend.js:157:5)
Pass
assert_not_equals(object "̈f̈g̈ḧ ", object "b̈c̈d̈e", "extend() must replace any existing range with a new one, not mutate the existing one")
    at testExtend ( /selection/extend.js:159:5)
Passextend() forwards with range 4 [paras[0].firstChild, 2, paras[0].firstChild, 9] and point 37 [paras[0], 2]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "Sanity check: startContainer must be correct")
    at testExtend ( /selection/extend.js:80:5)
Pass
assert_equals(2, 2, "Sanity check: startOffset must be correct")
    at testExtend ( /selection/extend.js:82:5)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "Sanity check: endContainer must be correct")
    at testExtend ( /selection/extend.js:84:5)
Pass
assert_equals(9, 9, "Sanity check: endOffset must be correct")
    at testExtend ( /selection/extend.js:86:5)
Pass
assert_throws_dom("INDEX_SIZE_ERR", function "function() {             selection.extend(node, offset);         }", "extend() to an offset that's greater than node length (1) must throw IndexSizeError")
    at testExtend ( /selection/extend.js:117:9)
Passextend() backwards with range 4 [paras[0].firstChild, 2, paras[0].firstChild, 9] and point 37 [paras[0], 2]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "Sanity check: startContainer must be correct")
    at testExtend ( /selection/extend.js:80:5)
Pass
assert_equals(2, 2, "Sanity check: startOffset must be correct")
    at testExtend ( /selection/extend.js:82:5)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "Sanity check: endContainer must be correct")
    at testExtend ( /selection/extend.js:84:5)
Pass
assert_equals(9, 9, "Sanity check: endOffset must be correct")
    at testExtend ( /selection/extend.js:86:5)
Pass
assert_throws_dom("INDEX_SIZE_ERR", function "function() {             selection.extend(node, offset);         }", "extend() to an offset that's greater than node length (1) must throw IndexSizeError")
    at testExtend ( /selection/extend.js:117:9)
Passextend() forwards with range 4 [paras[0].firstChild, 2, paras[0].firstChild, 9] and point 38 [paras[1], 0]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "Sanity check: startContainer must be correct")
    at testExtend ( /selection/extend.js:80:5)
Pass
assert_equals(2, 2, "Sanity check: startOffset must be correct")
    at testExtend ( /selection/extend.js:82:5)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "Sanity check: endContainer must be correct")
    at testExtend ( /selection/extend.js:84:5)
Pass
assert_equals(9, 9, "Sanity check: endOffset must be correct")
    at testExtend ( /selection/extend.js:86:5)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "anchorNode must not change if the node passed to extend() has the same root as the original range")
    at testExtend ( /selection/extend.js:145:9)
Pass
assert_equals(2, 2, "anchorOffset must not change if the node passed to extend() has the same root as the original range")
    at testExtend ( /selection/extend.js:147:9)
Pass
assert_equals(Element node <p id="b" style="display:none">Ijklmnop </p>, Element node <p id="b" style="display:none">Ijklmnop </p>, "focusNode must be the node passed to extend()")
    at testExtend ( /selection/extend.js:155:5)
Pass
assert_equals(0, 0, "focusOffset must be the offset passed to extend()")
    at testExtend ( /selection/extend.js:157:5)
Pass
assert_not_equals(object "b̈c̈d̈ëf̈g̈ḧ ", object "b̈c̈d̈e", "extend() must replace any existing range with a new one, not mutate the existing one")
    at testExtend ( /selection/extend.js:159:5)
Passextend() backwards with range 4 [paras[0].firstChild, 2, paras[0].firstChild, 9] and point 38 [paras[1], 0]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "Sanity check: startContainer must be correct")
    at testExtend ( /selection/extend.js:80:5)
Pass
assert_equals(2, 2, "Sanity check: startOffset must be correct")
    at testExtend ( /selection/extend.js:82:5)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "Sanity check: endContainer must be correct")
    at testExtend ( /selection/extend.js:84:5)
Pass
assert_equals(9, 9, "Sanity check: endOffset must be correct")
    at testExtend ( /selection/extend.js:86:5)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "anchorNode must not change if the node passed to extend() has the same root as the original range")
    at testExtend ( /selection/extend.js:145:9)
Pass
assert_equals(9, 9, "anchorOffset must not change if the node passed to extend() has the same root as the original range")
    at testExtend ( /selection/extend.js:147:9)
Pass
assert_equals(Element node <p id="b" style="display:none">Ijklmnop </p>, Element node <p id="b" style="display:none">Ijklmnop </p>, "focusNode must be the node passed to extend()")
    at testExtend ( /selection/extend.js:155:5)
Pass
assert_equals(0, 0, "focusOffset must be the offset passed to extend()")
    at testExtend ( /selection/extend.js:157:5)
Pass
assert_not_equals(object "̈f̈g̈ḧ ", object "b̈c̈d̈e", "extend() must replace any existing range with a new one, not mutate the existing one")
    at testExtend ( /selection/extend.js:159:5)
Passextend() forwards with range 4 [paras[0].firstChild, 2, paras[0].firstChild, 9] and point 39 [paras[1], 1]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "Sanity check: startContainer must be correct")
    at testExtend ( /selection/extend.js:80:5)
Pass
assert_equals(2, 2, "Sanity check: startOffset must be correct")
    at testExtend ( /selection/extend.js:82:5)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "Sanity check: endContainer must be correct")
    at testExtend ( /selection/extend.js:84:5)
Pass
assert_equals(9, 9, "Sanity check: endOffset must be correct")
    at testExtend ( /selection/extend.js:86:5)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "anchorNode must not change if the node passed to extend() has the same root as the original range")
    at testExtend ( /selection/extend.js:145:9)
Pass
assert_equals(2, 2, "anchorOffset must not change if the node passed to extend() has the same root as the original range")
    at testExtend ( /selection/extend.js:147:9)
Pass
assert_equals(Element node <p id="b" style="display:none">Ijklmnop </p>, Element node <p id="b" style="display:none">Ijklmnop </p>, "focusNode must be the node passed to extend()")
    at testExtend ( /selection/extend.js:155:5)
Pass
assert_equals(1, 1, "focusOffset must be the offset passed to extend()")
    at testExtend ( /selection/extend.js:157:5)
Pass
assert_not_equals(object "b̈c̈d̈ëf̈g̈ḧ Ijklmnop ", object "b̈c̈d̈e", "extend() must replace any existing range with a new one, not mutate the existing one")
    at testExtend ( /selection/extend.js:159:5)
Passextend() backwards with range 4 [paras[0].firstChild, 2, paras[0].firstChild, 9] and point 39 [paras[1], 1]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "Sanity check: startContainer must be correct")
    at testExtend ( /selection/extend.js:80:5)
Pass
assert_equals(2, 2, "Sanity check: startOffset must be correct")
    at testExtend ( /selection/extend.js:82:5)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "Sanity check: endContainer must be correct")
    at testExtend ( /selection/extend.js:84:5)
Pass
assert_equals(9, 9, "Sanity check: endOffset must be correct")
    at testExtend ( /selection/extend.js:86:5)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "anchorNode must not change if the node passed to extend() has the same root as the original range")
    at testExtend ( /selection/extend.js:145:9)
Pass
assert_equals(9, 9, "anchorOffset must not change if the node passed to extend() has the same root as the original range")
    at testExtend ( /selection/extend.js:147:9)
Pass
assert_equals(Element node <p id="b" style="display:none">Ijklmnop </p>, Element node <p id="b" style="display:none">Ijklmnop </p>, "focusNode must be the node passed to extend()")
    at testExtend ( /selection/extend.js:155:5)
Pass
assert_equals(1, 1, "focusOffset must be the offset passed to extend()")
    at testExtend ( /selection/extend.js:157:5)
Pass
assert_not_equals(object "̈f̈g̈ḧ Ijklmnop ", object "b̈c̈d̈e", "extend() must replace any existing range with a new one, not mutate the existing one")
    at testExtend ( /selection/extend.js:159:5)
Passextend() forwards with range 4 [paras[0].firstChild, 2, paras[0].firstChild, 9] and point 40 [paras[1], 2]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "Sanity check: startContainer must be correct")
    at testExtend ( /selection/extend.js:80:5)
Pass
assert_equals(2, 2, "Sanity check: startOffset must be correct")
    at testExtend ( /selection/extend.js:82:5)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "Sanity check: endContainer must be correct")
    at testExtend ( /selection/extend.js:84:5)
Pass
assert_equals(9, 9, "Sanity check: endOffset must be correct")
    at testExtend ( /selection/extend.js:86:5)
Pass
assert_throws_dom("INDEX_SIZE_ERR", function "function() {             selection.extend(node, offset);         }", "extend() to an offset that's greater than node length (1) must throw IndexSizeError")
    at testExtend ( /selection/extend.js:117:9)
Passextend() backwards with range 4 [paras[0].firstChild, 2, paras[0].firstChild, 9] and point 40 [paras[1], 2]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "Sanity check: startContainer must be correct")
    at testExtend ( /selection/extend.js:80:5)
Pass
assert_equals(2, 2, "Sanity check: startOffset must be correct")
    at testExtend ( /selection/extend.js:82:5)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "Sanity check: endContainer must be correct")
    at testExtend ( /selection/extend.js:84:5)
Pass
assert_equals(9, 9, "Sanity check: endOffset must be correct")
    at testExtend ( /selection/extend.js:86:5)
Pass
assert_throws_dom("INDEX_SIZE_ERR", function "function() {             selection.extend(node, offset);         }", "extend() to an offset that's greater than node length (1) must throw IndexSizeError")
    at testExtend ( /selection/extend.js:117:9)
Passextend() forwards with range 4 [paras[0].firstChild, 2, paras[0].firstChild, 9] and point 41 [detachedPara1, 0]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(1, 1, "The operation should not add Range")
    at assertSelectionNoChange ( /selection/common.js:976:5)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "The operation should not update anchorNode")
    at assertSelectionNoChange ( /selection/common.js:978:5)
Pass
assert_equals(2, 2, "The operation should not update anchorOffset")
    at assertSelectionNoChange ( /selection/common.js:980:5)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "The operation should not update focusNode")
    at assertSelectionNoChange ( /selection/common.js:982:5)
Pass
assert_equals(9, 9, "The operation should not update focusOffset")
    at assertSelectionNoChange ( /selection/common.js:984:5)
Pass
assert_equals(object "b̈c̈d̈e", object "b̈c̈d̈e", "The operation should not replace a registered Range")
    at assertSelectionNoChange ( /selection/common.js:988:5)
Passextend() backwards with range 4 [paras[0].firstChild, 2, paras[0].firstChild, 9] and point 41 [detachedPara1, 0]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(1, 1, "The operation should not add Range")
    at assertSelectionNoChange ( /selection/common.js:976:5)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "The operation should not update anchorNode")
    at assertSelectionNoChange ( /selection/common.js:978:5)
Pass
assert_equals(9, 9, "The operation should not update anchorOffset")
    at assertSelectionNoChange ( /selection/common.js:980:5)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "The operation should not update focusNode")
    at assertSelectionNoChange ( /selection/common.js:982:5)
Pass
assert_equals(2, 2, "The operation should not update focusOffset")
    at assertSelectionNoChange ( /selection/common.js:984:5)
Pass
assert_equals(object "b̈c̈d̈e", object "b̈c̈d̈e", "The operation should not replace a registered Range")
    at assertSelectionNoChange ( /selection/common.js:988:5)
Passextend() forwards with range 4 [paras[0].firstChild, 2, paras[0].firstChild, 9] and point 42 [detachedPara1, 1]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(1, 1, "The operation should not add Range")
    at assertSelectionNoChange ( /selection/common.js:976:5)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "The operation should not update anchorNode")
    at assertSelectionNoChange ( /selection/common.js:978:5)
Pass
assert_equals(2, 2, "The operation should not update anchorOffset")
    at assertSelectionNoChange ( /selection/common.js:980:5)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "The operation should not update focusNode")
    at assertSelectionNoChange ( /selection/common.js:982:5)
Pass
assert_equals(9, 9, "The operation should not update focusOffset")
    at assertSelectionNoChange ( /selection/common.js:984:5)
Pass
assert_equals(object "b̈c̈d̈e", object "b̈c̈d̈e", "The operation should not replace a registered Range")
    at assertSelectionNoChange ( /selection/common.js:988:5)
Passextend() backwards with range 4 [paras[0].firstChild, 2, paras[0].firstChild, 9] and point 42 [detachedPara1, 1]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(1, 1, "The operation should not add Range")
    at assertSelectionNoChange ( /selection/common.js:976:5)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "The operation should not update anchorNode")
    at assertSelectionNoChange ( /selection/common.js:978:5)
Pass
assert_equals(9, 9, "The operation should not update anchorOffset")
    at assertSelectionNoChange ( /selection/common.js:980:5)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "The operation should not update focusNode")
    at assertSelectionNoChange ( /selection/common.js:982:5)
Pass
assert_equals(2, 2, "The operation should not update focusOffset")
    at assertSelectionNoChange ( /selection/common.js:984:5)
Pass
assert_equals(object "b̈c̈d̈e", object "b̈c̈d̈e", "The operation should not replace a registered Range")
    at assertSelectionNoChange ( /selection/common.js:988:5)
Passextend() forwards with range 4 [paras[0].firstChild, 2, paras[0].firstChild, 9] and point 43 [testDiv, 0]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "Sanity check: startContainer must be correct")
    at testExtend ( /selection/extend.js:80:5)
Pass
assert_equals(2, 2, "Sanity check: startOffset must be correct")
    at testExtend ( /selection/extend.js:82:5)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "Sanity check: endContainer must be correct")
    at testExtend ( /selection/extend.js:84:5)
Pass
assert_equals(9, 9, "Sanity check: endOffset must be correct")
    at testExtend ( /selection/extend.js:86:5)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "anchorNode must not change if the node passed to extend() has the same root as the original range")
    at testExtend ( /selection/extend.js:145:9)
Pass
assert_equals(2, 2, "anchorOffset must not change if the node passed to extend() has the same root as the original range")
    at testExtend ( /selection/extend.js:147:9)
Pass
assert_equals(Element node <div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ </p><p id="b" s..., Element node <div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ </p><p id="b" s..., "focusNode must be the node passed to extend()")
    at testExtend ( /selection/extend.js:155:5)
Pass
assert_equals(0, 0, "focusOffset must be the offset passed to extend()")
    at testExtend ( /selection/extend.js:157:5)
Pass
assert_not_equals(object "Ä", object "b̈c̈d̈e", "extend() must replace any existing range with a new one, not mutate the existing one")
    at testExtend ( /selection/extend.js:159:5)
Passextend() backwards with range 4 [paras[0].firstChild, 2, paras[0].firstChild, 9] and point 43 [testDiv, 0]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "Sanity check: startContainer must be correct")
    at testExtend ( /selection/extend.js:80:5)
Pass
assert_equals(2, 2, "Sanity check: startOffset must be correct")
    at testExtend ( /selection/extend.js:82:5)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "Sanity check: endContainer must be correct")
    at testExtend ( /selection/extend.js:84:5)
Pass
assert_equals(9, 9, "Sanity check: endOffset must be correct")
    at testExtend ( /selection/extend.js:86:5)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "anchorNode must not change if the node passed to extend() has the same root as the original range")
    at testExtend ( /selection/extend.js:145:9)
Pass
assert_equals(9, 9, "anchorOffset must not change if the node passed to extend() has the same root as the original range")
    at testExtend ( /selection/extend.js:147:9)
Pass
assert_equals(Element node <div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ </p><p id="b" s..., Element node <div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ </p><p id="b" s..., "focusNode must be the node passed to extend()")
    at testExtend ( /selection/extend.js:155:5)
Pass
assert_equals(0, 0, "focusOffset must be the offset passed to extend()")
    at testExtend ( /selection/extend.js:157:5)
Pass
assert_not_equals(object "Äb̈c̈d̈e", object "b̈c̈d̈e", "extend() must replace any existing range with a new one, not mutate the existing one")
    at testExtend ( /selection/extend.js:159:5)
Passextend() forwards with range 4 [paras[0].firstChild, 2, paras[0].firstChild, 9] and point 44 [testDiv, 3]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "Sanity check: startContainer must be correct")
    at testExtend ( /selection/extend.js:80:5)
Pass
assert_equals(2, 2, "Sanity check: startOffset must be correct")
    at testExtend ( /selection/extend.js:82:5)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "Sanity check: endContainer must be correct")
    at testExtend ( /selection/extend.js:84:5)
Pass
assert_equals(9, 9, "Sanity check: endOffset must be correct")
    at testExtend ( /selection/extend.js:86:5)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "anchorNode must not change if the node passed to extend() has the same root as the original range")
    at testExtend ( /selection/extend.js:145:9)
Pass
assert_equals(2, 2, "anchorOffset must not change if the node passed to extend() has the same root as the original range")
    at testExtend ( /selection/extend.js:147:9)
Pass
assert_equals(Element node <div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ </p><p id="b" s..., Element node <div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ </p><p id="b" s..., "focusNode must be the node passed to extend()")
    at testExtend ( /selection/extend.js:155:5)
Pass
assert_equals(3, 3, "focusOffset must be the offset passed to extend()")
    at testExtend ( /selection/extend.js:157:5)
Pass
assert_not_equals(object "b̈c̈d̈ëf̈g̈ḧ Ijklmnop Qrstuvwx", object "b̈c̈d̈e", "extend() must replace any existing range with a new one, not mutate the existing one")
    at testExtend ( /selection/extend.js:159:5)
Passextend() backwards with range 4 [paras[0].firstChild, 2, paras[0].firstChild, 9] and point 44 [testDiv, 3]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "Sanity check: startContainer must be correct")
    at testExtend ( /selection/extend.js:80:5)
Pass
assert_equals(2, 2, "Sanity check: startOffset must be correct")
    at testExtend ( /selection/extend.js:82:5)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "Sanity check: endContainer must be correct")
    at testExtend ( /selection/extend.js:84:5)
Pass
assert_equals(9, 9, "Sanity check: endOffset must be correct")
    at testExtend ( /selection/extend.js:86:5)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "anchorNode must not change if the node passed to extend() has the same root as the original range")
    at testExtend ( /selection/extend.js:145:9)
Pass
assert_equals(9, 9, "anchorOffset must not change if the node passed to extend() has the same root as the original range")
    at testExtend ( /selection/extend.js:147:9)
Pass
assert_equals(Element node <div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ </p><p id="b" s..., Element node <div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ </p><p id="b" s..., "focusNode must be the node passed to extend()")
    at testExtend ( /selection/extend.js:155:5)
Pass
assert_equals(3, 3, "focusOffset must be the offset passed to extend()")
    at testExtend ( /selection/extend.js:157:5)
Pass
assert_not_equals(object "̈f̈g̈ḧ Ijklmnop Qrstuvwx", object "b̈c̈d̈e", "extend() must replace any existing range with a new one, not mutate the existing one")
    at testExtend ( /selection/extend.js:159:5)
Passextend() forwards with range 4 [paras[0].firstChild, 2, paras[0].firstChild, 9] and point 45 [document, -1]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "Sanity check: startContainer must be correct")
    at testExtend ( /selection/extend.js:80:5)
Pass
assert_equals(2, 2, "Sanity check: startOffset must be correct")
    at testExtend ( /selection/extend.js:82:5)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "Sanity check: endContainer must be correct")
    at testExtend ( /selection/extend.js:84:5)
Pass
assert_equals(9, 9, "Sanity check: endOffset must be correct")
    at testExtend ( /selection/extend.js:86:5)
Pass
assert_throws_dom("INDEX_SIZE_ERR", function "function() {             selection.extend(node, offset);         }", "extend() to an offset that's greater than node length (2) must throw IndexSizeError")
    at testExtend ( /selection/extend.js:117:9)
Passextend() backwards with range 4 [paras[0].firstChild, 2, paras[0].firstChild, 9] and point 45 [document, -1]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "Sanity check: startContainer must be correct")
    at testExtend ( /selection/extend.js:80:5)
Pass
assert_equals(2, 2, "Sanity check: startOffset must be correct")
    at testExtend ( /selection/extend.js:82:5)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "Sanity check: endContainer must be correct")
    at testExtend ( /selection/extend.js:84:5)
Pass
assert_equals(9, 9, "Sanity check: endOffset must be correct")
    at testExtend ( /selection/extend.js:86:5)
Pass
assert_throws_dom("INDEX_SIZE_ERR", function "function() {             selection.extend(node, offset);         }", "extend() to an offset that's greater than node length (2) must throw IndexSizeError")
    at testExtend ( /selection/extend.js:117:9)
Passextend() forwards with range 4 [paras[0].firstChild, 2, paras[0].firstChild, 9] and point 46 [document, 0]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "Sanity check: startContainer must be correct")
    at testExtend ( /selection/extend.js:80:5)
Pass
assert_equals(2, 2, "Sanity check: startOffset must be correct")
    at testExtend ( /selection/extend.js:82:5)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "Sanity check: endContainer must be correct")
    at testExtend ( /selection/extend.js:84:5)
Pass
assert_equals(9, 9, "Sanity check: endOffset must be correct")
    at testExtend ( /selection/extend.js:86:5)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "anchorNode must not change if the node passed to extend() has the same root as the original range")
    at testExtend ( /selection/extend.js:145:9)
Pass
assert_equals(2, 2, "anchorOffset must not change if the node passed to extend() has the same root as the original range")
    at testExtend ( /selection/extend.js:147:9)
Pass
assert_equals(Document node with 2 children, Document node with 2 children, "focusNode must be the node passed to extend()")
    at testExtend ( /selection/extend.js:155:5)
Pass
assert_equals(0, 0, "focusOffset must be the offset passed to extend()")
    at testExtend ( /selection/extend.js:157:5)
Pass
assert_not_equals(object "Selection extend() tests   Ä", object "b̈c̈d̈e", "extend() must replace any existing range with a new one, not mutate the existing one")
    at testExtend ( /selection/extend.js:159:5)
Passextend() backwards with range 4 [paras[0].firstChild, 2, paras[0].firstChild, 9] and point 46 [document, 0]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "Sanity check: startContainer must be correct")
    at testExtend ( /selection/extend.js:80:5)
Pass
assert_equals(2, 2, "Sanity check: startOffset must be correct")
    at testExtend ( /selection/extend.js:82:5)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "Sanity check: endContainer must be correct")
    at testExtend ( /selection/extend.js:84:5)
Pass
assert_equals(9, 9, "Sanity check: endOffset must be correct")
    at testExtend ( /selection/extend.js:86:5)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "anchorNode must not change if the node passed to extend() has the same root as the original range")
    at testExtend ( /selection/extend.js:145:9)
Pass
assert_equals(9, 9, "anchorOffset must not change if the node passed to extend() has the same root as the original range")
    at testExtend ( /selection/extend.js:147:9)
Pass
assert_equals(Document node with 2 children, Document node with 2 children, "focusNode must be the node passed to extend()")
    at testExtend ( /selection/extend.js:155:5)
Pass
assert_equals(0, 0, "focusOffset must be the offset passed to extend()")
    at testExtend ( /selection/extend.js:157:5)
Pass
assert_not_equals(object "Selection extend() tests   Äb̈c̈d̈e", object "b̈c̈d̈e", "extend() must replace any existing range with a new one, not mutate the existing one")
    at testExtend ( /selection/extend.js:159:5)
Passextend() forwards with range 4 [paras[0].firstChild, 2, paras[0].firstChild, 9] and point 47 [document, 1]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "Sanity check: startContainer must be correct")
    at testExtend ( /selection/extend.js:80:5)
Pass
assert_equals(2, 2, "Sanity check: startOffset must be correct")
    at testExtend ( /selection/extend.js:82:5)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "Sanity check: endContainer must be correct")
    at testExtend ( /selection/extend.js:84:5)
Pass
assert_equals(9, 9, "Sanity check: endOffset must be correct")
    at testExtend ( /selection/extend.js:86:5)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "anchorNode must not change if the node passed to extend() has the same root as the original range")
    at testExtend ( /selection/extend.js:145:9)
Pass
assert_equals(2, 2, "anchorOffset must not change if the node passed to extend() has the same root as the original range")
    at testExtend ( /selection/extend.js:147:9)
Pass
assert_equals(Document node with 2 children, Document node with 2 children, "focusNode must be the node passed to extend()")
    at testExtend ( /selection/extend.js:155:5)
Pass
assert_equals(1, 1, "focusOffset must be the offset passed to extend()")
    at testExtend ( /selection/extend.js:157:5)
Pass
assert_not_equals(object "Selection extend() tests   Ä", object "b̈c̈d̈e", "extend() must replace any existing range with a new one, not mutate the existing one")
    at testExtend ( /selection/extend.js:159:5)
Passextend() backwards with range 4 [paras[0].firstChild, 2, paras[0].firstChild, 9] and point 47 [document, 1]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "Sanity check: startContainer must be correct")
    at testExtend ( /selection/extend.js:80:5)
Pass
assert_equals(2, 2, "Sanity check: startOffset must be correct")
    at testExtend ( /selection/extend.js:82:5)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "Sanity check: endContainer must be correct")
    at testExtend ( /selection/extend.js:84:5)
Pass
assert_equals(9, 9, "Sanity check: endOffset must be correct")
    at testExtend ( /selection/extend.js:86:5)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "anchorNode must not change if the node passed to extend() has the same root as the original range")
    at testExtend ( /selection/extend.js:145:9)
Pass
assert_equals(9, 9, "anchorOffset must not change if the node passed to extend() has the same root as the original range")
    at testExtend ( /selection/extend.js:147:9)
Pass
assert_equals(Document node with 2 children, Document node with 2 children, "focusNode must be the node passed to extend()")
    at testExtend ( /selection/extend.js:155:5)
Pass
assert_equals(1, 1, "focusOffset must be the offset passed to extend()")
    at testExtend ( /selection/extend.js:157:5)
Pass
assert_not_equals(object "Selection extend() tests   Äb̈c̈d̈e", object "b̈c̈d̈e", "extend() must replace any existing range with a new one, not mutate the existing one")
    at testExtend ( /selection/extend.js:159:5)
Passextend() forwards with range 4 [paras[0].firstChild, 2, paras[0].firstChild, 9] and point 48 [document, 2]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "Sanity check: startContainer must be correct")
    at testExtend ( /selection/extend.js:80:5)
Pass
assert_equals(2, 2, "Sanity check: startOffset must be correct")
    at testExtend ( /selection/extend.js:82:5)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "Sanity check: endContainer must be correct")
    at testExtend ( /selection/extend.js:84:5)
Pass
assert_equals(9, 9, "Sanity check: endOffset must be correct")
    at testExtend ( /selection/extend.js:86:5)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "anchorNode must not change if the node passed to extend() has the same root as the original range")
    at testExtend ( /selection/extend.js:145:9)
Pass
assert_equals(2, 2, "anchorOffset must not change if the node passed to extend() has the same root as the original range")
    at testExtend ( /selection/extend.js:147:9)
Pass
assert_equals(Document node with 2 children, Document node with 2 children, "focusNode must be the node passed to extend()")
    at testExtend ( /selection/extend.js:155:5)
Pass
assert_equals(2, 2, "focusOffset must be the offset passed to extend()")
    at testExtend ( /selection/extend.js:157:5)
Pass
assert_not_equals(object "b̈c̈d̈ëf̈g̈ḧ Ijklmnop QrstuvwxYzabcdefGhijklmn     Running, 500 complete, 1 remain  "use strict";  testExtendSubSet(0, 20); testDiv.style.display = "none"; ", object "b̈c̈d̈e", "extend() must replace any existing range with a new one, not mutate the existing one")
    at testExtend ( /selection/extend.js:159:5)
Passextend() backwards with range 4 [paras[0].firstChild, 2, paras[0].firstChild, 9] and point 48 [document, 2]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "Sanity check: startContainer must be correct")
    at testExtend ( /selection/extend.js:80:5)
Pass
assert_equals(2, 2, "Sanity check: startOffset must be correct")
    at testExtend ( /selection/extend.js:82:5)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "Sanity check: endContainer must be correct")
    at testExtend ( /selection/extend.js:84:5)
Pass
assert_equals(9, 9, "Sanity check: endOffset must be correct")
    at testExtend ( /selection/extend.js:86:5)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "anchorNode must not change if the node passed to extend() has the same root as the original range")
    at testExtend ( /selection/extend.js:145:9)
Pass
assert_equals(9, 9, "anchorOffset must not change if the node passed to extend() has the same root as the original range")
    at testExtend ( /selection/extend.js:147:9)
Pass
assert_equals(Document node with 2 children, Document node with 2 children, "focusNode must be the node passed to extend()")
    at testExtend ( /selection/extend.js:155:5)
Pass
assert_equals(2, 2, "focusOffset must be the offset passed to extend()")
    at testExtend ( /selection/extend.js:157:5)
Pass
assert_not_equals(object "̈f̈g̈ḧ Ijklmnop QrstuvwxYzabcdefGhijklmn     Running, 500 complete, 1 remain  "use strict";  testExtendSubSet(0, 20); testDiv.style.display = "none"; ", object "b̈c̈d̈e", "extend() must replace any existing range with a new one, not mutate the existing one")
    at testExtend ( /selection/extend.js:159:5)
Passextend() forwards with range 4 [paras[0].firstChild, 2, paras[0].firstChild, 9] and point 49 [document, 3]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "Sanity check: startContainer must be correct")
    at testExtend ( /selection/extend.js:80:5)
Pass
assert_equals(2, 2, "Sanity check: startOffset must be correct")
    at testExtend ( /selection/extend.js:82:5)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "Sanity check: endContainer must be correct")
    at testExtend ( /selection/extend.js:84:5)
Pass
assert_equals(9, 9, "Sanity check: endOffset must be correct")
    at testExtend ( /selection/extend.js:86:5)
Pass
assert_throws_dom("INDEX_SIZE_ERR", function "function() {             selection.extend(node, offset);         }", "extend() to an offset that's greater than node length (2) must throw IndexSizeError")
    at testExtend ( /selection/extend.js:117:9)
Passextend() backwards with range 4 [paras[0].firstChild, 2, paras[0].firstChild, 9] and point 49 [document, 3]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "Sanity check: startContainer must be correct")
    at testExtend ( /selection/extend.js:80:5)
Pass
assert_equals(2, 2, "Sanity check: startOffset must be correct")
    at testExtend ( /selection/extend.js:82:5)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "Sanity check: endContainer must be correct")
    at testExtend ( /selection/extend.js:84:5)
Pass
assert_equals(9, 9, "Sanity check: endOffset must be correct")
    at testExtend ( /selection/extend.js:86:5)
Pass
assert_throws_dom("INDEX_SIZE_ERR", function "function() {             selection.extend(node, offset);         }", "extend() to an offset that's greater than node length (2) must throw IndexSizeError")
    at testExtend ( /selection/extend.js:117:9)
Passextend() forwards with range 4 [paras[0].firstChild, 2, paras[0].firstChild, 9] and point 50 [comment, -1]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "Sanity check: startContainer must be correct")
    at testExtend ( /selection/extend.js:80:5)
Pass
assert_equals(2, 2, "Sanity check: startOffset must be correct")
    at testExtend ( /selection/extend.js:82:5)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "Sanity check: endContainer must be correct")
    at testExtend ( /selection/extend.js:84:5)
Pass
assert_equals(9, 9, "Sanity check: endOffset must be correct")
    at testExtend ( /selection/extend.js:86:5)
Pass
assert_throws_dom("INDEX_SIZE_ERR", function "function() {             selection.extend(node, offset);         }", "extend() to an offset that's greater than node length (14) must throw IndexSizeError")
    at testExtend ( /selection/extend.js:117:9)
Passextend() backwards with range 4 [paras[0].firstChild, 2, paras[0].firstChild, 9] and point 50 [comment, -1]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "Sanity check: startContainer must be correct")
    at testExtend ( /selection/extend.js:80:5)
Pass
assert_equals(2, 2, "Sanity check: startOffset must be correct")
    at testExtend ( /selection/extend.js:82:5)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "Sanity check: endContainer must be correct")
    at testExtend ( /selection/extend.js:84:5)
Pass
assert_equals(9, 9, "Sanity check: endOffset must be correct")
    at testExtend ( /selection/extend.js:86:5)
Pass
assert_throws_dom("INDEX_SIZE_ERR", function "function() {             selection.extend(node, offset);         }", "extend() to an offset that's greater than node length (14) must throw IndexSizeError")
    at testExtend ( /selection/extend.js:117:9)
Passextend() forwards with range 4 [paras[0].firstChild, 2, paras[0].firstChild, 9] and point 51 [comment, 0]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "Sanity check: startContainer must be correct")
    at testExtend ( /selection/extend.js:80:5)
Pass
assert_equals(2, 2, "Sanity check: startOffset must be correct")
    at testExtend ( /selection/extend.js:82:5)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "Sanity check: endContainer must be correct")
    at testExtend ( /selection/extend.js:84:5)
Pass
assert_equals(9, 9, "Sanity check: endOffset must be correct")
    at testExtend ( /selection/extend.js:86:5)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "anchorNode must not change if the node passed to extend() has the same root as the original range")
    at testExtend ( /selection/extend.js:145:9)
Pass
assert_equals(2, 2, "anchorOffset must not change if the node passed to extend() has the same root as the original range")
    at testExtend ( /selection/extend.js:147:9)
Pass
assert_equals(Comment node <!--Alphabet soup?-->, Comment node <!--Alphabet soup?-->, "focusNode must be the node passed to extend()")
    at testExtend ( /selection/extend.js:155:5)
Pass
assert_equals(0, 0, "focusOffset must be the offset passed to extend()")
    at testExtend ( /selection/extend.js:157:5)
Pass
assert_not_equals(object "b̈c̈d̈ëf̈g̈ḧ Ijklmnop QrstuvwxYzabcdefGhijklmn", object "b̈c̈d̈e", "extend() must replace any existing range with a new one, not mutate the existing one")
    at testExtend ( /selection/extend.js:159:5)
Passextend() backwards with range 4 [paras[0].firstChild, 2, paras[0].firstChild, 9] and point 51 [comment, 0]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "Sanity check: startContainer must be correct")
    at testExtend ( /selection/extend.js:80:5)
Pass
assert_equals(2, 2, "Sanity check: startOffset must be correct")
    at testExtend ( /selection/extend.js:82:5)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "Sanity check: endContainer must be correct")
    at testExtend ( /selection/extend.js:84:5)
Pass
assert_equals(9, 9, "Sanity check: endOffset must be correct")
    at testExtend ( /selection/extend.js:86:5)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "anchorNode must not change if the node passed to extend() has the same root as the original range")
    at testExtend ( /selection/extend.js:145:9)
Pass
assert_equals(9, 9, "anchorOffset must not change if the node passed to extend() has the same root as the original range")
    at testExtend ( /selection/extend.js:147:9)
Pass
assert_equals(Comment node <!--Alphabet soup?-->, Comment node <!--Alphabet soup?-->, "focusNode must be the node passed to extend()")
    at testExtend ( /selection/extend.js:155:5)
Pass
assert_equals(0, 0, "focusOffset must be the offset passed to extend()")
    at testExtend ( /selection/extend.js:157:5)
Pass
assert_not_equals(object "̈f̈g̈ḧ Ijklmnop QrstuvwxYzabcdefGhijklmn", object "b̈c̈d̈e", "extend() must replace any existing range with a new one, not mutate the existing one")
    at testExtend ( /selection/extend.js:159:5)
Passextend() forwards with range 4 [paras[0].firstChild, 2, paras[0].firstChild, 9] and point 52 [comment, 4]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "Sanity check: startContainer must be correct")
    at testExtend ( /selection/extend.js:80:5)
Pass
assert_equals(2, 2, "Sanity check: startOffset must be correct")
    at testExtend ( /selection/extend.js:82:5)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "Sanity check: endContainer must be correct")
    at testExtend ( /selection/extend.js:84:5)
Pass
assert_equals(9, 9, "Sanity check: endOffset must be correct")
    at testExtend ( /selection/extend.js:86:5)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "anchorNode must not change if the node passed to extend() has the same root as the original range")
    at testExtend ( /selection/extend.js:145:9)
Pass
assert_equals(2, 2, "anchorOffset must not change if the node passed to extend() has the same root as the original range")
    at testExtend ( /selection/extend.js:147:9)
Pass
assert_equals(Comment node <!--Alphabet soup?-->, Comment node <!--Alphabet soup?-->, "focusNode must be the node passed to extend()")
    at testExtend ( /selection/extend.js:155:5)
Pass
assert_equals(4, 4, "focusOffset must be the offset passed to extend()")
    at testExtend ( /selection/extend.js:157:5)
Pass
assert_not_equals(object "b̈c̈d̈ëf̈g̈ḧ Ijklmnop QrstuvwxYzabcdefGhijklmn", object "b̈c̈d̈e", "extend() must replace any existing range with a new one, not mutate the existing one")
    at testExtend ( /selection/extend.js:159:5)
Passextend() backwards with range 4 [paras[0].firstChild, 2, paras[0].firstChild, 9] and point 52 [comment, 4]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "Sanity check: startContainer must be correct")
    at testExtend ( /selection/extend.js:80:5)
Pass
assert_equals(2, 2, "Sanity check: startOffset must be correct")
    at testExtend ( /selection/extend.js:82:5)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "Sanity check: endContainer must be correct")
    at testExtend ( /selection/extend.js:84:5)
Pass
assert_equals(9, 9, "Sanity check: endOffset must be correct")
    at testExtend ( /selection/extend.js:86:5)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "anchorNode must not change if the node passed to extend() has the same root as the original range")
    at testExtend ( /selection/extend.js:145:9)
Pass
assert_equals(9, 9, "anchorOffset must not change if the node passed to extend() has the same root as the original range")
    at testExtend ( /selection/extend.js:147:9)
Pass
assert_equals(Comment node <!--Alphabet soup?-->, Comment node <!--Alphabet soup?-->, "focusNode must be the node passed to extend()")
    at testExtend ( /selection/extend.js:155:5)
Pass
assert_equals(4, 4, "focusOffset must be the offset passed to extend()")
    at testExtend ( /selection/extend.js:157:5)
Pass
assert_not_equals(object "̈f̈g̈ḧ Ijklmnop QrstuvwxYzabcdefGhijklmn", object "b̈c̈d̈e", "extend() must replace any existing range with a new one, not mutate the existing one")
    at testExtend ( /selection/extend.js:159:5)
Passextend() forwards with range 4 [paras[0].firstChild, 2, paras[0].firstChild, 9] and point 53 [comment, 96]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "Sanity check: startContainer must be correct")
    at testExtend ( /selection/extend.js:80:5)
Pass
assert_equals(2, 2, "Sanity check: startOffset must be correct")
    at testExtend ( /selection/extend.js:82:5)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "Sanity check: endContainer must be correct")
    at testExtend ( /selection/extend.js:84:5)
Pass
assert_equals(9, 9, "Sanity check: endOffset must be correct")
    at testExtend ( /selection/extend.js:86:5)
Pass
assert_throws_dom("INDEX_SIZE_ERR", function "function() {             selection.extend(node, offset);         }", "extend() to an offset that's greater than node length (14) must throw IndexSizeError")
    at testExtend ( /selection/extend.js:117:9)
Passextend() backwards with range 4 [paras[0].firstChild, 2, paras[0].firstChild, 9] and point 53 [comment, 96]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "Sanity check: startContainer must be correct")
    at testExtend ( /selection/extend.js:80:5)
Pass
assert_equals(2, 2, "Sanity check: startOffset must be correct")
    at testExtend ( /selection/extend.js:82:5)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "Sanity check: endContainer must be correct")
    at testExtend ( /selection/extend.js:84:5)
Pass
assert_equals(9, 9, "Sanity check: endOffset must be correct")
    at testExtend ( /selection/extend.js:86:5)
Pass
assert_throws_dom("INDEX_SIZE_ERR", function "function() {             selection.extend(node, offset);         }", "extend() to an offset that's greater than node length (14) must throw IndexSizeError")
    at testExtend ( /selection/extend.js:117:9)
Passextend() forwards with range 4 [paras[0].firstChild, 2, paras[0].firstChild, 9] and point 54 [foreignDoc, 0]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(1, 1, "The operation should not add Range")
    at assertSelectionNoChange ( /selection/common.js:976:5)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "The operation should not update anchorNode")
    at assertSelectionNoChange ( /selection/common.js:978:5)
Pass
assert_equals(2, 2, "The operation should not update anchorOffset")
    at assertSelectionNoChange ( /selection/common.js:980:5)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "The operation should not update focusNode")
    at assertSelectionNoChange ( /selection/common.js:982:5)
Pass
assert_equals(9, 9, "The operation should not update focusOffset")
    at assertSelectionNoChange ( /selection/common.js:984:5)
Pass
assert_equals(object "b̈c̈d̈e", object "b̈c̈d̈e", "The operation should not replace a registered Range")
    at assertSelectionNoChange ( /selection/common.js:988:5)
Passextend() backwards with range 4 [paras[0].firstChild, 2, paras[0].firstChild, 9] and point 54 [foreignDoc, 0]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(1, 1, "The operation should not add Range")
    at assertSelectionNoChange ( /selection/common.js:976:5)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "The operation should not update anchorNode")
    at assertSelectionNoChange ( /selection/common.js:978:5)
Pass
assert_equals(9, 9, "The operation should not update anchorOffset")
    at assertSelectionNoChange ( /selection/common.js:980:5)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "The operation should not update focusNode")
    at assertSelectionNoChange ( /selection/common.js:982:5)
Pass
assert_equals(2, 2, "The operation should not update focusOffset")
    at assertSelectionNoChange ( /selection/common.js:984:5)
Pass
assert_equals(object "b̈c̈d̈e", object "b̈c̈d̈e", "The operation should not replace a registered Range")
    at assertSelectionNoChange ( /selection/common.js:988:5)
Passextend() forwards with range 4 [paras[0].firstChild, 2, paras[0].firstChild, 9] and point 55 [foreignDoc, 1]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(1, 1, "The operation should not add Range")
    at assertSelectionNoChange ( /selection/common.js:976:5)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "The operation should not update anchorNode")
    at assertSelectionNoChange ( /selection/common.js:978:5)
Pass
assert_equals(2, 2, "The operation should not update anchorOffset")
    at assertSelectionNoChange ( /selection/common.js:980:5)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "The operation should not update focusNode")
    at assertSelectionNoChange ( /selection/common.js:982:5)
Pass
assert_equals(9, 9, "The operation should not update focusOffset")
    at assertSelectionNoChange ( /selection/common.js:984:5)
Pass
assert_equals(object "b̈c̈d̈e", object "b̈c̈d̈e", "The operation should not replace a registered Range")
    at assertSelectionNoChange ( /selection/common.js:988:5)
Passextend() backwards with range 4 [paras[0].firstChild, 2, paras[0].firstChild, 9] and point 55 [foreignDoc, 1]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(1, 1, "The operation should not add Range")
    at assertSelectionNoChange ( /selection/common.js:976:5)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "The operation should not update anchorNode")
    at assertSelectionNoChange ( /selection/common.js:978:5)
Pass
assert_equals(9, 9, "The operation should not update anchorOffset")
    at assertSelectionNoChange ( /selection/common.js:980:5)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "The operation should not update focusNode")
    at assertSelectionNoChange ( /selection/common.js:982:5)
Pass
assert_equals(2, 2, "The operation should not update focusOffset")
    at assertSelectionNoChange ( /selection/common.js:984:5)
Pass
assert_equals(object "b̈c̈d̈e", object "b̈c̈d̈e", "The operation should not replace a registered Range")
    at assertSelectionNoChange ( /selection/common.js:988:5)
Passextend() forwards with range 4 [paras[0].firstChild, 2, paras[0].firstChild, 9] and point 56 [foreignComment, 2]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(1, 1, "The operation should not add Range")
    at assertSelectionNoChange ( /selection/common.js:976:5)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "The operation should not update anchorNode")
    at assertSelectionNoChange ( /selection/common.js:978:5)
Pass
assert_equals(2, 2, "The operation should not update anchorOffset")
    at assertSelectionNoChange ( /selection/common.js:980:5)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "The operation should not update focusNode")
    at assertSelectionNoChange ( /selection/common.js:982:5)
Pass
assert_equals(9, 9, "The operation should not update focusOffset")
    at assertSelectionNoChange ( /selection/common.js:984:5)
Pass
assert_equals(object "b̈c̈d̈e", object "b̈c̈d̈e", "The operation should not replace a registered Range")
    at assertSelectionNoChange ( /selection/common.js:988:5)
Passextend() backwards with range 4 [paras[0].firstChild, 2, paras[0].firstChild, 9] and point 56 [foreignComment, 2]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(1, 1, "The operation should not add Range")
    at assertSelectionNoChange ( /selection/common.js:976:5)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "The operation should not update anchorNode")
    at assertSelectionNoChange ( /selection/common.js:978:5)
Pass
assert_equals(9, 9, "The operation should not update anchorOffset")
    at assertSelectionNoChange ( /selection/common.js:980:5)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "The operation should not update focusNode")
    at assertSelectionNoChange ( /selection/common.js:982:5)
Pass
assert_equals(2, 2, "The operation should not update focusOffset")
    at assertSelectionNoChange ( /selection/common.js:984:5)
Pass
assert_equals(object "b̈c̈d̈e", object "b̈c̈d̈e", "The operation should not replace a registered Range")
    at assertSelectionNoChange ( /selection/common.js:988:5)
Passextend() forwards with range 4 [paras[0].firstChild, 2, paras[0].firstChild, 9] and point 57 [foreignTextNode, 0]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(1, 1, "The operation should not add Range")
    at assertSelectionNoChange ( /selection/common.js:976:5)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "The operation should not update anchorNode")
    at assertSelectionNoChange ( /selection/common.js:978:5)
Pass
assert_equals(2, 2, "The operation should not update anchorOffset")
    at assertSelectionNoChange ( /selection/common.js:980:5)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "The operation should not update focusNode")
    at assertSelectionNoChange ( /selection/common.js:982:5)
Pass
assert_equals(9, 9, "The operation should not update focusOffset")
    at assertSelectionNoChange ( /selection/common.js:984:5)
Pass
assert_equals(object "b̈c̈d̈e", object "b̈c̈d̈e", "The operation should not replace a registered Range")
    at assertSelectionNoChange ( /selection/common.js:988:5)
Passextend() backwards with range 4 [paras[0].firstChild, 2, paras[0].firstChild, 9] and point 57 [foreignTextNode, 0]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(1, 1, "The operation should not add Range")
    at assertSelectionNoChange ( /selection/common.js:976:5)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "The operation should not update anchorNode")
    at assertSelectionNoChange ( /selection/common.js:978:5)
Pass
assert_equals(9, 9, "The operation should not update anchorOffset")
    at assertSelectionNoChange ( /selection/common.js:980:5)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "The operation should not update focusNode")
    at assertSelectionNoChange ( /selection/common.js:982:5)
Pass
assert_equals(2, 2, "The operation should not update focusOffset")
    at assertSelectionNoChange ( /selection/common.js:984:5)
Pass
assert_equals(object "b̈c̈d̈e", object "b̈c̈d̈e", "The operation should not replace a registered Range")
    at assertSelectionNoChange ( /selection/common.js:988:5)
Passextend() forwards with range 4 [paras[0].firstChild, 2, paras[0].firstChild, 9] and point 58 [foreignTextNode, 36]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(1, 1, "The operation should not add Range")
    at assertSelectionNoChange ( /selection/common.js:976:5)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "The operation should not update anchorNode")
    at assertSelectionNoChange ( /selection/common.js:978:5)
Pass
assert_equals(2, 2, "The operation should not update anchorOffset")
    at assertSelectionNoChange ( /selection/common.js:980:5)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "The operation should not update focusNode")
    at assertSelectionNoChange ( /selection/common.js:982:5)
Pass
assert_equals(9, 9, "The operation should not update focusOffset")
    at assertSelectionNoChange ( /selection/common.js:984:5)
Pass
assert_equals(object "b̈c̈d̈e", object "b̈c̈d̈e", "The operation should not replace a registered Range")
    at assertSelectionNoChange ( /selection/common.js:988:5)
Passextend() backwards with range 4 [paras[0].firstChild, 2, paras[0].firstChild, 9] and point 58 [foreignTextNode, 36]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(1, 1, "The operation should not add Range")
    at assertSelectionNoChange ( /selection/common.js:976:5)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "The operation should not update anchorNode")
    at assertSelectionNoChange ( /selection/common.js:978:5)
Pass
assert_equals(9, 9, "The operation should not update anchorOffset")
    at assertSelectionNoChange ( /selection/common.js:980:5)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "The operation should not update focusNode")
    at assertSelectionNoChange ( /selection/common.js:982:5)
Pass
assert_equals(2, 2, "The operation should not update focusOffset")
    at assertSelectionNoChange ( /selection/common.js:984:5)
Pass
assert_equals(object "b̈c̈d̈e", object "b̈c̈d̈e", "The operation should not replace a registered Range")
    at assertSelectionNoChange ( /selection/common.js:988:5)
Passextend() forwards with range 4 [paras[0].firstChild, 2, paras[0].firstChild, 9] and point 59 [xmlDoc, -1]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(1, 1, "The operation should not add Range")
    at assertSelectionNoChange ( /selection/common.js:976:5)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "The operation should not update anchorNode")
    at assertSelectionNoChange ( /selection/common.js:978:5)
Pass
assert_equals(2, 2, "The operation should not update anchorOffset")
    at assertSelectionNoChange ( /selection/common.js:980:5)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "The operation should not update focusNode")
    at assertSelectionNoChange ( /selection/common.js:982:5)
Pass
assert_equals(9, 9, "The operation should not update focusOffset")
    at assertSelectionNoChange ( /selection/common.js:984:5)
Pass
assert_equals(object "b̈c̈d̈e", object "b̈c̈d̈e", "The operation should not replace a registered Range")
    at assertSelectionNoChange ( /selection/common.js:988:5)
Passextend() backwards with range 4 [paras[0].firstChild, 2, paras[0].firstChild, 9] and point 59 [xmlDoc, -1]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(1, 1, "The operation should not add Range")
    at assertSelectionNoChange ( /selection/common.js:976:5)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "The operation should not update anchorNode")
    at assertSelectionNoChange ( /selection/common.js:978:5)
Pass
assert_equals(9, 9, "The operation should not update anchorOffset")
    at assertSelectionNoChange ( /selection/common.js:980:5)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "The operation should not update focusNode")
    at assertSelectionNoChange ( /selection/common.js:982:5)
Pass
assert_equals(2, 2, "The operation should not update focusOffset")
    at assertSelectionNoChange ( /selection/common.js:984:5)
Pass
assert_equals(object "b̈c̈d̈e", object "b̈c̈d̈e", "The operation should not replace a registered Range")
    at assertSelectionNoChange ( /selection/common.js:988:5)
Passextend() forwards with range 4 [paras[0].firstChild, 2, paras[0].firstChild, 9] and point 60 [xmlDoc, 0]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(1, 1, "The operation should not add Range")
    at assertSelectionNoChange ( /selection/common.js:976:5)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "The operation should not update anchorNode")
    at assertSelectionNoChange ( /selection/common.js:978:5)
Pass
assert_equals(2, 2, "The operation should not update anchorOffset")
    at assertSelectionNoChange ( /selection/common.js:980:5)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "The operation should not update focusNode")
    at assertSelectionNoChange ( /selection/common.js:982:5)
Pass
assert_equals(9, 9, "The operation should not update focusOffset")
    at assertSelectionNoChange ( /selection/common.js:984:5)
Pass
assert_equals(object "b̈c̈d̈e", object "b̈c̈d̈e", "The operation should not replace a registered Range")
    at assertSelectionNoChange ( /selection/common.js:988:5)
Passextend() backwards with range 4 [paras[0].firstChild, 2, paras[0].firstChild, 9] and point 60 [xmlDoc, 0]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(1, 1, "The operation should not add Range")
    at assertSelectionNoChange ( /selection/common.js:976:5)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "The operation should not update anchorNode")
    at assertSelectionNoChange ( /selection/common.js:978:5)
Pass
assert_equals(9, 9, "The operation should not update anchorOffset")
    at assertSelectionNoChange ( /selection/common.js:980:5)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "The operation should not update focusNode")
    at assertSelectionNoChange ( /selection/common.js:982:5)
Pass
assert_equals(2, 2, "The operation should not update focusOffset")
    at assertSelectionNoChange ( /selection/common.js:984:5)
Pass
assert_equals(object "b̈c̈d̈e", object "b̈c̈d̈e", "The operation should not replace a registered Range")
    at assertSelectionNoChange ( /selection/common.js:988:5)
Passextend() forwards with range 4 [paras[0].firstChild, 2, paras[0].firstChild, 9] and point 61 [xmlDoc, 1]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(1, 1, "The operation should not add Range")
    at assertSelectionNoChange ( /selection/common.js:976:5)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "The operation should not update anchorNode")
    at assertSelectionNoChange ( /selection/common.js:978:5)
Pass
assert_equals(2, 2, "The operation should not update anchorOffset")
    at assertSelectionNoChange ( /selection/common.js:980:5)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "The operation should not update focusNode")
    at assertSelectionNoChange ( /selection/common.js:982:5)
Pass
assert_equals(9, 9, "The operation should not update focusOffset")
    at assertSelectionNoChange ( /selection/common.js:984:5)
Pass
assert_equals(object "b̈c̈d̈e", object "b̈c̈d̈e", "The operation should not replace a registered Range")
    at assertSelectionNoChange ( /selection/common.js:988:5)
Passextend() backwards with range 4 [paras[0].firstChild, 2, paras[0].firstChild, 9] and point 61 [xmlDoc, 1]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(1, 1, "The operation should not add Range")
    at assertSelectionNoChange ( /selection/common.js:976:5)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "The operation should not update anchorNode")
    at assertSelectionNoChange ( /selection/common.js:978:5)
Pass
assert_equals(9, 9, "The operation should not update anchorOffset")
    at assertSelectionNoChange ( /selection/common.js:980:5)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "The operation should not update focusNode")
    at assertSelectionNoChange ( /selection/common.js:982:5)
Pass
assert_equals(2, 2, "The operation should not update focusOffset")
    at assertSelectionNoChange ( /selection/common.js:984:5)
Pass
assert_equals(object "b̈c̈d̈e", object "b̈c̈d̈e", "The operation should not replace a registered Range")
    at assertSelectionNoChange ( /selection/common.js:988:5)
Passextend() forwards with range 4 [paras[0].firstChild, 2, paras[0].firstChild, 9] and point 62 [xmlDoc, 5]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(1, 1, "The operation should not add Range")
    at assertSelectionNoChange ( /selection/common.js:976:5)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "The operation should not update anchorNode")
    at assertSelectionNoChange ( /selection/common.js:978:5)
Pass
assert_equals(2, 2, "The operation should not update anchorOffset")
    at assertSelectionNoChange ( /selection/common.js:980:5)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "The operation should not update focusNode")
    at assertSelectionNoChange ( /selection/common.js:982:5)
Pass
assert_equals(9, 9, "The operation should not update focusOffset")
    at assertSelectionNoChange ( /selection/common.js:984:5)
Pass
assert_equals(object "b̈c̈d̈e", object "b̈c̈d̈e", "The operation should not replace a registered Range")
    at assertSelectionNoChange ( /selection/common.js:988:5)
Passextend() backwards with range 4 [paras[0].firstChild, 2, paras[0].firstChild, 9] and point 62 [xmlDoc, 5]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(1, 1, "The operation should not add Range")
    at assertSelectionNoChange ( /selection/common.js:976:5)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "The operation should not update anchorNode")
    at assertSelectionNoChange ( /selection/common.js:978:5)
Pass
assert_equals(9, 9, "The operation should not update anchorOffset")
    at assertSelectionNoChange ( /selection/common.js:980:5)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "The operation should not update focusNode")
    at assertSelectionNoChange ( /selection/common.js:982:5)
Pass
assert_equals(2, 2, "The operation should not update focusOffset")
    at assertSelectionNoChange ( /selection/common.js:984:5)
Pass
assert_equals(object "b̈c̈d̈e", object "b̈c̈d̈e", "The operation should not replace a registered Range")
    at assertSelectionNoChange ( /selection/common.js:988:5)
Passextend() forwards with range 4 [paras[0].firstChild, 2, paras[0].firstChild, 9] and point 63 [xmlComment, 0]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(1, 1, "The operation should not add Range")
    at assertSelectionNoChange ( /selection/common.js:976:5)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "The operation should not update anchorNode")
    at assertSelectionNoChange ( /selection/common.js:978:5)
Pass
assert_equals(2, 2, "The operation should not update anchorOffset")
    at assertSelectionNoChange ( /selection/common.js:980:5)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "The operation should not update focusNode")
    at assertSelectionNoChange ( /selection/common.js:982:5)
Pass
assert_equals(9, 9, "The operation should not update focusOffset")
    at assertSelectionNoChange ( /selection/common.js:984:5)
Pass
assert_equals(object "b̈c̈d̈e", object "b̈c̈d̈e", "The operation should not replace a registered Range")
    at assertSelectionNoChange ( /selection/common.js:988:5)
Passextend() backwards with range 4 [paras[0].firstChild, 2, paras[0].firstChild, 9] and point 63 [xmlComment, 0]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(1, 1, "The operation should not add Range")
    at assertSelectionNoChange ( /selection/common.js:976:5)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "The operation should not update anchorNode")
    at assertSelectionNoChange ( /selection/common.js:978:5)
Pass
assert_equals(9, 9, "The operation should not update anchorOffset")
    at assertSelectionNoChange ( /selection/common.js:980:5)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "The operation should not update focusNode")
    at assertSelectionNoChange ( /selection/common.js:982:5)
Pass
assert_equals(2, 2, "The operation should not update focusOffset")
    at assertSelectionNoChange ( /selection/common.js:984:5)
Pass
assert_equals(object "b̈c̈d̈e", object "b̈c̈d̈e", "The operation should not replace a registered Range")
    at assertSelectionNoChange ( /selection/common.js:988:5)
Passextend() forwards with range 4 [paras[0].firstChild, 2, paras[0].firstChild, 9] and point 64 [xmlComment, 4]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(1, 1, "The operation should not add Range")
    at assertSelectionNoChange ( /selection/common.js:976:5)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "The operation should not update anchorNode")
    at assertSelectionNoChange ( /selection/common.js:978:5)
Pass
assert_equals(2, 2, "The operation should not update anchorOffset")
    at assertSelectionNoChange ( /selection/common.js:980:5)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "The operation should not update focusNode")
    at assertSelectionNoChange ( /selection/common.js:982:5)
Pass
assert_equals(9, 9, "The operation should not update focusOffset")
    at assertSelectionNoChange ( /selection/common.js:984:5)
Pass
assert_equals(object "b̈c̈d̈e", object "b̈c̈d̈e", "The operation should not replace a registered Range")
    at assertSelectionNoChange ( /selection/common.js:988:5)
Passextend() backwards with range 4 [paras[0].firstChild, 2, paras[0].firstChild, 9] and point 64 [xmlComment, 4]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(1, 1, "The operation should not add Range")
    at assertSelectionNoChange ( /selection/common.js:976:5)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "The operation should not update anchorNode")
    at assertSelectionNoChange ( /selection/common.js:978:5)
Pass
assert_equals(9, 9, "The operation should not update anchorOffset")
    at assertSelectionNoChange ( /selection/common.js:980:5)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "The operation should not update focusNode")
    at assertSelectionNoChange ( /selection/common.js:982:5)
Pass
assert_equals(2, 2, "The operation should not update focusOffset")
    at assertSelectionNoChange ( /selection/common.js:984:5)
Pass
assert_equals(object "b̈c̈d̈e", object "b̈c̈d̈e", "The operation should not replace a registered Range")
    at assertSelectionNoChange ( /selection/common.js:988:5)
Passextend() forwards with range 4 [paras[0].firstChild, 2, paras[0].firstChild, 9] and point 65 [processingInstruction, 0]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(1, 1, "The operation should not add Range")
    at assertSelectionNoChange ( /selection/common.js:976:5)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "The operation should not update anchorNode")
    at assertSelectionNoChange ( /selection/common.js:978:5)
Pass
assert_equals(2, 2, "The operation should not update anchorOffset")
    at assertSelectionNoChange ( /selection/common.js:980:5)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "The operation should not update focusNode")
    at assertSelectionNoChange ( /selection/common.js:982:5)
Pass
assert_equals(9, 9, "The operation should not update focusOffset")
    at assertSelectionNoChange ( /selection/common.js:984:5)
Pass
assert_equals(object "b̈c̈d̈e", object "b̈c̈d̈e", "The operation should not replace a registered Range")
    at assertSelectionNoChange ( /selection/common.js:988:5)
Passextend() backwards with range 4 [paras[0].firstChild, 2, paras[0].firstChild, 9] and point 65 [processingInstruction, 0]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(1, 1, "The operation should not add Range")
    at assertSelectionNoChange ( /selection/common.js:976:5)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "The operation should not update anchorNode")
    at assertSelectionNoChange ( /selection/common.js:978:5)
Pass
assert_equals(9, 9, "The operation should not update anchorOffset")
    at assertSelectionNoChange ( /selection/common.js:980:5)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "The operation should not update focusNode")
    at assertSelectionNoChange ( /selection/common.js:982:5)
Pass
assert_equals(2, 2, "The operation should not update focusOffset")
    at assertSelectionNoChange ( /selection/common.js:984:5)
Pass
assert_equals(object "b̈c̈d̈e", object "b̈c̈d̈e", "The operation should not replace a registered Range")
    at assertSelectionNoChange ( /selection/common.js:988:5)
Passextend() forwards with range 4 [paras[0].firstChild, 2, paras[0].firstChild, 9] and point 66 [processingInstruction, 5]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(1, 1, "The operation should not add Range")
    at assertSelectionNoChange ( /selection/common.js:976:5)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "The operation should not update anchorNode")
    at assertSelectionNoChange ( /selection/common.js:978:5)
Pass
assert_equals(2, 2, "The operation should not update anchorOffset")
    at assertSelectionNoChange ( /selection/common.js:980:5)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "The operation should not update focusNode")
    at assertSelectionNoChange ( /selection/common.js:982:5)
Pass
assert_equals(9, 9, "The operation should not update focusOffset")
    at assertSelectionNoChange ( /selection/common.js:984:5)
Pass
assert_equals(object "b̈c̈d̈e", object "b̈c̈d̈e", "The operation should not replace a registered Range")
    at assertSelectionNoChange ( /selection/common.js:988:5)
Passextend() backwards with range 4 [paras[0].firstChild, 2, paras[0].firstChild, 9] and point 66 [processingInstruction, 5]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(1, 1, "The operation should not add Range")
    at assertSelectionNoChange ( /selection/common.js:976:5)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "The operation should not update anchorNode")
    at assertSelectionNoChange ( /selection/common.js:978:5)
Pass
assert_equals(9, 9, "The operation should not update anchorOffset")
    at assertSelectionNoChange ( /selection/common.js:980:5)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "The operation should not update focusNode")
    at assertSelectionNoChange ( /selection/common.js:982:5)
Pass
assert_equals(2, 2, "The operation should not update focusOffset")
    at assertSelectionNoChange ( /selection/common.js:984:5)
Pass
assert_equals(object "b̈c̈d̈e", object "b̈c̈d̈e", "The operation should not replace a registered Range")
    at assertSelectionNoChange ( /selection/common.js:988:5)
Passextend() forwards with range 4 [paras[0].firstChild, 2, paras[0].firstChild, 9] and point 67 [processingInstruction, 9]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(1, 1, "The operation should not add Range")
    at assertSelectionNoChange ( /selection/common.js:976:5)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "The operation should not update anchorNode")
    at assertSelectionNoChange ( /selection/common.js:978:5)
Pass
assert_equals(2, 2, "The operation should not update anchorOffset")
    at assertSelectionNoChange ( /selection/common.js:980:5)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "The operation should not update focusNode")
    at assertSelectionNoChange ( /selection/common.js:982:5)
Pass
assert_equals(9, 9, "The operation should not update focusOffset")
    at assertSelectionNoChange ( /selection/common.js:984:5)
Pass
assert_equals(object "b̈c̈d̈e", object "b̈c̈d̈e", "The operation should not replace a registered Range")
    at assertSelectionNoChange ( /selection/common.js:988:5)
Passextend() backwards with range 4 [paras[0].firstChild, 2, paras[0].firstChild, 9] and point 67 [processingInstruction, 9]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(1, 1, "The operation should not add Range")
    at assertSelectionNoChange ( /selection/common.js:976:5)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "The operation should not update anchorNode")
    at assertSelectionNoChange ( /selection/common.js:978:5)
Pass
assert_equals(9, 9, "The operation should not update anchorOffset")
    at assertSelectionNoChange ( /selection/common.js:980:5)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "The operation should not update focusNode")
    at assertSelectionNoChange ( /selection/common.js:982:5)
Pass
assert_equals(2, 2, "The operation should not update focusOffset")
    at assertSelectionNoChange ( /selection/common.js:984:5)
Pass
assert_equals(object "b̈c̈d̈e", object "b̈c̈d̈e", "The operation should not replace a registered Range")
    at assertSelectionNoChange ( /selection/common.js:988:5)
Passextend() forwards with range 4 [paras[0].firstChild, 2, paras[0].firstChild, 9] and point 68 [detachedTextNode, 0]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(1, 1, "The operation should not add Range")
    at assertSelectionNoChange ( /selection/common.js:976:5)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "The operation should not update anchorNode")
    at assertSelectionNoChange ( /selection/common.js:978:5)
Pass
assert_equals(2, 2, "The operation should not update anchorOffset")
    at assertSelectionNoChange ( /selection/common.js:980:5)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "The operation should not update focusNode")
    at assertSelectionNoChange ( /selection/common.js:982:5)
Pass
assert_equals(9, 9, "The operation should not update focusOffset")
    at assertSelectionNoChange ( /selection/common.js:984:5)
Pass
assert_equals(object "b̈c̈d̈e", object "b̈c̈d̈e", "The operation should not replace a registered Range")
    at assertSelectionNoChange ( /selection/common.js:988:5)
Passextend() backwards with range 4 [paras[0].firstChild, 2, paras[0].firstChild, 9] and point 68 [detachedTextNode, 0]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(1, 1, "The operation should not add Range")
    at assertSelectionNoChange ( /selection/common.js:976:5)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "The operation should not update anchorNode")
    at assertSelectionNoChange ( /selection/common.js:978:5)
Pass
assert_equals(9, 9, "The operation should not update anchorOffset")
    at assertSelectionNoChange ( /selection/common.js:980:5)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "The operation should not update focusNode")
    at assertSelectionNoChange ( /selection/common.js:982:5)
Pass
assert_equals(2, 2, "The operation should not update focusOffset")
    at assertSelectionNoChange ( /selection/common.js:984:5)
Pass
assert_equals(object "b̈c̈d̈e", object "b̈c̈d̈e", "The operation should not replace a registered Range")
    at assertSelectionNoChange ( /selection/common.js:988:5)
Passextend() forwards with range 4 [paras[0].firstChild, 2, paras[0].firstChild, 9] and point 69 [detachedTextNode, 8]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(1, 1, "The operation should not add Range")
    at assertSelectionNoChange ( /selection/common.js:976:5)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "The operation should not update anchorNode")
    at assertSelectionNoChange ( /selection/common.js:978:5)
Pass
assert_equals(2, 2, "The operation should not update anchorOffset")
    at assertSelectionNoChange ( /selection/common.js:980:5)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "The operation should not update focusNode")
    at assertSelectionNoChange ( /selection/common.js:982:5)
Pass
assert_equals(9, 9, "The operation should not update focusOffset")
    at assertSelectionNoChange ( /selection/common.js:984:5)
Pass
assert_equals(object "b̈c̈d̈e", object "b̈c̈d̈e", "The operation should not replace a registered Range")
    at assertSelectionNoChange ( /selection/common.js:988:5)
Passextend() backwards with range 4 [paras[0].firstChild, 2, paras[0].firstChild, 9] and point 69 [detachedTextNode, 8]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(1, 1, "The operation should not add Range")
    at assertSelectionNoChange ( /selection/common.js:976:5)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "The operation should not update anchorNode")
    at assertSelectionNoChange ( /selection/common.js:978:5)
Pass
assert_equals(9, 9, "The operation should not update anchorOffset")
    at assertSelectionNoChange ( /selection/common.js:980:5)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "The operation should not update focusNode")
    at assertSelectionNoChange ( /selection/common.js:982:5)
Pass
assert_equals(2, 2, "The operation should not update focusOffset")
    at assertSelectionNoChange ( /selection/common.js:984:5)
Pass
assert_equals(object "b̈c̈d̈e", object "b̈c̈d̈e", "The operation should not replace a registered Range")
    at assertSelectionNoChange ( /selection/common.js:988:5)
Passextend() forwards with range 4 [paras[0].firstChild, 2, paras[0].firstChild, 9] and point 70 [detachedForeignTextNode, 0]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(1, 1, "The operation should not add Range")
    at assertSelectionNoChange ( /selection/common.js:976:5)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "The operation should not update anchorNode")
    at assertSelectionNoChange ( /selection/common.js:978:5)
Pass
assert_equals(2, 2, "The operation should not update anchorOffset")
    at assertSelectionNoChange ( /selection/common.js:980:5)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "The operation should not update focusNode")
    at assertSelectionNoChange ( /selection/common.js:982:5)
Pass
assert_equals(9, 9, "The operation should not update focusOffset")
    at assertSelectionNoChange ( /selection/common.js:984:5)
Pass
assert_equals(object "b̈c̈d̈e", object "b̈c̈d̈e", "The operation should not replace a registered Range")
    at assertSelectionNoChange ( /selection/common.js:988:5)
Passextend() backwards with range 4 [paras[0].firstChild, 2, paras[0].firstChild, 9] and point 70 [detachedForeignTextNode, 0]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(1, 1, "The operation should not add Range")
    at assertSelectionNoChange ( /selection/common.js:976:5)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "The operation should not update anchorNode")
    at assertSelectionNoChange ( /selection/common.js:978:5)
Pass
assert_equals(9, 9, "The operation should not update anchorOffset")
    at assertSelectionNoChange ( /selection/common.js:980:5)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "The operation should not update focusNode")
    at assertSelectionNoChange ( /selection/common.js:982:5)
Pass
assert_equals(2, 2, "The operation should not update focusOffset")
    at assertSelectionNoChange ( /selection/common.js:984:5)
Pass
assert_equals(object "b̈c̈d̈e", object "b̈c̈d̈e", "The operation should not replace a registered Range")
    at assertSelectionNoChange ( /selection/common.js:988:5)
Passextend() forwards with range 4 [paras[0].firstChild, 2, paras[0].firstChild, 9] and point 71 [detachedForeignTextNode, 8]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(1, 1, "The operation should not add Range")
    at assertSelectionNoChange ( /selection/common.js:976:5)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "The operation should not update anchorNode")
    at assertSelectionNoChange ( /selection/common.js:978:5)
Pass
assert_equals(2, 2, "The operation should not update anchorOffset")
    at assertSelectionNoChange ( /selection/common.js:980:5)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "The operation should not update focusNode")
    at assertSelectionNoChange ( /selection/common.js:982:5)
Pass
assert_equals(9, 9, "The operation should not update focusOffset")
    at assertSelectionNoChange ( /selection/common.js:984:5)
Pass
assert_equals(object "b̈c̈d̈e", object "b̈c̈d̈e", "The operation should not replace a registered Range")
    at assertSelectionNoChange ( /selection/common.js:988:5)
Passextend() backwards with range 4 [paras[0].firstChild, 2, paras[0].firstChild, 9] and point 71 [detachedForeignTextNode, 8]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(1, 1, "The operation should not add Range")
    at assertSelectionNoChange ( /selection/common.js:976:5)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "The operation should not update anchorNode")
    at assertSelectionNoChange ( /selection/common.js:978:5)
Pass
assert_equals(9, 9, "The operation should not update anchorOffset")
    at assertSelectionNoChange ( /selection/common.js:980:5)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "The operation should not update focusNode")
    at assertSelectionNoChange ( /selection/common.js:982:5)
Pass
assert_equals(2, 2, "The operation should not update focusOffset")
    at assertSelectionNoChange ( /selection/common.js:984:5)
Pass
assert_equals(object "b̈c̈d̈e", object "b̈c̈d̈e", "The operation should not replace a registered Range")
    at assertSelectionNoChange ( /selection/common.js:988:5)
Passextend() forwards with range 4 [paras[0].firstChild, 2, paras[0].firstChild, 9] and point 72 [detachedXmlTextNode, 0]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(1, 1, "The operation should not add Range")
    at assertSelectionNoChange ( /selection/common.js:976:5)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "The operation should not update anchorNode")
    at assertSelectionNoChange ( /selection/common.js:978:5)
Pass
assert_equals(2, 2, "The operation should not update anchorOffset")
    at assertSelectionNoChange ( /selection/common.js:980:5)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "The operation should not update focusNode")
    at assertSelectionNoChange ( /selection/common.js:982:5)
Pass
assert_equals(9, 9, "The operation should not update focusOffset")
    at assertSelectionNoChange ( /selection/common.js:984:5)
Pass
assert_equals(object "b̈c̈d̈e", object "b̈c̈d̈e", "The operation should not replace a registered Range")
    at assertSelectionNoChange ( /selection/common.js:988:5)
Passextend() backwards with range 4 [paras[0].firstChild, 2, paras[0].firstChild, 9] and point 72 [detachedXmlTextNode, 0]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(1, 1, "The operation should not add Range")
    at assertSelectionNoChange ( /selection/common.js:976:5)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "The operation should not update anchorNode")
    at assertSelectionNoChange ( /selection/common.js:978:5)
Pass
assert_equals(9, 9, "The operation should not update anchorOffset")
    at assertSelectionNoChange ( /selection/common.js:980:5)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "The operation should not update focusNode")
    at assertSelectionNoChange ( /selection/common.js:982:5)
Pass
assert_equals(2, 2, "The operation should not update focusOffset")
    at assertSelectionNoChange ( /selection/common.js:984:5)
Pass
assert_equals(object "b̈c̈d̈e", object "b̈c̈d̈e", "The operation should not replace a registered Range")
    at assertSelectionNoChange ( /selection/common.js:988:5)
Passextend() forwards with range 4 [paras[0].firstChild, 2, paras[0].firstChild, 9] and point 73 [detachedXmlTextNode, 8]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(1, 1, "The operation should not add Range")
    at assertSelectionNoChange ( /selection/common.js:976:5)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "The operation should not update anchorNode")
    at assertSelectionNoChange ( /selection/common.js:978:5)
Pass
assert_equals(2, 2, "The operation should not update anchorOffset")
    at assertSelectionNoChange ( /selection/common.js:980:5)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "The operation should not update focusNode")
    at assertSelectionNoChange ( /selection/common.js:982:5)
Pass
assert_equals(9, 9, "The operation should not update focusOffset")
    at assertSelectionNoChange ( /selection/common.js:984:5)
Pass
assert_equals(object "b̈c̈d̈e", object "b̈c̈d̈e", "The operation should not replace a registered Range")
    at assertSelectionNoChange ( /selection/common.js:988:5)
Passextend() backwards with range 4 [paras[0].firstChild, 2, paras[0].firstChild, 9] and point 73 [detachedXmlTextNode, 8]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(1, 1, "The operation should not add Range")
    at assertSelectionNoChange ( /selection/common.js:976:5)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "The operation should not update anchorNode")
    at assertSelectionNoChange ( /selection/common.js:978:5)
Pass
assert_equals(9, 9, "The operation should not update anchorOffset")
    at assertSelectionNoChange ( /selection/common.js:980:5)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "The operation should not update focusNode")
    at assertSelectionNoChange ( /selection/common.js:982:5)
Pass
assert_equals(2, 2, "The operation should not update focusOffset")
    at assertSelectionNoChange ( /selection/common.js:984:5)
Pass
assert_equals(object "b̈c̈d̈e", object "b̈c̈d̈e", "The operation should not replace a registered Range")
    at assertSelectionNoChange ( /selection/common.js:988:5)
Passextend() forwards with range 4 [paras[0].firstChild, 2, paras[0].firstChild, 9] and point 74 [detachedProcessingInstruction, 12]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(1, 1, "The operation should not add Range")
    at assertSelectionNoChange ( /selection/common.js:976:5)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "The operation should not update anchorNode")
    at assertSelectionNoChange ( /selection/common.js:978:5)
Pass
assert_equals(2, 2, "The operation should not update anchorOffset")
    at assertSelectionNoChange ( /selection/common.js:980:5)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "The operation should not update focusNode")
    at assertSelectionNoChange ( /selection/common.js:982:5)
Pass
assert_equals(9, 9, "The operation should not update focusOffset")
    at assertSelectionNoChange ( /selection/common.js:984:5)
Pass
assert_equals(object "b̈c̈d̈e", object "b̈c̈d̈e", "The operation should not replace a registered Range")
    at assertSelectionNoChange ( /selection/common.js:988:5)
Passextend() backwards with range 4 [paras[0].firstChild, 2, paras[0].firstChild, 9] and point 74 [detachedProcessingInstruction, 12]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(1, 1, "The operation should not add Range")
    at assertSelectionNoChange ( /selection/common.js:976:5)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "The operation should not update anchorNode")
    at assertSelectionNoChange ( /selection/common.js:978:5)
Pass
assert_equals(9, 9, "The operation should not update anchorOffset")
    at assertSelectionNoChange ( /selection/common.js:980:5)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "The operation should not update focusNode")
    at assertSelectionNoChange ( /selection/common.js:982:5)
Pass
assert_equals(2, 2, "The operation should not update focusOffset")
    at assertSelectionNoChange ( /selection/common.js:984:5)
Pass
assert_equals(object "b̈c̈d̈e", object "b̈c̈d̈e", "The operation should not replace a registered Range")
    at assertSelectionNoChange ( /selection/common.js:988:5)
Passextend() forwards with range 4 [paras[0].firstChild, 2, paras[0].firstChild, 9] and point 75 [detachedComment, 3]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(1, 1, "The operation should not add Range")
    at assertSelectionNoChange ( /selection/common.js:976:5)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "The operation should not update anchorNode")
    at assertSelectionNoChange ( /selection/common.js:978:5)
Pass
assert_equals(2, 2, "The operation should not update anchorOffset")
    at assertSelectionNoChange ( /selection/common.js:980:5)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "The operation should not update focusNode")
    at assertSelectionNoChange ( /selection/common.js:982:5)
Pass
assert_equals(9, 9, "The operation should not update focusOffset")
    at assertSelectionNoChange ( /selection/common.js:984:5)
Pass
assert_equals(object "b̈c̈d̈e", object "b̈c̈d̈e", "The operation should not replace a registered Range")
    at assertSelectionNoChange ( /selection/common.js:988:5)
Passextend() backwards with range 4 [paras[0].firstChild, 2, paras[0].firstChild, 9] and point 75 [detachedComment, 3]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(1, 1, "The operation should not add Range")
    at assertSelectionNoChange ( /selection/common.js:976:5)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "The operation should not update anchorNode")
    at assertSelectionNoChange ( /selection/common.js:978:5)
Pass
assert_equals(9, 9, "The operation should not update anchorOffset")
    at assertSelectionNoChange ( /selection/common.js:980:5)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "The operation should not update focusNode")
    at assertSelectionNoChange ( /selection/common.js:982:5)
Pass
assert_equals(2, 2, "The operation should not update focusOffset")
    at assertSelectionNoChange ( /selection/common.js:984:5)
Pass
assert_equals(object "b̈c̈d̈e", object "b̈c̈d̈e", "The operation should not replace a registered Range")
    at assertSelectionNoChange ( /selection/common.js:988:5)
Passextend() forwards with range 4 [paras[0].firstChild, 2, paras[0].firstChild, 9] and point 76 [detachedComment, 5]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(1, 1, "The operation should not add Range")
    at assertSelectionNoChange ( /selection/common.js:976:5)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "The operation should not update anchorNode")
    at assertSelectionNoChange ( /selection/common.js:978:5)
Pass
assert_equals(2, 2, "The operation should not update anchorOffset")
    at assertSelectionNoChange ( /selection/common.js:980:5)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "The operation should not update focusNode")
    at assertSelectionNoChange ( /selection/common.js:982:5)
Pass
assert_equals(9, 9, "The operation should not update focusOffset")
    at assertSelectionNoChange ( /selection/common.js:984:5)
Pass
assert_equals(object "b̈c̈d̈e", object "b̈c̈d̈e", "The operation should not replace a registered Range")
    at assertSelectionNoChange ( /selection/common.js:988:5)
Passextend() backwards with range 4 [paras[0].firstChild, 2, paras[0].firstChild, 9] and point 76 [detachedComment, 5]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(1, 1, "The operation should not add Range")
    at assertSelectionNoChange ( /selection/common.js:976:5)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "The operation should not update anchorNode")
    at assertSelectionNoChange ( /selection/common.js:978:5)
Pass
assert_equals(9, 9, "The operation should not update anchorOffset")
    at assertSelectionNoChange ( /selection/common.js:980:5)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "The operation should not update focusNode")
    at assertSelectionNoChange ( /selection/common.js:982:5)
Pass
assert_equals(2, 2, "The operation should not update focusOffset")
    at assertSelectionNoChange ( /selection/common.js:984:5)
Pass
assert_equals(object "b̈c̈d̈e", object "b̈c̈d̈e", "The operation should not replace a registered Range")
    at assertSelectionNoChange ( /selection/common.js:988:5)
Passextend() forwards with range 4 [paras[0].firstChild, 2, paras[0].firstChild, 9] and point 77 [detachedForeignComment, 0]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(1, 1, "The operation should not add Range")
    at assertSelectionNoChange ( /selection/common.js:976:5)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "The operation should not update anchorNode")
    at assertSelectionNoChange ( /selection/common.js:978:5)
Pass
assert_equals(2, 2, "The operation should not update anchorOffset")
    at assertSelectionNoChange ( /selection/common.js:980:5)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "The operation should not update focusNode")
    at assertSelectionNoChange ( /selection/common.js:982:5)
Pass
assert_equals(9, 9, "The operation should not update focusOffset")
    at assertSelectionNoChange ( /selection/common.js:984:5)
Pass
assert_equals(object "b̈c̈d̈e", object "b̈c̈d̈e", "The operation should not replace a registered Range")
    at assertSelectionNoChange ( /selection/common.js:988:5)
Passextend() backwards with range 4 [paras[0].firstChild, 2, paras[0].firstChild, 9] and point 77 [detachedForeignComment, 0]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(1, 1, "The operation should not add Range")
    at assertSelectionNoChange ( /selection/common.js:976:5)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "The operation should not update anchorNode")
    at assertSelectionNoChange ( /selection/common.js:978:5)
Pass
assert_equals(9, 9, "The operation should not update anchorOffset")
    at assertSelectionNoChange ( /selection/common.js:980:5)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "The operation should not update focusNode")
    at assertSelectionNoChange ( /selection/common.js:982:5)
Pass
assert_equals(2, 2, "The operation should not update focusOffset")
    at assertSelectionNoChange ( /selection/common.js:984:5)
Pass
assert_equals(object "b̈c̈d̈e", object "b̈c̈d̈e", "The operation should not replace a registered Range")
    at assertSelectionNoChange ( /selection/common.js:988:5)
Passextend() forwards with range 4 [paras[0].firstChild, 2, paras[0].firstChild, 9] and point 78 [detachedForeignComment, 4]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(1, 1, "The operation should not add Range")
    at assertSelectionNoChange ( /selection/common.js:976:5)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "The operation should not update anchorNode")
    at assertSelectionNoChange ( /selection/common.js:978:5)
Pass
assert_equals(2, 2, "The operation should not update anchorOffset")
    at assertSelectionNoChange ( /selection/common.js:980:5)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "The operation should not update focusNode")
    at assertSelectionNoChange ( /selection/common.js:982:5)
Pass
assert_equals(9, 9, "The operation should not update focusOffset")
    at assertSelectionNoChange ( /selection/common.js:984:5)
Pass
assert_equals(object "b̈c̈d̈e", object "b̈c̈d̈e", "The operation should not replace a registered Range")
    at assertSelectionNoChange ( /selection/common.js:988:5)
Passextend() backwards with range 4 [paras[0].firstChild, 2, paras[0].firstChild, 9] and point 78 [detachedForeignComment, 4]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(1, 1, "The operation should not add Range")
    at assertSelectionNoChange ( /selection/common.js:976:5)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "The operation should not update anchorNode")
    at assertSelectionNoChange ( /selection/common.js:978:5)
Pass
assert_equals(9, 9, "The operation should not update anchorOffset")
    at assertSelectionNoChange ( /selection/common.js:980:5)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "The operation should not update focusNode")
    at assertSelectionNoChange ( /selection/common.js:982:5)
Pass
assert_equals(2, 2, "The operation should not update focusOffset")
    at assertSelectionNoChange ( /selection/common.js:984:5)
Pass
assert_equals(object "b̈c̈d̈e", object "b̈c̈d̈e", "The operation should not replace a registered Range")
    at assertSelectionNoChange ( /selection/common.js:988:5)
Passextend() forwards with range 4 [paras[0].firstChild, 2, paras[0].firstChild, 9] and point 79 [detachedXmlComment, 2]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(1, 1, "The operation should not add Range")
    at assertSelectionNoChange ( /selection/common.js:976:5)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "The operation should not update anchorNode")
    at assertSelectionNoChange ( /selection/common.js:978:5)
Pass
assert_equals(2, 2, "The operation should not update anchorOffset")
    at assertSelectionNoChange ( /selection/common.js:980:5)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "The operation should not update focusNode")
    at assertSelectionNoChange ( /selection/common.js:982:5)
Pass
assert_equals(9, 9, "The operation should not update focusOffset")
    at assertSelectionNoChange ( /selection/common.js:984:5)
Pass
assert_equals(object "b̈c̈d̈e", object "b̈c̈d̈e", "The operation should not replace a registered Range")
    at assertSelectionNoChange ( /selection/common.js:988:5)
Passextend() backwards with range 4 [paras[0].firstChild, 2, paras[0].firstChild, 9] and point 79 [detachedXmlComment, 2]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(1, 1, "The operation should not add Range")
    at assertSelectionNoChange ( /selection/common.js:976:5)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "The operation should not update anchorNode")
    at assertSelectionNoChange ( /selection/common.js:978:5)
Pass
assert_equals(9, 9, "The operation should not update anchorOffset")
    at assertSelectionNoChange ( /selection/common.js:980:5)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "The operation should not update focusNode")
    at assertSelectionNoChange ( /selection/common.js:982:5)
Pass
assert_equals(2, 2, "The operation should not update focusOffset")
    at assertSelectionNoChange ( /selection/common.js:984:5)
Pass
assert_equals(object "b̈c̈d̈e", object "b̈c̈d̈e", "The operation should not replace a registered Range")
    at assertSelectionNoChange ( /selection/common.js:988:5)
Passextend() forwards with range 4 [paras[0].firstChild, 2, paras[0].firstChild, 9] and point 80 [docfrag, 0]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(1, 1, "The operation should not add Range")
    at assertSelectionNoChange ( /selection/common.js:976:5)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "The operation should not update anchorNode")
    at assertSelectionNoChange ( /selection/common.js:978:5)
Pass
assert_equals(2, 2, "The operation should not update anchorOffset")
    at assertSelectionNoChange ( /selection/common.js:980:5)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "The operation should not update focusNode")
    at assertSelectionNoChange ( /selection/common.js:982:5)
Pass
assert_equals(9, 9, "The operation should not update focusOffset")
    at assertSelectionNoChange ( /selection/common.js:984:5)
Pass
assert_equals(object "b̈c̈d̈e", object "b̈c̈d̈e", "The operation should not replace a registered Range")
    at assertSelectionNoChange ( /selection/common.js:988:5)
Passextend() backwards with range 4 [paras[0].firstChild, 2, paras[0].firstChild, 9] and point 80 [docfrag, 0]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(1, 1, "The operation should not add Range")
    at assertSelectionNoChange ( /selection/common.js:976:5)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "The operation should not update anchorNode")
    at assertSelectionNoChange ( /selection/common.js:978:5)
Pass
assert_equals(9, 9, "The operation should not update anchorOffset")
    at assertSelectionNoChange ( /selection/common.js:980:5)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "The operation should not update focusNode")
    at assertSelectionNoChange ( /selection/common.js:982:5)
Pass
assert_equals(2, 2, "The operation should not update focusOffset")
    at assertSelectionNoChange ( /selection/common.js:984:5)
Pass
assert_equals(object "b̈c̈d̈e", object "b̈c̈d̈e", "The operation should not replace a registered Range")
    at assertSelectionNoChange ( /selection/common.js:988:5)
Passextend() forwards with range 4 [paras[0].firstChild, 2, paras[0].firstChild, 9] and point 81 [foreignDocfrag, 0]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(1, 1, "The operation should not add Range")
    at assertSelectionNoChange ( /selection/common.js:976:5)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "The operation should not update anchorNode")
    at assertSelectionNoChange ( /selection/common.js:978:5)
Pass
assert_equals(2, 2, "The operation should not update anchorOffset")
    at assertSelectionNoChange ( /selection/common.js:980:5)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "The operation should not update focusNode")
    at assertSelectionNoChange ( /selection/common.js:982:5)
Pass
assert_equals(9, 9, "The operation should not update focusOffset")
    at assertSelectionNoChange ( /selection/common.js:984:5)
Pass
assert_equals(object "b̈c̈d̈e", object "b̈c̈d̈e", "The operation should not replace a registered Range")
    at assertSelectionNoChange ( /selection/common.js:988:5)
Passextend() backwards with range 4 [paras[0].firstChild, 2, paras[0].firstChild, 9] and point 81 [foreignDocfrag, 0]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(1, 1, "The operation should not add Range")
    at assertSelectionNoChange ( /selection/common.js:976:5)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "The operation should not update anchorNode")
    at assertSelectionNoChange ( /selection/common.js:978:5)
Pass
assert_equals(9, 9, "The operation should not update anchorOffset")
    at assertSelectionNoChange ( /selection/common.js:980:5)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "The operation should not update focusNode")
    at assertSelectionNoChange ( /selection/common.js:982:5)
Pass
assert_equals(2, 2, "The operation should not update focusOffset")
    at assertSelectionNoChange ( /selection/common.js:984:5)
Pass
assert_equals(object "b̈c̈d̈e", object "b̈c̈d̈e", "The operation should not replace a registered Range")
    at assertSelectionNoChange ( /selection/common.js:988:5)
Passextend() forwards with range 4 [paras[0].firstChild, 2, paras[0].firstChild, 9] and point 82 [xmlDocfrag, 0]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(1, 1, "The operation should not add Range")
    at assertSelectionNoChange ( /selection/common.js:976:5)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "The operation should not update anchorNode")
    at assertSelectionNoChange ( /selection/common.js:978:5)
Pass
assert_equals(2, 2, "The operation should not update anchorOffset")
    at assertSelectionNoChange ( /selection/common.js:980:5)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "The operation should not update focusNode")
    at assertSelectionNoChange ( /selection/common.js:982:5)
Pass
assert_equals(9, 9, "The operation should not update focusOffset")
    at assertSelectionNoChange ( /selection/common.js:984:5)
Pass
assert_equals(object "b̈c̈d̈e", object "b̈c̈d̈e", "The operation should not replace a registered Range")
    at assertSelectionNoChange ( /selection/common.js:988:5)
Passextend() backwards with range 4 [paras[0].firstChild, 2, paras[0].firstChild, 9] and point 82 [xmlDocfrag, 0]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(1, 1, "The operation should not add Range")
    at assertSelectionNoChange ( /selection/common.js:976:5)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "The operation should not update anchorNode")
    at assertSelectionNoChange ( /selection/common.js:978:5)
Pass
assert_equals(9, 9, "The operation should not update anchorOffset")
    at assertSelectionNoChange ( /selection/common.js:980:5)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "The operation should not update focusNode")
    at assertSelectionNoChange ( /selection/common.js:982:5)
Pass
assert_equals(2, 2, "The operation should not update focusOffset")
    at assertSelectionNoChange ( /selection/common.js:984:5)
Pass
assert_equals(object "b̈c̈d̈e", object "b̈c̈d̈e", "The operation should not replace a registered Range")
    at assertSelectionNoChange ( /selection/common.js:988:5)
Passextend() forwards with range 4 [paras[0].firstChild, 2, paras[0].firstChild, 9] and point 83 [doctype, 0]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "Sanity check: startContainer must be correct")
    at testExtend ( /selection/extend.js:80:5)
Pass
assert_equals(2, 2, "Sanity check: startOffset must be correct")
    at testExtend ( /selection/extend.js:82:5)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "Sanity check: endContainer must be correct")
    at testExtend ( /selection/extend.js:84:5)
Pass
assert_equals(9, 9, "Sanity check: endOffset must be correct")
    at testExtend ( /selection/extend.js:86:5)
Pass
assert_throws_dom("INVALID_NODE_TYPE_ERR", function "function() {             selection.extend(node, offset);         }", "extend() to a doctype must throw InvalidNodeTypeError")
    at testExtend ( /selection/extend.js:104:9)
Passextend() backwards with range 4 [paras[0].firstChild, 2, paras[0].firstChild, 9] and point 83 [doctype, 0]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "Sanity check: startContainer must be correct")
    at testExtend ( /selection/extend.js:80:5)
Pass
assert_equals(2, 2, "Sanity check: startOffset must be correct")
    at testExtend ( /selection/extend.js:82:5)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "Sanity check: endContainer must be correct")
    at testExtend ( /selection/extend.js:84:5)
Pass
assert_equals(9, 9, "Sanity check: endOffset must be correct")
    at testExtend ( /selection/extend.js:86:5)
Pass
assert_throws_dom("INVALID_NODE_TYPE_ERR", function "function() {             selection.extend(node, offset);         }", "extend() to a doctype must throw InvalidNodeTypeError")
    at testExtend ( /selection/extend.js:104:9)
Passextend() forwards with range 4 [paras[0].firstChild, 2, paras[0].firstChild, 9] and point 84 [doctype, -17]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "Sanity check: startContainer must be correct")
    at testExtend ( /selection/extend.js:80:5)
Pass
assert_equals(2, 2, "Sanity check: startOffset must be correct")
    at testExtend ( /selection/extend.js:82:5)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "Sanity check: endContainer must be correct")
    at testExtend ( /selection/extend.js:84:5)
Pass
assert_equals(9, 9, "Sanity check: endOffset must be correct")
    at testExtend ( /selection/extend.js:86:5)
Pass
assert_throws_dom("INVALID_NODE_TYPE_ERR", function "function() {             selection.extend(node, offset);         }", "extend() to a doctype must throw InvalidNodeTypeError")
    at testExtend ( /selection/extend.js:104:9)
Passextend() backwards with range 4 [paras[0].firstChild, 2, paras[0].firstChild, 9] and point 84 [doctype, -17]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "Sanity check: startContainer must be correct")
    at testExtend ( /selection/extend.js:80:5)
Pass
assert_equals(2, 2, "Sanity check: startOffset must be correct")
    at testExtend ( /selection/extend.js:82:5)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "Sanity check: endContainer must be correct")
    at testExtend ( /selection/extend.js:84:5)
Pass
assert_equals(9, 9, "Sanity check: endOffset must be correct")
    at testExtend ( /selection/extend.js:86:5)
Pass
assert_throws_dom("INVALID_NODE_TYPE_ERR", function "function() {             selection.extend(node, offset);         }", "extend() to a doctype must throw InvalidNodeTypeError")
    at testExtend ( /selection/extend.js:104:9)
Passextend() forwards with range 4 [paras[0].firstChild, 2, paras[0].firstChild, 9] and point 85 [doctype, 1]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "Sanity check: startContainer must be correct")
    at testExtend ( /selection/extend.js:80:5)
Pass
assert_equals(2, 2, "Sanity check: startOffset must be correct")
    at testExtend ( /selection/extend.js:82:5)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "Sanity check: endContainer must be correct")
    at testExtend ( /selection/extend.js:84:5)
Pass
assert_equals(9, 9, "Sanity check: endOffset must be correct")
    at testExtend ( /selection/extend.js:86:5)
Pass
assert_throws_dom("INVALID_NODE_TYPE_ERR", function "function() {             selection.extend(node, offset);         }", "extend() to a doctype must throw InvalidNodeTypeError")
    at testExtend ( /selection/extend.js:104:9)
Passextend() backwards with range 4 [paras[0].firstChild, 2, paras[0].firstChild, 9] and point 85 [doctype, 1]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "Sanity check: startContainer must be correct")
    at testExtend ( /selection/extend.js:80:5)
Pass
assert_equals(2, 2, "Sanity check: startOffset must be correct")
    at testExtend ( /selection/extend.js:82:5)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "Sanity check: endContainer must be correct")
    at testExtend ( /selection/extend.js:84:5)
Pass
assert_equals(9, 9, "Sanity check: endOffset must be correct")
    at testExtend ( /selection/extend.js:86:5)
Pass
assert_throws_dom("INVALID_NODE_TYPE_ERR", function "function() {             selection.extend(node, offset);         }", "extend() to a doctype must throw InvalidNodeTypeError")
    at testExtend ( /selection/extend.js:104:9)
Passextend() forwards with range 4 [paras[0].firstChild, 2, paras[0].firstChild, 9] and point 86 [foreignDoctype, 0]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(1, 1, "The operation should not add Range")
    at assertSelectionNoChange ( /selection/common.js:976:5)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "The operation should not update anchorNode")
    at assertSelectionNoChange ( /selection/common.js:978:5)
Pass
assert_equals(2, 2, "The operation should not update anchorOffset")
    at assertSelectionNoChange ( /selection/common.js:980:5)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "The operation should not update focusNode")
    at assertSelectionNoChange ( /selection/common.js:982:5)
Pass
assert_equals(9, 9, "The operation should not update focusOffset")
    at assertSelectionNoChange ( /selection/common.js:984:5)
Pass
assert_equals(object "b̈c̈d̈e", object "b̈c̈d̈e", "The operation should not replace a registered Range")
    at assertSelectionNoChange ( /selection/common.js:988:5)
Passextend() backwards with range 4 [paras[0].firstChild, 2, paras[0].firstChild, 9] and point 86 [foreignDoctype, 0]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(1, 1, "The operation should not add Range")
    at assertSelectionNoChange ( /selection/common.js:976:5)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "The operation should not update anchorNode")
    at assertSelectionNoChange ( /selection/common.js:978:5)
Pass
assert_equals(9, 9, "The operation should not update anchorOffset")
    at assertSelectionNoChange ( /selection/common.js:980:5)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "The operation should not update focusNode")
    at assertSelectionNoChange ( /selection/common.js:982:5)
Pass
assert_equals(2, 2, "The operation should not update focusOffset")
    at assertSelectionNoChange ( /selection/common.js:984:5)
Pass
assert_equals(object "b̈c̈d̈e", object "b̈c̈d̈e", "The operation should not replace a registered Range")
    at assertSelectionNoChange ( /selection/common.js:988:5)
Passextend() forwards with range 4 [paras[0].firstChild, 2, paras[0].firstChild, 9] and point 87 [xmlDoctype, 0]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(1, 1, "The operation should not add Range")
    at assertSelectionNoChange ( /selection/common.js:976:5)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "The operation should not update anchorNode")
    at assertSelectionNoChange ( /selection/common.js:978:5)
Pass
assert_equals(2, 2, "The operation should not update anchorOffset")
    at assertSelectionNoChange ( /selection/common.js:980:5)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "The operation should not update focusNode")
    at assertSelectionNoChange ( /selection/common.js:982:5)
Pass
assert_equals(9, 9, "The operation should not update focusOffset")
    at assertSelectionNoChange ( /selection/common.js:984:5)
Pass
assert_equals(object "b̈c̈d̈e", object "b̈c̈d̈e", "The operation should not replace a registered Range")
    at assertSelectionNoChange ( /selection/common.js:988:5)
Passextend() backwards with range 4 [paras[0].firstChild, 2, paras[0].firstChild, 9] and point 87 [xmlDoctype, 0]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(1, 1, "The operation should not add Range")
    at assertSelectionNoChange ( /selection/common.js:976:5)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "The operation should not update anchorNode")
    at assertSelectionNoChange ( /selection/common.js:978:5)
Pass
assert_equals(9, 9, "The operation should not update anchorOffset")
    at assertSelectionNoChange ( /selection/common.js:980:5)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "The operation should not update focusNode")
    at assertSelectionNoChange ( /selection/common.js:982:5)
Pass
assert_equals(2, 2, "The operation should not update focusOffset")
    at assertSelectionNoChange ( /selection/common.js:984:5)
Pass
assert_equals(object "b̈c̈d̈e", object "b̈c̈d̈e", "The operation should not replace a registered Range")
    at assertSelectionNoChange ( /selection/common.js:988:5)
Passextend() with range 5 [paras[1].firstChild, 0, paras[1].firstChild, 0] and point 0 [paras[0].firstChild, -1]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "Sanity check: startContainer must be correct")
    at testExtend ( /selection/extend.js:80:5)
Pass
assert_equals(0, 0, "Sanity check: startOffset must be correct")
    at testExtend ( /selection/extend.js:82:5)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "Sanity check: endContainer must be correct")
    at testExtend ( /selection/extend.js:84:5)
Pass
assert_equals(0, 0, "Sanity check: endOffset must be correct")
    at testExtend ( /selection/extend.js:86:5)
Pass
assert_throws_dom("INDEX_SIZE_ERR", function "function() {             selection.extend(node, offset);         }", "extend() to an offset that's greater than node length (17) must throw IndexSizeError")
    at testExtend ( /selection/extend.js:117:9)
Passextend() with range 5 [paras[1].firstChild, 0, paras[1].firstChild, 0] and point 1 [paras[0].firstChild, 0]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "Sanity check: startContainer must be correct")
    at testExtend ( /selection/extend.js:80:5)
Pass
assert_equals(0, 0, "Sanity check: startOffset must be correct")
    at testExtend ( /selection/extend.js:82:5)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "Sanity check: endContainer must be correct")
    at testExtend ( /selection/extend.js:84:5)
Pass
assert_equals(0, 0, "Sanity check: endOffset must be correct")
    at testExtend ( /selection/extend.js:86:5)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "anchorNode must not change if the node passed to extend() has the same root as the original range")
    at testExtend ( /selection/extend.js:145:9)
Pass
assert_equals(0, 0, "anchorOffset must not change if the node passed to extend() has the same root as the original range")
    at testExtend ( /selection/extend.js:147:9)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "focusNode must be the node passed to extend()")
    at testExtend ( /selection/extend.js:155:5)
Pass
assert_equals(0, 0, "focusOffset must be the offset passed to extend()")
    at testExtend ( /selection/extend.js:157:5)
Pass
assert_not_equals(object "Äb̈c̈d̈ëf̈g̈ḧ ", object "", "extend() must replace any existing range with a new one, not mutate the existing one")
    at testExtend ( /selection/extend.js:159:5)
Passextend() with range 5 [paras[1].firstChild, 0, paras[1].firstChild, 0] and point 2 [paras[0].firstChild, 1]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "Sanity check: startContainer must be correct")
    at testExtend ( /selection/extend.js:80:5)
Pass
assert_equals(0, 0, "Sanity check: startOffset must be correct")
    at testExtend ( /selection/extend.js:82:5)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "Sanity check: endContainer must be correct")
    at testExtend ( /selection/extend.js:84:5)
Pass
assert_equals(0, 0, "Sanity check: endOffset must be correct")
    at testExtend ( /selection/extend.js:86:5)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "anchorNode must not change if the node passed to extend() has the same root as the original range")
    at testExtend ( /selection/extend.js:145:9)
Pass
assert_equals(0, 0, "anchorOffset must not change if the node passed to extend() has the same root as the original range")
    at testExtend ( /selection/extend.js:147:9)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "focusNode must be the node passed to extend()")
    at testExtend ( /selection/extend.js:155:5)
Pass
assert_equals(1, 1, "focusOffset must be the offset passed to extend()")
    at testExtend ( /selection/extend.js:157:5)
Pass
assert_not_equals(object "̈b̈c̈d̈ëf̈g̈ḧ ", object "", "extend() must replace any existing range with a new one, not mutate the existing one")
    at testExtend ( /selection/extend.js:159:5)
Passextend() with range 5 [paras[1].firstChild, 0, paras[1].firstChild, 0] and point 3 [paras[0].firstChild, 2]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "Sanity check: startContainer must be correct")
    at testExtend ( /selection/extend.js:80:5)
Pass
assert_equals(0, 0, "Sanity check: startOffset must be correct")
    at testExtend ( /selection/extend.js:82:5)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "Sanity check: endContainer must be correct")
    at testExtend ( /selection/extend.js:84:5)
Pass
assert_equals(0, 0, "Sanity check: endOffset must be correct")
    at testExtend ( /selection/extend.js:86:5)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "anchorNode must not change if the node passed to extend() has the same root as the original range")
    at testExtend ( /selection/extend.js:145:9)
Pass
assert_equals(0, 0, "anchorOffset must not change if the node passed to extend() has the same root as the original range")
    at testExtend ( /selection/extend.js:147:9)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "focusNode must be the node passed to extend()")
    at testExtend ( /selection/extend.js:155:5)
Pass
assert_equals(2, 2, "focusOffset must be the offset passed to extend()")
    at testExtend ( /selection/extend.js:157:5)
Pass
assert_not_equals(object "b̈c̈d̈ëf̈g̈ḧ ", object "", "extend() must replace any existing range with a new one, not mutate the existing one")
    at testExtend ( /selection/extend.js:159:5)
Passextend() with range 5 [paras[1].firstChild, 0, paras[1].firstChild, 0] and point 4 [paras[0].firstChild, 8]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "Sanity check: startContainer must be correct")
    at testExtend ( /selection/extend.js:80:5)
Pass
assert_equals(0, 0, "Sanity check: startOffset must be correct")
    at testExtend ( /selection/extend.js:82:5)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "Sanity check: endContainer must be correct")
    at testExtend ( /selection/extend.js:84:5)
Pass
assert_equals(0, 0, "Sanity check: endOffset must be correct")
    at testExtend ( /selection/extend.js:86:5)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "anchorNode must not change if the node passed to extend() has the same root as the original range")
    at testExtend ( /selection/extend.js:145:9)
Pass
assert_equals(0, 0, "anchorOffset must not change if the node passed to extend() has the same root as the original range")
    at testExtend ( /selection/extend.js:147:9)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "focusNode must be the node passed to extend()")
    at testExtend ( /selection/extend.js:155:5)
Pass
assert_equals(8, 8, "focusOffset must be the offset passed to extend()")
    at testExtend ( /selection/extend.js:157:5)
Pass
assert_not_equals(object "ëf̈g̈ḧ ", object "", "extend() must replace any existing range with a new one, not mutate the existing one")
    at testExtend ( /selection/extend.js:159:5)
Passextend() with range 5 [paras[1].firstChild, 0, paras[1].firstChild, 0] and point 5 [paras[0].firstChild, 9]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "Sanity check: startContainer must be correct")
    at testExtend ( /selection/extend.js:80:5)
Pass
assert_equals(0, 0, "Sanity check: startOffset must be correct")
    at testExtend ( /selection/extend.js:82:5)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "Sanity check: endContainer must be correct")
    at testExtend ( /selection/extend.js:84:5)
Pass
assert_equals(0, 0, "Sanity check: endOffset must be correct")
    at testExtend ( /selection/extend.js:86:5)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "anchorNode must not change if the node passed to extend() has the same root as the original range")
    at testExtend ( /selection/extend.js:145:9)
Pass
assert_equals(0, 0, "anchorOffset must not change if the node passed to extend() has the same root as the original range")
    at testExtend ( /selection/extend.js:147:9)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "focusNode must be the node passed to extend()")
    at testExtend ( /selection/extend.js:155:5)
Pass
assert_equals(9, 9, "focusOffset must be the offset passed to extend()")
    at testExtend ( /selection/extend.js:157:5)
Pass
assert_not_equals(object "̈f̈g̈ḧ ", object "", "extend() must replace any existing range with a new one, not mutate the existing one")
    at testExtend ( /selection/extend.js:159:5)
Passextend() with range 5 [paras[1].firstChild, 0, paras[1].firstChild, 0] and point 6 [paras[0].firstChild, 10]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "Sanity check: startContainer must be correct")
    at testExtend ( /selection/extend.js:80:5)
Pass
assert_equals(0, 0, "Sanity check: startOffset must be correct")
    at testExtend ( /selection/extend.js:82:5)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "Sanity check: endContainer must be correct")
    at testExtend ( /selection/extend.js:84:5)
Pass
assert_equals(0, 0, "Sanity check: endOffset must be correct")
    at testExtend ( /selection/extend.js:86:5)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "anchorNode must not change if the node passed to extend() has the same root as the original range")
    at testExtend ( /selection/extend.js:145:9)
Pass
assert_equals(0, 0, "anchorOffset must not change if the node passed to extend() has the same root as the original range")
    at testExtend ( /selection/extend.js:147:9)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "focusNode must be the node passed to extend()")
    at testExtend ( /selection/extend.js:155:5)
Pass
assert_equals(10, 10, "focusOffset must be the offset passed to extend()")
    at testExtend ( /selection/extend.js:157:5)
Pass
assert_not_equals(object "f̈g̈ḧ ", object "", "extend() must replace any existing range with a new one, not mutate the existing one")
    at testExtend ( /selection/extend.js:159:5)
Passextend() with range 5 [paras[1].firstChild, 0, paras[1].firstChild, 0] and point 7 [paras[0].firstChild, 65535]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "Sanity check: startContainer must be correct")
    at testExtend ( /selection/extend.js:80:5)
Pass
assert_equals(0, 0, "Sanity check: startOffset must be correct")
    at testExtend ( /selection/extend.js:82:5)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "Sanity check: endContainer must be correct")
    at testExtend ( /selection/extend.js:84:5)
Pass
assert_equals(0, 0, "Sanity check: endOffset must be correct")
    at testExtend ( /selection/extend.js:86:5)
Pass
assert_throws_dom("INDEX_SIZE_ERR", function "function() {             selection.extend(node, offset);         }", "extend() to an offset that's greater than node length (17) must throw IndexSizeError")
    at testExtend ( /selection/extend.js:117:9)
Passextend() with range 5 [paras[1].firstChild, 0, paras[1].firstChild, 0] and point 8 [paras[1].firstChild, -1]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "Sanity check: startContainer must be correct")
    at testExtend ( /selection/extend.js:80:5)
Pass
assert_equals(0, 0, "Sanity check: startOffset must be correct")
    at testExtend ( /selection/extend.js:82:5)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "Sanity check: endContainer must be correct")
    at testExtend ( /selection/extend.js:84:5)
Pass
assert_equals(0, 0, "Sanity check: endOffset must be correct")
    at testExtend ( /selection/extend.js:86:5)
Pass
assert_throws_dom("INDEX_SIZE_ERR", function "function() {             selection.extend(node, offset);         }", "extend() to an offset that's greater than node length (9) must throw IndexSizeError")
    at testExtend ( /selection/extend.js:117:9)
Passextend() with range 5 [paras[1].firstChild, 0, paras[1].firstChild, 0] and point 9 [paras[1].firstChild, 0]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "Sanity check: startContainer must be correct")
    at testExtend ( /selection/extend.js:80:5)
Pass
assert_equals(0, 0, "Sanity check: startOffset must be correct")
    at testExtend ( /selection/extend.js:82:5)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "Sanity check: endContainer must be correct")
    at testExtend ( /selection/extend.js:84:5)
Pass
assert_equals(0, 0, "Sanity check: endOffset must be correct")
    at testExtend ( /selection/extend.js:86:5)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "anchorNode must not change if the node passed to extend() has the same root as the original range")
    at testExtend ( /selection/extend.js:145:9)
Pass
assert_equals(0, 0, "anchorOffset must not change if the node passed to extend() has the same root as the original range")
    at testExtend ( /selection/extend.js:147:9)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "focusNode must be the node passed to extend()")
    at testExtend ( /selection/extend.js:155:5)
Pass
assert_equals(0, 0, "focusOffset must be the offset passed to extend()")
    at testExtend ( /selection/extend.js:157:5)
Pass
assert_not_equals(object "", object "", "extend() must replace any existing range with a new one, not mutate the existing one")
    at testExtend ( /selection/extend.js:159:5)
Passextend() with range 5 [paras[1].firstChild, 0, paras[1].firstChild, 0] and point 10 [paras[1].firstChild, 1]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "Sanity check: startContainer must be correct")
    at testExtend ( /selection/extend.js:80:5)
Pass
assert_equals(0, 0, "Sanity check: startOffset must be correct")
    at testExtend ( /selection/extend.js:82:5)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "Sanity check: endContainer must be correct")
    at testExtend ( /selection/extend.js:84:5)
Pass
assert_equals(0, 0, "Sanity check: endOffset must be correct")
    at testExtend ( /selection/extend.js:86:5)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "anchorNode must not change if the node passed to extend() has the same root as the original range")
    at testExtend ( /selection/extend.js:145:9)
Pass
assert_equals(0, 0, "anchorOffset must not change if the node passed to extend() has the same root as the original range")
    at testExtend ( /selection/extend.js:147:9)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "focusNode must be the node passed to extend()")
    at testExtend ( /selection/extend.js:155:5)
Pass
assert_equals(1, 1, "focusOffset must be the offset passed to extend()")
    at testExtend ( /selection/extend.js:157:5)
Pass
assert_not_equals(object "I", object "", "extend() must replace any existing range with a new one, not mutate the existing one")
    at testExtend ( /selection/extend.js:159:5)
Passextend() with range 5 [paras[1].firstChild, 0, paras[1].firstChild, 0] and point 11 [paras[1].firstChild, 2]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "Sanity check: startContainer must be correct")
    at testExtend ( /selection/extend.js:80:5)
Pass
assert_equals(0, 0, "Sanity check: startOffset must be correct")
    at testExtend ( /selection/extend.js:82:5)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "Sanity check: endContainer must be correct")
    at testExtend ( /selection/extend.js:84:5)
Pass
assert_equals(0, 0, "Sanity check: endOffset must be correct")
    at testExtend ( /selection/extend.js:86:5)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "anchorNode must not change if the node passed to extend() has the same root as the original range")
    at testExtend ( /selection/extend.js:145:9)
Pass
assert_equals(0, 0, "anchorOffset must not change if the node passed to extend() has the same root as the original range")
    at testExtend ( /selection/extend.js:147:9)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "focusNode must be the node passed to extend()")
    at testExtend ( /selection/extend.js:155:5)
Pass
assert_equals(2, 2, "focusOffset must be the offset passed to extend()")
    at testExtend ( /selection/extend.js:157:5)
Pass
assert_not_equals(object "Ij", object "", "extend() must replace any existing range with a new one, not mutate the existing one")
    at testExtend ( /selection/extend.js:159:5)
Passextend() with range 5 [paras[1].firstChild, 0, paras[1].firstChild, 0] and point 12 [paras[1].firstChild, 8]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "Sanity check: startContainer must be correct")
    at testExtend ( /selection/extend.js:80:5)
Pass
assert_equals(0, 0, "Sanity check: startOffset must be correct")
    at testExtend ( /selection/extend.js:82:5)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "Sanity check: endContainer must be correct")
    at testExtend ( /selection/extend.js:84:5)
Pass
assert_equals(0, 0, "Sanity check: endOffset must be correct")
    at testExtend ( /selection/extend.js:86:5)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "anchorNode must not change if the node passed to extend() has the same root as the original range")
    at testExtend ( /selection/extend.js:145:9)
Pass
assert_equals(0, 0, "anchorOffset must not change if the node passed to extend() has the same root as the original range")
    at testExtend ( /selection/extend.js:147:9)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "focusNode must be the node passed to extend()")
    at testExtend ( /selection/extend.js:155:5)
Pass
assert_equals(8, 8, "focusOffset must be the offset passed to extend()")
    at testExtend ( /selection/extend.js:157:5)
Pass
assert_not_equals(object "Ijklmnop", object "", "extend() must replace any existing range with a new one, not mutate the existing one")
    at testExtend ( /selection/extend.js:159:5)
Passextend() with range 5 [paras[1].firstChild, 0, paras[1].firstChild, 0] and point 13 [paras[1].firstChild, 9]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "Sanity check: startContainer must be correct")
    at testExtend ( /selection/extend.js:80:5)
Pass
assert_equals(0, 0, "Sanity check: startOffset must be correct")
    at testExtend ( /selection/extend.js:82:5)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "Sanity check: endContainer must be correct")
    at testExtend ( /selection/extend.js:84:5)
Pass
assert_equals(0, 0, "Sanity check: endOffset must be correct")
    at testExtend ( /selection/extend.js:86:5)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "anchorNode must not change if the node passed to extend() has the same root as the original range")
    at testExtend ( /selection/extend.js:145:9)
Pass
assert_equals(0, 0, "anchorOffset must not change if the node passed to extend() has the same root as the original range")
    at testExtend ( /selection/extend.js:147:9)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "focusNode must be the node passed to extend()")
    at testExtend ( /selection/extend.js:155:5)
Pass
assert_equals(9, 9, "focusOffset must be the offset passed to extend()")
    at testExtend ( /selection/extend.js:157:5)
Pass
assert_not_equals(object "Ijklmnop ", object "", "extend() must replace any existing range with a new one, not mutate the existing one")
    at testExtend ( /selection/extend.js:159:5)
Passextend() with range 5 [paras[1].firstChild, 0, paras[1].firstChild, 0] and point 14 [paras[1].firstChild, 10]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "Sanity check: startContainer must be correct")
    at testExtend ( /selection/extend.js:80:5)
Pass
assert_equals(0, 0, "Sanity check: startOffset must be correct")
    at testExtend ( /selection/extend.js:82:5)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "Sanity check: endContainer must be correct")
    at testExtend ( /selection/extend.js:84:5)
Pass
assert_equals(0, 0, "Sanity check: endOffset must be correct")
    at testExtend ( /selection/extend.js:86:5)
Pass
assert_throws_dom("INDEX_SIZE_ERR", function "function() {             selection.extend(node, offset);         }", "extend() to an offset that's greater than node length (9) must throw IndexSizeError")
    at testExtend ( /selection/extend.js:117:9)
Passextend() with range 5 [paras[1].firstChild, 0, paras[1].firstChild, 0] and point 15 [paras[1].firstChild, 65535]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "Sanity check: startContainer must be correct")
    at testExtend ( /selection/extend.js:80:5)
Pass
assert_equals(0, 0, "Sanity check: startOffset must be correct")
    at testExtend ( /selection/extend.js:82:5)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "Sanity check: endContainer must be correct")
    at testExtend ( /selection/extend.js:84:5)
Pass
assert_equals(0, 0, "Sanity check: endOffset must be correct")
    at testExtend ( /selection/extend.js:86:5)
Pass
assert_throws_dom("INDEX_SIZE_ERR", function "function() {             selection.extend(node, offset);         }", "extend() to an offset that's greater than node length (9) must throw IndexSizeError")
    at testExtend ( /selection/extend.js:117:9)
Passextend() with range 5 [paras[1].firstChild, 0, paras[1].firstChild, 0] and point 16 [detachedPara1.firstChild, 0]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(1, 1, "The operation should not add Range")
    at assertSelectionNoChange ( /selection/common.js:976:5)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "The operation should not update anchorNode")
    at assertSelectionNoChange ( /selection/common.js:978:5)
Pass
assert_equals(0, 0, "The operation should not update anchorOffset")
    at assertSelectionNoChange ( /selection/common.js:980:5)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "The operation should not update focusNode")
    at assertSelectionNoChange ( /selection/common.js:982:5)
Pass
assert_equals(0, 0, "The operation should not update focusOffset")
    at assertSelectionNoChange ( /selection/common.js:984:5)
Pass
assert_equals(object "", object "", "The operation should not replace a registered Range")
    at assertSelectionNoChange ( /selection/common.js:988:5)
Passextend() with range 5 [paras[1].firstChild, 0, paras[1].firstChild, 0] and point 17 [detachedPara1.firstChild, 1]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(1, 1, "The operation should not add Range")
    at assertSelectionNoChange ( /selection/common.js:976:5)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "The operation should not update anchorNode")
    at assertSelectionNoChange ( /selection/common.js:978:5)
Pass
assert_equals(0, 0, "The operation should not update anchorOffset")
    at assertSelectionNoChange ( /selection/common.js:980:5)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "The operation should not update focusNode")
    at assertSelectionNoChange ( /selection/common.js:982:5)
Pass
assert_equals(0, 0, "The operation should not update focusOffset")
    at assertSelectionNoChange ( /selection/common.js:984:5)
Pass
assert_equals(object "", object "", "The operation should not replace a registered Range")
    at assertSelectionNoChange ( /selection/common.js:988:5)
Passextend() with range 5 [paras[1].firstChild, 0, paras[1].firstChild, 0] and point 18 [detachedPara1.firstChild, 8]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(1, 1, "The operation should not add Range")
    at assertSelectionNoChange ( /selection/common.js:976:5)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "The operation should not update anchorNode")
    at assertSelectionNoChange ( /selection/common.js:978:5)
Pass
assert_equals(0, 0, "The operation should not update anchorOffset")
    at assertSelectionNoChange ( /selection/common.js:980:5)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "The operation should not update focusNode")
    at assertSelectionNoChange ( /selection/common.js:982:5)
Pass
assert_equals(0, 0, "The operation should not update focusOffset")
    at assertSelectionNoChange ( /selection/common.js:984:5)
Pass
assert_equals(object "", object "", "The operation should not replace a registered Range")
    at assertSelectionNoChange ( /selection/common.js:988:5)
Passextend() with range 5 [paras[1].firstChild, 0, paras[1].firstChild, 0] and point 19 [detachedPara1.firstChild, 9]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(1, 1, "The operation should not add Range")
    at assertSelectionNoChange ( /selection/common.js:976:5)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "The operation should not update anchorNode")
    at assertSelectionNoChange ( /selection/common.js:978:5)
Pass
assert_equals(0, 0, "The operation should not update anchorOffset")
    at assertSelectionNoChange ( /selection/common.js:980:5)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "The operation should not update focusNode")
    at assertSelectionNoChange ( /selection/common.js:982:5)
Pass
assert_equals(0, 0, "The operation should not update focusOffset")
    at assertSelectionNoChange ( /selection/common.js:984:5)
Pass
assert_equals(object "", object "", "The operation should not replace a registered Range")
    at assertSelectionNoChange ( /selection/common.js:988:5)
Passextend() with range 5 [paras[1].firstChild, 0, paras[1].firstChild, 0] and point 20 [foreignPara1.firstChild, 0]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(1, 1, "The operation should not add Range")
    at assertSelectionNoChange ( /selection/common.js:976:5)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "The operation should not update anchorNode")
    at assertSelectionNoChange ( /selection/common.js:978:5)
Pass
assert_equals(0, 0, "The operation should not update anchorOffset")
    at assertSelectionNoChange ( /selection/common.js:980:5)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "The operation should not update focusNode")
    at assertSelectionNoChange ( /selection/common.js:982:5)
Pass
assert_equals(0, 0, "The operation should not update focusOffset")
    at assertSelectionNoChange ( /selection/common.js:984:5)
Pass
assert_equals(object "", object "", "The operation should not replace a registered Range")
    at assertSelectionNoChange ( /selection/common.js:988:5)
Passextend() with range 5 [paras[1].firstChild, 0, paras[1].firstChild, 0] and point 21 [foreignPara1.firstChild, 1]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(1, 1, "The operation should not add Range")
    at assertSelectionNoChange ( /selection/common.js:976:5)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "The operation should not update anchorNode")
    at assertSelectionNoChange ( /selection/common.js:978:5)
Pass
assert_equals(0, 0, "The operation should not update anchorOffset")
    at assertSelectionNoChange ( /selection/common.js:980:5)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "The operation should not update focusNode")
    at assertSelectionNoChange ( /selection/common.js:982:5)
Pass
assert_equals(0, 0, "The operation should not update focusOffset")
    at assertSelectionNoChange ( /selection/common.js:984:5)
Pass
assert_equals(object "", object "", "The operation should not replace a registered Range")
    at assertSelectionNoChange ( /selection/common.js:988:5)
Passextend() with range 5 [paras[1].firstChild, 0, paras[1].firstChild, 0] and point 22 [foreignPara1.firstChild, 8]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(1, 1, "The operation should not add Range")
    at assertSelectionNoChange ( /selection/common.js:976:5)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "The operation should not update anchorNode")
    at assertSelectionNoChange ( /selection/common.js:978:5)
Pass
assert_equals(0, 0, "The operation should not update anchorOffset")
    at assertSelectionNoChange ( /selection/common.js:980:5)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "The operation should not update focusNode")
    at assertSelectionNoChange ( /selection/common.js:982:5)
Pass
assert_equals(0, 0, "The operation should not update focusOffset")
    at assertSelectionNoChange ( /selection/common.js:984:5)
Pass
assert_equals(object "", object "", "The operation should not replace a registered Range")
    at assertSelectionNoChange ( /selection/common.js:988:5)
Passextend() with range 5 [paras[1].firstChild, 0, paras[1].firstChild, 0] and point 23 [foreignPara1.firstChild, 9]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(1, 1, "The operation should not add Range")
    at assertSelectionNoChange ( /selection/common.js:976:5)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "The operation should not update anchorNode")
    at assertSelectionNoChange ( /selection/common.js:978:5)
Pass
assert_equals(0, 0, "The operation should not update anchorOffset")
    at assertSelectionNoChange ( /selection/common.js:980:5)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "The operation should not update focusNode")
    at assertSelectionNoChange ( /selection/common.js:982:5)
Pass
assert_equals(0, 0, "The operation should not update focusOffset")
    at assertSelectionNoChange ( /selection/common.js:984:5)
Pass
assert_equals(object "", object "", "The operation should not replace a registered Range")
    at assertSelectionNoChange ( /selection/common.js:988:5)
Passextend() with range 5 [paras[1].firstChild, 0, paras[1].firstChild, 0] and point 24 [document.documentElement, -1]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "Sanity check: startContainer must be correct")
    at testExtend ( /selection/extend.js:80:5)
Pass
assert_equals(0, 0, "Sanity check: startOffset must be correct")
    at testExtend ( /selection/extend.js:82:5)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "Sanity check: endContainer must be correct")
    at testExtend ( /selection/extend.js:84:5)
Pass
assert_equals(0, 0, "Sanity check: endOffset must be correct")
    at testExtend ( /selection/extend.js:86:5)
Pass
assert_throws_dom("INDEX_SIZE_ERR", function "function() {             selection.extend(node, offset);         }", "extend() to an offset that's greater than node length (2) must throw IndexSizeError")
    at testExtend ( /selection/extend.js:117:9)
Passextend() with range 5 [paras[1].firstChild, 0, paras[1].firstChild, 0] and point 25 [document.documentElement, 0]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "Sanity check: startContainer must be correct")
    at testExtend ( /selection/extend.js:80:5)
Pass
assert_equals(0, 0, "Sanity check: startOffset must be correct")
    at testExtend ( /selection/extend.js:82:5)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "Sanity check: endContainer must be correct")
    at testExtend ( /selection/extend.js:84:5)
Pass
assert_equals(0, 0, "Sanity check: endOffset must be correct")
    at testExtend ( /selection/extend.js:86:5)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "anchorNode must not change if the node passed to extend() has the same root as the original range")
    at testExtend ( /selection/extend.js:145:9)
Pass
assert_equals(0, 0, "anchorOffset must not change if the node passed to extend() has the same root as the original range")
    at testExtend ( /selection/extend.js:147:9)
Pass
assert_equals(Element node <html><head><title>Selection extend() tests</title> <meta..., Element node <html><head><title>Selection extend() tests</title> <meta..., "focusNode must be the node passed to extend()")
    at testExtend ( /selection/extend.js:155:5)
Pass
assert_equals(0, 0, "focusOffset must be the offset passed to extend()")
    at testExtend ( /selection/extend.js:157:5)
Pass
assert_not_equals(object "Selection extend() tests   Äb̈c̈d̈ëf̈g̈ḧ ", object "", "extend() must replace any existing range with a new one, not mutate the existing one")
    at testExtend ( /selection/extend.js:159:5)
Passextend() with range 5 [paras[1].firstChild, 0, paras[1].firstChild, 0] and point 26 [document.documentElement, 1]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "Sanity check: startContainer must be correct")
    at testExtend ( /selection/extend.js:80:5)
Pass
assert_equals(0, 0, "Sanity check: startOffset must be correct")
    at testExtend ( /selection/extend.js:82:5)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "Sanity check: endContainer must be correct")
    at testExtend ( /selection/extend.js:84:5)
Pass
assert_equals(0, 0, "Sanity check: endOffset must be correct")
    at testExtend ( /selection/extend.js:86:5)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "anchorNode must not change if the node passed to extend() has the same root as the original range")
    at testExtend ( /selection/extend.js:145:9)
Pass
assert_equals(0, 0, "anchorOffset must not change if the node passed to extend() has the same root as the original range")
    at testExtend ( /selection/extend.js:147:9)
Pass
assert_equals(Element node <html><head><title>Selection extend() tests</title> <meta..., Element node <html><head><title>Selection extend() tests</title> <meta..., "focusNode must be the node passed to extend()")
    at testExtend ( /selection/extend.js:155:5)
Pass
assert_equals(1, 1, "focusOffset must be the offset passed to extend()")
    at testExtend ( /selection/extend.js:157:5)
Pass
assert_not_equals(object "Äb̈c̈d̈ëf̈g̈ḧ ", object "", "extend() must replace any existing range with a new one, not mutate the existing one")
    at testExtend ( /selection/extend.js:159:5)
Passextend() with range 5 [paras[1].firstChild, 0, paras[1].firstChild, 0] and point 27 [document.documentElement, 2]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "Sanity check: startContainer must be correct")
    at testExtend ( /selection/extend.js:80:5)
Pass
assert_equals(0, 0, "Sanity check: startOffset must be correct")
    at testExtend ( /selection/extend.js:82:5)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "Sanity check: endContainer must be correct")
    at testExtend ( /selection/extend.js:84:5)
Pass
assert_equals(0, 0, "Sanity check: endOffset must be correct")
    at testExtend ( /selection/extend.js:86:5)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "anchorNode must not change if the node passed to extend() has the same root as the original range")
    at testExtend ( /selection/extend.js:145:9)
Pass
assert_equals(0, 0, "anchorOffset must not change if the node passed to extend() has the same root as the original range")
    at testExtend ( /selection/extend.js:147:9)
Pass
assert_equals(Element node <html><head><title>Selection extend() tests</title> <meta..., Element node <html><head><title>Selection extend() tests</title> <meta..., "focusNode must be the node passed to extend()")
    at testExtend ( /selection/extend.js:155:5)
Pass
assert_equals(2, 2, "focusOffset must be the offset passed to extend()")
    at testExtend ( /selection/extend.js:157:5)
Pass
assert_not_equals(object "Ijklmnop QrstuvwxYzabcdefGhijklmn     Running, 600 complete, 1 remain  "use strict";  testExtendSubSet(0, 20); testDiv.style.display = "none"; ", object "", "extend() must replace any existing range with a new one, not mutate the existing one")
    at testExtend ( /selection/extend.js:159:5)
Passextend() with range 5 [paras[1].firstChild, 0, paras[1].firstChild, 0] and point 28 [document.documentElement, 7]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "Sanity check: startContainer must be correct")
    at testExtend ( /selection/extend.js:80:5)
Pass
assert_equals(0, 0, "Sanity check: startOffset must be correct")
    at testExtend ( /selection/extend.js:82:5)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "Sanity check: endContainer must be correct")
    at testExtend ( /selection/extend.js:84:5)
Pass
assert_equals(0, 0, "Sanity check: endOffset must be correct")
    at testExtend ( /selection/extend.js:86:5)
Pass
assert_throws_dom("INDEX_SIZE_ERR", function "function() {             selection.extend(node, offset);         }", "extend() to an offset that's greater than node length (2) must throw IndexSizeError")
    at testExtend ( /selection/extend.js:117:9)
Passextend() with range 5 [paras[1].firstChild, 0, paras[1].firstChild, 0] and point 29 [document.head, 1]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "Sanity check: startContainer must be correct")
    at testExtend ( /selection/extend.js:80:5)
Pass
assert_equals(0, 0, "Sanity check: startOffset must be correct")
    at testExtend ( /selection/extend.js:82:5)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "Sanity check: endContainer must be correct")
    at testExtend ( /selection/extend.js:84:5)
Pass
assert_equals(0, 0, "Sanity check: endOffset must be correct")
    at testExtend ( /selection/extend.js:86:5)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "anchorNode must not change if the node passed to extend() has the same root as the original range")
    at testExtend ( /selection/extend.js:145:9)
Pass
assert_equals(0, 0, "anchorOffset must not change if the node passed to extend() has the same root as the original range")
    at testExtend ( /selection/extend.js:147:9)
Pass
assert_equals(Element node <head><title>Selection extend() tests</title> <meta chars..., Element node <head><title>Selection extend() tests</title> <meta chars..., "focusNode must be the node passed to extend()")
    at testExtend ( /selection/extend.js:155:5)
Pass
assert_equals(1, 1, "focusOffset must be the offset passed to extend()")
    at testExtend ( /selection/extend.js:157:5)
Pass
assert_not_equals(object "   Äb̈c̈d̈ëf̈g̈ḧ ", object "", "extend() must replace any existing range with a new one, not mutate the existing one")
    at testExtend ( /selection/extend.js:159:5)
Passextend() with range 5 [paras[1].firstChild, 0, paras[1].firstChild, 0] and point 30 [document.body, 3]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "Sanity check: startContainer must be correct")
    at testExtend ( /selection/extend.js:80:5)
Pass
assert_equals(0, 0, "Sanity check: startOffset must be correct")
    at testExtend ( /selection/extend.js:82:5)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "Sanity check: endContainer must be correct")
    at testExtend ( /selection/extend.js:84:5)
Pass
assert_equals(0, 0, "Sanity check: endOffset must be correct")
    at testExtend ( /selection/extend.js:86:5)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "anchorNode must not change if the node passed to extend() has the same root as the original range")
    at testExtend ( /selection/extend.js:145:9)
Pass
assert_equals(0, 0, "anchorOffset must not change if the node passed to extend() has the same root as the original range")
    at testExtend ( /selection/extend.js:147:9)
Pass
assert_equals(Element node <body><div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ </p><p id..., Element node <body><div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ </p><p id..., "focusNode must be the node passed to extend()")
    at testExtend ( /selection/extend.js:155:5)
Pass
assert_equals(3, 3, "focusOffset must be the offset passed to extend()")
    at testExtend ( /selection/extend.js:157:5)
Pass
assert_not_equals(object "Ijklmnop QrstuvwxYzabcdefGhijklmn ", object "", "extend() must replace any existing range with a new one, not mutate the existing one")
    at testExtend ( /selection/extend.js:159:5)
Passextend() with range 5 [paras[1].firstChild, 0, paras[1].firstChild, 0] and point 31 [foreignDoc.documentElement, 0]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(1, 1, "The operation should not add Range")
    at assertSelectionNoChange ( /selection/common.js:976:5)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "The operation should not update anchorNode")
    at assertSelectionNoChange ( /selection/common.js:978:5)
Pass
assert_equals(0, 0, "The operation should not update anchorOffset")
    at assertSelectionNoChange ( /selection/common.js:980:5)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "The operation should not update focusNode")
    at assertSelectionNoChange ( /selection/common.js:982:5)
Pass
assert_equals(0, 0, "The operation should not update focusOffset")
    at assertSelectionNoChange ( /selection/common.js:984:5)
Pass
assert_equals(object "", object "", "The operation should not replace a registered Range")
    at assertSelectionNoChange ( /selection/common.js:988:5)
Passextend() with range 5 [paras[1].firstChild, 0, paras[1].firstChild, 0] and point 32 [foreignDoc.documentElement, 1]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(1, 1, "The operation should not add Range")
    at assertSelectionNoChange ( /selection/common.js:976:5)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "The operation should not update anchorNode")
    at assertSelectionNoChange ( /selection/common.js:978:5)
Pass
assert_equals(0, 0, "The operation should not update anchorOffset")
    at assertSelectionNoChange ( /selection/common.js:980:5)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "The operation should not update focusNode")
    at assertSelectionNoChange ( /selection/common.js:982:5)
Pass
assert_equals(0, 0, "The operation should not update focusOffset")
    at assertSelectionNoChange ( /selection/common.js:984:5)
Pass
assert_equals(object "", object "", "The operation should not replace a registered Range")
    at assertSelectionNoChange ( /selection/common.js:988:5)
Passextend() with range 5 [paras[1].firstChild, 0, paras[1].firstChild, 0] and point 33 [foreignDoc.head, 0]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(1, 1, "The operation should not add Range")
    at assertSelectionNoChange ( /selection/common.js:976:5)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "The operation should not update anchorNode")
    at assertSelectionNoChange ( /selection/common.js:978:5)
Pass
assert_equals(0, 0, "The operation should not update anchorOffset")
    at assertSelectionNoChange ( /selection/common.js:980:5)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "The operation should not update focusNode")
    at assertSelectionNoChange ( /selection/common.js:982:5)
Pass
assert_equals(0, 0, "The operation should not update focusOffset")
    at assertSelectionNoChange ( /selection/common.js:984:5)
Pass
assert_equals(object "", object "", "The operation should not replace a registered Range")
    at assertSelectionNoChange ( /selection/common.js:988:5)
Passextend() with range 5 [paras[1].firstChild, 0, paras[1].firstChild, 0] and point 34 [foreignDoc.body, 1]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(1, 1, "The operation should not add Range")
    at assertSelectionNoChange ( /selection/common.js:976:5)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "The operation should not update anchorNode")
    at assertSelectionNoChange ( /selection/common.js:978:5)
Pass
assert_equals(0, 0, "The operation should not update anchorOffset")
    at assertSelectionNoChange ( /selection/common.js:980:5)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "The operation should not update focusNode")
    at assertSelectionNoChange ( /selection/common.js:982:5)
Pass
assert_equals(0, 0, "The operation should not update focusOffset")
    at assertSelectionNoChange ( /selection/common.js:984:5)
Pass
assert_equals(object "", object "", "The operation should not replace a registered Range")
    at assertSelectionNoChange ( /selection/common.js:988:5)
Passextend() with range 5 [paras[1].firstChild, 0, paras[1].firstChild, 0] and point 35 [paras[0], 0]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "Sanity check: startContainer must be correct")
    at testExtend ( /selection/extend.js:80:5)
Pass
assert_equals(0, 0, "Sanity check: startOffset must be correct")
    at testExtend ( /selection/extend.js:82:5)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "Sanity check: endContainer must be correct")
    at testExtend ( /selection/extend.js:84:5)
Pass
assert_equals(0, 0, "Sanity check: endOffset must be correct")
    at testExtend ( /selection/extend.js:86:5)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "anchorNode must not change if the node passed to extend() has the same root as the original range")
    at testExtend ( /selection/extend.js:145:9)
Pass
assert_equals(0, 0, "anchorOffset must not change if the node passed to extend() has the same root as the original range")
    at testExtend ( /selection/extend.js:147:9)
Pass
assert_equals(Element node <p id="a">Äb̈c̈d̈ëf̈g̈ḧ </p>, Element node <p id="a">Äb̈c̈d̈ëf̈g̈ḧ </p>, "focusNode must be the node passed to extend()")
    at testExtend ( /selection/extend.js:155:5)
Pass
assert_equals(0, 0, "focusOffset must be the offset passed to extend()")
    at testExtend ( /selection/extend.js:157:5)
Pass
assert_not_equals(object "Äb̈c̈d̈ëf̈g̈ḧ ", object "", "extend() must replace any existing range with a new one, not mutate the existing one")
    at testExtend ( /selection/extend.js:159:5)
Passextend() with range 5 [paras[1].firstChild, 0, paras[1].firstChild, 0] and point 36 [paras[0], 1]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "Sanity check: startContainer must be correct")
    at testExtend ( /selection/extend.js:80:5)
Pass
assert_equals(0, 0, "Sanity check: startOffset must be correct")
    at testExtend ( /selection/extend.js:82:5)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "Sanity check: endContainer must be correct")
    at testExtend ( /selection/extend.js:84:5)
Pass
assert_equals(0, 0, "Sanity check: endOffset must be correct")
    at testExtend ( /selection/extend.js:86:5)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "anchorNode must not change if the node passed to extend() has the same root as the original range")
    at testExtend ( /selection/extend.js:145:9)
Pass
assert_equals(0, 0, "anchorOffset must not change if the node passed to extend() has the same root as the original range")
    at testExtend ( /selection/extend.js:147:9)
Pass
assert_equals(Element node <p id="a">Äb̈c̈d̈ëf̈g̈ḧ </p>, Element node <p id="a">Äb̈c̈d̈ëf̈g̈ḧ </p>, "focusNode must be the node passed to extend()")
    at testExtend ( /selection/extend.js:155:5)
Pass
assert_equals(1, 1, "focusOffset must be the offset passed to extend()")
    at testExtend ( /selection/extend.js:157:5)
Pass
assert_not_equals(object "", object "", "extend() must replace any existing range with a new one, not mutate the existing one")
    at testExtend ( /selection/extend.js:159:5)
Passextend() with range 5 [paras[1].firstChild, 0, paras[1].firstChild, 0] and point 37 [paras[0], 2]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "Sanity check: startContainer must be correct")
    at testExtend ( /selection/extend.js:80:5)
Pass
assert_equals(0, 0, "Sanity check: startOffset must be correct")
    at testExtend ( /selection/extend.js:82:5)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "Sanity check: endContainer must be correct")
    at testExtend ( /selection/extend.js:84:5)
Pass
assert_equals(0, 0, "Sanity check: endOffset must be correct")
    at testExtend ( /selection/extend.js:86:5)
Pass
assert_throws_dom("INDEX_SIZE_ERR", function "function() {             selection.extend(node, offset);         }", "extend() to an offset that's greater than node length (1) must throw IndexSizeError")
    at testExtend ( /selection/extend.js:117:9)
Passextend() with range 5 [paras[1].firstChild, 0, paras[1].firstChild, 0] and point 38 [paras[1], 0]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "Sanity check: startContainer must be correct")
    at testExtend ( /selection/extend.js:80:5)
Pass
assert_equals(0, 0, "Sanity check: startOffset must be correct")
    at testExtend ( /selection/extend.js:82:5)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "Sanity check: endContainer must be correct")
    at testExtend ( /selection/extend.js:84:5)
Pass
assert_equals(0, 0, "Sanity check: endOffset must be correct")
    at testExtend ( /selection/extend.js:86:5)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "anchorNode must not change if the node passed to extend() has the same root as the original range")
    at testExtend ( /selection/extend.js:145:9)
Pass
assert_equals(0, 0, "anchorOffset must not change if the node passed to extend() has the same root as the original range")
    at testExtend ( /selection/extend.js:147:9)
Pass
assert_equals(Element node <p id="b" style="display:none">Ijklmnop </p>, Element node <p id="b" style="display:none">Ijklmnop </p>, "focusNode must be the node passed to extend()")
    at testExtend ( /selection/extend.js:155:5)
Pass
assert_equals(0, 0, "focusOffset must be the offset passed to extend()")
    at testExtend ( /selection/extend.js:157:5)
Pass
assert_not_equals(object "", object "", "extend() must replace any existing range with a new one, not mutate the existing one")
    at testExtend ( /selection/extend.js:159:5)
Passextend() with range 5 [paras[1].firstChild, 0, paras[1].firstChild, 0] and point 39 [paras[1], 1]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "Sanity check: startContainer must be correct")
    at testExtend ( /selection/extend.js:80:5)
Pass
assert_equals(0, 0, "Sanity check: startOffset must be correct")
    at testExtend ( /selection/extend.js:82:5)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "Sanity check: endContainer must be correct")
    at testExtend ( /selection/extend.js:84:5)
Pass
assert_equals(0, 0, "Sanity check: endOffset must be correct")
    at testExtend ( /selection/extend.js:86:5)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "anchorNode must not change if the node passed to extend() has the same root as the original range")
    at testExtend ( /selection/extend.js:145:9)
Pass
assert_equals(0, 0, "anchorOffset must not change if the node passed to extend() has the same root as the original range")
    at testExtend ( /selection/extend.js:147:9)
Pass
assert_equals(Element node <p id="b" style="display:none">Ijklmnop </p>, Element node <p id="b" style="display:none">Ijklmnop </p>, "focusNode must be the node passed to extend()")
    at testExtend ( /selection/extend.js:155:5)
Pass
assert_equals(1, 1, "focusOffset must be the offset passed to extend()")
    at testExtend ( /selection/extend.js:157:5)
Pass
assert_not_equals(object "Ijklmnop ", object "", "extend() must replace any existing range with a new one, not mutate the existing one")
    at testExtend ( /selection/extend.js:159:5)
Passextend() with range 5 [paras[1].firstChild, 0, paras[1].firstChild, 0] and point 40 [paras[1], 2]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "Sanity check: startContainer must be correct")
    at testExtend ( /selection/extend.js:80:5)
Pass
assert_equals(0, 0, "Sanity check: startOffset must be correct")
    at testExtend ( /selection/extend.js:82:5)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "Sanity check: endContainer must be correct")
    at testExtend ( /selection/extend.js:84:5)
Pass
assert_equals(0, 0, "Sanity check: endOffset must be correct")
    at testExtend ( /selection/extend.js:86:5)
Pass
assert_throws_dom("INDEX_SIZE_ERR", function "function() {             selection.extend(node, offset);         }", "extend() to an offset that's greater than node length (1) must throw IndexSizeError")
    at testExtend ( /selection/extend.js:117:9)
Passextend() with range 5 [paras[1].firstChild, 0, paras[1].firstChild, 0] and point 41 [detachedPara1, 0]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(1, 1, "The operation should not add Range")
    at assertSelectionNoChange ( /selection/common.js:976:5)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "The operation should not update anchorNode")
    at assertSelectionNoChange ( /selection/common.js:978:5)
Pass
assert_equals(0, 0, "The operation should not update anchorOffset")
    at assertSelectionNoChange ( /selection/common.js:980:5)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "The operation should not update focusNode")
    at assertSelectionNoChange ( /selection/common.js:982:5)
Pass
assert_equals(0, 0, "The operation should not update focusOffset")
    at assertSelectionNoChange ( /selection/common.js:984:5)
Pass
assert_equals(object "", object "", "The operation should not replace a registered Range")
    at assertSelectionNoChange ( /selection/common.js:988:5)
Passextend() with range 5 [paras[1].firstChild, 0, paras[1].firstChild, 0] and point 42 [detachedPara1, 1]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(1, 1, "The operation should not add Range")
    at assertSelectionNoChange ( /selection/common.js:976:5)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "The operation should not update anchorNode")
    at assertSelectionNoChange ( /selection/common.js:978:5)
Pass
assert_equals(0, 0, "The operation should not update anchorOffset")
    at assertSelectionNoChange ( /selection/common.js:980:5)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "The operation should not update focusNode")
    at assertSelectionNoChange ( /selection/common.js:982:5)
Pass
assert_equals(0, 0, "The operation should not update focusOffset")
    at assertSelectionNoChange ( /selection/common.js:984:5)
Pass
assert_equals(object "", object "", "The operation should not replace a registered Range")
    at assertSelectionNoChange ( /selection/common.js:988:5)
Passextend() with range 5 [paras[1].firstChild, 0, paras[1].firstChild, 0] and point 43 [testDiv, 0]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "Sanity check: startContainer must be correct")
    at testExtend ( /selection/extend.js:80:5)
Pass
assert_equals(0, 0, "Sanity check: startOffset must be correct")
    at testExtend ( /selection/extend.js:82:5)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "Sanity check: endContainer must be correct")
    at testExtend ( /selection/extend.js:84:5)
Pass
assert_equals(0, 0, "Sanity check: endOffset must be correct")
    at testExtend ( /selection/extend.js:86:5)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "anchorNode must not change if the node passed to extend() has the same root as the original range")
    at testExtend ( /selection/extend.js:145:9)
Pass
assert_equals(0, 0, "anchorOffset must not change if the node passed to extend() has the same root as the original range")
    at testExtend ( /selection/extend.js:147:9)
Pass
assert_equals(Element node <div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ </p><p id="b" s..., Element node <div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ </p><p id="b" s..., "focusNode must be the node passed to extend()")
    at testExtend ( /selection/extend.js:155:5)
Pass
assert_equals(0, 0, "focusOffset must be the offset passed to extend()")
    at testExtend ( /selection/extend.js:157:5)
Pass
assert_not_equals(object "Äb̈c̈d̈ëf̈g̈ḧ ", object "", "extend() must replace any existing range with a new one, not mutate the existing one")
    at testExtend ( /selection/extend.js:159:5)
Passextend() with range 5 [paras[1].firstChild, 0, paras[1].firstChild, 0] and point 44 [testDiv, 3]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "Sanity check: startContainer must be correct")
    at testExtend ( /selection/extend.js:80:5)
Pass
assert_equals(0, 0, "Sanity check: startOffset must be correct")
    at testExtend ( /selection/extend.js:82:5)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "Sanity check: endContainer must be correct")
    at testExtend ( /selection/extend.js:84:5)
Pass
assert_equals(0, 0, "Sanity check: endOffset must be correct")
    at testExtend ( /selection/extend.js:86:5)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "anchorNode must not change if the node passed to extend() has the same root as the original range")
    at testExtend ( /selection/extend.js:145:9)
Pass
assert_equals(0, 0, "anchorOffset must not change if the node passed to extend() has the same root as the original range")
    at testExtend ( /selection/extend.js:147:9)
Pass
assert_equals(Element node <div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ </p><p id="b" s..., Element node <div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ </p><p id="b" s..., "focusNode must be the node passed to extend()")
    at testExtend ( /selection/extend.js:155:5)
Pass
assert_equals(3, 3, "focusOffset must be the offset passed to extend()")
    at testExtend ( /selection/extend.js:157:5)
Pass
assert_not_equals(object "Ijklmnop Qrstuvwx", object "", "extend() must replace any existing range with a new one, not mutate the existing one")
    at testExtend ( /selection/extend.js:159:5)
Passextend() with range 5 [paras[1].firstChild, 0, paras[1].firstChild, 0] and point 45 [document, -1]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "Sanity check: startContainer must be correct")
    at testExtend ( /selection/extend.js:80:5)
Pass
assert_equals(0, 0, "Sanity check: startOffset must be correct")
    at testExtend ( /selection/extend.js:82:5)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "Sanity check: endContainer must be correct")
    at testExtend ( /selection/extend.js:84:5)
Pass
assert_equals(0, 0, "Sanity check: endOffset must be correct")
    at testExtend ( /selection/extend.js:86:5)
Pass
assert_throws_dom("INDEX_SIZE_ERR", function "function() {             selection.extend(node, offset);         }", "extend() to an offset that's greater than node length (2) must throw IndexSizeError")
    at testExtend ( /selection/extend.js:117:9)
Passextend() with range 5 [paras[1].firstChild, 0, paras[1].firstChild, 0] and point 46 [document, 0]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "Sanity check: startContainer must be correct")
    at testExtend ( /selection/extend.js:80:5)
Pass
assert_equals(0, 0, "Sanity check: startOffset must be correct")
    at testExtend ( /selection/extend.js:82:5)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "Sanity check: endContainer must be correct")
    at testExtend ( /selection/extend.js:84:5)
Pass
assert_equals(0, 0, "Sanity check: endOffset must be correct")
    at testExtend ( /selection/extend.js:86:5)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "anchorNode must not change if the node passed to extend() has the same root as the original range")
    at testExtend ( /selection/extend.js:145:9)
Pass
assert_equals(0, 0, "anchorOffset must not change if the node passed to extend() has the same root as the original range")
    at testExtend ( /selection/extend.js:147:9)
Pass
assert_equals(Document node with 2 children, Document node with 2 children, "focusNode must be the node passed to extend()")
    at testExtend ( /selection/extend.js:155:5)
Pass
assert_equals(0, 0, "focusOffset must be the offset passed to extend()")
    at testExtend ( /selection/extend.js:157:5)
Pass
assert_not_equals(object "Selection extend() tests   Äb̈c̈d̈ëf̈g̈ḧ ", object "", "extend() must replace any existing range with a new one, not mutate the existing one")
    at testExtend ( /selection/extend.js:159:5)
Passextend() with range 5 [paras[1].firstChild, 0, paras[1].firstChild, 0] and point 47 [document, 1]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "Sanity check: startContainer must be correct")
    at testExtend ( /selection/extend.js:80:5)
Pass
assert_equals(0, 0, "Sanity check: startOffset must be correct")
    at testExtend ( /selection/extend.js:82:5)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "Sanity check: endContainer must be correct")
    at testExtend ( /selection/extend.js:84:5)
Pass
assert_equals(0, 0, "Sanity check: endOffset must be correct")
    at testExtend ( /selection/extend.js:86:5)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "anchorNode must not change if the node passed to extend() has the same root as the original range")
    at testExtend ( /selection/extend.js:145:9)
Pass
assert_equals(0, 0, "anchorOffset must not change if the node passed to extend() has the same root as the original range")
    at testExtend ( /selection/extend.js:147:9)
Pass
assert_equals(Document node with 2 children, Document node with 2 children, "focusNode must be the node passed to extend()")
    at testExtend ( /selection/extend.js:155:5)
Pass
assert_equals(1, 1, "focusOffset must be the offset passed to extend()")
    at testExtend ( /selection/extend.js:157:5)
Pass
assert_not_equals(object "Selection extend() tests   Äb̈c̈d̈ëf̈g̈ḧ ", object "", "extend() must replace any existing range with a new one, not mutate the existing one")
    at testExtend ( /selection/extend.js:159:5)
Passextend() with range 5 [paras[1].firstChild, 0, paras[1].firstChild, 0] and point 48 [document, 2]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "Sanity check: startContainer must be correct")
    at testExtend ( /selection/extend.js:80:5)
Pass
assert_equals(0, 0, "Sanity check: startOffset must be correct")
    at testExtend ( /selection/extend.js:82:5)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "Sanity check: endContainer must be correct")
    at testExtend ( /selection/extend.js:84:5)
Pass
assert_equals(0, 0, "Sanity check: endOffset must be correct")
    at testExtend ( /selection/extend.js:86:5)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "anchorNode must not change if the node passed to extend() has the same root as the original range")
    at testExtend ( /selection/extend.js:145:9)
Pass
assert_equals(0, 0, "anchorOffset must not change if the node passed to extend() has the same root as the original range")
    at testExtend ( /selection/extend.js:147:9)
Pass
assert_equals(Document node with 2 children, Document node with 2 children, "focusNode must be the node passed to extend()")
    at testExtend ( /selection/extend.js:155:5)
Pass
assert_equals(2, 2, "focusOffset must be the offset passed to extend()")
    at testExtend ( /selection/extend.js:157:5)
Pass
assert_not_equals(object "Ijklmnop QrstuvwxYzabcdefGhijklmn     Running, 600 complete, 1 remain  "use strict";  testExtendSubSet(0, 20); testDiv.style.display = "none"; ", object "", "extend() must replace any existing range with a new one, not mutate the existing one")
    at testExtend ( /selection/extend.js:159:5)
Passextend() with range 5 [paras[1].firstChild, 0, paras[1].firstChild, 0] and point 49 [document, 3]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "Sanity check: startContainer must be correct")
    at testExtend ( /selection/extend.js:80:5)
Pass
assert_equals(0, 0, "Sanity check: startOffset must be correct")
    at testExtend ( /selection/extend.js:82:5)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "Sanity check: endContainer must be correct")
    at testExtend ( /selection/extend.js:84:5)
Pass
assert_equals(0, 0, "Sanity check: endOffset must be correct")
    at testExtend ( /selection/extend.js:86:5)
Pass
assert_throws_dom("INDEX_SIZE_ERR", function "function() {             selection.extend(node, offset);         }", "extend() to an offset that's greater than node length (2) must throw IndexSizeError")
    at testExtend ( /selection/extend.js:117:9)
Passextend() with range 5 [paras[1].firstChild, 0, paras[1].firstChild, 0] and point 50 [comment, -1]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "Sanity check: startContainer must be correct")
    at testExtend ( /selection/extend.js:80:5)
Pass
assert_equals(0, 0, "Sanity check: startOffset must be correct")
    at testExtend ( /selection/extend.js:82:5)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "Sanity check: endContainer must be correct")
    at testExtend ( /selection/extend.js:84:5)
Pass
assert_equals(0, 0, "Sanity check: endOffset must be correct")
    at testExtend ( /selection/extend.js:86:5)
Pass
assert_throws_dom("INDEX_SIZE_ERR", function "function() {             selection.extend(node, offset);         }", "extend() to an offset that's greater than node length (14) must throw IndexSizeError")
    at testExtend ( /selection/extend.js:117:9)
Passextend() with range 5 [paras[1].firstChild, 0, paras[1].firstChild, 0] and point 51 [comment, 0]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "Sanity check: startContainer must be correct")
    at testExtend ( /selection/extend.js:80:5)
Pass
assert_equals(0, 0, "Sanity check: startOffset must be correct")
    at testExtend ( /selection/extend.js:82:5)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "Sanity check: endContainer must be correct")
    at testExtend ( /selection/extend.js:84:5)
Pass
assert_equals(0, 0, "Sanity check: endOffset must be correct")
    at testExtend ( /selection/extend.js:86:5)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "anchorNode must not change if the node passed to extend() has the same root as the original range")
    at testExtend ( /selection/extend.js:145:9)
Pass
assert_equals(0, 0, "anchorOffset must not change if the node passed to extend() has the same root as the original range")
    at testExtend ( /selection/extend.js:147:9)
Pass
assert_equals(Comment node <!--Alphabet soup?-->, Comment node <!--Alphabet soup?-->, "focusNode must be the node passed to extend()")
    at testExtend ( /selection/extend.js:155:5)
Pass
assert_equals(0, 0, "focusOffset must be the offset passed to extend()")
    at testExtend ( /selection/extend.js:157:5)
Pass
assert_not_equals(object "Ijklmnop QrstuvwxYzabcdefGhijklmn", object "", "extend() must replace any existing range with a new one, not mutate the existing one")
    at testExtend ( /selection/extend.js:159:5)
Passextend() with range 5 [paras[1].firstChild, 0, paras[1].firstChild, 0] and point 52 [comment, 4]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "Sanity check: startContainer must be correct")
    at testExtend ( /selection/extend.js:80:5)
Pass
assert_equals(0, 0, "Sanity check: startOffset must be correct")
    at testExtend ( /selection/extend.js:82:5)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "Sanity check: endContainer must be correct")
    at testExtend ( /selection/extend.js:84:5)
Pass
assert_equals(0, 0, "Sanity check: endOffset must be correct")
    at testExtend ( /selection/extend.js:86:5)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "anchorNode must not change if the node passed to extend() has the same root as the original range")
    at testExtend ( /selection/extend.js:145:9)
Pass
assert_equals(0, 0, "anchorOffset must not change if the node passed to extend() has the same root as the original range")
    at testExtend ( /selection/extend.js:147:9)
Pass
assert_equals(Comment node <!--Alphabet soup?-->, Comment node <!--Alphabet soup?-->, "focusNode must be the node passed to extend()")
    at testExtend ( /selection/extend.js:155:5)
Pass
assert_equals(4, 4, "focusOffset must be the offset passed to extend()")
    at testExtend ( /selection/extend.js:157:5)
Pass
assert_not_equals(object "Ijklmnop QrstuvwxYzabcdefGhijklmn", object "", "extend() must replace any existing range with a new one, not mutate the existing one")
    at testExtend ( /selection/extend.js:159:5)
Passextend() with range 5 [paras[1].firstChild, 0, paras[1].firstChild, 0] and point 53 [comment, 96]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "Sanity check: startContainer must be correct")
    at testExtend ( /selection/extend.js:80:5)
Pass
assert_equals(0, 0, "Sanity check: startOffset must be correct")
    at testExtend ( /selection/extend.js:82:5)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "Sanity check: endContainer must be correct")
    at testExtend ( /selection/extend.js:84:5)
Pass
assert_equals(0, 0, "Sanity check: endOffset must be correct")
    at testExtend ( /selection/extend.js:86:5)
Pass
assert_throws_dom("INDEX_SIZE_ERR", function "function() {             selection.extend(node, offset);         }", "extend() to an offset that's greater than node length (14) must throw IndexSizeError")
    at testExtend ( /selection/extend.js:117:9)
Passextend() with range 5 [paras[1].firstChild, 0, paras[1].firstChild, 0] and point 54 [foreignDoc, 0]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(1, 1, "The operation should not add Range")
    at assertSelectionNoChange ( /selection/common.js:976:5)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "The operation should not update anchorNode")
    at assertSelectionNoChange ( /selection/common.js:978:5)
Pass
assert_equals(0, 0, "The operation should not update anchorOffset")
    at assertSelectionNoChange ( /selection/common.js:980:5)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "The operation should not update focusNode")
    at assertSelectionNoChange ( /selection/common.js:982:5)
Pass
assert_equals(0, 0, "The operation should not update focusOffset")
    at assertSelectionNoChange ( /selection/common.js:984:5)
Pass
assert_equals(object "", object "", "The operation should not replace a registered Range")
    at assertSelectionNoChange ( /selection/common.js:988:5)
Passextend() with range 5 [paras[1].firstChild, 0, paras[1].firstChild, 0] and point 55 [foreignDoc, 1]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(1, 1, "The operation should not add Range")
    at assertSelectionNoChange ( /selection/common.js:976:5)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "The operation should not update anchorNode")
    at assertSelectionNoChange ( /selection/common.js:978:5)
Pass
assert_equals(0, 0, "The operation should not update anchorOffset")
    at assertSelectionNoChange ( /selection/common.js:980:5)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "The operation should not update focusNode")
    at assertSelectionNoChange ( /selection/common.js:982:5)
Pass
assert_equals(0, 0, "The operation should not update focusOffset")
    at assertSelectionNoChange ( /selection/common.js:984:5)
Pass
assert_equals(object "", object "", "The operation should not replace a registered Range")
    at assertSelectionNoChange ( /selection/common.js:988:5)
Passextend() with range 5 [paras[1].firstChild, 0, paras[1].firstChild, 0] and point 56 [foreignComment, 2]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(1, 1, "The operation should not add Range")
    at assertSelectionNoChange ( /selection/common.js:976:5)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "The operation should not update anchorNode")
    at assertSelectionNoChange ( /selection/common.js:978:5)
Pass
assert_equals(0, 0, "The operation should not update anchorOffset")
    at assertSelectionNoChange ( /selection/common.js:980:5)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "The operation should not update focusNode")
    at assertSelectionNoChange ( /selection/common.js:982:5)
Pass
assert_equals(0, 0, "The operation should not update focusOffset")
    at assertSelectionNoChange ( /selection/common.js:984:5)
Pass
assert_equals(object "", object "", "The operation should not replace a registered Range")
    at assertSelectionNoChange ( /selection/common.js:988:5)
Passextend() with range 5 [paras[1].firstChild, 0, paras[1].firstChild, 0] and point 57 [foreignTextNode, 0]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(1, 1, "The operation should not add Range")
    at assertSelectionNoChange ( /selection/common.js:976:5)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "The operation should not update anchorNode")
    at assertSelectionNoChange ( /selection/common.js:978:5)
Pass
assert_equals(0, 0, "The operation should not update anchorOffset")
    at assertSelectionNoChange ( /selection/common.js:980:5)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "The operation should not update focusNode")
    at assertSelectionNoChange ( /selection/common.js:982:5)
Pass
assert_equals(0, 0, "The operation should not update focusOffset")
    at assertSelectionNoChange ( /selection/common.js:984:5)
Pass
assert_equals(object "", object "", "The operation should not replace a registered Range")
    at assertSelectionNoChange ( /selection/common.js:988:5)
Passextend() with range 5 [paras[1].firstChild, 0, paras[1].firstChild, 0] and point 58 [foreignTextNode, 36]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(1, 1, "The operation should not add Range")
    at assertSelectionNoChange ( /selection/common.js:976:5)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "The operation should not update anchorNode")
    at assertSelectionNoChange ( /selection/common.js:978:5)
Pass
assert_equals(0, 0, "The operation should not update anchorOffset")
    at assertSelectionNoChange ( /selection/common.js:980:5)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "The operation should not update focusNode")
    at assertSelectionNoChange ( /selection/common.js:982:5)
Pass
assert_equals(0, 0, "The operation should not update focusOffset")
    at assertSelectionNoChange ( /selection/common.js:984:5)
Pass
assert_equals(object "", object "", "The operation should not replace a registered Range")
    at assertSelectionNoChange ( /selection/common.js:988:5)
Passextend() with range 5 [paras[1].firstChild, 0, paras[1].firstChild, 0] and point 59 [xmlDoc, -1]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(1, 1, "The operation should not add Range")
    at assertSelectionNoChange ( /selection/common.js:976:5)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "The operation should not update anchorNode")
    at assertSelectionNoChange ( /selection/common.js:978:5)
Pass
assert_equals(0, 0, "The operation should not update anchorOffset")
    at assertSelectionNoChange ( /selection/common.js:980:5)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "The operation should not update focusNode")
    at assertSelectionNoChange ( /selection/common.js:982:5)
Pass
assert_equals(0, 0, "The operation should not update focusOffset")
    at assertSelectionNoChange ( /selection/common.js:984:5)
Pass
assert_equals(object "", object "", "The operation should not replace a registered Range")
    at assertSelectionNoChange ( /selection/common.js:988:5)
Passextend() with range 5 [paras[1].firstChild, 0, paras[1].firstChild, 0] and point 60 [xmlDoc, 0]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(1, 1, "The operation should not add Range")
    at assertSelectionNoChange ( /selection/common.js:976:5)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "The operation should not update anchorNode")
    at assertSelectionNoChange ( /selection/common.js:978:5)
Pass
assert_equals(0, 0, "The operation should not update anchorOffset")
    at assertSelectionNoChange ( /selection/common.js:980:5)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "The operation should not update focusNode")
    at assertSelectionNoChange ( /selection/common.js:982:5)
Pass
assert_equals(0, 0, "The operation should not update focusOffset")
    at assertSelectionNoChange ( /selection/common.js:984:5)
Pass
assert_equals(object "", object "", "The operation should not replace a registered Range")
    at assertSelectionNoChange ( /selection/common.js:988:5)
Passextend() with range 5 [paras[1].firstChild, 0, paras[1].firstChild, 0] and point 61 [xmlDoc, 1]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(1, 1, "The operation should not add Range")
    at assertSelectionNoChange ( /selection/common.js:976:5)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "The operation should not update anchorNode")
    at assertSelectionNoChange ( /selection/common.js:978:5)
Pass
assert_equals(0, 0, "The operation should not update anchorOffset")
    at assertSelectionNoChange ( /selection/common.js:980:5)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "The operation should not update focusNode")
    at assertSelectionNoChange ( /selection/common.js:982:5)
Pass
assert_equals(0, 0, "The operation should not update focusOffset")
    at assertSelectionNoChange ( /selection/common.js:984:5)
Pass
assert_equals(object "", object "", "The operation should not replace a registered Range")
    at assertSelectionNoChange ( /selection/common.js:988:5)
Passextend() with range 5 [paras[1].firstChild, 0, paras[1].firstChild, 0] and point 62 [xmlDoc, 5]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(1, 1, "The operation should not add Range")
    at assertSelectionNoChange ( /selection/common.js:976:5)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "The operation should not update anchorNode")
    at assertSelectionNoChange ( /selection/common.js:978:5)
Pass
assert_equals(0, 0, "The operation should not update anchorOffset")
    at assertSelectionNoChange ( /selection/common.js:980:5)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "The operation should not update focusNode")
    at assertSelectionNoChange ( /selection/common.js:982:5)
Pass
assert_equals(0, 0, "The operation should not update focusOffset")
    at assertSelectionNoChange ( /selection/common.js:984:5)
Pass
assert_equals(object "", object "", "The operation should not replace a registered Range")
    at assertSelectionNoChange ( /selection/common.js:988:5)
Passextend() with range 5 [paras[1].firstChild, 0, paras[1].firstChild, 0] and point 63 [xmlComment, 0]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(1, 1, "The operation should not add Range")
    at assertSelectionNoChange ( /selection/common.js:976:5)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "The operation should not update anchorNode")
    at assertSelectionNoChange ( /selection/common.js:978:5)
Pass
assert_equals(0, 0, "The operation should not update anchorOffset")
    at assertSelectionNoChange ( /selection/common.js:980:5)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "The operation should not update focusNode")
    at assertSelectionNoChange ( /selection/common.js:982:5)
Pass
assert_equals(0, 0, "The operation should not update focusOffset")
    at assertSelectionNoChange ( /selection/common.js:984:5)
Pass
assert_equals(object "", object "", "The operation should not replace a registered Range")
    at assertSelectionNoChange ( /selection/common.js:988:5)
Passextend() with range 5 [paras[1].firstChild, 0, paras[1].firstChild, 0] and point 64 [xmlComment, 4]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(1, 1, "The operation should not add Range")
    at assertSelectionNoChange ( /selection/common.js:976:5)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "The operation should not update anchorNode")
    at assertSelectionNoChange ( /selection/common.js:978:5)
Pass
assert_equals(0, 0, "The operation should not update anchorOffset")
    at assertSelectionNoChange ( /selection/common.js:980:5)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "The operation should not update focusNode")
    at assertSelectionNoChange ( /selection/common.js:982:5)
Pass
assert_equals(0, 0, "The operation should not update focusOffset")
    at assertSelectionNoChange ( /selection/common.js:984:5)
Pass
assert_equals(object "", object "", "The operation should not replace a registered Range")
    at assertSelectionNoChange ( /selection/common.js:988:5)
Passextend() with range 5 [paras[1].firstChild, 0, paras[1].firstChild, 0] and point 65 [processingInstruction, 0]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(1, 1, "The operation should not add Range")
    at assertSelectionNoChange ( /selection/common.js:976:5)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "The operation should not update anchorNode")
    at assertSelectionNoChange ( /selection/common.js:978:5)
Pass
assert_equals(0, 0, "The operation should not update anchorOffset")
    at assertSelectionNoChange ( /selection/common.js:980:5)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "The operation should not update focusNode")
    at assertSelectionNoChange ( /selection/common.js:982:5)
Pass
assert_equals(0, 0, "The operation should not update focusOffset")
    at assertSelectionNoChange ( /selection/common.js:984:5)
Pass
assert_equals(object "", object "", "The operation should not replace a registered Range")
    at assertSelectionNoChange ( /selection/common.js:988:5)
Passextend() with range 5 [paras[1].firstChild, 0, paras[1].firstChild, 0] and point 66 [processingInstruction, 5]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(1, 1, "The operation should not add Range")
    at assertSelectionNoChange ( /selection/common.js:976:5)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "The operation should not update anchorNode")
    at assertSelectionNoChange ( /selection/common.js:978:5)
Pass
assert_equals(0, 0, "The operation should not update anchorOffset")
    at assertSelectionNoChange ( /selection/common.js:980:5)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "The operation should not update focusNode")
    at assertSelectionNoChange ( /selection/common.js:982:5)
Pass
assert_equals(0, 0, "The operation should not update focusOffset")
    at assertSelectionNoChange ( /selection/common.js:984:5)
Pass
assert_equals(object "", object "", "The operation should not replace a registered Range")
    at assertSelectionNoChange ( /selection/common.js:988:5)
Passextend() with range 5 [paras[1].firstChild, 0, paras[1].firstChild, 0] and point 67 [processingInstruction, 9]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(1, 1, "The operation should not add Range")
    at assertSelectionNoChange ( /selection/common.js:976:5)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "The operation should not update anchorNode")
    at assertSelectionNoChange ( /selection/common.js:978:5)
Pass
assert_equals(0, 0, "The operation should not update anchorOffset")
    at assertSelectionNoChange ( /selection/common.js:980:5)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "The operation should not update focusNode")
    at assertSelectionNoChange ( /selection/common.js:982:5)
Pass
assert_equals(0, 0, "The operation should not update focusOffset")
    at assertSelectionNoChange ( /selection/common.js:984:5)
Pass
assert_equals(object "", object "", "The operation should not replace a registered Range")
    at assertSelectionNoChange ( /selection/common.js:988:5)
Passextend() with range 5 [paras[1].firstChild, 0, paras[1].firstChild, 0] and point 68 [detachedTextNode, 0]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(1, 1, "The operation should not add Range")
    at assertSelectionNoChange ( /selection/common.js:976:5)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "The operation should not update anchorNode")
    at assertSelectionNoChange ( /selection/common.js:978:5)
Pass
assert_equals(0, 0, "The operation should not update anchorOffset")
    at assertSelectionNoChange ( /selection/common.js:980:5)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "The operation should not update focusNode")
    at assertSelectionNoChange ( /selection/common.js:982:5)
Pass
assert_equals(0, 0, "The operation should not update focusOffset")
    at assertSelectionNoChange ( /selection/common.js:984:5)
Pass
assert_equals(object "", object "", "The operation should not replace a registered Range")
    at assertSelectionNoChange ( /selection/common.js:988:5)
Passextend() with range 5 [paras[1].firstChild, 0, paras[1].firstChild, 0] and point 69 [detachedTextNode, 8]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(1, 1, "The operation should not add Range")
    at assertSelectionNoChange ( /selection/common.js:976:5)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "The operation should not update anchorNode")
    at assertSelectionNoChange ( /selection/common.js:978:5)
Pass
assert_equals(0, 0, "The operation should not update anchorOffset")
    at assertSelectionNoChange ( /selection/common.js:980:5)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "The operation should not update focusNode")
    at assertSelectionNoChange ( /selection/common.js:982:5)
Pass
assert_equals(0, 0, "The operation should not update focusOffset")
    at assertSelectionNoChange ( /selection/common.js:984:5)
Pass
assert_equals(object "", object "", "The operation should not replace a registered Range")
    at assertSelectionNoChange ( /selection/common.js:988:5)
Passextend() with range 5 [paras[1].firstChild, 0, paras[1].firstChild, 0] and point 70 [detachedForeignTextNode, 0]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(1, 1, "The operation should not add Range")
    at assertSelectionNoChange ( /selection/common.js:976:5)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "The operation should not update anchorNode")
    at assertSelectionNoChange ( /selection/common.js:978:5)
Pass
assert_equals(0, 0, "The operation should not update anchorOffset")
    at assertSelectionNoChange ( /selection/common.js:980:5)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "The operation should not update focusNode")
    at assertSelectionNoChange ( /selection/common.js:982:5)
Pass
assert_equals(0, 0, "The operation should not update focusOffset")
    at assertSelectionNoChange ( /selection/common.js:984:5)
Pass
assert_equals(object "", object "", "The operation should not replace a registered Range")
    at assertSelectionNoChange ( /selection/common.js:988:5)
Passextend() with range 5 [paras[1].firstChild, 0, paras[1].firstChild, 0] and point 71 [detachedForeignTextNode, 8]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(1, 1, "The operation should not add Range")
    at assertSelectionNoChange ( /selection/common.js:976:5)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "The operation should not update anchorNode")
    at assertSelectionNoChange ( /selection/common.js:978:5)
Pass
assert_equals(0, 0, "The operation should not update anchorOffset")
    at assertSelectionNoChange ( /selection/common.js:980:5)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "The operation should not update focusNode")
    at assertSelectionNoChange ( /selection/common.js:982:5)
Pass
assert_equals(0, 0, "The operation should not update focusOffset")
    at assertSelectionNoChange ( /selection/common.js:984:5)
Pass
assert_equals(object "", object "", "The operation should not replace a registered Range")
    at assertSelectionNoChange ( /selection/common.js:988:5)
Passextend() with range 5 [paras[1].firstChild, 0, paras[1].firstChild, 0] and point 72 [detachedXmlTextNode, 0]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(1, 1, "The operation should not add Range")
    at assertSelectionNoChange ( /selection/common.js:976:5)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "The operation should not update anchorNode")
    at assertSelectionNoChange ( /selection/common.js:978:5)
Pass
assert_equals(0, 0, "The operation should not update anchorOffset")
    at assertSelectionNoChange ( /selection/common.js:980:5)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "The operation should not update focusNode")
    at assertSelectionNoChange ( /selection/common.js:982:5)
Pass
assert_equals(0, 0, "The operation should not update focusOffset")
    at assertSelectionNoChange ( /selection/common.js:984:5)
Pass
assert_equals(object "", object "", "The operation should not replace a registered Range")
    at assertSelectionNoChange ( /selection/common.js:988:5)
Passextend() with range 5 [paras[1].firstChild, 0, paras[1].firstChild, 0] and point 73 [detachedXmlTextNode, 8]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(1, 1, "The operation should not add Range")
    at assertSelectionNoChange ( /selection/common.js:976:5)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "The operation should not update anchorNode")
    at assertSelectionNoChange ( /selection/common.js:978:5)
Pass
assert_equals(0, 0, "The operation should not update anchorOffset")
    at assertSelectionNoChange ( /selection/common.js:980:5)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "The operation should not update focusNode")
    at assertSelectionNoChange ( /selection/common.js:982:5)
Pass
assert_equals(0, 0, "The operation should not update focusOffset")
    at assertSelectionNoChange ( /selection/common.js:984:5)
Pass
assert_equals(object "", object "", "The operation should not replace a registered Range")
    at assertSelectionNoChange ( /selection/common.js:988:5)
Passextend() with range 5 [paras[1].firstChild, 0, paras[1].firstChild, 0] and point 74 [detachedProcessingInstruction, 12]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(1, 1, "The operation should not add Range")
    at assertSelectionNoChange ( /selection/common.js:976:5)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "The operation should not update anchorNode")
    at assertSelectionNoChange ( /selection/common.js:978:5)
Pass
assert_equals(0, 0, "The operation should not update anchorOffset")
    at assertSelectionNoChange ( /selection/common.js:980:5)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "The operation should not update focusNode")
    at assertSelectionNoChange ( /selection/common.js:982:5)
Pass
assert_equals(0, 0, "The operation should not update focusOffset")
    at assertSelectionNoChange ( /selection/common.js:984:5)
Pass
assert_equals(object "", object "", "The operation should not replace a registered Range")
    at assertSelectionNoChange ( /selection/common.js:988:5)
Passextend() with range 5 [paras[1].firstChild, 0, paras[1].firstChild, 0] and point 75 [detachedComment, 3]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(1, 1, "The operation should not add Range")
    at assertSelectionNoChange ( /selection/common.js:976:5)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "The operation should not update anchorNode")
    at assertSelectionNoChange ( /selection/common.js:978:5)
Pass
assert_equals(0, 0, "The operation should not update anchorOffset")
    at assertSelectionNoChange ( /selection/common.js:980:5)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "The operation should not update focusNode")
    at assertSelectionNoChange ( /selection/common.js:982:5)
Pass
assert_equals(0, 0, "The operation should not update focusOffset")
    at assertSelectionNoChange ( /selection/common.js:984:5)
Pass
assert_equals(object "", object "", "The operation should not replace a registered Range")
    at assertSelectionNoChange ( /selection/common.js:988:5)
Passextend() with range 5 [paras[1].firstChild, 0, paras[1].firstChild, 0] and point 76 [detachedComment, 5]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(1, 1, "The operation should not add Range")
    at assertSelectionNoChange ( /selection/common.js:976:5)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "The operation should not update anchorNode")
    at assertSelectionNoChange ( /selection/common.js:978:5)
Pass
assert_equals(0, 0, "The operation should not update anchorOffset")
    at assertSelectionNoChange ( /selection/common.js:980:5)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "The operation should not update focusNode")
    at assertSelectionNoChange ( /selection/common.js:982:5)
Pass
assert_equals(0, 0, "The operation should not update focusOffset")
    at assertSelectionNoChange ( /selection/common.js:984:5)
Pass
assert_equals(object "", object "", "The operation should not replace a registered Range")
    at assertSelectionNoChange ( /selection/common.js:988:5)
Passextend() with range 5 [paras[1].firstChild, 0, paras[1].firstChild, 0] and point 77 [detachedForeignComment, 0]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(1, 1, "The operation should not add Range")
    at assertSelectionNoChange ( /selection/common.js:976:5)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "The operation should not update anchorNode")
    at assertSelectionNoChange ( /selection/common.js:978:5)
Pass
assert_equals(0, 0, "The operation should not update anchorOffset")
    at assertSelectionNoChange ( /selection/common.js:980:5)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "The operation should not update focusNode")
    at assertSelectionNoChange ( /selection/common.js:982:5)
Pass
assert_equals(0, 0, "The operation should not update focusOffset")
    at assertSelectionNoChange ( /selection/common.js:984:5)
Pass
assert_equals(object "", object "", "The operation should not replace a registered Range")
    at assertSelectionNoChange ( /selection/common.js:988:5)
Passextend() with range 5 [paras[1].firstChild, 0, paras[1].firstChild, 0] and point 78 [detachedForeignComment, 4]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(1, 1, "The operation should not add Range")
    at assertSelectionNoChange ( /selection/common.js:976:5)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "The operation should not update anchorNode")
    at assertSelectionNoChange ( /selection/common.js:978:5)
Pass
assert_equals(0, 0, "The operation should not update anchorOffset")
    at assertSelectionNoChange ( /selection/common.js:980:5)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "The operation should not update focusNode")
    at assertSelectionNoChange ( /selection/common.js:982:5)
Pass
assert_equals(0, 0, "The operation should not update focusOffset")
    at assertSelectionNoChange ( /selection/common.js:984:5)
Pass
assert_equals(object "", object "", "The operation should not replace a registered Range")
    at assertSelectionNoChange ( /selection/common.js:988:5)
Passextend() with range 5 [paras[1].firstChild, 0, paras[1].firstChild, 0] and point 79 [detachedXmlComment, 2]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(1, 1, "The operation should not add Range")
    at assertSelectionNoChange ( /selection/common.js:976:5)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "The operation should not update anchorNode")
    at assertSelectionNoChange ( /selection/common.js:978:5)
Pass
assert_equals(0, 0, "The operation should not update anchorOffset")
    at assertSelectionNoChange ( /selection/common.js:980:5)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "The operation should not update focusNode")
    at assertSelectionNoChange ( /selection/common.js:982:5)
Pass
assert_equals(0, 0, "The operation should not update focusOffset")
    at assertSelectionNoChange ( /selection/common.js:984:5)
Pass
assert_equals(object "", object "", "The operation should not replace a registered Range")
    at assertSelectionNoChange ( /selection/common.js:988:5)
Passextend() with range 5 [paras[1].firstChild, 0, paras[1].firstChild, 0] and point 80 [docfrag, 0]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(1, 1, "The operation should not add Range")
    at assertSelectionNoChange ( /selection/common.js:976:5)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "The operation should not update anchorNode")
    at assertSelectionNoChange ( /selection/common.js:978:5)
Pass
assert_equals(0, 0, "The operation should not update anchorOffset")
    at assertSelectionNoChange ( /selection/common.js:980:5)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "The operation should not update focusNode")
    at assertSelectionNoChange ( /selection/common.js:982:5)
Pass
assert_equals(0, 0, "The operation should not update focusOffset")
    at assertSelectionNoChange ( /selection/common.js:984:5)
Pass
assert_equals(object "", object "", "The operation should not replace a registered Range")
    at assertSelectionNoChange ( /selection/common.js:988:5)
Passextend() with range 5 [paras[1].firstChild, 0, paras[1].firstChild, 0] and point 81 [foreignDocfrag, 0]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(1, 1, "The operation should not add Range")
    at assertSelectionNoChange ( /selection/common.js:976:5)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "The operation should not update anchorNode")
    at assertSelectionNoChange ( /selection/common.js:978:5)
Pass
assert_equals(0, 0, "The operation should not update anchorOffset")
    at assertSelectionNoChange ( /selection/common.js:980:5)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "The operation should not update focusNode")
    at assertSelectionNoChange ( /selection/common.js:982:5)
Pass
assert_equals(0, 0, "The operation should not update focusOffset")
    at assertSelectionNoChange ( /selection/common.js:984:5)
Pass
assert_equals(object "", object "", "The operation should not replace a registered Range")
    at assertSelectionNoChange ( /selection/common.js:988:5)
Passextend() with range 5 [paras[1].firstChild, 0, paras[1].firstChild, 0] and point 82 [xmlDocfrag, 0]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(1, 1, "The operation should not add Range")
    at assertSelectionNoChange ( /selection/common.js:976:5)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "The operation should not update anchorNode")
    at assertSelectionNoChange ( /selection/common.js:978:5)
Pass
assert_equals(0, 0, "The operation should not update anchorOffset")
    at assertSelectionNoChange ( /selection/common.js:980:5)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "The operation should not update focusNode")
    at assertSelectionNoChange ( /selection/common.js:982:5)
Pass
assert_equals(0, 0, "The operation should not update focusOffset")
    at assertSelectionNoChange ( /selection/common.js:984:5)
Pass
assert_equals(object "", object "", "The operation should not replace a registered Range")
    at assertSelectionNoChange ( /selection/common.js:988:5)
Passextend() with range 5 [paras[1].firstChild, 0, paras[1].firstChild, 0] and point 83 [doctype, 0]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "Sanity check: startContainer must be correct")
    at testExtend ( /selection/extend.js:80:5)
Pass
assert_equals(0, 0, "Sanity check: startOffset must be correct")
    at testExtend ( /selection/extend.js:82:5)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "Sanity check: endContainer must be correct")
    at testExtend ( /selection/extend.js:84:5)
Pass
assert_equals(0, 0, "Sanity check: endOffset must be correct")
    at testExtend ( /selection/extend.js:86:5)
Pass
assert_throws_dom("INVALID_NODE_TYPE_ERR", function "function() {             selection.extend(node, offset);         }", "extend() to a doctype must throw InvalidNodeTypeError")
    at testExtend ( /selection/extend.js:104:9)
Passextend() with range 5 [paras[1].firstChild, 0, paras[1].firstChild, 0] and point 84 [doctype, -17]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "Sanity check: startContainer must be correct")
    at testExtend ( /selection/extend.js:80:5)
Pass
assert_equals(0, 0, "Sanity check: startOffset must be correct")
    at testExtend ( /selection/extend.js:82:5)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "Sanity check: endContainer must be correct")
    at testExtend ( /selection/extend.js:84:5)
Pass
assert_equals(0, 0, "Sanity check: endOffset must be correct")
    at testExtend ( /selection/extend.js:86:5)
Pass
assert_throws_dom("INVALID_NODE_TYPE_ERR", function "function() {             selection.extend(node, offset);         }", "extend() to a doctype must throw InvalidNodeTypeError")
    at testExtend ( /selection/extend.js:104:9)
Passextend() with range 5 [paras[1].firstChild, 0, paras[1].firstChild, 0] and point 85 [doctype, 1]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "Sanity check: startContainer must be correct")
    at testExtend ( /selection/extend.js:80:5)
Pass
assert_equals(0, 0, "Sanity check: startOffset must be correct")
    at testExtend ( /selection/extend.js:82:5)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "Sanity check: endContainer must be correct")
    at testExtend ( /selection/extend.js:84:5)
Pass
assert_equals(0, 0, "Sanity check: endOffset must be correct")
    at testExtend ( /selection/extend.js:86:5)
Pass
assert_throws_dom("INVALID_NODE_TYPE_ERR", function "function() {             selection.extend(node, offset);         }", "extend() to a doctype must throw InvalidNodeTypeError")
    at testExtend ( /selection/extend.js:104:9)
Passextend() with range 5 [paras[1].firstChild, 0, paras[1].firstChild, 0] and point 86 [foreignDoctype, 0]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(1, 1, "The operation should not add Range")
    at assertSelectionNoChange ( /selection/common.js:976:5)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "The operation should not update anchorNode")
    at assertSelectionNoChange ( /selection/common.js:978:5)
Pass
assert_equals(0, 0, "The operation should not update anchorOffset")
    at assertSelectionNoChange ( /selection/common.js:980:5)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "The operation should not update focusNode")
    at assertSelectionNoChange ( /selection/common.js:982:5)
Pass
assert_equals(0, 0, "The operation should not update focusOffset")
    at assertSelectionNoChange ( /selection/common.js:984:5)
Pass
assert_equals(object "", object "", "The operation should not replace a registered Range")
    at assertSelectionNoChange ( /selection/common.js:988:5)
Passextend() with range 5 [paras[1].firstChild, 0, paras[1].firstChild, 0] and point 87 [xmlDoctype, 0]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(1, 1, "The operation should not add Range")
    at assertSelectionNoChange ( /selection/common.js:976:5)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "The operation should not update anchorNode")
    at assertSelectionNoChange ( /selection/common.js:978:5)
Pass
assert_equals(0, 0, "The operation should not update anchorOffset")
    at assertSelectionNoChange ( /selection/common.js:980:5)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "The operation should not update focusNode")
    at assertSelectionNoChange ( /selection/common.js:982:5)
Pass
assert_equals(0, 0, "The operation should not update focusOffset")
    at assertSelectionNoChange ( /selection/common.js:984:5)
Pass
assert_equals(object "", object "", "The operation should not replace a registered Range")
    at assertSelectionNoChange ( /selection/common.js:988:5)
Passextend() forwards with range 6 [paras[1].firstChild, 0, paras[1].firstChild, 1] and point 0 [paras[0].firstChild, -1]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "Sanity check: startContainer must be correct")
    at testExtend ( /selection/extend.js:80:5)
Pass
assert_equals(0, 0, "Sanity check: startOffset must be correct")
    at testExtend ( /selection/extend.js:82:5)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "Sanity check: endContainer must be correct")
    at testExtend ( /selection/extend.js:84:5)
Pass
assert_equals(1, 1, "Sanity check: endOffset must be correct")
    at testExtend ( /selection/extend.js:86:5)
Pass
assert_throws_dom("INDEX_SIZE_ERR", function "function() {             selection.extend(node, offset);         }", "extend() to an offset that's greater than node length (17) must throw IndexSizeError")
    at testExtend ( /selection/extend.js:117:9)
Passextend() backwards with range 6 [paras[1].firstChild, 0, paras[1].firstChild, 1] and point 0 [paras[0].firstChild, -1]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "Sanity check: startContainer must be correct")
    at testExtend ( /selection/extend.js:80:5)
Pass
assert_equals(0, 0, "Sanity check: startOffset must be correct")
    at testExtend ( /selection/extend.js:82:5)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "Sanity check: endContainer must be correct")
    at testExtend ( /selection/extend.js:84:5)
Pass
assert_equals(1, 1, "Sanity check: endOffset must be correct")
    at testExtend ( /selection/extend.js:86:5)
Pass
assert_throws_dom("INDEX_SIZE_ERR", function "function() {             selection.extend(node, offset);         }", "extend() to an offset that's greater than node length (17) must throw IndexSizeError")
    at testExtend ( /selection/extend.js:117:9)
Passextend() forwards with range 6 [paras[1].firstChild, 0, paras[1].firstChild, 1] and point 1 [paras[0].firstChild, 0]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "Sanity check: startContainer must be correct")
    at testExtend ( /selection/extend.js:80:5)
Pass
assert_equals(0, 0, "Sanity check: startOffset must be correct")
    at testExtend ( /selection/extend.js:82:5)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "Sanity check: endContainer must be correct")
    at testExtend ( /selection/extend.js:84:5)
Pass
assert_equals(1, 1, "Sanity check: endOffset must be correct")
    at testExtend ( /selection/extend.js:86:5)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "anchorNode must not change if the node passed to extend() has the same root as the original range")
    at testExtend ( /selection/extend.js:145:9)
Pass
assert_equals(0, 0, "anchorOffset must not change if the node passed to extend() has the same root as the original range")
    at testExtend ( /selection/extend.js:147:9)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "focusNode must be the node passed to extend()")
    at testExtend ( /selection/extend.js:155:5)
Pass
assert_equals(0, 0, "focusOffset must be the offset passed to extend()")
    at testExtend ( /selection/extend.js:157:5)
Pass
assert_not_equals(object "Äb̈c̈d̈ëf̈g̈ḧ ", object "I", "extend() must replace any existing range with a new one, not mutate the existing one")
    at testExtend ( /selection/extend.js:159:5)
Passextend() backwards with range 6 [paras[1].firstChild, 0, paras[1].firstChild, 1] and point 1 [paras[0].firstChild, 0]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "Sanity check: startContainer must be correct")
    at testExtend ( /selection/extend.js:80:5)
Pass
assert_equals(0, 0, "Sanity check: startOffset must be correct")
    at testExtend ( /selection/extend.js:82:5)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "Sanity check: endContainer must be correct")
    at testExtend ( /selection/extend.js:84:5)
Pass
assert_equals(1, 1, "Sanity check: endOffset must be correct")
    at testExtend ( /selection/extend.js:86:5)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "anchorNode must not change if the node passed to extend() has the same root as the original range")
    at testExtend ( /selection/extend.js:145:9)
Pass
assert_equals(1, 1, "anchorOffset must not change if the node passed to extend() has the same root as the original range")
    at testExtend ( /selection/extend.js:147:9)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "focusNode must be the node passed to extend()")
    at testExtend ( /selection/extend.js:155:5)
Pass
assert_equals(0, 0, "focusOffset must be the offset passed to extend()")
    at testExtend ( /selection/extend.js:157:5)
Pass
assert_not_equals(object "Äb̈c̈d̈ëf̈g̈ḧ I", object "I", "extend() must replace any existing range with a new one, not mutate the existing one")
    at testExtend ( /selection/extend.js:159:5)
Passextend() forwards with range 6 [paras[1].firstChild, 0, paras[1].firstChild, 1] and point 2 [paras[0].firstChild, 1]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "Sanity check: startContainer must be correct")
    at testExtend ( /selection/extend.js:80:5)
Pass
assert_equals(0, 0, "Sanity check: startOffset must be correct")
    at testExtend ( /selection/extend.js:82:5)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "Sanity check: endContainer must be correct")
    at testExtend ( /selection/extend.js:84:5)
Pass
assert_equals(1, 1, "Sanity check: endOffset must be correct")
    at testExtend ( /selection/extend.js:86:5)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "anchorNode must not change if the node passed to extend() has the same root as the original range")
    at testExtend ( /selection/extend.js:145:9)
Pass
assert_equals(0, 0, "anchorOffset must not change if the node passed to extend() has the same root as the original range")
    at testExtend ( /selection/extend.js:147:9)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "focusNode must be the node passed to extend()")
    at testExtend ( /selection/extend.js:155:5)
Pass
assert_equals(1, 1, "focusOffset must be the offset passed to extend()")
    at testExtend ( /selection/extend.js:157:5)
Pass
assert_not_equals(object "̈b̈c̈d̈ëf̈g̈ḧ ", object "I", "extend() must replace any existing range with a new one, not mutate the existing one")
    at testExtend ( /selection/extend.js:159:5)
Passextend() backwards with range 6 [paras[1].firstChild, 0, paras[1].firstChild, 1] and point 2 [paras[0].firstChild, 1]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "Sanity check: startContainer must be correct")
    at testExtend ( /selection/extend.js:80:5)
Pass
assert_equals(0, 0, "Sanity check: startOffset must be correct")
    at testExtend ( /selection/extend.js:82:5)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "Sanity check: endContainer must be correct")
    at testExtend ( /selection/extend.js:84:5)
Pass
assert_equals(1, 1, "Sanity check: endOffset must be correct")
    at testExtend ( /selection/extend.js:86:5)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "anchorNode must not change if the node passed to extend() has the same root as the original range")
    at testExtend ( /selection/extend.js:145:9)
Pass
assert_equals(1, 1, "anchorOffset must not change if the node passed to extend() has the same root as the original range")
    at testExtend ( /selection/extend.js:147:9)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "focusNode must be the node passed to extend()")
    at testExtend ( /selection/extend.js:155:5)
Pass
assert_equals(1, 1, "focusOffset must be the offset passed to extend()")
    at testExtend ( /selection/extend.js:157:5)
Pass
assert_not_equals(object "̈b̈c̈d̈ëf̈g̈ḧ I", object "I", "extend() must replace any existing range with a new one, not mutate the existing one")
    at testExtend ( /selection/extend.js:159:5)
Passextend() forwards with range 6 [paras[1].firstChild, 0, paras[1].firstChild, 1] and point 3 [paras[0].firstChild, 2]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "Sanity check: startContainer must be correct")
    at testExtend ( /selection/extend.js:80:5)
Pass
assert_equals(0, 0, "Sanity check: startOffset must be correct")
    at testExtend ( /selection/extend.js:82:5)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "Sanity check: endContainer must be correct")
    at testExtend ( /selection/extend.js:84:5)
Pass
assert_equals(1, 1, "Sanity check: endOffset must be correct")
    at testExtend ( /selection/extend.js:86:5)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "anchorNode must not change if the node passed to extend() has the same root as the original range")
    at testExtend ( /selection/extend.js:145:9)
Pass
assert_equals(0, 0, "anchorOffset must not change if the node passed to extend() has the same root as the original range")
    at testExtend ( /selection/extend.js:147:9)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "focusNode must be the node passed to extend()")
    at testExtend ( /selection/extend.js:155:5)
Pass
assert_equals(2, 2, "focusOffset must be the offset passed to extend()")
    at testExtend ( /selection/extend.js:157:5)
Pass
assert_not_equals(object "b̈c̈d̈ëf̈g̈ḧ ", object "I", "extend() must replace any existing range with a new one, not mutate the existing one")
    at testExtend ( /selection/extend.js:159:5)
Passextend() backwards with range 6 [paras[1].firstChild, 0, paras[1].firstChild, 1] and point 3 [paras[0].firstChild, 2]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "Sanity check: startContainer must be correct")
    at testExtend ( /selection/extend.js:80:5)
Pass
assert_equals(0, 0, "Sanity check: startOffset must be correct")
    at testExtend ( /selection/extend.js:82:5)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "Sanity check: endContainer must be correct")
    at testExtend ( /selection/extend.js:84:5)
Pass
assert_equals(1, 1, "Sanity check: endOffset must be correct")
    at testExtend ( /selection/extend.js:86:5)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "anchorNode must not change if the node passed to extend() has the same root as the original range")
    at testExtend ( /selection/extend.js:145:9)
Pass
assert_equals(1, 1, "anchorOffset must not change if the node passed to extend() has the same root as the original range")
    at testExtend ( /selection/extend.js:147:9)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "focusNode must be the node passed to extend()")
    at testExtend ( /selection/extend.js:155:5)
Pass
assert_equals(2, 2, "focusOffset must be the offset passed to extend()")
    at testExtend ( /selection/extend.js:157:5)
Pass
assert_not_equals(object "b̈c̈d̈ëf̈g̈ḧ I", object "I", "extend() must replace any existing range with a new one, not mutate the existing one")
    at testExtend ( /selection/extend.js:159:5)
Passextend() forwards with range 6 [paras[1].firstChild, 0, paras[1].firstChild, 1] and point 4 [paras[0].firstChild, 8]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "Sanity check: startContainer must be correct")
    at testExtend ( /selection/extend.js:80:5)
Pass
assert_equals(0, 0, "Sanity check: startOffset must be correct")
    at testExtend ( /selection/extend.js:82:5)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "Sanity check: endContainer must be correct")
    at testExtend ( /selection/extend.js:84:5)
Pass
assert_equals(1, 1, "Sanity check: endOffset must be correct")
    at testExtend ( /selection/extend.js:86:5)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "anchorNode must not change if the node passed to extend() has the same root as the original range")
    at testExtend ( /selection/extend.js:145:9)
Pass
assert_equals(0, 0, "anchorOffset must not change if the node passed to extend() has the same root as the original range")
    at testExtend ( /selection/extend.js:147:9)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "focusNode must be the node passed to extend()")
    at testExtend ( /selection/extend.js:155:5)
Pass
assert_equals(8, 8, "focusOffset must be the offset passed to extend()")
    at testExtend ( /selection/extend.js:157:5)
Pass
assert_not_equals(object "ëf̈g̈ḧ ", object "I", "extend() must replace any existing range with a new one, not mutate the existing one")
    at testExtend ( /selection/extend.js:159:5)
Passextend() backwards with range 6 [paras[1].firstChild, 0, paras[1].firstChild, 1] and point 4 [paras[0].firstChild, 8]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "Sanity check: startContainer must be correct")
    at testExtend ( /selection/extend.js:80:5)
Pass
assert_equals(0, 0, "Sanity check: startOffset must be correct")
    at testExtend ( /selection/extend.js:82:5)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "Sanity check: endContainer must be correct")
    at testExtend ( /selection/extend.js:84:5)
Pass
assert_equals(1, 1, "Sanity check: endOffset must be correct")
    at testExtend ( /selection/extend.js:86:5)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "anchorNode must not change if the node passed to extend() has the same root as the original range")
    at testExtend ( /selection/extend.js:145:9)
Pass
assert_equals(1, 1, "anchorOffset must not change if the node passed to extend() has the same root as the original range")
    at testExtend ( /selection/extend.js:147:9)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "focusNode must be the node passed to extend()")
    at testExtend ( /selection/extend.js:155:5)
Pass
assert_equals(8, 8, "focusOffset must be the offset passed to extend()")
    at testExtend ( /selection/extend.js:157:5)
Pass
assert_not_equals(object "ëf̈g̈ḧ I", object "I", "extend() must replace any existing range with a new one, not mutate the existing one")
    at testExtend ( /selection/extend.js:159:5)
Passextend() forwards with range 6 [paras[1].firstChild, 0, paras[1].firstChild, 1] and point 5 [paras[0].firstChild, 9]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "Sanity check: startContainer must be correct")
    at testExtend ( /selection/extend.js:80:5)
Pass
assert_equals(0, 0, "Sanity check: startOffset must be correct")
    at testExtend ( /selection/extend.js:82:5)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "Sanity check: endContainer must be correct")
    at testExtend ( /selection/extend.js:84:5)
Pass
assert_equals(1, 1, "Sanity check: endOffset must be correct")
    at testExtend ( /selection/extend.js:86:5)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "anchorNode must not change if the node passed to extend() has the same root as the original range")
    at testExtend ( /selection/extend.js:145:9)
Pass
assert_equals(0, 0, "anchorOffset must not change if the node passed to extend() has the same root as the original range")
    at testExtend ( /selection/extend.js:147:9)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "focusNode must be the node passed to extend()")
    at testExtend ( /selection/extend.js:155:5)
Pass
assert_equals(9, 9, "focusOffset must be the offset passed to extend()")
    at testExtend ( /selection/extend.js:157:5)
Pass
assert_not_equals(object "̈f̈g̈ḧ ", object "I", "extend() must replace any existing range with a new one, not mutate the existing one")
    at testExtend ( /selection/extend.js:159:5)
Passextend() backwards with range 6 [paras[1].firstChild, 0, paras[1].firstChild, 1] and point 5 [paras[0].firstChild, 9]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "Sanity check: startContainer must be correct")
    at testExtend ( /selection/extend.js:80:5)
Pass
assert_equals(0, 0, "Sanity check: startOffset must be correct")
    at testExtend ( /selection/extend.js:82:5)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "Sanity check: endContainer must be correct")
    at testExtend ( /selection/extend.js:84:5)
Pass
assert_equals(1, 1, "Sanity check: endOffset must be correct")
    at testExtend ( /selection/extend.js:86:5)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "anchorNode must not change if the node passed to extend() has the same root as the original range")
    at testExtend ( /selection/extend.js:145:9)
Pass
assert_equals(1, 1, "anchorOffset must not change if the node passed to extend() has the same root as the original range")
    at testExtend ( /selection/extend.js:147:9)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "focusNode must be the node passed to extend()")
    at testExtend ( /selection/extend.js:155:5)
Pass
assert_equals(9, 9, "focusOffset must be the offset passed to extend()")
    at testExtend ( /selection/extend.js:157:5)
Pass
assert_not_equals(object "̈f̈g̈ḧ I", object "I", "extend() must replace any existing range with a new one, not mutate the existing one")
    at testExtend ( /selection/extend.js:159:5)
Passextend() forwards with range 6 [paras[1].firstChild, 0, paras[1].firstChild, 1] and point 6 [paras[0].firstChild, 10]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "Sanity check: startContainer must be correct")
    at testExtend ( /selection/extend.js:80:5)
Pass
assert_equals(0, 0, "Sanity check: startOffset must be correct")
    at testExtend ( /selection/extend.js:82:5)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "Sanity check: endContainer must be correct")
    at testExtend ( /selection/extend.js:84:5)
Pass
assert_equals(1, 1, "Sanity check: endOffset must be correct")
    at testExtend ( /selection/extend.js:86:5)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "anchorNode must not change if the node passed to extend() has the same root as the original range")
    at testExtend ( /selection/extend.js:145:9)
Pass
assert_equals(0, 0, "anchorOffset must not change if the node passed to extend() has the same root as the original range")
    at testExtend ( /selection/extend.js:147:9)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "focusNode must be the node passed to extend()")
    at testExtend ( /selection/extend.js:155:5)
Pass
assert_equals(10, 10, "focusOffset must be the offset passed to extend()")
    at testExtend ( /selection/extend.js:157:5)
Pass
assert_not_equals(object "f̈g̈ḧ ", object "I", "extend() must replace any existing range with a new one, not mutate the existing one")
    at testExtend ( /selection/extend.js:159:5)
Passextend() backwards with range 6 [paras[1].firstChild, 0, paras[1].firstChild, 1] and point 6 [paras[0].firstChild, 10]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "Sanity check: startContainer must be correct")
    at testExtend ( /selection/extend.js:80:5)
Pass
assert_equals(0, 0, "Sanity check: startOffset must be correct")
    at testExtend ( /selection/extend.js:82:5)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "Sanity check: endContainer must be correct")
    at testExtend ( /selection/extend.js:84:5)
Pass
assert_equals(1, 1, "Sanity check: endOffset must be correct")
    at testExtend ( /selection/extend.js:86:5)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "anchorNode must not change if the node passed to extend() has the same root as the original range")
    at testExtend ( /selection/extend.js:145:9)
Pass
assert_equals(1, 1, "anchorOffset must not change if the node passed to extend() has the same root as the original range")
    at testExtend ( /selection/extend.js:147:9)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "focusNode must be the node passed to extend()")
    at testExtend ( /selection/extend.js:155:5)
Pass
assert_equals(10, 10, "focusOffset must be the offset passed to extend()")
    at testExtend ( /selection/extend.js:157:5)
Pass
assert_not_equals(object "f̈g̈ḧ I", object "I", "extend() must replace any existing range with a new one, not mutate the existing one")
    at testExtend ( /selection/extend.js:159:5)
Passextend() forwards with range 6 [paras[1].firstChild, 0, paras[1].firstChild, 1] and point 7 [paras[0].firstChild, 65535]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "Sanity check: startContainer must be correct")
    at testExtend ( /selection/extend.js:80:5)
Pass
assert_equals(0, 0, "Sanity check: startOffset must be correct")
    at testExtend ( /selection/extend.js:82:5)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "Sanity check: endContainer must be correct")
    at testExtend ( /selection/extend.js:84:5)
Pass
assert_equals(1, 1, "Sanity check: endOffset must be correct")
    at testExtend ( /selection/extend.js:86:5)
Pass
assert_throws_dom("INDEX_SIZE_ERR", function "function() {             selection.extend(node, offset);         }", "extend() to an offset that's greater than node length (17) must throw IndexSizeError")
    at testExtend ( /selection/extend.js:117:9)
Passextend() backwards with range 6 [paras[1].firstChild, 0, paras[1].firstChild, 1] and point 7 [paras[0].firstChild, 65535]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "Sanity check: startContainer must be correct")
    at testExtend ( /selection/extend.js:80:5)
Pass
assert_equals(0, 0, "Sanity check: startOffset must be correct")
    at testExtend ( /selection/extend.js:82:5)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "Sanity check: endContainer must be correct")
    at testExtend ( /selection/extend.js:84:5)
Pass
assert_equals(1, 1, "Sanity check: endOffset must be correct")
    at testExtend ( /selection/extend.js:86:5)
Pass
assert_throws_dom("INDEX_SIZE_ERR", function "function() {             selection.extend(node, offset);         }", "extend() to an offset that's greater than node length (17) must throw IndexSizeError")
    at testExtend ( /selection/extend.js:117:9)
Passextend() forwards with range 6 [paras[1].firstChild, 0, paras[1].firstChild, 1] and point 8 [paras[1].firstChild, -1]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "Sanity check: startContainer must be correct")
    at testExtend ( /selection/extend.js:80:5)
Pass
assert_equals(0, 0, "Sanity check: startOffset must be correct")
    at testExtend ( /selection/extend.js:82:5)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "Sanity check: endContainer must be correct")
    at testExtend ( /selection/extend.js:84:5)
Pass
assert_equals(1, 1, "Sanity check: endOffset must be correct")
    at testExtend ( /selection/extend.js:86:5)
Pass
assert_throws_dom("INDEX_SIZE_ERR", function "function() {             selection.extend(node, offset);         }", "extend() to an offset that's greater than node length (9) must throw IndexSizeError")
    at testExtend ( /selection/extend.js:117:9)
Passextend() backwards with range 6 [paras[1].firstChild, 0, paras[1].firstChild, 1] and point 8 [paras[1].firstChild, -1]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "Sanity check: startContainer must be correct")
    at testExtend ( /selection/extend.js:80:5)
Pass
assert_equals(0, 0, "Sanity check: startOffset must be correct")
    at testExtend ( /selection/extend.js:82:5)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "Sanity check: endContainer must be correct")
    at testExtend ( /selection/extend.js:84:5)
Pass
assert_equals(1, 1, "Sanity check: endOffset must be correct")
    at testExtend ( /selection/extend.js:86:5)
Pass
assert_throws_dom("INDEX_SIZE_ERR", function "function() {             selection.extend(node, offset);         }", "extend() to an offset that's greater than node length (9) must throw IndexSizeError")
    at testExtend ( /selection/extend.js:117:9)
Passextend() forwards with range 6 [paras[1].firstChild, 0, paras[1].firstChild, 1] and point 9 [paras[1].firstChild, 0]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "Sanity check: startContainer must be correct")
    at testExtend ( /selection/extend.js:80:5)
Pass
assert_equals(0, 0, "Sanity check: startOffset must be correct")
    at testExtend ( /selection/extend.js:82:5)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "Sanity check: endContainer must be correct")
    at testExtend ( /selection/extend.js:84:5)
Pass
assert_equals(1, 1, "Sanity check: endOffset must be correct")
    at testExtend ( /selection/extend.js:86:5)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "anchorNode must not change if the node passed to extend() has the same root as the original range")
    at testExtend ( /selection/extend.js:145:9)
Pass
assert_equals(0, 0, "anchorOffset must not change if the node passed to extend() has the same root as the original range")
    at testExtend ( /selection/extend.js:147:9)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "focusNode must be the node passed to extend()")
    at testExtend ( /selection/extend.js:155:5)
Pass
assert_equals(0, 0, "focusOffset must be the offset passed to extend()")
    at testExtend ( /selection/extend.js:157:5)
Pass
assert_not_equals(object "", object "I", "extend() must replace any existing range with a new one, not mutate the existing one")
    at testExtend ( /selection/extend.js:159:5)
Passextend() backwards with range 6 [paras[1].firstChild, 0, paras[1].firstChild, 1] and point 9 [paras[1].firstChild, 0]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "Sanity check: startContainer must be correct")
    at testExtend ( /selection/extend.js:80:5)
Pass
assert_equals(0, 0, "Sanity check: startOffset must be correct")
    at testExtend ( /selection/extend.js:82:5)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "Sanity check: endContainer must be correct")
    at testExtend ( /selection/extend.js:84:5)
Pass
assert_equals(1, 1, "Sanity check: endOffset must be correct")
    at testExtend ( /selection/extend.js:86:5)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "anchorNode must not change if the node passed to extend() has the same root as the original range")
    at testExtend ( /selection/extend.js:145:9)
Pass
assert_equals(1, 1, "anchorOffset must not change if the node passed to extend() has the same root as the original range")
    at testExtend ( /selection/extend.js:147:9)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "focusNode must be the node passed to extend()")
    at testExtend ( /selection/extend.js:155:5)
Pass
assert_equals(0, 0, "focusOffset must be the offset passed to extend()")
    at testExtend ( /selection/extend.js:157:5)
Pass
assert_not_equals(object "I", object "I", "extend() must replace any existing range with a new one, not mutate the existing one")
    at testExtend ( /selection/extend.js:159:5)
Passextend() forwards with range 6 [paras[1].firstChild, 0, paras[1].firstChild, 1] and point 10 [paras[1].firstChild, 1]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "Sanity check: startContainer must be correct")
    at testExtend ( /selection/extend.js:80:5)
Pass
assert_equals(0, 0, "Sanity check: startOffset must be correct")
    at testExtend ( /selection/extend.js:82:5)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "Sanity check: endContainer must be correct")
    at testExtend ( /selection/extend.js:84:5)
Pass
assert_equals(1, 1, "Sanity check: endOffset must be correct")
    at testExtend ( /selection/extend.js:86:5)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "anchorNode must not change if the node passed to extend() has the same root as the original range")
    at testExtend ( /selection/extend.js:145:9)
Pass
assert_equals(0, 0, "anchorOffset must not change if the node passed to extend() has the same root as the original range")
    at testExtend ( /selection/extend.js:147:9)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "focusNode must be the node passed to extend()")
    at testExtend ( /selection/extend.js:155:5)
Pass
assert_equals(1, 1, "focusOffset must be the offset passed to extend()")
    at testExtend ( /selection/extend.js:157:5)
Pass
assert_not_equals(object "I", object "I", "extend() must replace any existing range with a new one, not mutate the existing one")
    at testExtend ( /selection/extend.js:159:5)
Passextend() backwards with range 6 [paras[1].firstChild, 0, paras[1].firstChild, 1] and point 10 [paras[1].firstChild, 1]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "Sanity check: startContainer must be correct")
    at testExtend ( /selection/extend.js:80:5)
Pass
assert_equals(0, 0, "Sanity check: startOffset must be correct")
    at testExtend ( /selection/extend.js:82:5)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "Sanity check: endContainer must be correct")
    at testExtend ( /selection/extend.js:84:5)
Pass
assert_equals(1, 1, "Sanity check: endOffset must be correct")
    at testExtend ( /selection/extend.js:86:5)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "anchorNode must not change if the node passed to extend() has the same root as the original range")
    at testExtend ( /selection/extend.js:145:9)
Pass
assert_equals(1, 1, "anchorOffset must not change if the node passed to extend() has the same root as the original range")
    at testExtend ( /selection/extend.js:147:9)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "focusNode must be the node passed to extend()")
    at testExtend ( /selection/extend.js:155:5)
Pass
assert_equals(1, 1, "focusOffset must be the offset passed to extend()")
    at testExtend ( /selection/extend.js:157:5)
Pass
assert_not_equals(object "", object "I", "extend() must replace any existing range with a new one, not mutate the existing one")
    at testExtend ( /selection/extend.js:159:5)
Passextend() forwards with range 6 [paras[1].firstChild, 0, paras[1].firstChild, 1] and point 11 [paras[1].firstChild, 2]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "Sanity check: startContainer must be correct")
    at testExtend ( /selection/extend.js:80:5)
Pass
assert_equals(0, 0, "Sanity check: startOffset must be correct")
    at testExtend ( /selection/extend.js:82:5)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "Sanity check: endContainer must be correct")
    at testExtend ( /selection/extend.js:84:5)
Pass
assert_equals(1, 1, "Sanity check: endOffset must be correct")
    at testExtend ( /selection/extend.js:86:5)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "anchorNode must not change if the node passed to extend() has the same root as the original range")
    at testExtend ( /selection/extend.js:145:9)
Pass
assert_equals(0, 0, "anchorOffset must not change if the node passed to extend() has the same root as the original range")
    at testExtend ( /selection/extend.js:147:9)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "focusNode must be the node passed to extend()")
    at testExtend ( /selection/extend.js:155:5)
Pass
assert_equals(2, 2, "focusOffset must be the offset passed to extend()")
    at testExtend ( /selection/extend.js:157:5)
Pass
assert_not_equals(object "Ij", object "I", "extend() must replace any existing range with a new one, not mutate the existing one")
    at testExtend ( /selection/extend.js:159:5)
Passextend() backwards with range 6 [paras[1].firstChild, 0, paras[1].firstChild, 1] and point 11 [paras[1].firstChild, 2]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "Sanity check: startContainer must be correct")
    at testExtend ( /selection/extend.js:80:5)
Pass
assert_equals(0, 0, "Sanity check: startOffset must be correct")
    at testExtend ( /selection/extend.js:82:5)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "Sanity check: endContainer must be correct")
    at testExtend ( /selection/extend.js:84:5)
Pass
assert_equals(1, 1, "Sanity check: endOffset must be correct")
    at testExtend ( /selection/extend.js:86:5)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "anchorNode must not change if the node passed to extend() has the same root as the original range")
    at testExtend ( /selection/extend.js:145:9)
Pass
assert_equals(1, 1, "anchorOffset must not change if the node passed to extend() has the same root as the original range")
    at testExtend ( /selection/extend.js:147:9)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "focusNode must be the node passed to extend()")
    at testExtend ( /selection/extend.js:155:5)
Pass
assert_equals(2, 2, "focusOffset must be the offset passed to extend()")
    at testExtend ( /selection/extend.js:157:5)
Pass
assert_not_equals(object "j", object "I", "extend() must replace any existing range with a new one, not mutate the existing one")
    at testExtend ( /selection/extend.js:159:5)
Passextend() forwards with range 6 [paras[1].firstChild, 0, paras[1].firstChild, 1] and point 12 [paras[1].firstChild, 8]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "Sanity check: startContainer must be correct")
    at testExtend ( /selection/extend.js:80:5)
Pass
assert_equals(0, 0, "Sanity check: startOffset must be correct")
    at testExtend ( /selection/extend.js:82:5)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "Sanity check: endContainer must be correct")
    at testExtend ( /selection/extend.js:84:5)
Pass
assert_equals(1, 1, "Sanity check: endOffset must be correct")
    at testExtend ( /selection/extend.js:86:5)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "anchorNode must not change if the node passed to extend() has the same root as the original range")
    at testExtend ( /selection/extend.js:145:9)
Pass
assert_equals(0, 0, "anchorOffset must not change if the node passed to extend() has the same root as the original range")
    at testExtend ( /selection/extend.js:147:9)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "focusNode must be the node passed to extend()")
    at testExtend ( /selection/extend.js:155:5)
Pass
assert_equals(8, 8, "focusOffset must be the offset passed to extend()")
    at testExtend ( /selection/extend.js:157:5)
Pass
assert_not_equals(object "Ijklmnop", object "I", "extend() must replace any existing range with a new one, not mutate the existing one")
    at testExtend ( /selection/extend.js:159:5)
Passextend() backwards with range 6 [paras[1].firstChild, 0, paras[1].firstChild, 1] and point 12 [paras[1].firstChild, 8]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "Sanity check: startContainer must be correct")
    at testExtend ( /selection/extend.js:80:5)
Pass
assert_equals(0, 0, "Sanity check: startOffset must be correct")
    at testExtend ( /selection/extend.js:82:5)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "Sanity check: endContainer must be correct")
    at testExtend ( /selection/extend.js:84:5)
Pass
assert_equals(1, 1, "Sanity check: endOffset must be correct")
    at testExtend ( /selection/extend.js:86:5)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "anchorNode must not change if the node passed to extend() has the same root as the original range")
    at testExtend ( /selection/extend.js:145:9)
Pass
assert_equals(1, 1, "anchorOffset must not change if the node passed to extend() has the same root as the original range")
    at testExtend ( /selection/extend.js:147:9)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "focusNode must be the node passed to extend()")
    at testExtend ( /selection/extend.js:155:5)
Pass
assert_equals(8, 8, "focusOffset must be the offset passed to extend()")
    at testExtend ( /selection/extend.js:157:5)
Pass
assert_not_equals(object "jklmnop", object "I", "extend() must replace any existing range with a new one, not mutate the existing one")
    at testExtend ( /selection/extend.js:159:5)
Passextend() forwards with range 6 [paras[1].firstChild, 0, paras[1].firstChild, 1] and point 13 [paras[1].firstChild, 9]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "Sanity check: startContainer must be correct")
    at testExtend ( /selection/extend.js:80:5)
Pass
assert_equals(0, 0, "Sanity check: startOffset must be correct")
    at testExtend ( /selection/extend.js:82:5)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "Sanity check: endContainer must be correct")
    at testExtend ( /selection/extend.js:84:5)
Pass
assert_equals(1, 1, "Sanity check: endOffset must be correct")
    at testExtend ( /selection/extend.js:86:5)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "anchorNode must not change if the node passed to extend() has the same root as the original range")
    at testExtend ( /selection/extend.js:145:9)
Pass
assert_equals(0, 0, "anchorOffset must not change if the node passed to extend() has the same root as the original range")
    at testExtend ( /selection/extend.js:147:9)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "focusNode must be the node passed to extend()")
    at testExtend ( /selection/extend.js:155:5)
Pass
assert_equals(9, 9, "focusOffset must be the offset passed to extend()")
    at testExtend ( /selection/extend.js:157:5)
Pass
assert_not_equals(object "Ijklmnop ", object "I", "extend() must replace any existing range with a new one, not mutate the existing one")
    at testExtend ( /selection/extend.js:159:5)
Passextend() backwards with range 6 [paras[1].firstChild, 0, paras[1].firstChild, 1] and point 13 [paras[1].firstChild, 9]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "Sanity check: startContainer must be correct")
    at testExtend ( /selection/extend.js:80:5)
Pass
assert_equals(0, 0, "Sanity check: startOffset must be correct")
    at testExtend ( /selection/extend.js:82:5)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "Sanity check: endContainer must be correct")
    at testExtend ( /selection/extend.js:84:5)
Pass
assert_equals(1, 1, "Sanity check: endOffset must be correct")
    at testExtend ( /selection/extend.js:86:5)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "anchorNode must not change if the node passed to extend() has the same root as the original range")
    at testExtend ( /selection/extend.js:145:9)
Pass
assert_equals(1, 1, "anchorOffset must not change if the node passed to extend() has the same root as the original range")
    at testExtend ( /selection/extend.js:147:9)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "focusNode must be the node passed to extend()")
    at testExtend ( /selection/extend.js:155:5)
Pass
assert_equals(9, 9, "focusOffset must be the offset passed to extend()")
    at testExtend ( /selection/extend.js:157:5)
Pass
assert_not_equals(object "jklmnop ", object "I", "extend() must replace any existing range with a new one, not mutate the existing one")
    at testExtend ( /selection/extend.js:159:5)
Passextend() forwards with range 6 [paras[1].firstChild, 0, paras[1].firstChild, 1] and point 14 [paras[1].firstChild, 10]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "Sanity check: startContainer must be correct")
    at testExtend ( /selection/extend.js:80:5)
Pass
assert_equals(0, 0, "Sanity check: startOffset must be correct")
    at testExtend ( /selection/extend.js:82:5)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "Sanity check: endContainer must be correct")
    at testExtend ( /selection/extend.js:84:5)
Pass
assert_equals(1, 1, "Sanity check: endOffset must be correct")
    at testExtend ( /selection/extend.js:86:5)
Pass
assert_throws_dom("INDEX_SIZE_ERR", function "function() {             selection.extend(node, offset);         }", "extend() to an offset that's greater than node length (9) must throw IndexSizeError")
    at testExtend ( /selection/extend.js:117:9)
Passextend() backwards with range 6 [paras[1].firstChild, 0, paras[1].firstChild, 1] and point 14 [paras[1].firstChild, 10]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "Sanity check: startContainer must be correct")
    at testExtend ( /selection/extend.js:80:5)
Pass
assert_equals(0, 0, "Sanity check: startOffset must be correct")
    at testExtend ( /selection/extend.js:82:5)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "Sanity check: endContainer must be correct")
    at testExtend ( /selection/extend.js:84:5)
Pass
assert_equals(1, 1, "Sanity check: endOffset must be correct")
    at testExtend ( /selection/extend.js:86:5)
Pass
assert_throws_dom("INDEX_SIZE_ERR", function "function() {             selection.extend(node, offset);         }", "extend() to an offset that's greater than node length (9) must throw IndexSizeError")
    at testExtend ( /selection/extend.js:117:9)
Passextend() forwards with range 6 [paras[1].firstChild, 0, paras[1].firstChild, 1] and point 15 [paras[1].firstChild, 65535]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "Sanity check: startContainer must be correct")
    at testExtend ( /selection/extend.js:80:5)
Pass
assert_equals(0, 0, "Sanity check: startOffset must be correct")
    at testExtend ( /selection/extend.js:82:5)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "Sanity check: endContainer must be correct")
    at testExtend ( /selection/extend.js:84:5)
Pass
assert_equals(1, 1, "Sanity check: endOffset must be correct")
    at testExtend ( /selection/extend.js:86:5)
Pass
assert_throws_dom("INDEX_SIZE_ERR", function "function() {             selection.extend(node, offset);         }", "extend() to an offset that's greater than node length (9) must throw IndexSizeError")
    at testExtend ( /selection/extend.js:117:9)
Passextend() backwards with range 6 [paras[1].firstChild, 0, paras[1].firstChild, 1] and point 15 [paras[1].firstChild, 65535]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "Sanity check: startContainer must be correct")
    at testExtend ( /selection/extend.js:80:5)
Pass
assert_equals(0, 0, "Sanity check: startOffset must be correct")
    at testExtend ( /selection/extend.js:82:5)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "Sanity check: endContainer must be correct")
    at testExtend ( /selection/extend.js:84:5)
Pass
assert_equals(1, 1, "Sanity check: endOffset must be correct")
    at testExtend ( /selection/extend.js:86:5)
Pass
assert_throws_dom("INDEX_SIZE_ERR", function "function() {             selection.extend(node, offset);         }", "extend() to an offset that's greater than node length (9) must throw IndexSizeError")
    at testExtend ( /selection/extend.js:117:9)
Passextend() forwards with range 6 [paras[1].firstChild, 0, paras[1].firstChild, 1] and point 16 [detachedPara1.firstChild, 0]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(1, 1, "The operation should not add Range")
    at assertSelectionNoChange ( /selection/common.js:976:5)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "The operation should not update anchorNode")
    at assertSelectionNoChange ( /selection/common.js:978:5)
Pass
assert_equals(0, 0, "The operation should not update anchorOffset")
    at assertSelectionNoChange ( /selection/common.js:980:5)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "The operation should not update focusNode")
    at assertSelectionNoChange ( /selection/common.js:982:5)
Pass
assert_equals(1, 1, "The operation should not update focusOffset")
    at assertSelectionNoChange ( /selection/common.js:984:5)
Pass
assert_equals(object "I", object "I", "The operation should not replace a registered Range")
    at assertSelectionNoChange ( /selection/common.js:988:5)
Passextend() backwards with range 6 [paras[1].firstChild, 0, paras[1].firstChild, 1] and point 16 [detachedPara1.firstChild, 0]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(1, 1, "The operation should not add Range")
    at assertSelectionNoChange ( /selection/common.js:976:5)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "The operation should not update anchorNode")
    at assertSelectionNoChange ( /selection/common.js:978:5)
Pass
assert_equals(1, 1, "The operation should not update anchorOffset")
    at assertSelectionNoChange ( /selection/common.js:980:5)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "The operation should not update focusNode")
    at assertSelectionNoChange ( /selection/common.js:982:5)
Pass
assert_equals(0, 0, "The operation should not update focusOffset")
    at assertSelectionNoChange ( /selection/common.js:984:5)
Pass
assert_equals(object "I", object "I", "The operation should not replace a registered Range")
    at assertSelectionNoChange ( /selection/common.js:988:5)
Passextend() forwards with range 6 [paras[1].firstChild, 0, paras[1].firstChild, 1] and point 17 [detachedPara1.firstChild, 1]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(1, 1, "The operation should not add Range")
    at assertSelectionNoChange ( /selection/common.js:976:5)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "The operation should not update anchorNode")
    at assertSelectionNoChange ( /selection/common.js:978:5)
Pass
assert_equals(0, 0, "The operation should not update anchorOffset")
    at assertSelectionNoChange ( /selection/common.js:980:5)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "The operation should not update focusNode")
    at assertSelectionNoChange ( /selection/common.js:982:5)
Pass
assert_equals(1, 1, "The operation should not update focusOffset")
    at assertSelectionNoChange ( /selection/common.js:984:5)
Pass
assert_equals(object "I", object "I", "The operation should not replace a registered Range")
    at assertSelectionNoChange ( /selection/common.js:988:5)
Passextend() backwards with range 6 [paras[1].firstChild, 0, paras[1].firstChild, 1] and point 17 [detachedPara1.firstChild, 1]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(1, 1, "The operation should not add Range")
    at assertSelectionNoChange ( /selection/common.js:976:5)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "The operation should not update anchorNode")
    at assertSelectionNoChange ( /selection/common.js:978:5)
Pass
assert_equals(1, 1, "The operation should not update anchorOffset")
    at assertSelectionNoChange ( /selection/common.js:980:5)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "The operation should not update focusNode")
    at assertSelectionNoChange ( /selection/common.js:982:5)
Pass
assert_equals(0, 0, "The operation should not update focusOffset")
    at assertSelectionNoChange ( /selection/common.js:984:5)
Pass
assert_equals(object "I", object "I", "The operation should not replace a registered Range")
    at assertSelectionNoChange ( /selection/common.js:988:5)
Passextend() forwards with range 6 [paras[1].firstChild, 0, paras[1].firstChild, 1] and point 18 [detachedPara1.firstChild, 8]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(1, 1, "The operation should not add Range")
    at assertSelectionNoChange ( /selection/common.js:976:5)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "The operation should not update anchorNode")
    at assertSelectionNoChange ( /selection/common.js:978:5)
Pass
assert_equals(0, 0, "The operation should not update anchorOffset")
    at assertSelectionNoChange ( /selection/common.js:980:5)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "The operation should not update focusNode")
    at assertSelectionNoChange ( /selection/common.js:982:5)
Pass
assert_equals(1, 1, "The operation should not update focusOffset")
    at assertSelectionNoChange ( /selection/common.js:984:5)
Pass
assert_equals(object "I", object "I", "The operation should not replace a registered Range")
    at assertSelectionNoChange ( /selection/common.js:988:5)
Passextend() backwards with range 6 [paras[1].firstChild, 0, paras[1].firstChild, 1] and point 18 [detachedPara1.firstChild, 8]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(1, 1, "The operation should not add Range")
    at assertSelectionNoChange ( /selection/common.js:976:5)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "The operation should not update anchorNode")
    at assertSelectionNoChange ( /selection/common.js:978:5)
Pass
assert_equals(1, 1, "The operation should not update anchorOffset")
    at assertSelectionNoChange ( /selection/common.js:980:5)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "The operation should not update focusNode")
    at assertSelectionNoChange ( /selection/common.js:982:5)
Pass
assert_equals(0, 0, "The operation should not update focusOffset")
    at assertSelectionNoChange ( /selection/common.js:984:5)
Pass
assert_equals(object "I", object "I", "The operation should not replace a registered Range")
    at assertSelectionNoChange ( /selection/common.js:988:5)
Passextend() forwards with range 6 [paras[1].firstChild, 0, paras[1].firstChild, 1] and point 19 [detachedPara1.firstChild, 9]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(1, 1, "The operation should not add Range")
    at assertSelectionNoChange ( /selection/common.js:976:5)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "The operation should not update anchorNode")
    at assertSelectionNoChange ( /selection/common.js:978:5)
Pass
assert_equals(0, 0, "The operation should not update anchorOffset")
    at assertSelectionNoChange ( /selection/common.js:980:5)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "The operation should not update focusNode")
    at assertSelectionNoChange ( /selection/common.js:982:5)
Pass
assert_equals(1, 1, "The operation should not update focusOffset")
    at assertSelectionNoChange ( /selection/common.js:984:5)
Pass
assert_equals(object "I", object "I", "The operation should not replace a registered Range")
    at assertSelectionNoChange ( /selection/common.js:988:5)
Passextend() backwards with range 6 [paras[1].firstChild, 0, paras[1].firstChild, 1] and point 19 [detachedPara1.firstChild, 9]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(1, 1, "The operation should not add Range")
    at assertSelectionNoChange ( /selection/common.js:976:5)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "The operation should not update anchorNode")
    at assertSelectionNoChange ( /selection/common.js:978:5)
Pass
assert_equals(1, 1, "The operation should not update anchorOffset")
    at assertSelectionNoChange ( /selection/common.js:980:5)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "The operation should not update focusNode")
    at assertSelectionNoChange ( /selection/common.js:982:5)
Pass
assert_equals(0, 0, "The operation should not update focusOffset")
    at assertSelectionNoChange ( /selection/common.js:984:5)
Pass
assert_equals(object "I", object "I", "The operation should not replace a registered Range")
    at assertSelectionNoChange ( /selection/common.js:988:5)
Passextend() forwards with range 6 [paras[1].firstChild, 0, paras[1].firstChild, 1] and point 20 [foreignPara1.firstChild, 0]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(1, 1, "The operation should not add Range")
    at assertSelectionNoChange ( /selection/common.js:976:5)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "The operation should not update anchorNode")
    at assertSelectionNoChange ( /selection/common.js:978:5)
Pass
assert_equals(0, 0, "The operation should not update anchorOffset")
    at assertSelectionNoChange ( /selection/common.js:980:5)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "The operation should not update focusNode")
    at assertSelectionNoChange ( /selection/common.js:982:5)
Pass
assert_equals(1, 1, "The operation should not update focusOffset")
    at assertSelectionNoChange ( /selection/common.js:984:5)
Pass
assert_equals(object "I", object "I", "The operation should not replace a registered Range")
    at assertSelectionNoChange ( /selection/common.js:988:5)
Passextend() backwards with range 6 [paras[1].firstChild, 0, paras[1].firstChild, 1] and point 20 [foreignPara1.firstChild, 0]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(1, 1, "The operation should not add Range")
    at assertSelectionNoChange ( /selection/common.js:976:5)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "The operation should not update anchorNode")
    at assertSelectionNoChange ( /selection/common.js:978:5)
Pass
assert_equals(1, 1, "The operation should not update anchorOffset")
    at assertSelectionNoChange ( /selection/common.js:980:5)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "The operation should not update focusNode")
    at assertSelectionNoChange ( /selection/common.js:982:5)
Pass
assert_equals(0, 0, "The operation should not update focusOffset")
    at assertSelectionNoChange ( /selection/common.js:984:5)
Pass
assert_equals(object "I", object "I", "The operation should not replace a registered Range")
    at assertSelectionNoChange ( /selection/common.js:988:5)
Passextend() forwards with range 6 [paras[1].firstChild, 0, paras[1].firstChild, 1] and point 21 [foreignPara1.firstChild, 1]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(1, 1, "The operation should not add Range")
    at assertSelectionNoChange ( /selection/common.js:976:5)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "The operation should not update anchorNode")
    at assertSelectionNoChange ( /selection/common.js:978:5)
Pass
assert_equals(0, 0, "The operation should not update anchorOffset")
    at assertSelectionNoChange ( /selection/common.js:980:5)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "The operation should not update focusNode")
    at assertSelectionNoChange ( /selection/common.js:982:5)
Pass
assert_equals(1, 1, "The operation should not update focusOffset")
    at assertSelectionNoChange ( /selection/common.js:984:5)
Pass
assert_equals(object "I", object "I", "The operation should not replace a registered Range")
    at assertSelectionNoChange ( /selection/common.js:988:5)
Passextend() backwards with range 6 [paras[1].firstChild, 0, paras[1].firstChild, 1] and point 21 [foreignPara1.firstChild, 1]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(1, 1, "The operation should not add Range")
    at assertSelectionNoChange ( /selection/common.js:976:5)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "The operation should not update anchorNode")
    at assertSelectionNoChange ( /selection/common.js:978:5)
Pass
assert_equals(1, 1, "The operation should not update anchorOffset")
    at assertSelectionNoChange ( /selection/common.js:980:5)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "The operation should not update focusNode")
    at assertSelectionNoChange ( /selection/common.js:982:5)
Pass
assert_equals(0, 0, "The operation should not update focusOffset")
    at assertSelectionNoChange ( /selection/common.js:984:5)
Pass
assert_equals(object "I", object "I", "The operation should not replace a registered Range")
    at assertSelectionNoChange ( /selection/common.js:988:5)
Passextend() forwards with range 6 [paras[1].firstChild, 0, paras[1].firstChild, 1] and point 22 [foreignPara1.firstChild, 8]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(1, 1, "The operation should not add Range")
    at assertSelectionNoChange ( /selection/common.js:976:5)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "The operation should not update anchorNode")
    at assertSelectionNoChange ( /selection/common.js:978:5)
Pass
assert_equals(0, 0, "The operation should not update anchorOffset")
    at assertSelectionNoChange ( /selection/common.js:980:5)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "The operation should not update focusNode")
    at assertSelectionNoChange ( /selection/common.js:982:5)
Pass
assert_equals(1, 1, "The operation should not update focusOffset")
    at assertSelectionNoChange ( /selection/common.js:984:5)
Pass
assert_equals(object "I", object "I", "The operation should not replace a registered Range")
    at assertSelectionNoChange ( /selection/common.js:988:5)
Passextend() backwards with range 6 [paras[1].firstChild, 0, paras[1].firstChild, 1] and point 22 [foreignPara1.firstChild, 8]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(1, 1, "The operation should not add Range")
    at assertSelectionNoChange ( /selection/common.js:976:5)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "The operation should not update anchorNode")
    at assertSelectionNoChange ( /selection/common.js:978:5)
Pass
assert_equals(1, 1, "The operation should not update anchorOffset")
    at assertSelectionNoChange ( /selection/common.js:980:5)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "The operation should not update focusNode")
    at assertSelectionNoChange ( /selection/common.js:982:5)
Pass
assert_equals(0, 0, "The operation should not update focusOffset")
    at assertSelectionNoChange ( /selection/common.js:984:5)
Pass
assert_equals(object "I", object "I", "The operation should not replace a registered Range")
    at assertSelectionNoChange ( /selection/common.js:988:5)
Passextend() forwards with range 6 [paras[1].firstChild, 0, paras[1].firstChild, 1] and point 23 [foreignPara1.firstChild, 9]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(1, 1, "The operation should not add Range")
    at assertSelectionNoChange ( /selection/common.js:976:5)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "The operation should not update anchorNode")
    at assertSelectionNoChange ( /selection/common.js:978:5)
Pass
assert_equals(0, 0, "The operation should not update anchorOffset")
    at assertSelectionNoChange ( /selection/common.js:980:5)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "The operation should not update focusNode")
    at assertSelectionNoChange ( /selection/common.js:982:5)
Pass
assert_equals(1, 1, "The operation should not update focusOffset")
    at assertSelectionNoChange ( /selection/common.js:984:5)
Pass
assert_equals(object "I", object "I", "The operation should not replace a registered Range")
    at assertSelectionNoChange ( /selection/common.js:988:5)
Passextend() backwards with range 6 [paras[1].firstChild, 0, paras[1].firstChild, 1] and point 23 [foreignPara1.firstChild, 9]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(1, 1, "The operation should not add Range")
    at assertSelectionNoChange ( /selection/common.js:976:5)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "The operation should not update anchorNode")
    at assertSelectionNoChange ( /selection/common.js:978:5)
Pass
assert_equals(1, 1, "The operation should not update anchorOffset")
    at assertSelectionNoChange ( /selection/common.js:980:5)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "The operation should not update focusNode")
    at assertSelectionNoChange ( /selection/common.js:982:5)
Pass
assert_equals(0, 0, "The operation should not update focusOffset")
    at assertSelectionNoChange ( /selection/common.js:984:5)
Pass
assert_equals(object "I", object "I", "The operation should not replace a registered Range")
    at assertSelectionNoChange ( /selection/common.js:988:5)
Passextend() forwards with range 6 [paras[1].firstChild, 0, paras[1].firstChild, 1] and point 24 [document.documentElement, -1]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "Sanity check: startContainer must be correct")
    at testExtend ( /selection/extend.js:80:5)
Pass
assert_equals(0, 0, "Sanity check: startOffset must be correct")
    at testExtend ( /selection/extend.js:82:5)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "Sanity check: endContainer must be correct")
    at testExtend ( /selection/extend.js:84:5)
Pass
assert_equals(1, 1, "Sanity check: endOffset must be correct")
    at testExtend ( /selection/extend.js:86:5)
Pass
assert_throws_dom("INDEX_SIZE_ERR", function "function() {             selection.extend(node, offset);         }", "extend() to an offset that's greater than node length (2) must throw IndexSizeError")
    at testExtend ( /selection/extend.js:117:9)
Passextend() backwards with range 6 [paras[1].firstChild, 0, paras[1].firstChild, 1] and point 24 [document.documentElement, -1]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "Sanity check: startContainer must be correct")
    at testExtend ( /selection/extend.js:80:5)
Pass
assert_equals(0, 0, "Sanity check: startOffset must be correct")
    at testExtend ( /selection/extend.js:82:5)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "Sanity check: endContainer must be correct")
    at testExtend ( /selection/extend.js:84:5)
Pass
assert_equals(1, 1, "Sanity check: endOffset must be correct")
    at testExtend ( /selection/extend.js:86:5)
Pass
assert_throws_dom("INDEX_SIZE_ERR", function "function() {             selection.extend(node, offset);         }", "extend() to an offset that's greater than node length (2) must throw IndexSizeError")
    at testExtend ( /selection/extend.js:117:9)
Passextend() forwards with range 6 [paras[1].firstChild, 0, paras[1].firstChild, 1] and point 25 [document.documentElement, 0]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "Sanity check: startContainer must be correct")
    at testExtend ( /selection/extend.js:80:5)
Pass
assert_equals(0, 0, "Sanity check: startOffset must be correct")
    at testExtend ( /selection/extend.js:82:5)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "Sanity check: endContainer must be correct")
    at testExtend ( /selection/extend.js:84:5)
Pass
assert_equals(1, 1, "Sanity check: endOffset must be correct")
    at testExtend ( /selection/extend.js:86:5)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "anchorNode must not change if the node passed to extend() has the same root as the original range")
    at testExtend ( /selection/extend.js:145:9)
Pass
assert_equals(0, 0, "anchorOffset must not change if the node passed to extend() has the same root as the original range")
    at testExtend ( /selection/extend.js:147:9)
Pass
assert_equals(Element node <html><head><title>Selection extend() tests</title> <meta..., Element node <html><head><title>Selection extend() tests</title> <meta..., "focusNode must be the node passed to extend()")
    at testExtend ( /selection/extend.js:155:5)
Pass
assert_equals(0, 0, "focusOffset must be the offset passed to extend()")
    at testExtend ( /selection/extend.js:157:5)
Pass
assert_not_equals(object "Selection extend() tests   Äb̈c̈d̈ëf̈g̈ḧ ", object "I", "extend() must replace any existing range with a new one, not mutate the existing one")
    at testExtend ( /selection/extend.js:159:5)
Passextend() backwards with range 6 [paras[1].firstChild, 0, paras[1].firstChild, 1] and point 25 [document.documentElement, 0]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "Sanity check: startContainer must be correct")
    at testExtend ( /selection/extend.js:80:5)
Pass
assert_equals(0, 0, "Sanity check: startOffset must be correct")
    at testExtend ( /selection/extend.js:82:5)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "Sanity check: endContainer must be correct")
    at testExtend ( /selection/extend.js:84:5)
Pass
assert_equals(1, 1, "Sanity check: endOffset must be correct")
    at testExtend ( /selection/extend.js:86:5)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "anchorNode must not change if the node passed to extend() has the same root as the original range")
    at testExtend ( /selection/extend.js:145:9)
Pass
assert_equals(1, 1, "anchorOffset must not change if the node passed to extend() has the same root as the original range")
    at testExtend ( /selection/extend.js:147:9)
Pass
assert_equals(Element node <html><head><title>Selection extend() tests</title> <meta..., Element node <html><head><title>Selection extend() tests</title> <meta..., "focusNode must be the node passed to extend()")
    at testExtend ( /selection/extend.js:155:5)
Pass
assert_equals(0, 0, "focusOffset must be the offset passed to extend()")
    at testExtend ( /selection/extend.js:157:5)
Pass
assert_not_equals(object "Selection extend() tests   Äb̈c̈d̈ëf̈g̈ḧ I", object "I", "extend() must replace any existing range with a new one, not mutate the existing one")
    at testExtend ( /selection/extend.js:159:5)
Passextend() forwards with range 6 [paras[1].firstChild, 0, paras[1].firstChild, 1] and point 26 [document.documentElement, 1]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "Sanity check: startContainer must be correct")
    at testExtend ( /selection/extend.js:80:5)
Pass
assert_equals(0, 0, "Sanity check: startOffset must be correct")
    at testExtend ( /selection/extend.js:82:5)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "Sanity check: endContainer must be correct")
    at testExtend ( /selection/extend.js:84:5)
Pass
assert_equals(1, 1, "Sanity check: endOffset must be correct")
    at testExtend ( /selection/extend.js:86:5)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "anchorNode must not change if the node passed to extend() has the same root as the original range")
    at testExtend ( /selection/extend.js:145:9)
Pass
assert_equals(0, 0, "anchorOffset must not change if the node passed to extend() has the same root as the original range")
    at testExtend ( /selection/extend.js:147:9)
Pass
assert_equals(Element node <html><head><title>Selection extend() tests</title> <meta..., Element node <html><head><title>Selection extend() tests</title> <meta..., "focusNode must be the node passed to extend()")
    at testExtend ( /selection/extend.js:155:5)
Pass
assert_equals(1, 1, "focusOffset must be the offset passed to extend()")
    at testExtend ( /selection/extend.js:157:5)
Pass
assert_not_equals(object "Äb̈c̈d̈ëf̈g̈ḧ ", object "I", "extend() must replace any existing range with a new one, not mutate the existing one")
    at testExtend ( /selection/extend.js:159:5)
Passextend() backwards with range 6 [paras[1].firstChild, 0, paras[1].firstChild, 1] and point 26 [document.documentElement, 1]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "Sanity check: startContainer must be correct")
    at testExtend ( /selection/extend.js:80:5)
Pass
assert_equals(0, 0, "Sanity check: startOffset must be correct")
    at testExtend ( /selection/extend.js:82:5)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "Sanity check: endContainer must be correct")
    at testExtend ( /selection/extend.js:84:5)
Pass
assert_equals(1, 1, "Sanity check: endOffset must be correct")
    at testExtend ( /selection/extend.js:86:5)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "anchorNode must not change if the node passed to extend() has the same root as the original range")
    at testExtend ( /selection/extend.js:145:9)
Pass
assert_equals(1, 1, "anchorOffset must not change if the node passed to extend() has the same root as the original range")
    at testExtend ( /selection/extend.js:147:9)
Pass
assert_equals(Element node <html><head><title>Selection extend() tests</title> <meta..., Element node <html><head><title>Selection extend() tests</title> <meta..., "focusNode must be the node passed to extend()")
    at testExtend ( /selection/extend.js:155:5)
Pass
assert_equals(1, 1, "focusOffset must be the offset passed to extend()")
    at testExtend ( /selection/extend.js:157:5)
Pass
assert_not_equals(object "Äb̈c̈d̈ëf̈g̈ḧ I", object "I", "extend() must replace any existing range with a new one, not mutate the existing one")
    at testExtend ( /selection/extend.js:159:5)
Passextend() forwards with range 6 [paras[1].firstChild, 0, paras[1].firstChild, 1] and point 27 [document.documentElement, 2]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "Sanity check: startContainer must be correct")
    at testExtend ( /selection/extend.js:80:5)
Pass
assert_equals(0, 0, "Sanity check: startOffset must be correct")
    at testExtend ( /selection/extend.js:82:5)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "Sanity check: endContainer must be correct")
    at testExtend ( /selection/extend.js:84:5)
Pass
assert_equals(1, 1, "Sanity check: endOffset must be correct")
    at testExtend ( /selection/extend.js:86:5)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "anchorNode must not change if the node passed to extend() has the same root as the original range")
    at testExtend ( /selection/extend.js:145:9)
Pass
assert_equals(0, 0, "anchorOffset must not change if the node passed to extend() has the same root as the original range")
    at testExtend ( /selection/extend.js:147:9)
Pass
assert_equals(Element node <html><head><title>Selection extend() tests</title> <meta..., Element node <html><head><title>Selection extend() tests</title> <meta..., "focusNode must be the node passed to extend()")
    at testExtend ( /selection/extend.js:155:5)
Pass
assert_equals(2, 2, "focusOffset must be the offset passed to extend()")
    at testExtend ( /selection/extend.js:157:5)
Pass
assert_not_equals(object "Ijklmnop QrstuvwxYzabcdefGhijklmn     Running, 700 complete, 1 remain  "use strict";  testExtendSubSet(0, 20); testDiv.style.display = "none"; ", object "I", "extend() must replace any existing range with a new one, not mutate the existing one")
    at testExtend ( /selection/extend.js:159:5)
Passextend() backwards with range 6 [paras[1].firstChild, 0, paras[1].firstChild, 1] and point 27 [document.documentElement, 2]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "Sanity check: startContainer must be correct")
    at testExtend ( /selection/extend.js:80:5)
Pass
assert_equals(0, 0, "Sanity check: startOffset must be correct")
    at testExtend ( /selection/extend.js:82:5)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "Sanity check: endContainer must be correct")
    at testExtend ( /selection/extend.js:84:5)
Pass
assert_equals(1, 1, "Sanity check: endOffset must be correct")
    at testExtend ( /selection/extend.js:86:5)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "anchorNode must not change if the node passed to extend() has the same root as the original range")
    at testExtend ( /selection/extend.js:145:9)
Pass
assert_equals(1, 1, "anchorOffset must not change if the node passed to extend() has the same root as the original range")
    at testExtend ( /selection/extend.js:147:9)
Pass
assert_equals(Element node <html><head><title>Selection extend() tests</title> <meta..., Element node <html><head><title>Selection extend() tests</title> <meta..., "focusNode must be the node passed to extend()")
    at testExtend ( /selection/extend.js:155:5)
Pass
assert_equals(2, 2, "focusOffset must be the offset passed to extend()")
    at testExtend ( /selection/extend.js:157:5)
Pass
assert_not_equals(object "jklmnop QrstuvwxYzabcdefGhijklmn     Running, 700 complete, 1 remain  "use strict";  testExtendSubSet(0, 20); testDiv.style.display = "none"; ", object "I", "extend() must replace any existing range with a new one, not mutate the existing one")
    at testExtend ( /selection/extend.js:159:5)
Passextend() forwards with range 6 [paras[1].firstChild, 0, paras[1].firstChild, 1] and point 28 [document.documentElement, 7]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "Sanity check: startContainer must be correct")
    at testExtend ( /selection/extend.js:80:5)
Pass
assert_equals(0, 0, "Sanity check: startOffset must be correct")
    at testExtend ( /selection/extend.js:82:5)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "Sanity check: endContainer must be correct")
    at testExtend ( /selection/extend.js:84:5)
Pass
assert_equals(1, 1, "Sanity check: endOffset must be correct")
    at testExtend ( /selection/extend.js:86:5)
Pass
assert_throws_dom("INDEX_SIZE_ERR", function "function() {             selection.extend(node, offset);         }", "extend() to an offset that's greater than node length (2) must throw IndexSizeError")
    at testExtend ( /selection/extend.js:117:9)
Passextend() backwards with range 6 [paras[1].firstChild, 0, paras[1].firstChild, 1] and point 28 [document.documentElement, 7]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "Sanity check: startContainer must be correct")
    at testExtend ( /selection/extend.js:80:5)
Pass
assert_equals(0, 0, "Sanity check: startOffset must be correct")
    at testExtend ( /selection/extend.js:82:5)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "Sanity check: endContainer must be correct")
    at testExtend ( /selection/extend.js:84:5)
Pass
assert_equals(1, 1, "Sanity check: endOffset must be correct")
    at testExtend ( /selection/extend.js:86:5)
Pass
assert_throws_dom("INDEX_SIZE_ERR", function "function() {             selection.extend(node, offset);         }", "extend() to an offset that's greater than node length (2) must throw IndexSizeError")
    at testExtend ( /selection/extend.js:117:9)
Passextend() forwards with range 6 [paras[1].firstChild, 0, paras[1].firstChild, 1] and point 29 [document.head, 1]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "Sanity check: startContainer must be correct")
    at testExtend ( /selection/extend.js:80:5)
Pass
assert_equals(0, 0, "Sanity check: startOffset must be correct")
    at testExtend ( /selection/extend.js:82:5)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "Sanity check: endContainer must be correct")
    at testExtend ( /selection/extend.js:84:5)
Pass
assert_equals(1, 1, "Sanity check: endOffset must be correct")
    at testExtend ( /selection/extend.js:86:5)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "anchorNode must not change if the node passed to extend() has the same root as the original range")
    at testExtend ( /selection/extend.js:145:9)
Pass
assert_equals(0, 0, "anchorOffset must not change if the node passed to extend() has the same root as the original range")
    at testExtend ( /selection/extend.js:147:9)
Pass
assert_equals(Element node <head><title>Selection extend() tests</title> <meta chars..., Element node <head><title>Selection extend() tests</title> <meta chars..., "focusNode must be the node passed to extend()")
    at testExtend ( /selection/extend.js:155:5)
Pass
assert_equals(1, 1, "focusOffset must be the offset passed to extend()")
    at testExtend ( /selection/extend.js:157:5)
Pass
assert_not_equals(object "   Äb̈c̈d̈ëf̈g̈ḧ ", object "I", "extend() must replace any existing range with a new one, not mutate the existing one")
    at testExtend ( /selection/extend.js:159:5)
Passextend() backwards with range 6 [paras[1].firstChild, 0, paras[1].firstChild, 1] and point 29 [document.head, 1]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "Sanity check: startContainer must be correct")
    at testExtend ( /selection/extend.js:80:5)
Pass
assert_equals(0, 0, "Sanity check: startOffset must be correct")
    at testExtend ( /selection/extend.js:82:5)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "Sanity check: endContainer must be correct")
    at testExtend ( /selection/extend.js:84:5)
Pass
assert_equals(1, 1, "Sanity check: endOffset must be correct")
    at testExtend ( /selection/extend.js:86:5)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "anchorNode must not change if the node passed to extend() has the same root as the original range")
    at testExtend ( /selection/extend.js:145:9)
Pass
assert_equals(1, 1, "anchorOffset must not change if the node passed to extend() has the same root as the original range")
    at testExtend ( /selection/extend.js:147:9)
Pass
assert_equals(Element node <head><title>Selection extend() tests</title> <meta chars..., Element node <head><title>Selection extend() tests</title> <meta chars..., "focusNode must be the node passed to extend()")
    at testExtend ( /selection/extend.js:155:5)
Pass
assert_equals(1, 1, "focusOffset must be the offset passed to extend()")
    at testExtend ( /selection/extend.js:157:5)
Pass
assert_not_equals(object "   Äb̈c̈d̈ëf̈g̈ḧ I", object "I", "extend() must replace any existing range with a new one, not mutate the existing one")
    at testExtend ( /selection/extend.js:159:5)
Passextend() forwards with range 6 [paras[1].firstChild, 0, paras[1].firstChild, 1] and point 30 [document.body, 3]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "Sanity check: startContainer must be correct")
    at testExtend ( /selection/extend.js:80:5)
Pass
assert_equals(0, 0, "Sanity check: startOffset must be correct")
    at testExtend ( /selection/extend.js:82:5)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "Sanity check: endContainer must be correct")
    at testExtend ( /selection/extend.js:84:5)
Pass
assert_equals(1, 1, "Sanity check: endOffset must be correct")
    at testExtend ( /selection/extend.js:86:5)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "anchorNode must not change if the node passed to extend() has the same root as the original range")
    at testExtend ( /selection/extend.js:145:9)
Pass
assert_equals(0, 0, "anchorOffset must not change if the node passed to extend() has the same root as the original range")
    at testExtend ( /selection/extend.js:147:9)
Pass
assert_equals(Element node <body><div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ </p><p id..., Element node <body><div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ </p><p id..., "focusNode must be the node passed to extend()")
    at testExtend ( /selection/extend.js:155:5)
Pass
assert_equals(3, 3, "focusOffset must be the offset passed to extend()")
    at testExtend ( /selection/extend.js:157:5)
Pass
assert_not_equals(object "Ijklmnop QrstuvwxYzabcdefGhijklmn ", object "I", "extend() must replace any existing range with a new one, not mutate the existing one")
    at testExtend ( /selection/extend.js:159:5)
Passextend() backwards with range 6 [paras[1].firstChild, 0, paras[1].firstChild, 1] and point 30 [document.body, 3]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "Sanity check: startContainer must be correct")
    at testExtend ( /selection/extend.js:80:5)
Pass
assert_equals(0, 0, "Sanity check: startOffset must be correct")
    at testExtend ( /selection/extend.js:82:5)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "Sanity check: endContainer must be correct")
    at testExtend ( /selection/extend.js:84:5)
Pass
assert_equals(1, 1, "Sanity check: endOffset must be correct")
    at testExtend ( /selection/extend.js:86:5)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "anchorNode must not change if the node passed to extend() has the same root as the original range")
    at testExtend ( /selection/extend.js:145:9)
Pass
assert_equals(1, 1, "anchorOffset must not change if the node passed to extend() has the same root as the original range")
    at testExtend ( /selection/extend.js:147:9)
Pass
assert_equals(Element node <body><div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ </p><p id..., Element node <body><div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ </p><p id..., "focusNode must be the node passed to extend()")
    at testExtend ( /selection/extend.js:155:5)
Pass
assert_equals(3, 3, "focusOffset must be the offset passed to extend()")
    at testExtend ( /selection/extend.js:157:5)
Pass
assert_not_equals(object "jklmnop QrstuvwxYzabcdefGhijklmn ", object "I", "extend() must replace any existing range with a new one, not mutate the existing one")
    at testExtend ( /selection/extend.js:159:5)
Passextend() forwards with range 6 [paras[1].firstChild, 0, paras[1].firstChild, 1] and point 31 [foreignDoc.documentElement, 0]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(1, 1, "The operation should not add Range")
    at assertSelectionNoChange ( /selection/common.js:976:5)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "The operation should not update anchorNode")
    at assertSelectionNoChange ( /selection/common.js:978:5)
Pass
assert_equals(0, 0, "The operation should not update anchorOffset")
    at assertSelectionNoChange ( /selection/common.js:980:5)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "The operation should not update focusNode")
    at assertSelectionNoChange ( /selection/common.js:982:5)
Pass
assert_equals(1, 1, "The operation should not update focusOffset")
    at assertSelectionNoChange ( /selection/common.js:984:5)
Pass
assert_equals(object "I", object "I", "The operation should not replace a registered Range")
    at assertSelectionNoChange ( /selection/common.js:988:5)
Passextend() backwards with range 6 [paras[1].firstChild, 0, paras[1].firstChild, 1] and point 31 [foreignDoc.documentElement, 0]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(1, 1, "The operation should not add Range")
    at assertSelectionNoChange ( /selection/common.js:976:5)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "The operation should not update anchorNode")
    at assertSelectionNoChange ( /selection/common.js:978:5)
Pass
assert_equals(1, 1, "The operation should not update anchorOffset")
    at assertSelectionNoChange ( /selection/common.js:980:5)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "The operation should not update focusNode")
    at assertSelectionNoChange ( /selection/common.js:982:5)
Pass
assert_equals(0, 0, "The operation should not update focusOffset")
    at assertSelectionNoChange ( /selection/common.js:984:5)
Pass
assert_equals(object "I", object "I", "The operation should not replace a registered Range")
    at assertSelectionNoChange ( /selection/common.js:988:5)
Passextend() forwards with range 6 [paras[1].firstChild, 0, paras[1].firstChild, 1] and point 32 [foreignDoc.documentElement, 1]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(1, 1, "The operation should not add Range")
    at assertSelectionNoChange ( /selection/common.js:976:5)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "The operation should not update anchorNode")
    at assertSelectionNoChange ( /selection/common.js:978:5)
Pass
assert_equals(0, 0, "The operation should not update anchorOffset")
    at assertSelectionNoChange ( /selection/common.js:980:5)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "The operation should not update focusNode")
    at assertSelectionNoChange ( /selection/common.js:982:5)
Pass
assert_equals(1, 1, "The operation should not update focusOffset")
    at assertSelectionNoChange ( /selection/common.js:984:5)
Pass
assert_equals(object "I", object "I", "The operation should not replace a registered Range")
    at assertSelectionNoChange ( /selection/common.js:988:5)
Passextend() backwards with range 6 [paras[1].firstChild, 0, paras[1].firstChild, 1] and point 32 [foreignDoc.documentElement, 1]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(1, 1, "The operation should not add Range")
    at assertSelectionNoChange ( /selection/common.js:976:5)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "The operation should not update anchorNode")
    at assertSelectionNoChange ( /selection/common.js:978:5)
Pass
assert_equals(1, 1, "The operation should not update anchorOffset")
    at assertSelectionNoChange ( /selection/common.js:980:5)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "The operation should not update focusNode")
    at assertSelectionNoChange ( /selection/common.js:982:5)
Pass
assert_equals(0, 0, "The operation should not update focusOffset")
    at assertSelectionNoChange ( /selection/common.js:984:5)
Pass
assert_equals(object "I", object "I", "The operation should not replace a registered Range")
    at assertSelectionNoChange ( /selection/common.js:988:5)
Passextend() forwards with range 6 [paras[1].firstChild, 0, paras[1].firstChild, 1] and point 33 [foreignDoc.head, 0]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(1, 1, "The operation should not add Range")
    at assertSelectionNoChange ( /selection/common.js:976:5)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "The operation should not update anchorNode")
    at assertSelectionNoChange ( /selection/common.js:978:5)
Pass
assert_equals(0, 0, "The operation should not update anchorOffset")
    at assertSelectionNoChange ( /selection/common.js:980:5)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "The operation should not update focusNode")
    at assertSelectionNoChange ( /selection/common.js:982:5)
Pass
assert_equals(1, 1, "The operation should not update focusOffset")
    at assertSelectionNoChange ( /selection/common.js:984:5)
Pass
assert_equals(object "I", object "I", "The operation should not replace a registered Range")
    at assertSelectionNoChange ( /selection/common.js:988:5)
Passextend() backwards with range 6 [paras[1].firstChild, 0, paras[1].firstChild, 1] and point 33 [foreignDoc.head, 0]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(1, 1, "The operation should not add Range")
    at assertSelectionNoChange ( /selection/common.js:976:5)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "The operation should not update anchorNode")
    at assertSelectionNoChange ( /selection/common.js:978:5)
Pass
assert_equals(1, 1, "The operation should not update anchorOffset")
    at assertSelectionNoChange ( /selection/common.js:980:5)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "The operation should not update focusNode")
    at assertSelectionNoChange ( /selection/common.js:982:5)
Pass
assert_equals(0, 0, "The operation should not update focusOffset")
    at assertSelectionNoChange ( /selection/common.js:984:5)
Pass
assert_equals(object "I", object "I", "The operation should not replace a registered Range")
    at assertSelectionNoChange ( /selection/common.js:988:5)
Passextend() forwards with range 6 [paras[1].firstChild, 0, paras[1].firstChild, 1] and point 34 [foreignDoc.body, 1]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(1, 1, "The operation should not add Range")
    at assertSelectionNoChange ( /selection/common.js:976:5)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "The operation should not update anchorNode")
    at assertSelectionNoChange ( /selection/common.js:978:5)
Pass
assert_equals(0, 0, "The operation should not update anchorOffset")
    at assertSelectionNoChange ( /selection/common.js:980:5)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "The operation should not update focusNode")
    at assertSelectionNoChange ( /selection/common.js:982:5)
Pass
assert_equals(1, 1, "The operation should not update focusOffset")
    at assertSelectionNoChange ( /selection/common.js:984:5)
Pass
assert_equals(object "I", object "I", "The operation should not replace a registered Range")
    at assertSelectionNoChange ( /selection/common.js:988:5)
Passextend() backwards with range 6 [paras[1].firstChild, 0, paras[1].firstChild, 1] and point 34 [foreignDoc.body, 1]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(1, 1, "The operation should not add Range")
    at assertSelectionNoChange ( /selection/common.js:976:5)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "The operation should not update anchorNode")
    at assertSelectionNoChange ( /selection/common.js:978:5)
Pass
assert_equals(1, 1, "The operation should not update anchorOffset")
    at assertSelectionNoChange ( /selection/common.js:980:5)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "The operation should not update focusNode")
    at assertSelectionNoChange ( /selection/common.js:982:5)
Pass
assert_equals(0, 0, "The operation should not update focusOffset")
    at assertSelectionNoChange ( /selection/common.js:984:5)
Pass
assert_equals(object "I", object "I", "The operation should not replace a registered Range")
    at assertSelectionNoChange ( /selection/common.js:988:5)
Passextend() forwards with range 6 [paras[1].firstChild, 0, paras[1].firstChild, 1] and point 35 [paras[0], 0]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "Sanity check: startContainer must be correct")
    at testExtend ( /selection/extend.js:80:5)
Pass
assert_equals(0, 0, "Sanity check: startOffset must be correct")
    at testExtend ( /selection/extend.js:82:5)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "Sanity check: endContainer must be correct")
    at testExtend ( /selection/extend.js:84:5)
Pass
assert_equals(1, 1, "Sanity check: endOffset must be correct")
    at testExtend ( /selection/extend.js:86:5)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "anchorNode must not change if the node passed to extend() has the same root as the original range")
    at testExtend ( /selection/extend.js:145:9)
Pass
assert_equals(0, 0, "anchorOffset must not change if the node passed to extend() has the same root as the original range")
    at testExtend ( /selection/extend.js:147:9)
Pass
assert_equals(Element node <p id="a">Äb̈c̈d̈ëf̈g̈ḧ </p>, Element node <p id="a">Äb̈c̈d̈ëf̈g̈ḧ </p>, "focusNode must be the node passed to extend()")
    at testExtend ( /selection/extend.js:155:5)
Pass
assert_equals(0, 0, "focusOffset must be the offset passed to extend()")
    at testExtend ( /selection/extend.js:157:5)
Pass
assert_not_equals(object "Äb̈c̈d̈ëf̈g̈ḧ ", object "I", "extend() must replace any existing range with a new one, not mutate the existing one")
    at testExtend ( /selection/extend.js:159:5)
Passextend() backwards with range 6 [paras[1].firstChild, 0, paras[1].firstChild, 1] and point 35 [paras[0], 0]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "Sanity check: startContainer must be correct")
    at testExtend ( /selection/extend.js:80:5)
Pass
assert_equals(0, 0, "Sanity check: startOffset must be correct")
    at testExtend ( /selection/extend.js:82:5)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "Sanity check: endContainer must be correct")
    at testExtend ( /selection/extend.js:84:5)
Pass
assert_equals(1, 1, "Sanity check: endOffset must be correct")
    at testExtend ( /selection/extend.js:86:5)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "anchorNode must not change if the node passed to extend() has the same root as the original range")
    at testExtend ( /selection/extend.js:145:9)
Pass
assert_equals(1, 1, "anchorOffset must not change if the node passed to extend() has the same root as the original range")
    at testExtend ( /selection/extend.js:147:9)
Pass
assert_equals(Element node <p id="a">Äb̈c̈d̈ëf̈g̈ḧ </p>, Element node <p id="a">Äb̈c̈d̈ëf̈g̈ḧ </p>, "focusNode must be the node passed to extend()")
    at testExtend ( /selection/extend.js:155:5)
Pass
assert_equals(0, 0, "focusOffset must be the offset passed to extend()")
    at testExtend ( /selection/extend.js:157:5)
Pass
assert_not_equals(object "Äb̈c̈d̈ëf̈g̈ḧ I", object "I", "extend() must replace any existing range with a new one, not mutate the existing one")
    at testExtend ( /selection/extend.js:159:5)
Passextend() forwards with range 6 [paras[1].firstChild, 0, paras[1].firstChild, 1] and point 36 [paras[0], 1]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "Sanity check: startContainer must be correct")
    at testExtend ( /selection/extend.js:80:5)
Pass
assert_equals(0, 0, "Sanity check: startOffset must be correct")
    at testExtend ( /selection/extend.js:82:5)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "Sanity check: endContainer must be correct")
    at testExtend ( /selection/extend.js:84:5)
Pass
assert_equals(1, 1, "Sanity check: endOffset must be correct")
    at testExtend ( /selection/extend.js:86:5)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "anchorNode must not change if the node passed to extend() has the same root as the original range")
    at testExtend ( /selection/extend.js:145:9)
Pass
assert_equals(0, 0, "anchorOffset must not change if the node passed to extend() has the same root as the original range")
    at testExtend ( /selection/extend.js:147:9)
Pass
assert_equals(Element node <p id="a">Äb̈c̈d̈ëf̈g̈ḧ </p>, Element node <p id="a">Äb̈c̈d̈ëf̈g̈ḧ </p>, "focusNode must be the node passed to extend()")
    at testExtend ( /selection/extend.js:155:5)
Pass
assert_equals(1, 1, "focusOffset must be the offset passed to extend()")
    at testExtend ( /selection/extend.js:157:5)
Pass
assert_not_equals(object "", object "I", "extend() must replace any existing range with a new one, not mutate the existing one")
    at testExtend ( /selection/extend.js:159:5)
Passextend() backwards with range 6 [paras[1].firstChild, 0, paras[1].firstChild, 1] and point 36 [paras[0], 1]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "Sanity check: startContainer must be correct")
    at testExtend ( /selection/extend.js:80:5)
Pass
assert_equals(0, 0, "Sanity check: startOffset must be correct")
    at testExtend ( /selection/extend.js:82:5)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "Sanity check: endContainer must be correct")
    at testExtend ( /selection/extend.js:84:5)
Pass
assert_equals(1, 1, "Sanity check: endOffset must be correct")
    at testExtend ( /selection/extend.js:86:5)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "anchorNode must not change if the node passed to extend() has the same root as the original range")
    at testExtend ( /selection/extend.js:145:9)
Pass
assert_equals(1, 1, "anchorOffset must not change if the node passed to extend() has the same root as the original range")
    at testExtend ( /selection/extend.js:147:9)
Pass
assert_equals(Element node <p id="a">Äb̈c̈d̈ëf̈g̈ḧ </p>, Element node <p id="a">Äb̈c̈d̈ëf̈g̈ḧ </p>, "focusNode must be the node passed to extend()")
    at testExtend ( /selection/extend.js:155:5)
Pass
assert_equals(1, 1, "focusOffset must be the offset passed to extend()")
    at testExtend ( /selection/extend.js:157:5)
Pass
assert_not_equals(object "I", object "I", "extend() must replace any existing range with a new one, not mutate the existing one")
    at testExtend ( /selection/extend.js:159:5)
Passextend() forwards with range 6 [paras[1].firstChild, 0, paras[1].firstChild, 1] and point 37 [paras[0], 2]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "Sanity check: startContainer must be correct")
    at testExtend ( /selection/extend.js:80:5)
Pass
assert_equals(0, 0, "Sanity check: startOffset must be correct")
    at testExtend ( /selection/extend.js:82:5)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "Sanity check: endContainer must be correct")
    at testExtend ( /selection/extend.js:84:5)
Pass
assert_equals(1, 1, "Sanity check: endOffset must be correct")
    at testExtend ( /selection/extend.js:86:5)
Pass
assert_throws_dom("INDEX_SIZE_ERR", function "function() {             selection.extend(node, offset);         }", "extend() to an offset that's greater than node length (1) must throw IndexSizeError")
    at testExtend ( /selection/extend.js:117:9)
Passextend() backwards with range 6 [paras[1].firstChild, 0, paras[1].firstChild, 1] and point 37 [paras[0], 2]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "Sanity check: startContainer must be correct")
    at testExtend ( /selection/extend.js:80:5)
Pass
assert_equals(0, 0, "Sanity check: startOffset must be correct")
    at testExtend ( /selection/extend.js:82:5)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "Sanity check: endContainer must be correct")
    at testExtend ( /selection/extend.js:84:5)
Pass
assert_equals(1, 1, "Sanity check: endOffset must be correct")
    at testExtend ( /selection/extend.js:86:5)
Pass
assert_throws_dom("INDEX_SIZE_ERR", function "function() {             selection.extend(node, offset);         }", "extend() to an offset that's greater than node length (1) must throw IndexSizeError")
    at testExtend ( /selection/extend.js:117:9)
Passextend() forwards with range 6 [paras[1].firstChild, 0, paras[1].firstChild, 1] and point 38 [paras[1], 0]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "Sanity check: startContainer must be correct")
    at testExtend ( /selection/extend.js:80:5)
Pass
assert_equals(0, 0, "Sanity check: startOffset must be correct")
    at testExtend ( /selection/extend.js:82:5)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "Sanity check: endContainer must be correct")
    at testExtend ( /selection/extend.js:84:5)
Pass
assert_equals(1, 1, "Sanity check: endOffset must be correct")
    at testExtend ( /selection/extend.js:86:5)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "anchorNode must not change if the node passed to extend() has the same root as the original range")
    at testExtend ( /selection/extend.js:145:9)
Pass
assert_equals(0, 0, "anchorOffset must not change if the node passed to extend() has the same root as the original range")
    at testExtend ( /selection/extend.js:147:9)
Pass
assert_equals(Element node <p id="b" style="display:none">Ijklmnop </p>, Element node <p id="b" style="display:none">Ijklmnop </p>, "focusNode must be the node passed to extend()")
    at testExtend ( /selection/extend.js:155:5)
Pass
assert_equals(0, 0, "focusOffset must be the offset passed to extend()")
    at testExtend ( /selection/extend.js:157:5)
Pass
assert_not_equals(object "", object "I", "extend() must replace any existing range with a new one, not mutate the existing one")
    at testExtend ( /selection/extend.js:159:5)
Passextend() backwards with range 6 [paras[1].firstChild, 0, paras[1].firstChild, 1] and point 38 [paras[1], 0]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "Sanity check: startContainer must be correct")
    at testExtend ( /selection/extend.js:80:5)
Pass
assert_equals(0, 0, "Sanity check: startOffset must be correct")
    at testExtend ( /selection/extend.js:82:5)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "Sanity check: endContainer must be correct")
    at testExtend ( /selection/extend.js:84:5)
Pass
assert_equals(1, 1, "Sanity check: endOffset must be correct")
    at testExtend ( /selection/extend.js:86:5)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "anchorNode must not change if the node passed to extend() has the same root as the original range")
    at testExtend ( /selection/extend.js:145:9)
Pass
assert_equals(1, 1, "anchorOffset must not change if the node passed to extend() has the same root as the original range")
    at testExtend ( /selection/extend.js:147:9)
Pass
assert_equals(Element node <p id="b" style="display:none">Ijklmnop </p>, Element node <p id="b" style="display:none">Ijklmnop </p>, "focusNode must be the node passed to extend()")
    at testExtend ( /selection/extend.js:155:5)
Pass
assert_equals(0, 0, "focusOffset must be the offset passed to extend()")
    at testExtend ( /selection/extend.js:157:5)
Pass
assert_not_equals(object "I", object "I", "extend() must replace any existing range with a new one, not mutate the existing one")
    at testExtend ( /selection/extend.js:159:5)
Passextend() forwards with range 6 [paras[1].firstChild, 0, paras[1].firstChild, 1] and point 39 [paras[1], 1]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "Sanity check: startContainer must be correct")
    at testExtend ( /selection/extend.js:80:5)
Pass
assert_equals(0, 0, "Sanity check: startOffset must be correct")
    at testExtend ( /selection/extend.js:82:5)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "Sanity check: endContainer must be correct")
    at testExtend ( /selection/extend.js:84:5)
Pass
assert_equals(1, 1, "Sanity check: endOffset must be correct")
    at testExtend ( /selection/extend.js:86:5)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "anchorNode must not change if the node passed to extend() has the same root as the original range")
    at testExtend ( /selection/extend.js:145:9)
Pass
assert_equals(0, 0, "anchorOffset must not change if the node passed to extend() has the same root as the original range")
    at testExtend ( /selection/extend.js:147:9)
Pass
assert_equals(Element node <p id="b" style="display:none">Ijklmnop </p>, Element node <p id="b" style="display:none">Ijklmnop </p>, "focusNode must be the node passed to extend()")
    at testExtend ( /selection/extend.js:155:5)
Pass
assert_equals(1, 1, "focusOffset must be the offset passed to extend()")
    at testExtend ( /selection/extend.js:157:5)
Pass
assert_not_equals(object "Ijklmnop ", object "I", "extend() must replace any existing range with a new one, not mutate the existing one")
    at testExtend ( /selection/extend.js:159:5)
Passextend() backwards with range 6 [paras[1].firstChild, 0, paras[1].firstChild, 1] and point 39 [paras[1], 1]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "Sanity check: startContainer must be correct")
    at testExtend ( /selection/extend.js:80:5)
Pass
assert_equals(0, 0, "Sanity check: startOffset must be correct")
    at testExtend ( /selection/extend.js:82:5)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "Sanity check: endContainer must be correct")
    at testExtend ( /selection/extend.js:84:5)
Pass
assert_equals(1, 1, "Sanity check: endOffset must be correct")
    at testExtend ( /selection/extend.js:86:5)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "anchorNode must not change if the node passed to extend() has the same root as the original range")
    at testExtend ( /selection/extend.js:145:9)
Pass
assert_equals(1, 1, "anchorOffset must not change if the node passed to extend() has the same root as the original range")
    at testExtend ( /selection/extend.js:147:9)
Pass
assert_equals(Element node <p id="b" style="display:none">Ijklmnop </p>, Element node <p id="b" style="display:none">Ijklmnop </p>, "focusNode must be the node passed to extend()")
    at testExtend ( /selection/extend.js:155:5)
Pass
assert_equals(1, 1, "focusOffset must be the offset passed to extend()")
    at testExtend ( /selection/extend.js:157:5)
Pass
assert_not_equals(object "jklmnop ", object "I", "extend() must replace any existing range with a new one, not mutate the existing one")
    at testExtend ( /selection/extend.js:159:5)
Passextend() forwards with range 6 [paras[1].firstChild, 0, paras[1].firstChild, 1] and point 40 [paras[1], 2]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "Sanity check: startContainer must be correct")
    at testExtend ( /selection/extend.js:80:5)
Pass
assert_equals(0, 0, "Sanity check: startOffset must be correct")
    at testExtend ( /selection/extend.js:82:5)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "Sanity check: endContainer must be correct")
    at testExtend ( /selection/extend.js:84:5)
Pass
assert_equals(1, 1, "Sanity check: endOffset must be correct")
    at testExtend ( /selection/extend.js:86:5)
Pass
assert_throws_dom("INDEX_SIZE_ERR", function "function() {             selection.extend(node, offset);         }", "extend() to an offset that's greater than node length (1) must throw IndexSizeError")
    at testExtend ( /selection/extend.js:117:9)
Passextend() backwards with range 6 [paras[1].firstChild, 0, paras[1].firstChild, 1] and point 40 [paras[1], 2]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "Sanity check: startContainer must be correct")
    at testExtend ( /selection/extend.js:80:5)
Pass
assert_equals(0, 0, "Sanity check: startOffset must be correct")
    at testExtend ( /selection/extend.js:82:5)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "Sanity check: endContainer must be correct")
    at testExtend ( /selection/extend.js:84:5)
Pass
assert_equals(1, 1, "Sanity check: endOffset must be correct")
    at testExtend ( /selection/extend.js:86:5)
Pass
assert_throws_dom("INDEX_SIZE_ERR", function "function() {             selection.extend(node, offset);         }", "extend() to an offset that's greater than node length (1) must throw IndexSizeError")
    at testExtend ( /selection/extend.js:117:9)
Passextend() forwards with range 6 [paras[1].firstChild, 0, paras[1].firstChild, 1] and point 41 [detachedPara1, 0]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(1, 1, "The operation should not add Range")
    at assertSelectionNoChange ( /selection/common.js:976:5)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "The operation should not update anchorNode")
    at assertSelectionNoChange ( /selection/common.js:978:5)
Pass
assert_equals(0, 0, "The operation should not update anchorOffset")
    at assertSelectionNoChange ( /selection/common.js:980:5)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "The operation should not update focusNode")
    at assertSelectionNoChange ( /selection/common.js:982:5)
Pass
assert_equals(1, 1, "The operation should not update focusOffset")
    at assertSelectionNoChange ( /selection/common.js:984:5)
Pass
assert_equals(object "I", object "I", "The operation should not replace a registered Range")
    at assertSelectionNoChange ( /selection/common.js:988:5)
Passextend() backwards with range 6 [paras[1].firstChild, 0, paras[1].firstChild, 1] and point 41 [detachedPara1, 0]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(1, 1, "The operation should not add Range")
    at assertSelectionNoChange ( /selection/common.js:976:5)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "The operation should not update anchorNode")
    at assertSelectionNoChange ( /selection/common.js:978:5)
Pass
assert_equals(1, 1, "The operation should not update anchorOffset")
    at assertSelectionNoChange ( /selection/common.js:980:5)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "The operation should not update focusNode")
    at assertSelectionNoChange ( /selection/common.js:982:5)
Pass
assert_equals(0, 0, "The operation should not update focusOffset")
    at assertSelectionNoChange ( /selection/common.js:984:5)
Pass
assert_equals(object "I", object "I", "The operation should not replace a registered Range")
    at assertSelectionNoChange ( /selection/common.js:988:5)
Passextend() forwards with range 6 [paras[1].firstChild, 0, paras[1].firstChild, 1] and point 42 [detachedPara1, 1]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(1, 1, "The operation should not add Range")
    at assertSelectionNoChange ( /selection/common.js:976:5)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "The operation should not update anchorNode")
    at assertSelectionNoChange ( /selection/common.js:978:5)
Pass
assert_equals(0, 0, "The operation should not update anchorOffset")
    at assertSelectionNoChange ( /selection/common.js:980:5)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "The operation should not update focusNode")
    at assertSelectionNoChange ( /selection/common.js:982:5)
Pass
assert_equals(1, 1, "The operation should not update focusOffset")
    at assertSelectionNoChange ( /selection/common.js:984:5)
Pass
assert_equals(object "I", object "I", "The operation should not replace a registered Range")
    at assertSelectionNoChange ( /selection/common.js:988:5)
Passextend() backwards with range 6 [paras[1].firstChild, 0, paras[1].firstChild, 1] and point 42 [detachedPara1, 1]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(1, 1, "The operation should not add Range")
    at assertSelectionNoChange ( /selection/common.js:976:5)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "The operation should not update anchorNode")
    at assertSelectionNoChange ( /selection/common.js:978:5)
Pass
assert_equals(1, 1, "The operation should not update anchorOffset")
    at assertSelectionNoChange ( /selection/common.js:980:5)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "The operation should not update focusNode")
    at assertSelectionNoChange ( /selection/common.js:982:5)
Pass
assert_equals(0, 0, "The operation should not update focusOffset")
    at assertSelectionNoChange ( /selection/common.js:984:5)
Pass
assert_equals(object "I", object "I", "The operation should not replace a registered Range")
    at assertSelectionNoChange ( /selection/common.js:988:5)
Passextend() forwards with range 6 [paras[1].firstChild, 0, paras[1].firstChild, 1] and point 43 [testDiv, 0]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "Sanity check: startContainer must be correct")
    at testExtend ( /selection/extend.js:80:5)
Pass
assert_equals(0, 0, "Sanity check: startOffset must be correct")
    at testExtend ( /selection/extend.js:82:5)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "Sanity check: endContainer must be correct")
    at testExtend ( /selection/extend.js:84:5)
Pass
assert_equals(1, 1, "Sanity check: endOffset must be correct")
    at testExtend ( /selection/extend.js:86:5)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "anchorNode must not change if the node passed to extend() has the same root as the original range")
    at testExtend ( /selection/extend.js:145:9)
Pass
assert_equals(0, 0, "anchorOffset must not change if the node passed to extend() has the same root as the original range")
    at testExtend ( /selection/extend.js:147:9)
Pass
assert_equals(Element node <div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ </p><p id="b" s..., Element node <div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ </p><p id="b" s..., "focusNode must be the node passed to extend()")
    at testExtend ( /selection/extend.js:155:5)
Pass
assert_equals(0, 0, "focusOffset must be the offset passed to extend()")
    at testExtend ( /selection/extend.js:157:5)
Pass
assert_not_equals(object "Äb̈c̈d̈ëf̈g̈ḧ ", object "I", "extend() must replace any existing range with a new one, not mutate the existing one")
    at testExtend ( /selection/extend.js:159:5)
Passextend() backwards with range 6 [paras[1].firstChild, 0, paras[1].firstChild, 1] and point 43 [testDiv, 0]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "Sanity check: startContainer must be correct")
    at testExtend ( /selection/extend.js:80:5)
Pass
assert_equals(0, 0, "Sanity check: startOffset must be correct")
    at testExtend ( /selection/extend.js:82:5)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "Sanity check: endContainer must be correct")
    at testExtend ( /selection/extend.js:84:5)
Pass
assert_equals(1, 1, "Sanity check: endOffset must be correct")
    at testExtend ( /selection/extend.js:86:5)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "anchorNode must not change if the node passed to extend() has the same root as the original range")
    at testExtend ( /selection/extend.js:145:9)
Pass
assert_equals(1, 1, "anchorOffset must not change if the node passed to extend() has the same root as the original range")
    at testExtend ( /selection/extend.js:147:9)
Pass
assert_equals(Element node <div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ </p><p id="b" s..., Element node <div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ </p><p id="b" s..., "focusNode must be the node passed to extend()")
    at testExtend ( /selection/extend.js:155:5)
Pass
assert_equals(0, 0, "focusOffset must be the offset passed to extend()")
    at testExtend ( /selection/extend.js:157:5)
Pass
assert_not_equals(object "Äb̈c̈d̈ëf̈g̈ḧ I", object "I", "extend() must replace any existing range with a new one, not mutate the existing one")
    at testExtend ( /selection/extend.js:159:5)
Passextend() forwards with range 6 [paras[1].firstChild, 0, paras[1].firstChild, 1] and point 44 [testDiv, 3]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "Sanity check: startContainer must be correct")
    at testExtend ( /selection/extend.js:80:5)
Pass
assert_equals(0, 0, "Sanity check: startOffset must be correct")
    at testExtend ( /selection/extend.js:82:5)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "Sanity check: endContainer must be correct")
    at testExtend ( /selection/extend.js:84:5)
Pass
assert_equals(1, 1, "Sanity check: endOffset must be correct")
    at testExtend ( /selection/extend.js:86:5)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "anchorNode must not change if the node passed to extend() has the same root as the original range")
    at testExtend ( /selection/extend.js:145:9)
Pass
assert_equals(0, 0, "anchorOffset must not change if the node passed to extend() has the same root as the original range")
    at testExtend ( /selection/extend.js:147:9)
Pass
assert_equals(Element node <div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ </p><p id="b" s..., Element node <div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ </p><p id="b" s..., "focusNode must be the node passed to extend()")
    at testExtend ( /selection/extend.js:155:5)
Pass
assert_equals(3, 3, "focusOffset must be the offset passed to extend()")
    at testExtend ( /selection/extend.js:157:5)
Pass
assert_not_equals(object "Ijklmnop Qrstuvwx", object "I", "extend() must replace any existing range with a new one, not mutate the existing one")
    at testExtend ( /selection/extend.js:159:5)
Passextend() backwards with range 6 [paras[1].firstChild, 0, paras[1].firstChild, 1] and point 44 [testDiv, 3]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "Sanity check: startContainer must be correct")
    at testExtend ( /selection/extend.js:80:5)
Pass
assert_equals(0, 0, "Sanity check: startOffset must be correct")
    at testExtend ( /selection/extend.js:82:5)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "Sanity check: endContainer must be correct")
    at testExtend ( /selection/extend.js:84:5)
Pass
assert_equals(1, 1, "Sanity check: endOffset must be correct")
    at testExtend ( /selection/extend.js:86:5)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "anchorNode must not change if the node passed to extend() has the same root as the original range")
    at testExtend ( /selection/extend.js:145:9)
Pass
assert_equals(1, 1, "anchorOffset must not change if the node passed to extend() has the same root as the original range")
    at testExtend ( /selection/extend.js:147:9)
Pass
assert_equals(Element node <div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ </p><p id="b" s..., Element node <div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ </p><p id="b" s..., "focusNode must be the node passed to extend()")
    at testExtend ( /selection/extend.js:155:5)
Pass
assert_equals(3, 3, "focusOffset must be the offset passed to extend()")
    at testExtend ( /selection/extend.js:157:5)
Pass
assert_not_equals(object "jklmnop Qrstuvwx", object "I", "extend() must replace any existing range with a new one, not mutate the existing one")
    at testExtend ( /selection/extend.js:159:5)
Passextend() forwards with range 6 [paras[1].firstChild, 0, paras[1].firstChild, 1] and point 45 [document, -1]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "Sanity check: startContainer must be correct")
    at testExtend ( /selection/extend.js:80:5)
Pass
assert_equals(0, 0, "Sanity check: startOffset must be correct")
    at testExtend ( /selection/extend.js:82:5)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "Sanity check: endContainer must be correct")
    at testExtend ( /selection/extend.js:84:5)
Pass
assert_equals(1, 1, "Sanity check: endOffset must be correct")
    at testExtend ( /selection/extend.js:86:5)
Pass
assert_throws_dom("INDEX_SIZE_ERR", function "function() {             selection.extend(node, offset);         }", "extend() to an offset that's greater than node length (2) must throw IndexSizeError")
    at testExtend ( /selection/extend.js:117:9)
Passextend() backwards with range 6 [paras[1].firstChild, 0, paras[1].firstChild, 1] and point 45 [document, -1]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "Sanity check: startContainer must be correct")
    at testExtend ( /selection/extend.js:80:5)
Pass
assert_equals(0, 0, "Sanity check: startOffset must be correct")
    at testExtend ( /selection/extend.js:82:5)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "Sanity check: endContainer must be correct")
    at testExtend ( /selection/extend.js:84:5)
Pass
assert_equals(1, 1, "Sanity check: endOffset must be correct")
    at testExtend ( /selection/extend.js:86:5)
Pass
assert_throws_dom("INDEX_SIZE_ERR", function "function() {             selection.extend(node, offset);         }", "extend() to an offset that's greater than node length (2) must throw IndexSizeError")
    at testExtend ( /selection/extend.js:117:9)
Passextend() forwards with range 6 [paras[1].firstChild, 0, paras[1].firstChild, 1] and point 46 [document, 0]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "Sanity check: startContainer must be correct")
    at testExtend ( /selection/extend.js:80:5)
Pass
assert_equals(0, 0, "Sanity check: startOffset must be correct")
    at testExtend ( /selection/extend.js:82:5)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "Sanity check: endContainer must be correct")
    at testExtend ( /selection/extend.js:84:5)
Pass
assert_equals(1, 1, "Sanity check: endOffset must be correct")
    at testExtend ( /selection/extend.js:86:5)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "anchorNode must not change if the node passed to extend() has the same root as the original range")
    at testExtend ( /selection/extend.js:145:9)
Pass
assert_equals(0, 0, "anchorOffset must not change if the node passed to extend() has the same root as the original range")
    at testExtend ( /selection/extend.js:147:9)
Pass
assert_equals(Document node with 2 children, Document node with 2 children, "focusNode must be the node passed to extend()")
    at testExtend ( /selection/extend.js:155:5)
Pass
assert_equals(0, 0, "focusOffset must be the offset passed to extend()")
    at testExtend ( /selection/extend.js:157:5)
Pass
assert_not_equals(object "Selection extend() tests   Äb̈c̈d̈ëf̈g̈ḧ ", object "I", "extend() must replace any existing range with a new one, not mutate the existing one")
    at testExtend ( /selection/extend.js:159:5)
Passextend() backwards with range 6 [paras[1].firstChild, 0, paras[1].firstChild, 1] and point 46 [document, 0]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "Sanity check: startContainer must be correct")
    at testExtend ( /selection/extend.js:80:5)
Pass
assert_equals(0, 0, "Sanity check: startOffset must be correct")
    at testExtend ( /selection/extend.js:82:5)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "Sanity check: endContainer must be correct")
    at testExtend ( /selection/extend.js:84:5)
Pass
assert_equals(1, 1, "Sanity check: endOffset must be correct")
    at testExtend ( /selection/extend.js:86:5)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "anchorNode must not change if the node passed to extend() has the same root as the original range")
    at testExtend ( /selection/extend.js:145:9)
Pass
assert_equals(1, 1, "anchorOffset must not change if the node passed to extend() has the same root as the original range")
    at testExtend ( /selection/extend.js:147:9)
Pass
assert_equals(Document node with 2 children, Document node with 2 children, "focusNode must be the node passed to extend()")
    at testExtend ( /selection/extend.js:155:5)
Pass
assert_equals(0, 0, "focusOffset must be the offset passed to extend()")
    at testExtend ( /selection/extend.js:157:5)
Pass
assert_not_equals(object "Selection extend() tests   Äb̈c̈d̈ëf̈g̈ḧ I", object "I", "extend() must replace any existing range with a new one, not mutate the existing one")
    at testExtend ( /selection/extend.js:159:5)
Passextend() forwards with range 6 [paras[1].firstChild, 0, paras[1].firstChild, 1] and point 47 [document, 1]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "Sanity check: startContainer must be correct")
    at testExtend ( /selection/extend.js:80:5)
Pass
assert_equals(0, 0, "Sanity check: startOffset must be correct")
    at testExtend ( /selection/extend.js:82:5)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "Sanity check: endContainer must be correct")
    at testExtend ( /selection/extend.js:84:5)
Pass
assert_equals(1, 1, "Sanity check: endOffset must be correct")
    at testExtend ( /selection/extend.js:86:5)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "anchorNode must not change if the node passed to extend() has the same root as the original range")
    at testExtend ( /selection/extend.js:145:9)
Pass
assert_equals(0, 0, "anchorOffset must not change if the node passed to extend() has the same root as the original range")
    at testExtend ( /selection/extend.js:147:9)
Pass
assert_equals(Document node with 2 children, Document node with 2 children, "focusNode must be the node passed to extend()")
    at testExtend ( /selection/extend.js:155:5)
Pass
assert_equals(1, 1, "focusOffset must be the offset passed to extend()")
    at testExtend ( /selection/extend.js:157:5)
Pass
assert_not_equals(object "Selection extend() tests   Äb̈c̈d̈ëf̈g̈ḧ ", object "I", "extend() must replace any existing range with a new one, not mutate the existing one")
    at testExtend ( /selection/extend.js:159:5)
Passextend() backwards with range 6 [paras[1].firstChild, 0, paras[1].firstChild, 1] and point 47 [document, 1]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "Sanity check: startContainer must be correct")
    at testExtend ( /selection/extend.js:80:5)
Pass
assert_equals(0, 0, "Sanity check: startOffset must be correct")
    at testExtend ( /selection/extend.js:82:5)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "Sanity check: endContainer must be correct")
    at testExtend ( /selection/extend.js:84:5)
Pass
assert_equals(1, 1, "Sanity check: endOffset must be correct")
    at testExtend ( /selection/extend.js:86:5)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "anchorNode must not change if the node passed to extend() has the same root as the original range")
    at testExtend ( /selection/extend.js:145:9)
Pass
assert_equals(1, 1, "anchorOffset must not change if the node passed to extend() has the same root as the original range")
    at testExtend ( /selection/extend.js:147:9)
Pass
assert_equals(Document node with 2 children, Document node with 2 children, "focusNode must be the node passed to extend()")
    at testExtend ( /selection/extend.js:155:5)
Pass
assert_equals(1, 1, "focusOffset must be the offset passed to extend()")
    at testExtend ( /selection/extend.js:157:5)
Pass
assert_not_equals(object "Selection extend() tests   Äb̈c̈d̈ëf̈g̈ḧ I", object "I", "extend() must replace any existing range with a new one, not mutate the existing one")
    at testExtend ( /selection/extend.js:159:5)
Passextend() forwards with range 6 [paras[1].firstChild, 0, paras[1].firstChild, 1] and point 48 [document, 2]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "Sanity check: startContainer must be correct")
    at testExtend ( /selection/extend.js:80:5)
Pass
assert_equals(0, 0, "Sanity check: startOffset must be correct")
    at testExtend ( /selection/extend.js:82:5)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "Sanity check: endContainer must be correct")
    at testExtend ( /selection/extend.js:84:5)
Pass
assert_equals(1, 1, "Sanity check: endOffset must be correct")
    at testExtend ( /selection/extend.js:86:5)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "anchorNode must not change if the node passed to extend() has the same root as the original range")
    at testExtend ( /selection/extend.js:145:9)
Pass
assert_equals(0, 0, "anchorOffset must not change if the node passed to extend() has the same root as the original range")
    at testExtend ( /selection/extend.js:147:9)
Pass
assert_equals(Document node with 2 children, Document node with 2 children, "focusNode must be the node passed to extend()")
    at testExtend ( /selection/extend.js:155:5)
Pass
assert_equals(2, 2, "focusOffset must be the offset passed to extend()")
    at testExtend ( /selection/extend.js:157:5)
Pass
assert_not_equals(object "Ijklmnop QrstuvwxYzabcdefGhijklmn     Running, 800 complete, 1 remain  "use strict";  testExtendSubSet(0, 20); testDiv.style.display = "none"; ", object "I", "extend() must replace any existing range with a new one, not mutate the existing one")
    at testExtend ( /selection/extend.js:159:5)
Passextend() backwards with range 6 [paras[1].firstChild, 0, paras[1].firstChild, 1] and point 48 [document, 2]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "Sanity check: startContainer must be correct")
    at testExtend ( /selection/extend.js:80:5)
Pass
assert_equals(0, 0, "Sanity check: startOffset must be correct")
    at testExtend ( /selection/extend.js:82:5)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "Sanity check: endContainer must be correct")
    at testExtend ( /selection/extend.js:84:5)
Pass
assert_equals(1, 1, "Sanity check: endOffset must be correct")
    at testExtend ( /selection/extend.js:86:5)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "anchorNode must not change if the node passed to extend() has the same root as the original range")
    at testExtend ( /selection/extend.js:145:9)
Pass
assert_equals(1, 1, "anchorOffset must not change if the node passed to extend() has the same root as the original range")
    at testExtend ( /selection/extend.js:147:9)
Pass
assert_equals(Document node with 2 children, Document node with 2 children, "focusNode must be the node passed to extend()")
    at testExtend ( /selection/extend.js:155:5)
Pass
assert_equals(2, 2, "focusOffset must be the offset passed to extend()")
    at testExtend ( /selection/extend.js:157:5)
Pass
assert_not_equals(object "jklmnop QrstuvwxYzabcdefGhijklmn     Running, 800 complete, 1 remain  "use strict";  testExtendSubSet(0, 20); testDiv.style.display = "none"; ", object "I", "extend() must replace any existing range with a new one, not mutate the existing one")
    at testExtend ( /selection/extend.js:159:5)
Passextend() forwards with range 6 [paras[1].firstChild, 0, paras[1].firstChild, 1] and point 49 [document, 3]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "Sanity check: startContainer must be correct")
    at testExtend ( /selection/extend.js:80:5)
Pass
assert_equals(0, 0, "Sanity check: startOffset must be correct")
    at testExtend ( /selection/extend.js:82:5)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "Sanity check: endContainer must be correct")
    at testExtend ( /selection/extend.js:84:5)
Pass
assert_equals(1, 1, "Sanity check: endOffset must be correct")
    at testExtend ( /selection/extend.js:86:5)
Pass
assert_throws_dom("INDEX_SIZE_ERR", function "function() {             selection.extend(node, offset);         }", "extend() to an offset that's greater than node length (2) must throw IndexSizeError")
    at testExtend ( /selection/extend.js:117:9)
Passextend() backwards with range 6 [paras[1].firstChild, 0, paras[1].firstChild, 1] and point 49 [document, 3]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "Sanity check: startContainer must be correct")
    at testExtend ( /selection/extend.js:80:5)
Pass
assert_equals(0, 0, "Sanity check: startOffset must be correct")
    at testExtend ( /selection/extend.js:82:5)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "Sanity check: endContainer must be correct")
    at testExtend ( /selection/extend.js:84:5)
Pass
assert_equals(1, 1, "Sanity check: endOffset must be correct")
    at testExtend ( /selection/extend.js:86:5)
Pass
assert_throws_dom("INDEX_SIZE_ERR", function "function() {             selection.extend(node, offset);         }", "extend() to an offset that's greater than node length (2) must throw IndexSizeError")
    at testExtend ( /selection/extend.js:117:9)
Passextend() forwards with range 6 [paras[1].firstChild, 0, paras[1].firstChild, 1] and point 50 [comment, -1]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "Sanity check: startContainer must be correct")
    at testExtend ( /selection/extend.js:80:5)
Pass
assert_equals(0, 0, "Sanity check: startOffset must be correct")
    at testExtend ( /selection/extend.js:82:5)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "Sanity check: endContainer must be correct")
    at testExtend ( /selection/extend.js:84:5)
Pass
assert_equals(1, 1, "Sanity check: endOffset must be correct")
    at testExtend ( /selection/extend.js:86:5)
Pass
assert_throws_dom("INDEX_SIZE_ERR", function "function() {             selection.extend(node, offset);         }", "extend() to an offset that's greater than node length (14) must throw IndexSizeError")
    at testExtend ( /selection/extend.js:117:9)
Passextend() backwards with range 6 [paras[1].firstChild, 0, paras[1].firstChild, 1] and point 50 [comment, -1]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "Sanity check: startContainer must be correct")
    at testExtend ( /selection/extend.js:80:5)
Pass
assert_equals(0, 0, "Sanity check: startOffset must be correct")
    at testExtend ( /selection/extend.js:82:5)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "Sanity check: endContainer must be correct")
    at testExtend ( /selection/extend.js:84:5)
Pass
assert_equals(1, 1, "Sanity check: endOffset must be correct")
    at testExtend ( /selection/extend.js:86:5)
Pass
assert_throws_dom("INDEX_SIZE_ERR", function "function() {             selection.extend(node, offset);         }", "extend() to an offset that's greater than node length (14) must throw IndexSizeError")
    at testExtend ( /selection/extend.js:117:9)
Passextend() forwards with range 6 [paras[1].firstChild, 0, paras[1].firstChild, 1] and point 51 [comment, 0]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "Sanity check: startContainer must be correct")
    at testExtend ( /selection/extend.js:80:5)
Pass
assert_equals(0, 0, "Sanity check: startOffset must be correct")
    at testExtend ( /selection/extend.js:82:5)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "Sanity check: endContainer must be correct")
    at testExtend ( /selection/extend.js:84:5)
Pass
assert_equals(1, 1, "Sanity check: endOffset must be correct")
    at testExtend ( /selection/extend.js:86:5)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "anchorNode must not change if the node passed to extend() has the same root as the original range")
    at testExtend ( /selection/extend.js:145:9)
Pass
assert_equals(0, 0, "anchorOffset must not change if the node passed to extend() has the same root as the original range")
    at testExtend ( /selection/extend.js:147:9)
Pass
assert_equals(Comment node <!--Alphabet soup?-->, Comment node <!--Alphabet soup?-->, "focusNode must be the node passed to extend()")
    at testExtend ( /selection/extend.js:155:5)
Pass
assert_equals(0, 0, "focusOffset must be the offset passed to extend()")
    at testExtend ( /selection/extend.js:157:5)
Pass
assert_not_equals(object "Ijklmnop QrstuvwxYzabcdefGhijklmn", object "I", "extend() must replace any existing range with a new one, not mutate the existing one")
    at testExtend ( /selection/extend.js:159:5)
Passextend() backwards with range 6 [paras[1].firstChild, 0, paras[1].firstChild, 1] and point 51 [comment, 0]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "Sanity check: startContainer must be correct")
    at testExtend ( /selection/extend.js:80:5)
Pass
assert_equals(0, 0, "Sanity check: startOffset must be correct")
    at testExtend ( /selection/extend.js:82:5)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "Sanity check: endContainer must be correct")
    at testExtend ( /selection/extend.js:84:5)
Pass
assert_equals(1, 1, "Sanity check: endOffset must be correct")
    at testExtend ( /selection/extend.js:86:5)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "anchorNode must not change if the node passed to extend() has the same root as the original range")
    at testExtend ( /selection/extend.js:145:9)
Pass
assert_equals(1, 1, "anchorOffset must not change if the node passed to extend() has the same root as the original range")
    at testExtend ( /selection/extend.js:147:9)
Pass
assert_equals(Comment node <!--Alphabet soup?-->, Comment node <!--Alphabet soup?-->, "focusNode must be the node passed to extend()")
    at testExtend ( /selection/extend.js:155:5)
Pass
assert_equals(0, 0, "focusOffset must be the offset passed to extend()")
    at testExtend ( /selection/extend.js:157:5)
Pass
assert_not_equals(object "jklmnop QrstuvwxYzabcdefGhijklmn", object "I", "extend() must replace any existing range with a new one, not mutate the existing one")
    at testExtend ( /selection/extend.js:159:5)
Passextend() forwards with range 6 [paras[1].firstChild, 0, paras[1].firstChild, 1] and point 52 [comment, 4]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "Sanity check: startContainer must be correct")
    at testExtend ( /selection/extend.js:80:5)
Pass
assert_equals(0, 0, "Sanity check: startOffset must be correct")
    at testExtend ( /selection/extend.js:82:5)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "Sanity check: endContainer must be correct")
    at testExtend ( /selection/extend.js:84:5)
Pass
assert_equals(1, 1, "Sanity check: endOffset must be correct")
    at testExtend ( /selection/extend.js:86:5)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "anchorNode must not change if the node passed to extend() has the same root as the original range")
    at testExtend ( /selection/extend.js:145:9)
Pass
assert_equals(0, 0, "anchorOffset must not change if the node passed to extend() has the same root as the original range")
    at testExtend ( /selection/extend.js:147:9)
Pass
assert_equals(Comment node <!--Alphabet soup?-->, Comment node <!--Alphabet soup?-->, "focusNode must be the node passed to extend()")
    at testExtend ( /selection/extend.js:155:5)
Pass
assert_equals(4, 4, "focusOffset must be the offset passed to extend()")
    at testExtend ( /selection/extend.js:157:5)
Pass
assert_not_equals(object "Ijklmnop QrstuvwxYzabcdefGhijklmn", object "I", "extend() must replace any existing range with a new one, not mutate the existing one")
    at testExtend ( /selection/extend.js:159:5)
Passextend() backwards with range 6 [paras[1].firstChild, 0, paras[1].firstChild, 1] and point 52 [comment, 4]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "Sanity check: startContainer must be correct")
    at testExtend ( /selection/extend.js:80:5)
Pass
assert_equals(0, 0, "Sanity check: startOffset must be correct")
    at testExtend ( /selection/extend.js:82:5)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "Sanity check: endContainer must be correct")
    at testExtend ( /selection/extend.js:84:5)
Pass
assert_equals(1, 1, "Sanity check: endOffset must be correct")
    at testExtend ( /selection/extend.js:86:5)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "anchorNode must not change if the node passed to extend() has the same root as the original range")
    at testExtend ( /selection/extend.js:145:9)
Pass
assert_equals(1, 1, "anchorOffset must not change if the node passed to extend() has the same root as the original range")
    at testExtend ( /selection/extend.js:147:9)
Pass
assert_equals(Comment node <!--Alphabet soup?-->, Comment node <!--Alphabet soup?-->, "focusNode must be the node passed to extend()")
    at testExtend ( /selection/extend.js:155:5)
Pass
assert_equals(4, 4, "focusOffset must be the offset passed to extend()")
    at testExtend ( /selection/extend.js:157:5)
Pass
assert_not_equals(object "jklmnop QrstuvwxYzabcdefGhijklmn", object "I", "extend() must replace any existing range with a new one, not mutate the existing one")
    at testExtend ( /selection/extend.js:159:5)
Passextend() forwards with range 6 [paras[1].firstChild, 0, paras[1].firstChild, 1] and point 53 [comment, 96]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "Sanity check: startContainer must be correct")
    at testExtend ( /selection/extend.js:80:5)
Pass
assert_equals(0, 0, "Sanity check: startOffset must be correct")
    at testExtend ( /selection/extend.js:82:5)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "Sanity check: endContainer must be correct")
    at testExtend ( /selection/extend.js:84:5)
Pass
assert_equals(1, 1, "Sanity check: endOffset must be correct")
    at testExtend ( /selection/extend.js:86:5)
Pass
assert_throws_dom("INDEX_SIZE_ERR", function "function() {             selection.extend(node, offset);         }", "extend() to an offset that's greater than node length (14) must throw IndexSizeError")
    at testExtend ( /selection/extend.js:117:9)
Passextend() backwards with range 6 [paras[1].firstChild, 0, paras[1].firstChild, 1] and point 53 [comment, 96]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "Sanity check: startContainer must be correct")
    at testExtend ( /selection/extend.js:80:5)
Pass
assert_equals(0, 0, "Sanity check: startOffset must be correct")
    at testExtend ( /selection/extend.js:82:5)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "Sanity check: endContainer must be correct")
    at testExtend ( /selection/extend.js:84:5)
Pass
assert_equals(1, 1, "Sanity check: endOffset must be correct")
    at testExtend ( /selection/extend.js:86:5)
Pass
assert_throws_dom("INDEX_SIZE_ERR", function "function() {             selection.extend(node, offset);         }", "extend() to an offset that's greater than node length (14) must throw IndexSizeError")
    at testExtend ( /selection/extend.js:117:9)
Passextend() forwards with range 6 [paras[1].firstChild, 0, paras[1].firstChild, 1] and point 54 [foreignDoc, 0]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(1, 1, "The operation should not add Range")
    at assertSelectionNoChange ( /selection/common.js:976:5)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "The operation should not update anchorNode")
    at assertSelectionNoChange ( /selection/common.js:978:5)
Pass
assert_equals(0, 0, "The operation should not update anchorOffset")
    at assertSelectionNoChange ( /selection/common.js:980:5)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "The operation should not update focusNode")
    at assertSelectionNoChange ( /selection/common.js:982:5)
Pass
assert_equals(1, 1, "The operation should not update focusOffset")
    at assertSelectionNoChange ( /selection/common.js:984:5)
Pass
assert_equals(object "I", object "I", "The operation should not replace a registered Range")
    at assertSelectionNoChange ( /selection/common.js:988:5)
Passextend() backwards with range 6 [paras[1].firstChild, 0, paras[1].firstChild, 1] and point 54 [foreignDoc, 0]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(1, 1, "The operation should not add Range")
    at assertSelectionNoChange ( /selection/common.js:976:5)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "The operation should not update anchorNode")
    at assertSelectionNoChange ( /selection/common.js:978:5)
Pass
assert_equals(1, 1, "The operation should not update anchorOffset")
    at assertSelectionNoChange ( /selection/common.js:980:5)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "The operation should not update focusNode")
    at assertSelectionNoChange ( /selection/common.js:982:5)
Pass
assert_equals(0, 0, "The operation should not update focusOffset")
    at assertSelectionNoChange ( /selection/common.js:984:5)
Pass
assert_equals(object "I", object "I", "The operation should not replace a registered Range")
    at assertSelectionNoChange ( /selection/common.js:988:5)
Passextend() forwards with range 6 [paras[1].firstChild, 0, paras[1].firstChild, 1] and point 55 [foreignDoc, 1]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(1, 1, "The operation should not add Range")
    at assertSelectionNoChange ( /selection/common.js:976:5)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "The operation should not update anchorNode")
    at assertSelectionNoChange ( /selection/common.js:978:5)
Pass
assert_equals(0, 0, "The operation should not update anchorOffset")
    at assertSelectionNoChange ( /selection/common.js:980:5)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "The operation should not update focusNode")
    at assertSelectionNoChange ( /selection/common.js:982:5)
Pass
assert_equals(1, 1, "The operation should not update focusOffset")
    at assertSelectionNoChange ( /selection/common.js:984:5)
Pass
assert_equals(object "I", object "I", "The operation should not replace a registered Range")
    at assertSelectionNoChange ( /selection/common.js:988:5)
Passextend() backwards with range 6 [paras[1].firstChild, 0, paras[1].firstChild, 1] and point 55 [foreignDoc, 1]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(1, 1, "The operation should not add Range")
    at assertSelectionNoChange ( /selection/common.js:976:5)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "The operation should not update anchorNode")
    at assertSelectionNoChange ( /selection/common.js:978:5)
Pass
assert_equals(1, 1, "The operation should not update anchorOffset")
    at assertSelectionNoChange ( /selection/common.js:980:5)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "The operation should not update focusNode")
    at assertSelectionNoChange ( /selection/common.js:982:5)
Pass
assert_equals(0, 0, "The operation should not update focusOffset")
    at assertSelectionNoChange ( /selection/common.js:984:5)
Pass
assert_equals(object "I", object "I", "The operation should not replace a registered Range")
    at assertSelectionNoChange ( /selection/common.js:988:5)
Passextend() forwards with range 6 [paras[1].firstChild, 0, paras[1].firstChild, 1] and point 56 [foreignComment, 2]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(1, 1, "The operation should not add Range")
    at assertSelectionNoChange ( /selection/common.js:976:5)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "The operation should not update anchorNode")
    at assertSelectionNoChange ( /selection/common.js:978:5)
Pass
assert_equals(0, 0, "The operation should not update anchorOffset")
    at assertSelectionNoChange ( /selection/common.js:980:5)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "The operation should not update focusNode")
    at assertSelectionNoChange ( /selection/common.js:982:5)
Pass
assert_equals(1, 1, "The operation should not update focusOffset")
    at assertSelectionNoChange ( /selection/common.js:984:5)
Pass
assert_equals(object "I", object "I", "The operation should not replace a registered Range")
    at assertSelectionNoChange ( /selection/common.js:988:5)
Passextend() backwards with range 6 [paras[1].firstChild, 0, paras[1].firstChild, 1] and point 56 [foreignComment, 2]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(1, 1, "The operation should not add Range")
    at assertSelectionNoChange ( /selection/common.js:976:5)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "The operation should not update anchorNode")
    at assertSelectionNoChange ( /selection/common.js:978:5)
Pass
assert_equals(1, 1, "The operation should not update anchorOffset")
    at assertSelectionNoChange ( /selection/common.js:980:5)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "The operation should not update focusNode")
    at assertSelectionNoChange ( /selection/common.js:982:5)
Pass
assert_equals(0, 0, "The operation should not update focusOffset")
    at assertSelectionNoChange ( /selection/common.js:984:5)
Pass
assert_equals(object "I", object "I", "The operation should not replace a registered Range")
    at assertSelectionNoChange ( /selection/common.js:988:5)
Passextend() forwards with range 6 [paras[1].firstChild, 0, paras[1].firstChild, 1] and point 57 [foreignTextNode, 0]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(1, 1, "The operation should not add Range")
    at assertSelectionNoChange ( /selection/common.js:976:5)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "The operation should not update anchorNode")
    at assertSelectionNoChange ( /selection/common.js:978:5)
Pass
assert_equals(0, 0, "The operation should not update anchorOffset")
    at assertSelectionNoChange ( /selection/common.js:980:5)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "The operation should not update focusNode")
    at assertSelectionNoChange ( /selection/common.js:982:5)
Pass
assert_equals(1, 1, "The operation should not update focusOffset")
    at assertSelectionNoChange ( /selection/common.js:984:5)
Pass
assert_equals(object "I", object "I", "The operation should not replace a registered Range")
    at assertSelectionNoChange ( /selection/common.js:988:5)
Passextend() backwards with range 6 [paras[1].firstChild, 0, paras[1].firstChild, 1] and point 57 [foreignTextNode, 0]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(1, 1, "The operation should not add Range")
    at assertSelectionNoChange ( /selection/common.js:976:5)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "The operation should not update anchorNode")
    at assertSelectionNoChange ( /selection/common.js:978:5)
Pass
assert_equals(1, 1, "The operation should not update anchorOffset")
    at assertSelectionNoChange ( /selection/common.js:980:5)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "The operation should not update focusNode")
    at assertSelectionNoChange ( /selection/common.js:982:5)
Pass
assert_equals(0, 0, "The operation should not update focusOffset")
    at assertSelectionNoChange ( /selection/common.js:984:5)
Pass
assert_equals(object "I", object "I", "The operation should not replace a registered Range")
    at assertSelectionNoChange ( /selection/common.js:988:5)
Passextend() forwards with range 6 [paras[1].firstChild, 0, paras[1].firstChild, 1] and point 58 [foreignTextNode, 36]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(1, 1, "The operation should not add Range")
    at assertSelectionNoChange ( /selection/common.js:976:5)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "The operation should not update anchorNode")
    at assertSelectionNoChange ( /selection/common.js:978:5)
Pass
assert_equals(0, 0, "The operation should not update anchorOffset")
    at assertSelectionNoChange ( /selection/common.js:980:5)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "The operation should not update focusNode")
    at assertSelectionNoChange ( /selection/common.js:982:5)
Pass
assert_equals(1, 1, "The operation should not update focusOffset")
    at assertSelectionNoChange ( /selection/common.js:984:5)
Pass
assert_equals(object "I", object "I", "The operation should not replace a registered Range")
    at assertSelectionNoChange ( /selection/common.js:988:5)
Passextend() backwards with range 6 [paras[1].firstChild, 0, paras[1].firstChild, 1] and point 58 [foreignTextNode, 36]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(1, 1, "The operation should not add Range")
    at assertSelectionNoChange ( /selection/common.js:976:5)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "The operation should not update anchorNode")
    at assertSelectionNoChange ( /selection/common.js:978:5)
Pass
assert_equals(1, 1, "The operation should not update anchorOffset")
    at assertSelectionNoChange ( /selection/common.js:980:5)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "The operation should not update focusNode")
    at assertSelectionNoChange ( /selection/common.js:982:5)
Pass
assert_equals(0, 0, "The operation should not update focusOffset")
    at assertSelectionNoChange ( /selection/common.js:984:5)
Pass
assert_equals(object "I", object "I", "The operation should not replace a registered Range")
    at assertSelectionNoChange ( /selection/common.js:988:5)
Passextend() forwards with range 6 [paras[1].firstChild, 0, paras[1].firstChild, 1] and point 59 [xmlDoc, -1]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(1, 1, "The operation should not add Range")
    at assertSelectionNoChange ( /selection/common.js:976:5)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "The operation should not update anchorNode")
    at assertSelectionNoChange ( /selection/common.js:978:5)
Pass
assert_equals(0, 0, "The operation should not update anchorOffset")
    at assertSelectionNoChange ( /selection/common.js:980:5)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "The operation should not update focusNode")
    at assertSelectionNoChange ( /selection/common.js:982:5)
Pass
assert_equals(1, 1, "The operation should not update focusOffset")
    at assertSelectionNoChange ( /selection/common.js:984:5)
Pass
assert_equals(object "I", object "I", "The operation should not replace a registered Range")
    at assertSelectionNoChange ( /selection/common.js:988:5)
Passextend() backwards with range 6 [paras[1].firstChild, 0, paras[1].firstChild, 1] and point 59 [xmlDoc, -1]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(1, 1, "The operation should not add Range")
    at assertSelectionNoChange ( /selection/common.js:976:5)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "The operation should not update anchorNode")
    at assertSelectionNoChange ( /selection/common.js:978:5)
Pass
assert_equals(1, 1, "The operation should not update anchorOffset")
    at assertSelectionNoChange ( /selection/common.js:980:5)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "The operation should not update focusNode")
    at assertSelectionNoChange ( /selection/common.js:982:5)
Pass
assert_equals(0, 0, "The operation should not update focusOffset")
    at assertSelectionNoChange ( /selection/common.js:984:5)
Pass
assert_equals(object "I", object "I", "The operation should not replace a registered Range")
    at assertSelectionNoChange ( /selection/common.js:988:5)
Passextend() forwards with range 6 [paras[1].firstChild, 0, paras[1].firstChild, 1] and point 60 [xmlDoc, 0]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(1, 1, "The operation should not add Range")
    at assertSelectionNoChange ( /selection/common.js:976:5)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "The operation should not update anchorNode")
    at assertSelectionNoChange ( /selection/common.js:978:5)
Pass
assert_equals(0, 0, "The operation should not update anchorOffset")
    at assertSelectionNoChange ( /selection/common.js:980:5)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "The operation should not update focusNode")
    at assertSelectionNoChange ( /selection/common.js:982:5)
Pass
assert_equals(1, 1, "The operation should not update focusOffset")
    at assertSelectionNoChange ( /selection/common.js:984:5)
Pass
assert_equals(object "I", object "I", "The operation should not replace a registered Range")
    at assertSelectionNoChange ( /selection/common.js:988:5)
Passextend() backwards with range 6 [paras[1].firstChild, 0, paras[1].firstChild, 1] and point 60 [xmlDoc, 0]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(1, 1, "The operation should not add Range")
    at assertSelectionNoChange ( /selection/common.js:976:5)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "The operation should not update anchorNode")
    at assertSelectionNoChange ( /selection/common.js:978:5)
Pass
assert_equals(1, 1, "The operation should not update anchorOffset")
    at assertSelectionNoChange ( /selection/common.js:980:5)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "The operation should not update focusNode")
    at assertSelectionNoChange ( /selection/common.js:982:5)
Pass
assert_equals(0, 0, "The operation should not update focusOffset")
    at assertSelectionNoChange ( /selection/common.js:984:5)
Pass
assert_equals(object "I", object "I", "The operation should not replace a registered Range")
    at assertSelectionNoChange ( /selection/common.js:988:5)
Passextend() forwards with range 6 [paras[1].firstChild, 0, paras[1].firstChild, 1] and point 61 [xmlDoc, 1]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(1, 1, "The operation should not add Range")
    at assertSelectionNoChange ( /selection/common.js:976:5)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "The operation should not update anchorNode")
    at assertSelectionNoChange ( /selection/common.js:978:5)
Pass
assert_equals(0, 0, "The operation should not update anchorOffset")
    at assertSelectionNoChange ( /selection/common.js:980:5)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "The operation should not update focusNode")
    at assertSelectionNoChange ( /selection/common.js:982:5)
Pass
assert_equals(1, 1, "The operation should not update focusOffset")
    at assertSelectionNoChange ( /selection/common.js:984:5)
Pass
assert_equals(object "I", object "I", "The operation should not replace a registered Range")
    at assertSelectionNoChange ( /selection/common.js:988:5)
Passextend() backwards with range 6 [paras[1].firstChild, 0, paras[1].firstChild, 1] and point 61 [xmlDoc, 1]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(1, 1, "The operation should not add Range")
    at assertSelectionNoChange ( /selection/common.js:976:5)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "The operation should not update anchorNode")
    at assertSelectionNoChange ( /selection/common.js:978:5)
Pass
assert_equals(1, 1, "The operation should not update anchorOffset")
    at assertSelectionNoChange ( /selection/common.js:980:5)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "The operation should not update focusNode")
    at assertSelectionNoChange ( /selection/common.js:982:5)
Pass
assert_equals(0, 0, "The operation should not update focusOffset")
    at assertSelectionNoChange ( /selection/common.js:984:5)
Pass
assert_equals(object "I", object "I", "The operation should not replace a registered Range")
    at assertSelectionNoChange ( /selection/common.js:988:5)
Passextend() forwards with range 6 [paras[1].firstChild, 0, paras[1].firstChild, 1] and point 62 [xmlDoc, 5]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(1, 1, "The operation should not add Range")
    at assertSelectionNoChange ( /selection/common.js:976:5)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "The operation should not update anchorNode")
    at assertSelectionNoChange ( /selection/common.js:978:5)
Pass
assert_equals(0, 0, "The operation should not update anchorOffset")
    at assertSelectionNoChange ( /selection/common.js:980:5)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "The operation should not update focusNode")
    at assertSelectionNoChange ( /selection/common.js:982:5)
Pass
assert_equals(1, 1, "The operation should not update focusOffset")
    at assertSelectionNoChange ( /selection/common.js:984:5)
Pass
assert_equals(object "I", object "I", "The operation should not replace a registered Range")
    at assertSelectionNoChange ( /selection/common.js:988:5)
Passextend() backwards with range 6 [paras[1].firstChild, 0, paras[1].firstChild, 1] and point 62 [xmlDoc, 5]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(1, 1, "The operation should not add Range")
    at assertSelectionNoChange ( /selection/common.js:976:5)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "The operation should not update anchorNode")
    at assertSelectionNoChange ( /selection/common.js:978:5)
Pass
assert_equals(1, 1, "The operation should not update anchorOffset")
    at assertSelectionNoChange ( /selection/common.js:980:5)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "The operation should not update focusNode")
    at assertSelectionNoChange ( /selection/common.js:982:5)
Pass
assert_equals(0, 0, "The operation should not update focusOffset")
    at assertSelectionNoChange ( /selection/common.js:984:5)
Pass
assert_equals(object "I", object "I", "The operation should not replace a registered Range")
    at assertSelectionNoChange ( /selection/common.js:988:5)
Passextend() forwards with range 6 [paras[1].firstChild, 0, paras[1].firstChild, 1] and point 63 [xmlComment, 0]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(1, 1, "The operation should not add Range")
    at assertSelectionNoChange ( /selection/common.js:976:5)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "The operation should not update anchorNode")
    at assertSelectionNoChange ( /selection/common.js:978:5)
Pass
assert_equals(0, 0, "The operation should not update anchorOffset")
    at assertSelectionNoChange ( /selection/common.js:980:5)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "The operation should not update focusNode")
    at assertSelectionNoChange ( /selection/common.js:982:5)
Pass
assert_equals(1, 1, "The operation should not update focusOffset")
    at assertSelectionNoChange ( /selection/common.js:984:5)
Pass
assert_equals(object "I", object "I", "The operation should not replace a registered Range")
    at assertSelectionNoChange ( /selection/common.js:988:5)
Passextend() backwards with range 6 [paras[1].firstChild, 0, paras[1].firstChild, 1] and point 63 [xmlComment, 0]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(1, 1, "The operation should not add Range")
    at assertSelectionNoChange ( /selection/common.js:976:5)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "The operation should not update anchorNode")
    at assertSelectionNoChange ( /selection/common.js:978:5)
Pass
assert_equals(1, 1, "The operation should not update anchorOffset")
    at assertSelectionNoChange ( /selection/common.js:980:5)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "The operation should not update focusNode")
    at assertSelectionNoChange ( /selection/common.js:982:5)
Pass
assert_equals(0, 0, "The operation should not update focusOffset")
    at assertSelectionNoChange ( /selection/common.js:984:5)
Pass
assert_equals(object "I", object "I", "The operation should not replace a registered Range")
    at assertSelectionNoChange ( /selection/common.js:988:5)
Passextend() forwards with range 6 [paras[1].firstChild, 0, paras[1].firstChild, 1] and point 64 [xmlComment, 4]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(1, 1, "The operation should not add Range")
    at assertSelectionNoChange ( /selection/common.js:976:5)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "The operation should not update anchorNode")
    at assertSelectionNoChange ( /selection/common.js:978:5)
Pass
assert_equals(0, 0, "The operation should not update anchorOffset")
    at assertSelectionNoChange ( /selection/common.js:980:5)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "The operation should not update focusNode")
    at assertSelectionNoChange ( /selection/common.js:982:5)
Pass
assert_equals(1, 1, "The operation should not update focusOffset")
    at assertSelectionNoChange ( /selection/common.js:984:5)
Pass
assert_equals(object "I", object "I", "The operation should not replace a registered Range")
    at assertSelectionNoChange ( /selection/common.js:988:5)
Passextend() backwards with range 6 [paras[1].firstChild, 0, paras[1].firstChild, 1] and point 64 [xmlComment, 4]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(1, 1, "The operation should not add Range")
    at assertSelectionNoChange ( /selection/common.js:976:5)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "The operation should not update anchorNode")
    at assertSelectionNoChange ( /selection/common.js:978:5)
Pass
assert_equals(1, 1, "The operation should not update anchorOffset")
    at assertSelectionNoChange ( /selection/common.js:980:5)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "The operation should not update focusNode")
    at assertSelectionNoChange ( /selection/common.js:982:5)
Pass
assert_equals(0, 0, "The operation should not update focusOffset")
    at assertSelectionNoChange ( /selection/common.js:984:5)
Pass
assert_equals(object "I", object "I", "The operation should not replace a registered Range")
    at assertSelectionNoChange ( /selection/common.js:988:5)
Passextend() forwards with range 6 [paras[1].firstChild, 0, paras[1].firstChild, 1] and point 65 [processingInstruction, 0]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(1, 1, "The operation should not add Range")
    at assertSelectionNoChange ( /selection/common.js:976:5)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "The operation should not update anchorNode")
    at assertSelectionNoChange ( /selection/common.js:978:5)
Pass
assert_equals(0, 0, "The operation should not update anchorOffset")
    at assertSelectionNoChange ( /selection/common.js:980:5)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "The operation should not update focusNode")
    at assertSelectionNoChange ( /selection/common.js:982:5)
Pass
assert_equals(1, 1, "The operation should not update focusOffset")
    at assertSelectionNoChange ( /selection/common.js:984:5)
Pass
assert_equals(object "I", object "I", "The operation should not replace a registered Range")
    at assertSelectionNoChange ( /selection/common.js:988:5)
Passextend() backwards with range 6 [paras[1].firstChild, 0, paras[1].firstChild, 1] and point 65 [processingInstruction, 0]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(1, 1, "The operation should not add Range")
    at assertSelectionNoChange ( /selection/common.js:976:5)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "The operation should not update anchorNode")
    at assertSelectionNoChange ( /selection/common.js:978:5)
Pass
assert_equals(1, 1, "The operation should not update anchorOffset")
    at assertSelectionNoChange ( /selection/common.js:980:5)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "The operation should not update focusNode")
    at assertSelectionNoChange ( /selection/common.js:982:5)
Pass
assert_equals(0, 0, "The operation should not update focusOffset")
    at assertSelectionNoChange ( /selection/common.js:984:5)
Pass
assert_equals(object "I", object "I", "The operation should not replace a registered Range")
    at assertSelectionNoChange ( /selection/common.js:988:5)
Passextend() forwards with range 6 [paras[1].firstChild, 0, paras[1].firstChild, 1] and point 66 [processingInstruction, 5]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(1, 1, "The operation should not add Range")
    at assertSelectionNoChange ( /selection/common.js:976:5)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "The operation should not update anchorNode")
    at assertSelectionNoChange ( /selection/common.js:978:5)
Pass
assert_equals(0, 0, "The operation should not update anchorOffset")
    at assertSelectionNoChange ( /selection/common.js:980:5)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "The operation should not update focusNode")
    at assertSelectionNoChange ( /selection/common.js:982:5)
Pass
assert_equals(1, 1, "The operation should not update focusOffset")
    at assertSelectionNoChange ( /selection/common.js:984:5)
Pass
assert_equals(object "I", object "I", "The operation should not replace a registered Range")
    at assertSelectionNoChange ( /selection/common.js:988:5)
Passextend() backwards with range 6 [paras[1].firstChild, 0, paras[1].firstChild, 1] and point 66 [processingInstruction, 5]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(1, 1, "The operation should not add Range")
    at assertSelectionNoChange ( /selection/common.js:976:5)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "The operation should not update anchorNode")
    at assertSelectionNoChange ( /selection/common.js:978:5)
Pass
assert_equals(1, 1, "The operation should not update anchorOffset")
    at assertSelectionNoChange ( /selection/common.js:980:5)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "The operation should not update focusNode")
    at assertSelectionNoChange ( /selection/common.js:982:5)
Pass
assert_equals(0, 0, "The operation should not update focusOffset")
    at assertSelectionNoChange ( /selection/common.js:984:5)
Pass
assert_equals(object "I", object "I", "The operation should not replace a registered Range")
    at assertSelectionNoChange ( /selection/common.js:988:5)
Passextend() forwards with range 6 [paras[1].firstChild, 0, paras[1].firstChild, 1] and point 67 [processingInstruction, 9]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(1, 1, "The operation should not add Range")
    at assertSelectionNoChange ( /selection/common.js:976:5)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "The operation should not update anchorNode")
    at assertSelectionNoChange ( /selection/common.js:978:5)
Pass
assert_equals(0, 0, "The operation should not update anchorOffset")
    at assertSelectionNoChange ( /selection/common.js:980:5)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "The operation should not update focusNode")
    at assertSelectionNoChange ( /selection/common.js:982:5)
Pass
assert_equals(1, 1, "The operation should not update focusOffset")
    at assertSelectionNoChange ( /selection/common.js:984:5)
Pass
assert_equals(object "I", object "I", "The operation should not replace a registered Range")
    at assertSelectionNoChange ( /selection/common.js:988:5)
Passextend() backwards with range 6 [paras[1].firstChild, 0, paras[1].firstChild, 1] and point 67 [processingInstruction, 9]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(1, 1, "The operation should not add Range")
    at assertSelectionNoChange ( /selection/common.js:976:5)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "The operation should not update anchorNode")
    at assertSelectionNoChange ( /selection/common.js:978:5)
Pass
assert_equals(1, 1, "The operation should not update anchorOffset")
    at assertSelectionNoChange ( /selection/common.js:980:5)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "The operation should not update focusNode")
    at assertSelectionNoChange ( /selection/common.js:982:5)
Pass
assert_equals(0, 0, "The operation should not update focusOffset")
    at assertSelectionNoChange ( /selection/common.js:984:5)
Pass
assert_equals(object "I", object "I", "The operation should not replace a registered Range")
    at assertSelectionNoChange ( /selection/common.js:988:5)
Passextend() forwards with range 6 [paras[1].firstChild, 0, paras[1].firstChild, 1] and point 68 [detachedTextNode, 0]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(1, 1, "The operation should not add Range")
    at assertSelectionNoChange ( /selection/common.js:976:5)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "The operation should not update anchorNode")
    at assertSelectionNoChange ( /selection/common.js:978:5)
Pass
assert_equals(0, 0, "The operation should not update anchorOffset")
    at assertSelectionNoChange ( /selection/common.js:980:5)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "The operation should not update focusNode")
    at assertSelectionNoChange ( /selection/common.js:982:5)
Pass
assert_equals(1, 1, "The operation should not update focusOffset")
    at assertSelectionNoChange ( /selection/common.js:984:5)
Pass
assert_equals(object "I", object "I", "The operation should not replace a registered Range")
    at assertSelectionNoChange ( /selection/common.js:988:5)
Passextend() backwards with range 6 [paras[1].firstChild, 0, paras[1].firstChild, 1] and point 68 [detachedTextNode, 0]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(1, 1, "The operation should not add Range")
    at assertSelectionNoChange ( /selection/common.js:976:5)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "The operation should not update anchorNode")
    at assertSelectionNoChange ( /selection/common.js:978:5)
Pass
assert_equals(1, 1, "The operation should not update anchorOffset")
    at assertSelectionNoChange ( /selection/common.js:980:5)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "The operation should not update focusNode")
    at assertSelectionNoChange ( /selection/common.js:982:5)
Pass
assert_equals(0, 0, "The operation should not update focusOffset")
    at assertSelectionNoChange ( /selection/common.js:984:5)
Pass
assert_equals(object "I", object "I", "The operation should not replace a registered Range")
    at assertSelectionNoChange ( /selection/common.js:988:5)
Passextend() forwards with range 6 [paras[1].firstChild, 0, paras[1].firstChild, 1] and point 69 [detachedTextNode, 8]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(1, 1, "The operation should not add Range")
    at assertSelectionNoChange ( /selection/common.js:976:5)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "The operation should not update anchorNode")
    at assertSelectionNoChange ( /selection/common.js:978:5)
Pass
assert_equals(0, 0, "The operation should not update anchorOffset")
    at assertSelectionNoChange ( /selection/common.js:980:5)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "The operation should not update focusNode")
    at assertSelectionNoChange ( /selection/common.js:982:5)
Pass
assert_equals(1, 1, "The operation should not update focusOffset")
    at assertSelectionNoChange ( /selection/common.js:984:5)
Pass
assert_equals(object "I", object "I", "The operation should not replace a registered Range")
    at assertSelectionNoChange ( /selection/common.js:988:5)
Passextend() backwards with range 6 [paras[1].firstChild, 0, paras[1].firstChild, 1] and point 69 [detachedTextNode, 8]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(1, 1, "The operation should not add Range")
    at assertSelectionNoChange ( /selection/common.js:976:5)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "The operation should not update anchorNode")
    at assertSelectionNoChange ( /selection/common.js:978:5)
Pass
assert_equals(1, 1, "The operation should not update anchorOffset")
    at assertSelectionNoChange ( /selection/common.js:980:5)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "The operation should not update focusNode")
    at assertSelectionNoChange ( /selection/common.js:982:5)
Pass
assert_equals(0, 0, "The operation should not update focusOffset")
    at assertSelectionNoChange ( /selection/common.js:984:5)
Pass
assert_equals(object "I", object "I", "The operation should not replace a registered Range")
    at assertSelectionNoChange ( /selection/common.js:988:5)
Passextend() forwards with range 6 [paras[1].firstChild, 0, paras[1].firstChild, 1] and point 70 [detachedForeignTextNode, 0]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(1, 1, "The operation should not add Range")
    at assertSelectionNoChange ( /selection/common.js:976:5)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "The operation should not update anchorNode")
    at assertSelectionNoChange ( /selection/common.js:978:5)
Pass
assert_equals(0, 0, "The operation should not update anchorOffset")
    at assertSelectionNoChange ( /selection/common.js:980:5)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "The operation should not update focusNode")
    at assertSelectionNoChange ( /selection/common.js:982:5)
Pass
assert_equals(1, 1, "The operation should not update focusOffset")
    at assertSelectionNoChange ( /selection/common.js:984:5)
Pass
assert_equals(object "I", object "I", "The operation should not replace a registered Range")
    at assertSelectionNoChange ( /selection/common.js:988:5)
Passextend() backwards with range 6 [paras[1].firstChild, 0, paras[1].firstChild, 1] and point 70 [detachedForeignTextNode, 0]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(1, 1, "The operation should not add Range")
    at assertSelectionNoChange ( /selection/common.js:976:5)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "The operation should not update anchorNode")
    at assertSelectionNoChange ( /selection/common.js:978:5)
Pass
assert_equals(1, 1, "The operation should not update anchorOffset")
    at assertSelectionNoChange ( /selection/common.js:980:5)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "The operation should not update focusNode")
    at assertSelectionNoChange ( /selection/common.js:982:5)
Pass
assert_equals(0, 0, "The operation should not update focusOffset")
    at assertSelectionNoChange ( /selection/common.js:984:5)
Pass
assert_equals(object "I", object "I", "The operation should not replace a registered Range")
    at assertSelectionNoChange ( /selection/common.js:988:5)
Passextend() forwards with range 6 [paras[1].firstChild, 0, paras[1].firstChild, 1] and point 71 [detachedForeignTextNode, 8]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(1, 1, "The operation should not add Range")
    at assertSelectionNoChange ( /selection/common.js:976:5)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "The operation should not update anchorNode")
    at assertSelectionNoChange ( /selection/common.js:978:5)
Pass
assert_equals(0, 0, "The operation should not update anchorOffset")
    at assertSelectionNoChange ( /selection/common.js:980:5)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "The operation should not update focusNode")
    at assertSelectionNoChange ( /selection/common.js:982:5)
Pass
assert_equals(1, 1, "The operation should not update focusOffset")
    at assertSelectionNoChange ( /selection/common.js:984:5)
Pass
assert_equals(object "I", object "I", "The operation should not replace a registered Range")
    at assertSelectionNoChange ( /selection/common.js:988:5)
Passextend() backwards with range 6 [paras[1].firstChild, 0, paras[1].firstChild, 1] and point 71 [detachedForeignTextNode, 8]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(1, 1, "The operation should not add Range")
    at assertSelectionNoChange ( /selection/common.js:976:5)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "The operation should not update anchorNode")
    at assertSelectionNoChange ( /selection/common.js:978:5)
Pass
assert_equals(1, 1, "The operation should not update anchorOffset")
    at assertSelectionNoChange ( /selection/common.js:980:5)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "The operation should not update focusNode")
    at assertSelectionNoChange ( /selection/common.js:982:5)
Pass
assert_equals(0, 0, "The operation should not update focusOffset")
    at assertSelectionNoChange ( /selection/common.js:984:5)
Pass
assert_equals(object "I", object "I", "The operation should not replace a registered Range")
    at assertSelectionNoChange ( /selection/common.js:988:5)
Passextend() forwards with range 6 [paras[1].firstChild, 0, paras[1].firstChild, 1] and point 72 [detachedXmlTextNode, 0]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(1, 1, "The operation should not add Range")
    at assertSelectionNoChange ( /selection/common.js:976:5)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "The operation should not update anchorNode")
    at assertSelectionNoChange ( /selection/common.js:978:5)
Pass
assert_equals(0, 0, "The operation should not update anchorOffset")
    at assertSelectionNoChange ( /selection/common.js:980:5)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "The operation should not update focusNode")
    at assertSelectionNoChange ( /selection/common.js:982:5)
Pass
assert_equals(1, 1, "The operation should not update focusOffset")
    at assertSelectionNoChange ( /selection/common.js:984:5)
Pass
assert_equals(object "I", object "I", "The operation should not replace a registered Range")
    at assertSelectionNoChange ( /selection/common.js:988:5)
Passextend() backwards with range 6 [paras[1].firstChild, 0, paras[1].firstChild, 1] and point 72 [detachedXmlTextNode, 0]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(1, 1, "The operation should not add Range")
    at assertSelectionNoChange ( /selection/common.js:976:5)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "The operation should not update anchorNode")
    at assertSelectionNoChange ( /selection/common.js:978:5)
Pass
assert_equals(1, 1, "The operation should not update anchorOffset")
    at assertSelectionNoChange ( /selection/common.js:980:5)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "The operation should not update focusNode")
    at assertSelectionNoChange ( /selection/common.js:982:5)
Pass
assert_equals(0, 0, "The operation should not update focusOffset")
    at assertSelectionNoChange ( /selection/common.js:984:5)
Pass
assert_equals(object "I", object "I", "The operation should not replace a registered Range")
    at assertSelectionNoChange ( /selection/common.js:988:5)
Passextend() forwards with range 6 [paras[1].firstChild, 0, paras[1].firstChild, 1] and point 73 [detachedXmlTextNode, 8]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(1, 1, "The operation should not add Range")
    at assertSelectionNoChange ( /selection/common.js:976:5)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "The operation should not update anchorNode")
    at assertSelectionNoChange ( /selection/common.js:978:5)
Pass
assert_equals(0, 0, "The operation should not update anchorOffset")
    at assertSelectionNoChange ( /selection/common.js:980:5)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "The operation should not update focusNode")
    at assertSelectionNoChange ( /selection/common.js:982:5)
Pass
assert_equals(1, 1, "The operation should not update focusOffset")
    at assertSelectionNoChange ( /selection/common.js:984:5)
Pass
assert_equals(object "I", object "I", "The operation should not replace a registered Range")
    at assertSelectionNoChange ( /selection/common.js:988:5)
Passextend() backwards with range 6 [paras[1].firstChild, 0, paras[1].firstChild, 1] and point 73 [detachedXmlTextNode, 8]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(1, 1, "The operation should not add Range")
    at assertSelectionNoChange ( /selection/common.js:976:5)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "The operation should not update anchorNode")
    at assertSelectionNoChange ( /selection/common.js:978:5)
Pass
assert_equals(1, 1, "The operation should not update anchorOffset")
    at assertSelectionNoChange ( /selection/common.js:980:5)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "The operation should not update focusNode")
    at assertSelectionNoChange ( /selection/common.js:982:5)
Pass
assert_equals(0, 0, "The operation should not update focusOffset")
    at assertSelectionNoChange ( /selection/common.js:984:5)
Pass
assert_equals(object "I", object "I", "The operation should not replace a registered Range")
    at assertSelectionNoChange ( /selection/common.js:988:5)
Passextend() forwards with range 6 [paras[1].firstChild, 0, paras[1].firstChild, 1] and point 74 [detachedProcessingInstruction, 12]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(1, 1, "The operation should not add Range")
    at assertSelectionNoChange ( /selection/common.js:976:5)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "The operation should not update anchorNode")
    at assertSelectionNoChange ( /selection/common.js:978:5)
Pass
assert_equals(0, 0, "The operation should not update anchorOffset")
    at assertSelectionNoChange ( /selection/common.js:980:5)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "The operation should not update focusNode")
    at assertSelectionNoChange ( /selection/common.js:982:5)
Pass
assert_equals(1, 1, "The operation should not update focusOffset")
    at assertSelectionNoChange ( /selection/common.js:984:5)
Pass
assert_equals(object "I", object "I", "The operation should not replace a registered Range")
    at assertSelectionNoChange ( /selection/common.js:988:5)
Passextend() backwards with range 6 [paras[1].firstChild, 0, paras[1].firstChild, 1] and point 74 [detachedProcessingInstruction, 12]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(1, 1, "The operation should not add Range")
    at assertSelectionNoChange ( /selection/common.js:976:5)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "The operation should not update anchorNode")
    at assertSelectionNoChange ( /selection/common.js:978:5)
Pass
assert_equals(1, 1, "The operation should not update anchorOffset")
    at assertSelectionNoChange ( /selection/common.js:980:5)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "The operation should not update focusNode")
    at assertSelectionNoChange ( /selection/common.js:982:5)
Pass
assert_equals(0, 0, "The operation should not update focusOffset")
    at assertSelectionNoChange ( /selection/common.js:984:5)
Pass
assert_equals(object "I", object "I", "The operation should not replace a registered Range")
    at assertSelectionNoChange ( /selection/common.js:988:5)
Passextend() forwards with range 6 [paras[1].firstChild, 0, paras[1].firstChild, 1] and point 75 [detachedComment, 3]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(1, 1, "The operation should not add Range")
    at assertSelectionNoChange ( /selection/common.js:976:5)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "The operation should not update anchorNode")
    at assertSelectionNoChange ( /selection/common.js:978:5)
Pass
assert_equals(0, 0, "The operation should not update anchorOffset")
    at assertSelectionNoChange ( /selection/common.js:980:5)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "The operation should not update focusNode")
    at assertSelectionNoChange ( /selection/common.js:982:5)
Pass
assert_equals(1, 1, "The operation should not update focusOffset")
    at assertSelectionNoChange ( /selection/common.js:984:5)
Pass
assert_equals(object "I", object "I", "The operation should not replace a registered Range")
    at assertSelectionNoChange ( /selection/common.js:988:5)
Passextend() backwards with range 6 [paras[1].firstChild, 0, paras[1].firstChild, 1] and point 75 [detachedComment, 3]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(1, 1, "The operation should not add Range")
    at assertSelectionNoChange ( /selection/common.js:976:5)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "The operation should not update anchorNode")
    at assertSelectionNoChange ( /selection/common.js:978:5)
Pass
assert_equals(1, 1, "The operation should not update anchorOffset")
    at assertSelectionNoChange ( /selection/common.js:980:5)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "The operation should not update focusNode")
    at assertSelectionNoChange ( /selection/common.js:982:5)
Pass
assert_equals(0, 0, "The operation should not update focusOffset")
    at assertSelectionNoChange ( /selection/common.js:984:5)
Pass
assert_equals(object "I", object "I", "The operation should not replace a registered Range")
    at assertSelectionNoChange ( /selection/common.js:988:5)
Passextend() forwards with range 6 [paras[1].firstChild, 0, paras[1].firstChild, 1] and point 76 [detachedComment, 5]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(1, 1, "The operation should not add Range")
    at assertSelectionNoChange ( /selection/common.js:976:5)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "The operation should not update anchorNode")
    at assertSelectionNoChange ( /selection/common.js:978:5)
Pass
assert_equals(0, 0, "The operation should not update anchorOffset")
    at assertSelectionNoChange ( /selection/common.js:980:5)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "The operation should not update focusNode")
    at assertSelectionNoChange ( /selection/common.js:982:5)
Pass
assert_equals(1, 1, "The operation should not update focusOffset")
    at assertSelectionNoChange ( /selection/common.js:984:5)
Pass
assert_equals(object "I", object "I", "The operation should not replace a registered Range")
    at assertSelectionNoChange ( /selection/common.js:988:5)
Passextend() backwards with range 6 [paras[1].firstChild, 0, paras[1].firstChild, 1] and point 76 [detachedComment, 5]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(1, 1, "The operation should not add Range")
    at assertSelectionNoChange ( /selection/common.js:976:5)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "The operation should not update anchorNode")
    at assertSelectionNoChange ( /selection/common.js:978:5)
Pass
assert_equals(1, 1, "The operation should not update anchorOffset")
    at assertSelectionNoChange ( /selection/common.js:980:5)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "The operation should not update focusNode")
    at assertSelectionNoChange ( /selection/common.js:982:5)
Pass
assert_equals(0, 0, "The operation should not update focusOffset")
    at assertSelectionNoChange ( /selection/common.js:984:5)
Pass
assert_equals(object "I", object "I", "The operation should not replace a registered Range")
    at assertSelectionNoChange ( /selection/common.js:988:5)
Passextend() forwards with range 6 [paras[1].firstChild, 0, paras[1].firstChild, 1] and point 77 [detachedForeignComment, 0]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(1, 1, "The operation should not add Range")
    at assertSelectionNoChange ( /selection/common.js:976:5)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "The operation should not update anchorNode")
    at assertSelectionNoChange ( /selection/common.js:978:5)
Pass
assert_equals(0, 0, "The operation should not update anchorOffset")
    at assertSelectionNoChange ( /selection/common.js:980:5)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "The operation should not update focusNode")
    at assertSelectionNoChange ( /selection/common.js:982:5)
Pass
assert_equals(1, 1, "The operation should not update focusOffset")
    at assertSelectionNoChange ( /selection/common.js:984:5)
Pass
assert_equals(object "I", object "I", "The operation should not replace a registered Range")
    at assertSelectionNoChange ( /selection/common.js:988:5)
Passextend() backwards with range 6 [paras[1].firstChild, 0, paras[1].firstChild, 1] and point 77 [detachedForeignComment, 0]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(1, 1, "The operation should not add Range")
    at assertSelectionNoChange ( /selection/common.js:976:5)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "The operation should not update anchorNode")
    at assertSelectionNoChange ( /selection/common.js:978:5)
Pass
assert_equals(1, 1, "The operation should not update anchorOffset")
    at assertSelectionNoChange ( /selection/common.js:980:5)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "The operation should not update focusNode")
    at assertSelectionNoChange ( /selection/common.js:982:5)
Pass
assert_equals(0, 0, "The operation should not update focusOffset")
    at assertSelectionNoChange ( /selection/common.js:984:5)
Pass
assert_equals(object "I", object "I", "The operation should not replace a registered Range")
    at assertSelectionNoChange ( /selection/common.js:988:5)
Passextend() forwards with range 6 [paras[1].firstChild, 0, paras[1].firstChild, 1] and point 78 [detachedForeignComment, 4]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(1, 1, "The operation should not add Range")
    at assertSelectionNoChange ( /selection/common.js:976:5)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "The operation should not update anchorNode")
    at assertSelectionNoChange ( /selection/common.js:978:5)
Pass
assert_equals(0, 0, "The operation should not update anchorOffset")
    at assertSelectionNoChange ( /selection/common.js:980:5)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "The operation should not update focusNode")
    at assertSelectionNoChange ( /selection/common.js:982:5)
Pass
assert_equals(1, 1, "The operation should not update focusOffset")
    at assertSelectionNoChange ( /selection/common.js:984:5)
Pass
assert_equals(object "I", object "I", "The operation should not replace a registered Range")
    at assertSelectionNoChange ( /selection/common.js:988:5)
Passextend() backwards with range 6 [paras[1].firstChild, 0, paras[1].firstChild, 1] and point 78 [detachedForeignComment, 4]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(1, 1, "The operation should not add Range")
    at assertSelectionNoChange ( /selection/common.js:976:5)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "The operation should not update anchorNode")
    at assertSelectionNoChange ( /selection/common.js:978:5)
Pass
assert_equals(1, 1, "The operation should not update anchorOffset")
    at assertSelectionNoChange ( /selection/common.js:980:5)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "The operation should not update focusNode")
    at assertSelectionNoChange ( /selection/common.js:982:5)
Pass
assert_equals(0, 0, "The operation should not update focusOffset")
    at assertSelectionNoChange ( /selection/common.js:984:5)
Pass
assert_equals(object "I", object "I", "The operation should not replace a registered Range")
    at assertSelectionNoChange ( /selection/common.js:988:5)
Passextend() forwards with range 6 [paras[1].firstChild, 0, paras[1].firstChild, 1] and point 79 [detachedXmlComment, 2]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(1, 1, "The operation should not add Range")
    at assertSelectionNoChange ( /selection/common.js:976:5)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "The operation should not update anchorNode")
    at assertSelectionNoChange ( /selection/common.js:978:5)
Pass
assert_equals(0, 0, "The operation should not update anchorOffset")
    at assertSelectionNoChange ( /selection/common.js:980:5)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "The operation should not update focusNode")
    at assertSelectionNoChange ( /selection/common.js:982:5)
Pass
assert_equals(1, 1, "The operation should not update focusOffset")
    at assertSelectionNoChange ( /selection/common.js:984:5)
Pass
assert_equals(object "I", object "I", "The operation should not replace a registered Range")
    at assertSelectionNoChange ( /selection/common.js:988:5)
Passextend() backwards with range 6 [paras[1].firstChild, 0, paras[1].firstChild, 1] and point 79 [detachedXmlComment, 2]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(1, 1, "The operation should not add Range")
    at assertSelectionNoChange ( /selection/common.js:976:5)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "The operation should not update anchorNode")
    at assertSelectionNoChange ( /selection/common.js:978:5)
Pass
assert_equals(1, 1, "The operation should not update anchorOffset")
    at assertSelectionNoChange ( /selection/common.js:980:5)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "The operation should not update focusNode")
    at assertSelectionNoChange ( /selection/common.js:982:5)
Pass
assert_equals(0, 0, "The operation should not update focusOffset")
    at assertSelectionNoChange ( /selection/common.js:984:5)
Pass
assert_equals(object "I", object "I", "The operation should not replace a registered Range")
    at assertSelectionNoChange ( /selection/common.js:988:5)
Passextend() forwards with range 6 [paras[1].firstChild, 0, paras[1].firstChild, 1] and point 80 [docfrag, 0]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(1, 1, "The operation should not add Range")
    at assertSelectionNoChange ( /selection/common.js:976:5)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "The operation should not update anchorNode")
    at assertSelectionNoChange ( /selection/common.js:978:5)
Pass
assert_equals(0, 0, "The operation should not update anchorOffset")
    at assertSelectionNoChange ( /selection/common.js:980:5)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "The operation should not update focusNode")
    at assertSelectionNoChange ( /selection/common.js:982:5)
Pass
assert_equals(1, 1, "The operation should not update focusOffset")
    at assertSelectionNoChange ( /selection/common.js:984:5)
Pass
assert_equals(object "I", object "I", "The operation should not replace a registered Range")
    at assertSelectionNoChange ( /selection/common.js:988:5)
Passextend() backwards with range 6 [paras[1].firstChild, 0, paras[1].firstChild, 1] and point 80 [docfrag, 0]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(1, 1, "The operation should not add Range")
    at assertSelectionNoChange ( /selection/common.js:976:5)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "The operation should not update anchorNode")
    at assertSelectionNoChange ( /selection/common.js:978:5)
Pass
assert_equals(1, 1, "The operation should not update anchorOffset")
    at assertSelectionNoChange ( /selection/common.js:980:5)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "The operation should not update focusNode")
    at assertSelectionNoChange ( /selection/common.js:982:5)
Pass
assert_equals(0, 0, "The operation should not update focusOffset")
    at assertSelectionNoChange ( /selection/common.js:984:5)
Pass
assert_equals(object "I", object "I", "The operation should not replace a registered Range")
    at assertSelectionNoChange ( /selection/common.js:988:5)
Passextend() forwards with range 6 [paras[1].firstChild, 0, paras[1].firstChild, 1] and point 81 [foreignDocfrag, 0]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(1, 1, "The operation should not add Range")
    at assertSelectionNoChange ( /selection/common.js:976:5)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "The operation should not update anchorNode")
    at assertSelectionNoChange ( /selection/common.js:978:5)
Pass
assert_equals(0, 0, "The operation should not update anchorOffset")
    at assertSelectionNoChange ( /selection/common.js:980:5)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "The operation should not update focusNode")
    at assertSelectionNoChange ( /selection/common.js:982:5)
Pass
assert_equals(1, 1, "The operation should not update focusOffset")
    at assertSelectionNoChange ( /selection/common.js:984:5)
Pass
assert_equals(object "I", object "I", "The operation should not replace a registered Range")
    at assertSelectionNoChange ( /selection/common.js:988:5)
Passextend() backwards with range 6 [paras[1].firstChild, 0, paras[1].firstChild, 1] and point 81 [foreignDocfrag, 0]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(1, 1, "The operation should not add Range")
    at assertSelectionNoChange ( /selection/common.js:976:5)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "The operation should not update anchorNode")
    at assertSelectionNoChange ( /selection/common.js:978:5)
Pass
assert_equals(1, 1, "The operation should not update anchorOffset")
    at assertSelectionNoChange ( /selection/common.js:980:5)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "The operation should not update focusNode")
    at assertSelectionNoChange ( /selection/common.js:982:5)
Pass
assert_equals(0, 0, "The operation should not update focusOffset")
    at assertSelectionNoChange ( /selection/common.js:984:5)
Pass
assert_equals(object "I", object "I", "The operation should not replace a registered Range")
    at assertSelectionNoChange ( /selection/common.js:988:5)
Passextend() forwards with range 6 [paras[1].firstChild, 0, paras[1].firstChild, 1] and point 82 [xmlDocfrag, 0]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(1, 1, "The operation should not add Range")
    at assertSelectionNoChange ( /selection/common.js:976:5)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "The operation should not update anchorNode")
    at assertSelectionNoChange ( /selection/common.js:978:5)
Pass
assert_equals(0, 0, "The operation should not update anchorOffset")
    at assertSelectionNoChange ( /selection/common.js:980:5)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "The operation should not update focusNode")
    at assertSelectionNoChange ( /selection/common.js:982:5)
Pass
assert_equals(1, 1, "The operation should not update focusOffset")
    at assertSelectionNoChange ( /selection/common.js:984:5)
Pass
assert_equals(object "I", object "I", "The operation should not replace a registered Range")
    at assertSelectionNoChange ( /selection/common.js:988:5)
Passextend() backwards with range 6 [paras[1].firstChild, 0, paras[1].firstChild, 1] and point 82 [xmlDocfrag, 0]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(1, 1, "The operation should not add Range")
    at assertSelectionNoChange ( /selection/common.js:976:5)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "The operation should not update anchorNode")
    at assertSelectionNoChange ( /selection/common.js:978:5)
Pass
assert_equals(1, 1, "The operation should not update anchorOffset")
    at assertSelectionNoChange ( /selection/common.js:980:5)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "The operation should not update focusNode")
    at assertSelectionNoChange ( /selection/common.js:982:5)
Pass
assert_equals(0, 0, "The operation should not update focusOffset")
    at assertSelectionNoChange ( /selection/common.js:984:5)
Pass
assert_equals(object "I", object "I", "The operation should not replace a registered Range")
    at assertSelectionNoChange ( /selection/common.js:988:5)
Passextend() forwards with range 6 [paras[1].firstChild, 0, paras[1].firstChild, 1] and point 83 [doctype, 0]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "Sanity check: startContainer must be correct")
    at testExtend ( /selection/extend.js:80:5)
Pass
assert_equals(0, 0, "Sanity check: startOffset must be correct")
    at testExtend ( /selection/extend.js:82:5)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "Sanity check: endContainer must be correct")
    at testExtend ( /selection/extend.js:84:5)
Pass
assert_equals(1, 1, "Sanity check: endOffset must be correct")
    at testExtend ( /selection/extend.js:86:5)
Pass
assert_throws_dom("INVALID_NODE_TYPE_ERR", function "function() {             selection.extend(node, offset);         }", "extend() to a doctype must throw InvalidNodeTypeError")
    at testExtend ( /selection/extend.js:104:9)
Passextend() backwards with range 6 [paras[1].firstChild, 0, paras[1].firstChild, 1] and point 83 [doctype, 0]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "Sanity check: startContainer must be correct")
    at testExtend ( /selection/extend.js:80:5)
Pass
assert_equals(0, 0, "Sanity check: startOffset must be correct")
    at testExtend ( /selection/extend.js:82:5)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "Sanity check: endContainer must be correct")
    at testExtend ( /selection/extend.js:84:5)
Pass
assert_equals(1, 1, "Sanity check: endOffset must be correct")
    at testExtend ( /selection/extend.js:86:5)
Pass
assert_throws_dom("INVALID_NODE_TYPE_ERR", function "function() {             selection.extend(node, offset);         }", "extend() to a doctype must throw InvalidNodeTypeError")
    at testExtend ( /selection/extend.js:104:9)
Passextend() forwards with range 6 [paras[1].firstChild, 0, paras[1].firstChild, 1] and point 84 [doctype, -17]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "Sanity check: startContainer must be correct")
    at testExtend ( /selection/extend.js:80:5)
Pass
assert_equals(0, 0, "Sanity check: startOffset must be correct")
    at testExtend ( /selection/extend.js:82:5)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "Sanity check: endContainer must be correct")
    at testExtend ( /selection/extend.js:84:5)
Pass
assert_equals(1, 1, "Sanity check: endOffset must be correct")
    at testExtend ( /selection/extend.js:86:5)
Pass
assert_throws_dom("INVALID_NODE_TYPE_ERR", function "function() {             selection.extend(node, offset);         }", "extend() to a doctype must throw InvalidNodeTypeError")
    at testExtend ( /selection/extend.js:104:9)
Passextend() backwards with range 6 [paras[1].firstChild, 0, paras[1].firstChild, 1] and point 84 [doctype, -17]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "Sanity check: startContainer must be correct")
    at testExtend ( /selection/extend.js:80:5)
Pass
assert_equals(0, 0, "Sanity check: startOffset must be correct")
    at testExtend ( /selection/extend.js:82:5)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "Sanity check: endContainer must be correct")
    at testExtend ( /selection/extend.js:84:5)
Pass
assert_equals(1, 1, "Sanity check: endOffset must be correct")
    at testExtend ( /selection/extend.js:86:5)
Pass
assert_throws_dom("INVALID_NODE_TYPE_ERR", function "function() {             selection.extend(node, offset);         }", "extend() to a doctype must throw InvalidNodeTypeError")
    at testExtend ( /selection/extend.js:104:9)
Passextend() forwards with range 6 [paras[1].firstChild, 0, paras[1].firstChild, 1] and point 85 [doctype, 1]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "Sanity check: startContainer must be correct")
    at testExtend ( /selection/extend.js:80:5)
Pass
assert_equals(0, 0, "Sanity check: startOffset must be correct")
    at testExtend ( /selection/extend.js:82:5)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "Sanity check: endContainer must be correct")
    at testExtend ( /selection/extend.js:84:5)
Pass
assert_equals(1, 1, "Sanity check: endOffset must be correct")
    at testExtend ( /selection/extend.js:86:5)
Pass
assert_throws_dom("INVALID_NODE_TYPE_ERR", function "function() {             selection.extend(node, offset);         }", "extend() to a doctype must throw InvalidNodeTypeError")
    at testExtend ( /selection/extend.js:104:9)
Passextend() backwards with range 6 [paras[1].firstChild, 0, paras[1].firstChild, 1] and point 85 [doctype, 1]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "Sanity check: startContainer must be correct")
    at testExtend ( /selection/extend.js:80:5)
Pass
assert_equals(0, 0, "Sanity check: startOffset must be correct")
    at testExtend ( /selection/extend.js:82:5)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "Sanity check: endContainer must be correct")
    at testExtend ( /selection/extend.js:84:5)
Pass
assert_equals(1, 1, "Sanity check: endOffset must be correct")
    at testExtend ( /selection/extend.js:86:5)
Pass
assert_throws_dom("INVALID_NODE_TYPE_ERR", function "function() {             selection.extend(node, offset);         }", "extend() to a doctype must throw InvalidNodeTypeError")
    at testExtend ( /selection/extend.js:104:9)
Passextend() forwards with range 6 [paras[1].firstChild, 0, paras[1].firstChild, 1] and point 86 [foreignDoctype, 0]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(1, 1, "The operation should not add Range")
    at assertSelectionNoChange ( /selection/common.js:976:5)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "The operation should not update anchorNode")
    at assertSelectionNoChange ( /selection/common.js:978:5)
Pass
assert_equals(0, 0, "The operation should not update anchorOffset")
    at assertSelectionNoChange ( /selection/common.js:980:5)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "The operation should not update focusNode")
    at assertSelectionNoChange ( /selection/common.js:982:5)
Pass
assert_equals(1, 1, "The operation should not update focusOffset")
    at assertSelectionNoChange ( /selection/common.js:984:5)
Pass
assert_equals(object "I", object "I", "The operation should not replace a registered Range")
    at assertSelectionNoChange ( /selection/common.js:988:5)
Passextend() backwards with range 6 [paras[1].firstChild, 0, paras[1].firstChild, 1] and point 86 [foreignDoctype, 0]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(1, 1, "The operation should not add Range")
    at assertSelectionNoChange ( /selection/common.js:976:5)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "The operation should not update anchorNode")
    at assertSelectionNoChange ( /selection/common.js:978:5)
Pass
assert_equals(1, 1, "The operation should not update anchorOffset")
    at assertSelectionNoChange ( /selection/common.js:980:5)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "The operation should not update focusNode")
    at assertSelectionNoChange ( /selection/common.js:982:5)
Pass
assert_equals(0, 0, "The operation should not update focusOffset")
    at assertSelectionNoChange ( /selection/common.js:984:5)
Pass
assert_equals(object "I", object "I", "The operation should not replace a registered Range")
    at assertSelectionNoChange ( /selection/common.js:988:5)
Passextend() forwards with range 6 [paras[1].firstChild, 0, paras[1].firstChild, 1] and point 87 [xmlDoctype, 0]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(1, 1, "The operation should not add Range")
    at assertSelectionNoChange ( /selection/common.js:976:5)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "The operation should not update anchorNode")
    at assertSelectionNoChange ( /selection/common.js:978:5)
Pass
assert_equals(0, 0, "The operation should not update anchorOffset")
    at assertSelectionNoChange ( /selection/common.js:980:5)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "The operation should not update focusNode")
    at assertSelectionNoChange ( /selection/common.js:982:5)
Pass
assert_equals(1, 1, "The operation should not update focusOffset")
    at assertSelectionNoChange ( /selection/common.js:984:5)
Pass
assert_equals(object "I", object "I", "The operation should not replace a registered Range")
    at assertSelectionNoChange ( /selection/common.js:988:5)
Passextend() backwards with range 6 [paras[1].firstChild, 0, paras[1].firstChild, 1] and point 87 [xmlDoctype, 0]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(1, 1, "The operation should not add Range")
    at assertSelectionNoChange ( /selection/common.js:976:5)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "The operation should not update anchorNode")
    at assertSelectionNoChange ( /selection/common.js:978:5)
Pass
assert_equals(1, 1, "The operation should not update anchorOffset")
    at assertSelectionNoChange ( /selection/common.js:980:5)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "The operation should not update focusNode")
    at assertSelectionNoChange ( /selection/common.js:982:5)
Pass
assert_equals(0, 0, "The operation should not update focusOffset")
    at assertSelectionNoChange ( /selection/common.js:984:5)
Pass
assert_equals(object "I", object "I", "The operation should not replace a registered Range")
    at assertSelectionNoChange ( /selection/common.js:988:5)
Passextend() forwards with range 7 [paras[1].firstChild, 2, paras[1].firstChild, 8] and point 0 [paras[0].firstChild, -1]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "Sanity check: startContainer must be correct")
    at testExtend ( /selection/extend.js:80:5)
Pass
assert_equals(2, 2, "Sanity check: startOffset must be correct")
    at testExtend ( /selection/extend.js:82:5)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "Sanity check: endContainer must be correct")
    at testExtend ( /selection/extend.js:84:5)
Pass
assert_equals(8, 8, "Sanity check: endOffset must be correct")
    at testExtend ( /selection/extend.js:86:5)
Pass
assert_throws_dom("INDEX_SIZE_ERR", function "function() {             selection.extend(node, offset);         }", "extend() to an offset that's greater than node length (17) must throw IndexSizeError")
    at testExtend ( /selection/extend.js:117:9)
Passextend() backwards with range 7 [paras[1].firstChild, 2, paras[1].firstChild, 8] and point 0 [paras[0].firstChild, -1]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "Sanity check: startContainer must be correct")
    at testExtend ( /selection/extend.js:80:5)
Pass
assert_equals(2, 2, "Sanity check: startOffset must be correct")
    at testExtend ( /selection/extend.js:82:5)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "Sanity check: endContainer must be correct")
    at testExtend ( /selection/extend.js:84:5)
Pass
assert_equals(8, 8, "Sanity check: endOffset must be correct")
    at testExtend ( /selection/extend.js:86:5)
Pass
assert_throws_dom("INDEX_SIZE_ERR", function "function() {             selection.extend(node, offset);         }", "extend() to an offset that's greater than node length (17) must throw IndexSizeError")
    at testExtend ( /selection/extend.js:117:9)
Passextend() forwards with range 7 [paras[1].firstChild, 2, paras[1].firstChild, 8] and point 1 [paras[0].firstChild, 0]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "Sanity check: startContainer must be correct")
    at testExtend ( /selection/extend.js:80:5)
Pass
assert_equals(2, 2, "Sanity check: startOffset must be correct")
    at testExtend ( /selection/extend.js:82:5)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "Sanity check: endContainer must be correct")
    at testExtend ( /selection/extend.js:84:5)
Pass
assert_equals(8, 8, "Sanity check: endOffset must be correct")
    at testExtend ( /selection/extend.js:86:5)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "anchorNode must not change if the node passed to extend() has the same root as the original range")
    at testExtend ( /selection/extend.js:145:9)
Pass
assert_equals(2, 2, "anchorOffset must not change if the node passed to extend() has the same root as the original range")
    at testExtend ( /selection/extend.js:147:9)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "focusNode must be the node passed to extend()")
    at testExtend ( /selection/extend.js:155:5)
Pass
assert_equals(0, 0, "focusOffset must be the offset passed to extend()")
    at testExtend ( /selection/extend.js:157:5)
Pass
assert_not_equals(object "Äb̈c̈d̈ëf̈g̈ḧ Ij", object "klmnop", "extend() must replace any existing range with a new one, not mutate the existing one")
    at testExtend ( /selection/extend.js:159:5)
Passextend() backwards with range 7 [paras[1].firstChild, 2, paras[1].firstChild, 8] and point 1 [paras[0].firstChild, 0]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "Sanity check: startContainer must be correct")
    at testExtend ( /selection/extend.js:80:5)
Pass
assert_equals(2, 2, "Sanity check: startOffset must be correct")
    at testExtend ( /selection/extend.js:82:5)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "Sanity check: endContainer must be correct")
    at testExtend ( /selection/extend.js:84:5)
Pass
assert_equals(8, 8, "Sanity check: endOffset must be correct")
    at testExtend ( /selection/extend.js:86:5)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "anchorNode must not change if the node passed to extend() has the same root as the original range")
    at testExtend ( /selection/extend.js:145:9)
Pass
assert_equals(8, 8, "anchorOffset must not change if the node passed to extend() has the same root as the original range")
    at testExtend ( /selection/extend.js:147:9)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "focusNode must be the node passed to extend()")
    at testExtend ( /selection/extend.js:155:5)
Pass
assert_equals(0, 0, "focusOffset must be the offset passed to extend()")
    at testExtend ( /selection/extend.js:157:5)
Pass
assert_not_equals(object "Äb̈c̈d̈ëf̈g̈ḧ Ijklmnop", object "klmnop", "extend() must replace any existing range with a new one, not mutate the existing one")
    at testExtend ( /selection/extend.js:159:5)
Passextend() forwards with range 7 [paras[1].firstChild, 2, paras[1].firstChild, 8] and point 2 [paras[0].firstChild, 1]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "Sanity check: startContainer must be correct")
    at testExtend ( /selection/extend.js:80:5)
Pass
assert_equals(2, 2, "Sanity check: startOffset must be correct")
    at testExtend ( /selection/extend.js:82:5)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "Sanity check: endContainer must be correct")
    at testExtend ( /selection/extend.js:84:5)
Pass
assert_equals(8, 8, "Sanity check: endOffset must be correct")
    at testExtend ( /selection/extend.js:86:5)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "anchorNode must not change if the node passed to extend() has the same root as the original range")
    at testExtend ( /selection/extend.js:145:9)
Pass
assert_equals(2, 2, "anchorOffset must not change if the node passed to extend() has the same root as the original range")
    at testExtend ( /selection/extend.js:147:9)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "focusNode must be the node passed to extend()")
    at testExtend ( /selection/extend.js:155:5)
Pass
assert_equals(1, 1, "focusOffset must be the offset passed to extend()")
    at testExtend ( /selection/extend.js:157:5)
Pass
assert_not_equals(object "̈b̈c̈d̈ëf̈g̈ḧ Ij", object "klmnop", "extend() must replace any existing range with a new one, not mutate the existing one")
    at testExtend ( /selection/extend.js:159:5)
Passextend() backwards with range 7 [paras[1].firstChild, 2, paras[1].firstChild, 8] and point 2 [paras[0].firstChild, 1]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "Sanity check: startContainer must be correct")
    at testExtend ( /selection/extend.js:80:5)
Pass
assert_equals(2, 2, "Sanity check: startOffset must be correct")
    at testExtend ( /selection/extend.js:82:5)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "Sanity check: endContainer must be correct")
    at testExtend ( /selection/extend.js:84:5)
Pass
assert_equals(8, 8, "Sanity check: endOffset must be correct")
    at testExtend ( /selection/extend.js:86:5)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "anchorNode must not change if the node passed to extend() has the same root as the original range")
    at testExtend ( /selection/extend.js:145:9)
Pass
assert_equals(8, 8, "anchorOffset must not change if the node passed to extend() has the same root as the original range")
    at testExtend ( /selection/extend.js:147:9)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "focusNode must be the node passed to extend()")
    at testExtend ( /selection/extend.js:155:5)
Pass
assert_equals(1, 1, "focusOffset must be the offset passed to extend()")
    at testExtend ( /selection/extend.js:157:5)
Pass
assert_not_equals(object "̈b̈c̈d̈ëf̈g̈ḧ Ijklmnop", object "klmnop", "extend() must replace any existing range with a new one, not mutate the existing one")
    at testExtend ( /selection/extend.js:159:5)
Passextend() forwards with range 7 [paras[1].firstChild, 2, paras[1].firstChild, 8] and point 3 [paras[0].firstChild, 2]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "Sanity check: startContainer must be correct")
    at testExtend ( /selection/extend.js:80:5)
Pass
assert_equals(2, 2, "Sanity check: startOffset must be correct")
    at testExtend ( /selection/extend.js:82:5)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "Sanity check: endContainer must be correct")
    at testExtend ( /selection/extend.js:84:5)
Pass
assert_equals(8, 8, "Sanity check: endOffset must be correct")
    at testExtend ( /selection/extend.js:86:5)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "anchorNode must not change if the node passed to extend() has the same root as the original range")
    at testExtend ( /selection/extend.js:145:9)
Pass
assert_equals(2, 2, "anchorOffset must not change if the node passed to extend() has the same root as the original range")
    at testExtend ( /selection/extend.js:147:9)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "focusNode must be the node passed to extend()")
    at testExtend ( /selection/extend.js:155:5)
Pass
assert_equals(2, 2, "focusOffset must be the offset passed to extend()")
    at testExtend ( /selection/extend.js:157:5)
Pass
assert_not_equals(object "b̈c̈d̈ëf̈g̈ḧ Ij", object "klmnop", "extend() must replace any existing range with a new one, not mutate the existing one")
    at testExtend ( /selection/extend.js:159:5)
Passextend() backwards with range 7 [paras[1].firstChild, 2, paras[1].firstChild, 8] and point 3 [paras[0].firstChild, 2]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "Sanity check: startContainer must be correct")
    at testExtend ( /selection/extend.js:80:5)
Pass
assert_equals(2, 2, "Sanity check: startOffset must be correct")
    at testExtend ( /selection/extend.js:82:5)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "Sanity check: endContainer must be correct")
    at testExtend ( /selection/extend.js:84:5)
Pass
assert_equals(8, 8, "Sanity check: endOffset must be correct")
    at testExtend ( /selection/extend.js:86:5)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "anchorNode must not change if the node passed to extend() has the same root as the original range")
    at testExtend ( /selection/extend.js:145:9)
Pass
assert_equals(8, 8, "anchorOffset must not change if the node passed to extend() has the same root as the original range")
    at testExtend ( /selection/extend.js:147:9)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "focusNode must be the node passed to extend()")
    at testExtend ( /selection/extend.js:155:5)
Pass
assert_equals(2, 2, "focusOffset must be the offset passed to extend()")
    at testExtend ( /selection/extend.js:157:5)
Pass
assert_not_equals(object "b̈c̈d̈ëf̈g̈ḧ Ijklmnop", object "klmnop", "extend() must replace any existing range with a new one, not mutate the existing one")
    at testExtend ( /selection/extend.js:159:5)
Passextend() forwards with range 7 [paras[1].firstChild, 2, paras[1].firstChild, 8] and point 4 [paras[0].firstChild, 8]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "Sanity check: startContainer must be correct")
    at testExtend ( /selection/extend.js:80:5)
Pass
assert_equals(2, 2, "Sanity check: startOffset must be correct")
    at testExtend ( /selection/extend.js:82:5)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "Sanity check: endContainer must be correct")
    at testExtend ( /selection/extend.js:84:5)
Pass
assert_equals(8, 8, "Sanity check: endOffset must be correct")
    at testExtend ( /selection/extend.js:86:5)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "anchorNode must not change if the node passed to extend() has the same root as the original range")
    at testExtend ( /selection/extend.js:145:9)
Pass
assert_equals(2, 2, "anchorOffset must not change if the node passed to extend() has the same root as the original range")
    at testExtend ( /selection/extend.js:147:9)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "focusNode must be the node passed to extend()")
    at testExtend ( /selection/extend.js:155:5)
Pass
assert_equals(8, 8, "focusOffset must be the offset passed to extend()")
    at testExtend ( /selection/extend.js:157:5)
Pass
assert_not_equals(object "ëf̈g̈ḧ Ij", object "klmnop", "extend() must replace any existing range with a new one, not mutate the existing one")
    at testExtend ( /selection/extend.js:159:5)
Passextend() backwards with range 7 [paras[1].firstChild, 2, paras[1].firstChild, 8] and point 4 [paras[0].firstChild, 8]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "Sanity check: startContainer must be correct")
    at testExtend ( /selection/extend.js:80:5)
Pass
assert_equals(2, 2, "Sanity check: startOffset must be correct")
    at testExtend ( /selection/extend.js:82:5)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "Sanity check: endContainer must be correct")
    at testExtend ( /selection/extend.js:84:5)
Pass
assert_equals(8, 8, "Sanity check: endOffset must be correct")
    at testExtend ( /selection/extend.js:86:5)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "anchorNode must not change if the node passed to extend() has the same root as the original range")
    at testExtend ( /selection/extend.js:145:9)
Pass
assert_equals(8, 8, "anchorOffset must not change if the node passed to extend() has the same root as the original range")
    at testExtend ( /selection/extend.js:147:9)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "focusNode must be the node passed to extend()")
    at testExtend ( /selection/extend.js:155:5)
Pass
assert_equals(8, 8, "focusOffset must be the offset passed to extend()")
    at testExtend ( /selection/extend.js:157:5)
Pass
assert_not_equals(object "ëf̈g̈ḧ Ijklmnop", object "klmnop", "extend() must replace any existing range with a new one, not mutate the existing one")
    at testExtend ( /selection/extend.js:159:5)
Passextend() forwards with range 7 [paras[1].firstChild, 2, paras[1].firstChild, 8] and point 5 [paras[0].firstChild, 9]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "Sanity check: startContainer must be correct")
    at testExtend ( /selection/extend.js:80:5)
Pass
assert_equals(2, 2, "Sanity check: startOffset must be correct")
    at testExtend ( /selection/extend.js:82:5)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "Sanity check: endContainer must be correct")
    at testExtend ( /selection/extend.js:84:5)
Pass
assert_equals(8, 8, "Sanity check: endOffset must be correct")
    at testExtend ( /selection/extend.js:86:5)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "anchorNode must not change if the node passed to extend() has the same root as the original range")
    at testExtend ( /selection/extend.js:145:9)
Pass
assert_equals(2, 2, "anchorOffset must not change if the node passed to extend() has the same root as the original range")
    at testExtend ( /selection/extend.js:147:9)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "focusNode must be the node passed to extend()")
    at testExtend ( /selection/extend.js:155:5)
Pass
assert_equals(9, 9, "focusOffset must be the offset passed to extend()")
    at testExtend ( /selection/extend.js:157:5)
Pass
assert_not_equals(object "̈f̈g̈ḧ Ij", object "klmnop", "extend() must replace any existing range with a new one, not mutate the existing one")
    at testExtend ( /selection/extend.js:159:5)
Passextend() backwards with range 7 [paras[1].firstChild, 2, paras[1].firstChild, 8] and point 5 [paras[0].firstChild, 9]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "Sanity check: startContainer must be correct")
    at testExtend ( /selection/extend.js:80:5)
Pass
assert_equals(2, 2, "Sanity check: startOffset must be correct")
    at testExtend ( /selection/extend.js:82:5)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "Sanity check: endContainer must be correct")
    at testExtend ( /selection/extend.js:84:5)
Pass
assert_equals(8, 8, "Sanity check: endOffset must be correct")
    at testExtend ( /selection/extend.js:86:5)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "anchorNode must not change if the node passed to extend() has the same root as the original range")
    at testExtend ( /selection/extend.js:145:9)
Pass
assert_equals(8, 8, "anchorOffset must not change if the node passed to extend() has the same root as the original range")
    at testExtend ( /selection/extend.js:147:9)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "focusNode must be the node passed to extend()")
    at testExtend ( /selection/extend.js:155:5)
Pass
assert_equals(9, 9, "focusOffset must be the offset passed to extend()")
    at testExtend ( /selection/extend.js:157:5)
Pass
assert_not_equals(object "̈f̈g̈ḧ Ijklmnop", object "klmnop", "extend() must replace any existing range with a new one, not mutate the existing one")
    at testExtend ( /selection/extend.js:159:5)
Passextend() forwards with range 7 [paras[1].firstChild, 2, paras[1].firstChild, 8] and point 6 [paras[0].firstChild, 10]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "Sanity check: startContainer must be correct")
    at testExtend ( /selection/extend.js:80:5)
Pass
assert_equals(2, 2, "Sanity check: startOffset must be correct")
    at testExtend ( /selection/extend.js:82:5)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "Sanity check: endContainer must be correct")
    at testExtend ( /selection/extend.js:84:5)
Pass
assert_equals(8, 8, "Sanity check: endOffset must be correct")
    at testExtend ( /selection/extend.js:86:5)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "anchorNode must not change if the node passed to extend() has the same root as the original range")
    at testExtend ( /selection/extend.js:145:9)
Pass
assert_equals(2, 2, "anchorOffset must not change if the node passed to extend() has the same root as the original range")
    at testExtend ( /selection/extend.js:147:9)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "focusNode must be the node passed to extend()")
    at testExtend ( /selection/extend.js:155:5)
Pass
assert_equals(10, 10, "focusOffset must be the offset passed to extend()")
    at testExtend ( /selection/extend.js:157:5)
Pass
assert_not_equals(object "f̈g̈ḧ Ij", object "klmnop", "extend() must replace any existing range with a new one, not mutate the existing one")
    at testExtend ( /selection/extend.js:159:5)
Passextend() backwards with range 7 [paras[1].firstChild, 2, paras[1].firstChild, 8] and point 6 [paras[0].firstChild, 10]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "Sanity check: startContainer must be correct")
    at testExtend ( /selection/extend.js:80:5)
Pass
assert_equals(2, 2, "Sanity check: startOffset must be correct")
    at testExtend ( /selection/extend.js:82:5)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "Sanity check: endContainer must be correct")
    at testExtend ( /selection/extend.js:84:5)
Pass
assert_equals(8, 8, "Sanity check: endOffset must be correct")
    at testExtend ( /selection/extend.js:86:5)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "anchorNode must not change if the node passed to extend() has the same root as the original range")
    at testExtend ( /selection/extend.js:145:9)
Pass
assert_equals(8, 8, "anchorOffset must not change if the node passed to extend() has the same root as the original range")
    at testExtend ( /selection/extend.js:147:9)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "focusNode must be the node passed to extend()")
    at testExtend ( /selection/extend.js:155:5)
Pass
assert_equals(10, 10, "focusOffset must be the offset passed to extend()")
    at testExtend ( /selection/extend.js:157:5)
Pass
assert_not_equals(object "f̈g̈ḧ Ijklmnop", object "klmnop", "extend() must replace any existing range with a new one, not mutate the existing one")
    at testExtend ( /selection/extend.js:159:5)
Passextend() forwards with range 7 [paras[1].firstChild, 2, paras[1].firstChild, 8] and point 7 [paras[0].firstChild, 65535]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "Sanity check: startContainer must be correct")
    at testExtend ( /selection/extend.js:80:5)
Pass
assert_equals(2, 2, "Sanity check: startOffset must be correct")
    at testExtend ( /selection/extend.js:82:5)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "Sanity check: endContainer must be correct")
    at testExtend ( /selection/extend.js:84:5)
Pass
assert_equals(8, 8, "Sanity check: endOffset must be correct")
    at testExtend ( /selection/extend.js:86:5)
Pass
assert_throws_dom("INDEX_SIZE_ERR", function "function() {             selection.extend(node, offset);         }", "extend() to an offset that's greater than node length (17) must throw IndexSizeError")
    at testExtend ( /selection/extend.js:117:9)
Passextend() backwards with range 7 [paras[1].firstChild, 2, paras[1].firstChild, 8] and point 7 [paras[0].firstChild, 65535]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "Sanity check: startContainer must be correct")
    at testExtend ( /selection/extend.js:80:5)
Pass
assert_equals(2, 2, "Sanity check: startOffset must be correct")
    at testExtend ( /selection/extend.js:82:5)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "Sanity check: endContainer must be correct")
    at testExtend ( /selection/extend.js:84:5)
Pass
assert_equals(8, 8, "Sanity check: endOffset must be correct")
    at testExtend ( /selection/extend.js:86:5)
Pass
assert_throws_dom("INDEX_SIZE_ERR", function "function() {             selection.extend(node, offset);         }", "extend() to an offset that's greater than node length (17) must throw IndexSizeError")
    at testExtend ( /selection/extend.js:117:9)
Passextend() forwards with range 7 [paras[1].firstChild, 2, paras[1].firstChild, 8] and point 8 [paras[1].firstChild, -1]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "Sanity check: startContainer must be correct")
    at testExtend ( /selection/extend.js:80:5)
Pass
assert_equals(2, 2, "Sanity check: startOffset must be correct")
    at testExtend ( /selection/extend.js:82:5)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "Sanity check: endContainer must be correct")
    at testExtend ( /selection/extend.js:84:5)
Pass
assert_equals(8, 8, "Sanity check: endOffset must be correct")
    at testExtend ( /selection/extend.js:86:5)
Pass
assert_throws_dom("INDEX_SIZE_ERR", function "function() {             selection.extend(node, offset);         }", "extend() to an offset that's greater than node length (9) must throw IndexSizeError")
    at testExtend ( /selection/extend.js:117:9)
Passextend() backwards with range 7 [paras[1].firstChild, 2, paras[1].firstChild, 8] and point 8 [paras[1].firstChild, -1]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "Sanity check: startContainer must be correct")
    at testExtend ( /selection/extend.js:80:5)
Pass
assert_equals(2, 2, "Sanity check: startOffset must be correct")
    at testExtend ( /selection/extend.js:82:5)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "Sanity check: endContainer must be correct")
    at testExtend ( /selection/extend.js:84:5)
Pass
assert_equals(8, 8, "Sanity check: endOffset must be correct")
    at testExtend ( /selection/extend.js:86:5)
Pass
assert_throws_dom("INDEX_SIZE_ERR", function "function() {             selection.extend(node, offset);         }", "extend() to an offset that's greater than node length (9) must throw IndexSizeError")
    at testExtend ( /selection/extend.js:117:9)
Passextend() forwards with range 7 [paras[1].firstChild, 2, paras[1].firstChild, 8] and point 9 [paras[1].firstChild, 0]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "Sanity check: startContainer must be correct")
    at testExtend ( /selection/extend.js:80:5)
Pass
assert_equals(2, 2, "Sanity check: startOffset must be correct")
    at testExtend ( /selection/extend.js:82:5)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "Sanity check: endContainer must be correct")
    at testExtend ( /selection/extend.js:84:5)
Pass
assert_equals(8, 8, "Sanity check: endOffset must be correct")
    at testExtend ( /selection/extend.js:86:5)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "anchorNode must not change if the node passed to extend() has the same root as the original range")
    at testExtend ( /selection/extend.js:145:9)
Pass
assert_equals(2, 2, "anchorOffset must not change if the node passed to extend() has the same root as the original range")
    at testExtend ( /selection/extend.js:147:9)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "focusNode must be the node passed to extend()")
    at testExtend ( /selection/extend.js:155:5)
Pass
assert_equals(0, 0, "focusOffset must be the offset passed to extend()")
    at testExtend ( /selection/extend.js:157:5)
Pass
assert_not_equals(object "Ij", object "klmnop", "extend() must replace any existing range with a new one, not mutate the existing one")
    at testExtend ( /selection/extend.js:159:5)
Passextend() backwards with range 7 [paras[1].firstChild, 2, paras[1].firstChild, 8] and point 9 [paras[1].firstChild, 0]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "Sanity check: startContainer must be correct")
    at testExtend ( /selection/extend.js:80:5)
Pass
assert_equals(2, 2, "Sanity check: startOffset must be correct")
    at testExtend ( /selection/extend.js:82:5)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "Sanity check: endContainer must be correct")
    at testExtend ( /selection/extend.js:84:5)
Pass
assert_equals(8, 8, "Sanity check: endOffset must be correct")
    at testExtend ( /selection/extend.js:86:5)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "anchorNode must not change if the node passed to extend() has the same root as the original range")
    at testExtend ( /selection/extend.js:145:9)
Pass
assert_equals(8, 8, "anchorOffset must not change if the node passed to extend() has the same root as the original range")
    at testExtend ( /selection/extend.js:147:9)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "focusNode must be the node passed to extend()")
    at testExtend ( /selection/extend.js:155:5)
Pass
assert_equals(0, 0, "focusOffset must be the offset passed to extend()")
    at testExtend ( /selection/extend.js:157:5)
Pass
assert_not_equals(object "Ijklmnop", object "klmnop", "extend() must replace any existing range with a new one, not mutate the existing one")
    at testExtend ( /selection/extend.js:159:5)
Passextend() forwards with range 7 [paras[1].firstChild, 2, paras[1].firstChild, 8] and point 10 [paras[1].firstChild, 1]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "Sanity check: startContainer must be correct")
    at testExtend ( /selection/extend.js:80:5)
Pass
assert_equals(2, 2, "Sanity check: startOffset must be correct")
    at testExtend ( /selection/extend.js:82:5)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "Sanity check: endContainer must be correct")
    at testExtend ( /selection/extend.js:84:5)
Pass
assert_equals(8, 8, "Sanity check: endOffset must be correct")
    at testExtend ( /selection/extend.js:86:5)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "anchorNode must not change if the node passed to extend() has the same root as the original range")
    at testExtend ( /selection/extend.js:145:9)
Pass
assert_equals(2, 2, "anchorOffset must not change if the node passed to extend() has the same root as the original range")
    at testExtend ( /selection/extend.js:147:9)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "focusNode must be the node passed to extend()")
    at testExtend ( /selection/extend.js:155:5)
Pass
assert_equals(1, 1, "focusOffset must be the offset passed to extend()")
    at testExtend ( /selection/extend.js:157:5)
Pass
assert_not_equals(object "j", object "klmnop", "extend() must replace any existing range with a new one, not mutate the existing one")
    at testExtend ( /selection/extend.js:159:5)
Passextend() backwards with range 7 [paras[1].firstChild, 2, paras[1].firstChild, 8] and point 10 [paras[1].firstChild, 1]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "Sanity check: startContainer must be correct")
    at testExtend ( /selection/extend.js:80:5)
Pass
assert_equals(2, 2, "Sanity check: startOffset must be correct")
    at testExtend ( /selection/extend.js:82:5)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "Sanity check: endContainer must be correct")
    at testExtend ( /selection/extend.js:84:5)
Pass
assert_equals(8, 8, "Sanity check: endOffset must be correct")
    at testExtend ( /selection/extend.js:86:5)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "anchorNode must not change if the node passed to extend() has the same root as the original range")
    at testExtend ( /selection/extend.js:145:9)
Pass
assert_equals(8, 8, "anchorOffset must not change if the node passed to extend() has the same root as the original range")
    at testExtend ( /selection/extend.js:147:9)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "focusNode must be the node passed to extend()")
    at testExtend ( /selection/extend.js:155:5)
Pass
assert_equals(1, 1, "focusOffset must be the offset passed to extend()")
    at testExtend ( /selection/extend.js:157:5)
Pass
assert_not_equals(object "jklmnop", object "klmnop", "extend() must replace any existing range with a new one, not mutate the existing one")
    at testExtend ( /selection/extend.js:159:5)
Passextend() forwards with range 7 [paras[1].firstChild, 2, paras[1].firstChild, 8] and point 11 [paras[1].firstChild, 2]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "Sanity check: startContainer must be correct")
    at testExtend ( /selection/extend.js:80:5)
Pass
assert_equals(2, 2, "Sanity check: startOffset must be correct")
    at testExtend ( /selection/extend.js:82:5)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "Sanity check: endContainer must be correct")
    at testExtend ( /selection/extend.js:84:5)
Pass
assert_equals(8, 8, "Sanity check: endOffset must be correct")
    at testExtend ( /selection/extend.js:86:5)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "anchorNode must not change if the node passed to extend() has the same root as the original range")
    at testExtend ( /selection/extend.js:145:9)
Pass
assert_equals(2, 2, "anchorOffset must not change if the node passed to extend() has the same root as the original range")
    at testExtend ( /selection/extend.js:147:9)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "focusNode must be the node passed to extend()")
    at testExtend ( /selection/extend.js:155:5)
Pass
assert_equals(2, 2, "focusOffset must be the offset passed to extend()")
    at testExtend ( /selection/extend.js:157:5)
Pass
assert_not_equals(object "", object "klmnop", "extend() must replace any existing range with a new one, not mutate the existing one")
    at testExtend ( /selection/extend.js:159:5)
Passextend() backwards with range 7 [paras[1].firstChild, 2, paras[1].firstChild, 8] and point 11 [paras[1].firstChild, 2]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "Sanity check: startContainer must be correct")
    at testExtend ( /selection/extend.js:80:5)
Pass
assert_equals(2, 2, "Sanity check: startOffset must be correct")
    at testExtend ( /selection/extend.js:82:5)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "Sanity check: endContainer must be correct")
    at testExtend ( /selection/extend.js:84:5)
Pass
assert_equals(8, 8, "Sanity check: endOffset must be correct")
    at testExtend ( /selection/extend.js:86:5)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "anchorNode must not change if the node passed to extend() has the same root as the original range")
    at testExtend ( /selection/extend.js:145:9)
Pass
assert_equals(8, 8, "anchorOffset must not change if the node passed to extend() has the same root as the original range")
    at testExtend ( /selection/extend.js:147:9)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "focusNode must be the node passed to extend()")
    at testExtend ( /selection/extend.js:155:5)
Pass
assert_equals(2, 2, "focusOffset must be the offset passed to extend()")
    at testExtend ( /selection/extend.js:157:5)
Pass
assert_not_equals(object "klmnop", object "klmnop", "extend() must replace any existing range with a new one, not mutate the existing one")
    at testExtend ( /selection/extend.js:159:5)
Passextend() forwards with range 7 [paras[1].firstChild, 2, paras[1].firstChild, 8] and point 12 [paras[1].firstChild, 8]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "Sanity check: startContainer must be correct")
    at testExtend ( /selection/extend.js:80:5)
Pass
assert_equals(2, 2, "Sanity check: startOffset must be correct")
    at testExtend ( /selection/extend.js:82:5)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "Sanity check: endContainer must be correct")
    at testExtend ( /selection/extend.js:84:5)
Pass
assert_equals(8, 8, "Sanity check: endOffset must be correct")
    at testExtend ( /selection/extend.js:86:5)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "anchorNode must not change if the node passed to extend() has the same root as the original range")
    at testExtend ( /selection/extend.js:145:9)
Pass
assert_equals(2, 2, "anchorOffset must not change if the node passed to extend() has the same root as the original range")
    at testExtend ( /selection/extend.js:147:9)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "focusNode must be the node passed to extend()")
    at testExtend ( /selection/extend.js:155:5)
Pass
assert_equals(8, 8, "focusOffset must be the offset passed to extend()")
    at testExtend ( /selection/extend.js:157:5)
Pass
assert_not_equals(object "klmnop", object "klmnop", "extend() must replace any existing range with a new one, not mutate the existing one")
    at testExtend ( /selection/extend.js:159:5)
Passextend() backwards with range 7 [paras[1].firstChild, 2, paras[1].firstChild, 8] and point 12 [paras[1].firstChild, 8]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "Sanity check: startContainer must be correct")
    at testExtend ( /selection/extend.js:80:5)
Pass
assert_equals(2, 2, "Sanity check: startOffset must be correct")
    at testExtend ( /selection/extend.js:82:5)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "Sanity check: endContainer must be correct")
    at testExtend ( /selection/extend.js:84:5)
Pass
assert_equals(8, 8, "Sanity check: endOffset must be correct")
    at testExtend ( /selection/extend.js:86:5)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "anchorNode must not change if the node passed to extend() has the same root as the original range")
    at testExtend ( /selection/extend.js:145:9)
Pass
assert_equals(8, 8, "anchorOffset must not change if the node passed to extend() has the same root as the original range")
    at testExtend ( /selection/extend.js:147:9)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "focusNode must be the node passed to extend()")
    at testExtend ( /selection/extend.js:155:5)
Pass
assert_equals(8, 8, "focusOffset must be the offset passed to extend()")
    at testExtend ( /selection/extend.js:157:5)
Pass
assert_not_equals(object "", object "klmnop", "extend() must replace any existing range with a new one, not mutate the existing one")
    at testExtend ( /selection/extend.js:159:5)
Passextend() forwards with range 7 [paras[1].firstChild, 2, paras[1].firstChild, 8] and point 13 [paras[1].firstChild, 9]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "Sanity check: startContainer must be correct")
    at testExtend ( /selection/extend.js:80:5)
Pass
assert_equals(2, 2, "Sanity check: startOffset must be correct")
    at testExtend ( /selection/extend.js:82:5)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "Sanity check: endContainer must be correct")
    at testExtend ( /selection/extend.js:84:5)
Pass
assert_equals(8, 8, "Sanity check: endOffset must be correct")
    at testExtend ( /selection/extend.js:86:5)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "anchorNode must not change if the node passed to extend() has the same root as the original range")
    at testExtend ( /selection/extend.js:145:9)
Pass
assert_equals(2, 2, "anchorOffset must not change if the node passed to extend() has the same root as the original range")
    at testExtend ( /selection/extend.js:147:9)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "focusNode must be the node passed to extend()")
    at testExtend ( /selection/extend.js:155:5)
Pass
assert_equals(9, 9, "focusOffset must be the offset passed to extend()")
    at testExtend ( /selection/extend.js:157:5)
Pass
assert_not_equals(object "klmnop ", object "klmnop", "extend() must replace any existing range with a new one, not mutate the existing one")
    at testExtend ( /selection/extend.js:159:5)
Passextend() backwards with range 7 [paras[1].firstChild, 2, paras[1].firstChild, 8] and point 13 [paras[1].firstChild, 9]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "Sanity check: startContainer must be correct")
    at testExtend ( /selection/extend.js:80:5)
Pass
assert_equals(2, 2, "Sanity check: startOffset must be correct")
    at testExtend ( /selection/extend.js:82:5)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "Sanity check: endContainer must be correct")
    at testExtend ( /selection/extend.js:84:5)
Pass
assert_equals(8, 8, "Sanity check: endOffset must be correct")
    at testExtend ( /selection/extend.js:86:5)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "anchorNode must not change if the node passed to extend() has the same root as the original range")
    at testExtend ( /selection/extend.js:145:9)
Pass
assert_equals(8, 8, "anchorOffset must not change if the node passed to extend() has the same root as the original range")
    at testExtend ( /selection/extend.js:147:9)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "focusNode must be the node passed to extend()")
    at testExtend ( /selection/extend.js:155:5)
Pass
assert_equals(9, 9, "focusOffset must be the offset passed to extend()")
    at testExtend ( /selection/extend.js:157:5)
Pass
assert_not_equals(object " ", object "klmnop", "extend() must replace any existing range with a new one, not mutate the existing one")
    at testExtend ( /selection/extend.js:159:5)
Passextend() forwards with range 7 [paras[1].firstChild, 2, paras[1].firstChild, 8] and point 14 [paras[1].firstChild, 10]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "Sanity check: startContainer must be correct")
    at testExtend ( /selection/extend.js:80:5)
Pass
assert_equals(2, 2, "Sanity check: startOffset must be correct")
    at testExtend ( /selection/extend.js:82:5)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "Sanity check: endContainer must be correct")
    at testExtend ( /selection/extend.js:84:5)
Pass
assert_equals(8, 8, "Sanity check: endOffset must be correct")
    at testExtend ( /selection/extend.js:86:5)
Pass
assert_throws_dom("INDEX_SIZE_ERR", function "function() {             selection.extend(node, offset);         }", "extend() to an offset that's greater than node length (9) must throw IndexSizeError")
    at testExtend ( /selection/extend.js:117:9)
Passextend() backwards with range 7 [paras[1].firstChild, 2, paras[1].firstChild, 8] and point 14 [paras[1].firstChild, 10]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "Sanity check: startContainer must be correct")
    at testExtend ( /selection/extend.js:80:5)
Pass
assert_equals(2, 2, "Sanity check: startOffset must be correct")
    at testExtend ( /selection/extend.js:82:5)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "Sanity check: endContainer must be correct")
    at testExtend ( /selection/extend.js:84:5)
Pass
assert_equals(8, 8, "Sanity check: endOffset must be correct")
    at testExtend ( /selection/extend.js:86:5)
Pass
assert_throws_dom("INDEX_SIZE_ERR", function "function() {             selection.extend(node, offset);         }", "extend() to an offset that's greater than node length (9) must throw IndexSizeError")
    at testExtend ( /selection/extend.js:117:9)
Passextend() forwards with range 7 [paras[1].firstChild, 2, paras[1].firstChild, 8] and point 15 [paras[1].firstChild, 65535]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "Sanity check: startContainer must be correct")
    at testExtend ( /selection/extend.js:80:5)
Pass
assert_equals(2, 2, "Sanity check: startOffset must be correct")
    at testExtend ( /selection/extend.js:82:5)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "Sanity check: endContainer must be correct")
    at testExtend ( /selection/extend.js:84:5)
Pass
assert_equals(8, 8, "Sanity check: endOffset must be correct")
    at testExtend ( /selection/extend.js:86:5)
Pass
assert_throws_dom("INDEX_SIZE_ERR", function "function() {             selection.extend(node, offset);         }", "extend() to an offset that's greater than node length (9) must throw IndexSizeError")
    at testExtend ( /selection/extend.js:117:9)
Passextend() backwards with range 7 [paras[1].firstChild, 2, paras[1].firstChild, 8] and point 15 [paras[1].firstChild, 65535]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "Sanity check: startContainer must be correct")
    at testExtend ( /selection/extend.js:80:5)
Pass
assert_equals(2, 2, "Sanity check: startOffset must be correct")
    at testExtend ( /selection/extend.js:82:5)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "Sanity check: endContainer must be correct")
    at testExtend ( /selection/extend.js:84:5)
Pass
assert_equals(8, 8, "Sanity check: endOffset must be correct")
    at testExtend ( /selection/extend.js:86:5)
Pass
assert_throws_dom("INDEX_SIZE_ERR", function "function() {             selection.extend(node, offset);         }", "extend() to an offset that's greater than node length (9) must throw IndexSizeError")
    at testExtend ( /selection/extend.js:117:9)
Passextend() forwards with range 7 [paras[1].firstChild, 2, paras[1].firstChild, 8] and point 16 [detachedPara1.firstChild, 0]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(1, 1, "The operation should not add Range")
    at assertSelectionNoChange ( /selection/common.js:976:5)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "The operation should not update anchorNode")
    at assertSelectionNoChange ( /selection/common.js:978:5)
Pass
assert_equals(2, 2, "The operation should not update anchorOffset")
    at assertSelectionNoChange ( /selection/common.js:980:5)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "The operation should not update focusNode")
    at assertSelectionNoChange ( /selection/common.js:982:5)
Pass
assert_equals(8, 8, "The operation should not update focusOffset")
    at assertSelectionNoChange ( /selection/common.js:984:5)
Pass
assert_equals(object "klmnop", object "klmnop", "The operation should not replace a registered Range")
    at assertSelectionNoChange ( /selection/common.js:988:5)
Passextend() backwards with range 7 [paras[1].firstChild, 2, paras[1].firstChild, 8] and point 16 [detachedPara1.firstChild, 0]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(1, 1, "The operation should not add Range")
    at assertSelectionNoChange ( /selection/common.js:976:5)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "The operation should not update anchorNode")
    at assertSelectionNoChange ( /selection/common.js:978:5)
Pass
assert_equals(8, 8, "The operation should not update anchorOffset")
    at assertSelectionNoChange ( /selection/common.js:980:5)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "The operation should not update focusNode")
    at assertSelectionNoChange ( /selection/common.js:982:5)
Pass
assert_equals(2, 2, "The operation should not update focusOffset")
    at assertSelectionNoChange ( /selection/common.js:984:5)
Pass
assert_equals(object "klmnop", object "klmnop", "The operation should not replace a registered Range")
    at assertSelectionNoChange ( /selection/common.js:988:5)
Passextend() forwards with range 7 [paras[1].firstChild, 2, paras[1].firstChild, 8] and point 17 [detachedPara1.firstChild, 1]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(1, 1, "The operation should not add Range")
    at assertSelectionNoChange ( /selection/common.js:976:5)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "The operation should not update anchorNode")
    at assertSelectionNoChange ( /selection/common.js:978:5)
Pass
assert_equals(2, 2, "The operation should not update anchorOffset")
    at assertSelectionNoChange ( /selection/common.js:980:5)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "The operation should not update focusNode")
    at assertSelectionNoChange ( /selection/common.js:982:5)
Pass
assert_equals(8, 8, "The operation should not update focusOffset")
    at assertSelectionNoChange ( /selection/common.js:984:5)
Pass
assert_equals(object "klmnop", object "klmnop", "The operation should not replace a registered Range")
    at assertSelectionNoChange ( /selection/common.js:988:5)
Passextend() backwards with range 7 [paras[1].firstChild, 2, paras[1].firstChild, 8] and point 17 [detachedPara1.firstChild, 1]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(1, 1, "The operation should not add Range")
    at assertSelectionNoChange ( /selection/common.js:976:5)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "The operation should not update anchorNode")
    at assertSelectionNoChange ( /selection/common.js:978:5)
Pass
assert_equals(8, 8, "The operation should not update anchorOffset")
    at assertSelectionNoChange ( /selection/common.js:980:5)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "The operation should not update focusNode")
    at assertSelectionNoChange ( /selection/common.js:982:5)
Pass
assert_equals(2, 2, "The operation should not update focusOffset")
    at assertSelectionNoChange ( /selection/common.js:984:5)
Pass
assert_equals(object "klmnop", object "klmnop", "The operation should not replace a registered Range")
    at assertSelectionNoChange ( /selection/common.js:988:5)
Passextend() forwards with range 7 [paras[1].firstChild, 2, paras[1].firstChild, 8] and point 18 [detachedPara1.firstChild, 8]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(1, 1, "The operation should not add Range")
    at assertSelectionNoChange ( /selection/common.js:976:5)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "The operation should not update anchorNode")
    at assertSelectionNoChange ( /selection/common.js:978:5)
Pass
assert_equals(2, 2, "The operation should not update anchorOffset")
    at assertSelectionNoChange ( /selection/common.js:980:5)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "The operation should not update focusNode")
    at assertSelectionNoChange ( /selection/common.js:982:5)
Pass
assert_equals(8, 8, "The operation should not update focusOffset")
    at assertSelectionNoChange ( /selection/common.js:984:5)
Pass
assert_equals(object "klmnop", object "klmnop", "The operation should not replace a registered Range")
    at assertSelectionNoChange ( /selection/common.js:988:5)
Passextend() backwards with range 7 [paras[1].firstChild, 2, paras[1].firstChild, 8] and point 18 [detachedPara1.firstChild, 8]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(1, 1, "The operation should not add Range")
    at assertSelectionNoChange ( /selection/common.js:976:5)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "The operation should not update anchorNode")
    at assertSelectionNoChange ( /selection/common.js:978:5)
Pass
assert_equals(8, 8, "The operation should not update anchorOffset")
    at assertSelectionNoChange ( /selection/common.js:980:5)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "The operation should not update focusNode")
    at assertSelectionNoChange ( /selection/common.js:982:5)
Pass
assert_equals(2, 2, "The operation should not update focusOffset")
    at assertSelectionNoChange ( /selection/common.js:984:5)
Pass
assert_equals(object "klmnop", object "klmnop", "The operation should not replace a registered Range")
    at assertSelectionNoChange ( /selection/common.js:988:5)
Passextend() forwards with range 7 [paras[1].firstChild, 2, paras[1].firstChild, 8] and point 19 [detachedPara1.firstChild, 9]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(1, 1, "The operation should not add Range")
    at assertSelectionNoChange ( /selection/common.js:976:5)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "The operation should not update anchorNode")
    at assertSelectionNoChange ( /selection/common.js:978:5)
Pass
assert_equals(2, 2, "The operation should not update anchorOffset")
    at assertSelectionNoChange ( /selection/common.js:980:5)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "The operation should not update focusNode")
    at assertSelectionNoChange ( /selection/common.js:982:5)
Pass
assert_equals(8, 8, "The operation should not update focusOffset")
    at assertSelectionNoChange ( /selection/common.js:984:5)
Pass
assert_equals(object "klmnop", object "klmnop", "The operation should not replace a registered Range")
    at assertSelectionNoChange ( /selection/common.js:988:5)
Passextend() backwards with range 7 [paras[1].firstChild, 2, paras[1].firstChild, 8] and point 19 [detachedPara1.firstChild, 9]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(1, 1, "The operation should not add Range")
    at assertSelectionNoChange ( /selection/common.js:976:5)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "The operation should not update anchorNode")
    at assertSelectionNoChange ( /selection/common.js:978:5)
Pass
assert_equals(8, 8, "The operation should not update anchorOffset")
    at assertSelectionNoChange ( /selection/common.js:980:5)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "The operation should not update focusNode")
    at assertSelectionNoChange ( /selection/common.js:982:5)
Pass
assert_equals(2, 2, "The operation should not update focusOffset")
    at assertSelectionNoChange ( /selection/common.js:984:5)
Pass
assert_equals(object "klmnop", object "klmnop", "The operation should not replace a registered Range")
    at assertSelectionNoChange ( /selection/common.js:988:5)
Passextend() forwards with range 7 [paras[1].firstChild, 2, paras[1].firstChild, 8] and point 20 [foreignPara1.firstChild, 0]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(1, 1, "The operation should not add Range")
    at assertSelectionNoChange ( /selection/common.js:976:5)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "The operation should not update anchorNode")
    at assertSelectionNoChange ( /selection/common.js:978:5)
Pass
assert_equals(2, 2, "The operation should not update anchorOffset")
    at assertSelectionNoChange ( /selection/common.js:980:5)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "The operation should not update focusNode")
    at assertSelectionNoChange ( /selection/common.js:982:5)
Pass
assert_equals(8, 8, "The operation should not update focusOffset")
    at assertSelectionNoChange ( /selection/common.js:984:5)
Pass
assert_equals(object "klmnop", object "klmnop", "The operation should not replace a registered Range")
    at assertSelectionNoChange ( /selection/common.js:988:5)
Passextend() backwards with range 7 [paras[1].firstChild, 2, paras[1].firstChild, 8] and point 20 [foreignPara1.firstChild, 0]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(1, 1, "The operation should not add Range")
    at assertSelectionNoChange ( /selection/common.js:976:5)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "The operation should not update anchorNode")
    at assertSelectionNoChange ( /selection/common.js:978:5)
Pass
assert_equals(8, 8, "The operation should not update anchorOffset")
    at assertSelectionNoChange ( /selection/common.js:980:5)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "The operation should not update focusNode")
    at assertSelectionNoChange ( /selection/common.js:982:5)
Pass
assert_equals(2, 2, "The operation should not update focusOffset")
    at assertSelectionNoChange ( /selection/common.js:984:5)
Pass
assert_equals(object "klmnop", object "klmnop", "The operation should not replace a registered Range")
    at assertSelectionNoChange ( /selection/common.js:988:5)
Passextend() forwards with range 7 [paras[1].firstChild, 2, paras[1].firstChild, 8] and point 21 [foreignPara1.firstChild, 1]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(1, 1, "The operation should not add Range")
    at assertSelectionNoChange ( /selection/common.js:976:5)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "The operation should not update anchorNode")
    at assertSelectionNoChange ( /selection/common.js:978:5)
Pass
assert_equals(2, 2, "The operation should not update anchorOffset")
    at assertSelectionNoChange ( /selection/common.js:980:5)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "The operation should not update focusNode")
    at assertSelectionNoChange ( /selection/common.js:982:5)
Pass
assert_equals(8, 8, "The operation should not update focusOffset")
    at assertSelectionNoChange ( /selection/common.js:984:5)
Pass
assert_equals(object "klmnop", object "klmnop", "The operation should not replace a registered Range")
    at assertSelectionNoChange ( /selection/common.js:988:5)
Passextend() backwards with range 7 [paras[1].firstChild, 2, paras[1].firstChild, 8] and point 21 [foreignPara1.firstChild, 1]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(1, 1, "The operation should not add Range")
    at assertSelectionNoChange ( /selection/common.js:976:5)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "The operation should not update anchorNode")
    at assertSelectionNoChange ( /selection/common.js:978:5)
Pass
assert_equals(8, 8, "The operation should not update anchorOffset")
    at assertSelectionNoChange ( /selection/common.js:980:5)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "The operation should not update focusNode")
    at assertSelectionNoChange ( /selection/common.js:982:5)
Pass
assert_equals(2, 2, "The operation should not update focusOffset")
    at assertSelectionNoChange ( /selection/common.js:984:5)
Pass
assert_equals(object "klmnop", object "klmnop", "The operation should not replace a registered Range")
    at assertSelectionNoChange ( /selection/common.js:988:5)
Passextend() forwards with range 7 [paras[1].firstChild, 2, paras[1].firstChild, 8] and point 22 [foreignPara1.firstChild, 8]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(1, 1, "The operation should not add Range")
    at assertSelectionNoChange ( /selection/common.js:976:5)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "The operation should not update anchorNode")
    at assertSelectionNoChange ( /selection/common.js:978:5)
Pass
assert_equals(2, 2, "The operation should not update anchorOffset")
    at assertSelectionNoChange ( /selection/common.js:980:5)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "The operation should not update focusNode")
    at assertSelectionNoChange ( /selection/common.js:982:5)
Pass
assert_equals(8, 8, "The operation should not update focusOffset")
    at assertSelectionNoChange ( /selection/common.js:984:5)
Pass
assert_equals(object "klmnop", object "klmnop", "The operation should not replace a registered Range")
    at assertSelectionNoChange ( /selection/common.js:988:5)
Passextend() backwards with range 7 [paras[1].firstChild, 2, paras[1].firstChild, 8] and point 22 [foreignPara1.firstChild, 8]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(1, 1, "The operation should not add Range")
    at assertSelectionNoChange ( /selection/common.js:976:5)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "The operation should not update anchorNode")
    at assertSelectionNoChange ( /selection/common.js:978:5)
Pass
assert_equals(8, 8, "The operation should not update anchorOffset")
    at assertSelectionNoChange ( /selection/common.js:980:5)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "The operation should not update focusNode")
    at assertSelectionNoChange ( /selection/common.js:982:5)
Pass
assert_equals(2, 2, "The operation should not update focusOffset")
    at assertSelectionNoChange ( /selection/common.js:984:5)
Pass
assert_equals(object "klmnop", object "klmnop", "The operation should not replace a registered Range")
    at assertSelectionNoChange ( /selection/common.js:988:5)
Passextend() forwards with range 7 [paras[1].firstChild, 2, paras[1].firstChild, 8] and point 23 [foreignPara1.firstChild, 9]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(1, 1, "The operation should not add Range")
    at assertSelectionNoChange ( /selection/common.js:976:5)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "The operation should not update anchorNode")
    at assertSelectionNoChange ( /selection/common.js:978:5)
Pass
assert_equals(2, 2, "The operation should not update anchorOffset")
    at assertSelectionNoChange ( /selection/common.js:980:5)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "The operation should not update focusNode")
    at assertSelectionNoChange ( /selection/common.js:982:5)
Pass
assert_equals(8, 8, "The operation should not update focusOffset")
    at assertSelectionNoChange ( /selection/common.js:984:5)
Pass
assert_equals(object "klmnop", object "klmnop", "The operation should not replace a registered Range")
    at assertSelectionNoChange ( /selection/common.js:988:5)
Passextend() backwards with range 7 [paras[1].firstChild, 2, paras[1].firstChild, 8] and point 23 [foreignPara1.firstChild, 9]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(1, 1, "The operation should not add Range")
    at assertSelectionNoChange ( /selection/common.js:976:5)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "The operation should not update anchorNode")
    at assertSelectionNoChange ( /selection/common.js:978:5)
Pass
assert_equals(8, 8, "The operation should not update anchorOffset")
    at assertSelectionNoChange ( /selection/common.js:980:5)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "The operation should not update focusNode")
    at assertSelectionNoChange ( /selection/common.js:982:5)
Pass
assert_equals(2, 2, "The operation should not update focusOffset")
    at assertSelectionNoChange ( /selection/common.js:984:5)
Pass
assert_equals(object "klmnop", object "klmnop", "The operation should not replace a registered Range")
    at assertSelectionNoChange ( /selection/common.js:988:5)
Passextend() forwards with range 7 [paras[1].firstChild, 2, paras[1].firstChild, 8] and point 24 [document.documentElement, -1]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "Sanity check: startContainer must be correct")
    at testExtend ( /selection/extend.js:80:5)
Pass
assert_equals(2, 2, "Sanity check: startOffset must be correct")
    at testExtend ( /selection/extend.js:82:5)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "Sanity check: endContainer must be correct")
    at testExtend ( /selection/extend.js:84:5)
Pass
assert_equals(8, 8, "Sanity check: endOffset must be correct")
    at testExtend ( /selection/extend.js:86:5)
Pass
assert_throws_dom("INDEX_SIZE_ERR", function "function() {             selection.extend(node, offset);         }", "extend() to an offset that's greater than node length (2) must throw IndexSizeError")
    at testExtend ( /selection/extend.js:117:9)
Passextend() backwards with range 7 [paras[1].firstChild, 2, paras[1].firstChild, 8] and point 24 [document.documentElement, -1]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "Sanity check: startContainer must be correct")
    at testExtend ( /selection/extend.js:80:5)
Pass
assert_equals(2, 2, "Sanity check: startOffset must be correct")
    at testExtend ( /selection/extend.js:82:5)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "Sanity check: endContainer must be correct")
    at testExtend ( /selection/extend.js:84:5)
Pass
assert_equals(8, 8, "Sanity check: endOffset must be correct")
    at testExtend ( /selection/extend.js:86:5)
Pass
assert_throws_dom("INDEX_SIZE_ERR", function "function() {             selection.extend(node, offset);         }", "extend() to an offset that's greater than node length (2) must throw IndexSizeError")
    at testExtend ( /selection/extend.js:117:9)
Passextend() forwards with range 7 [paras[1].firstChild, 2, paras[1].firstChild, 8] and point 25 [document.documentElement, 0]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "Sanity check: startContainer must be correct")
    at testExtend ( /selection/extend.js:80:5)
Pass
assert_equals(2, 2, "Sanity check: startOffset must be correct")
    at testExtend ( /selection/extend.js:82:5)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "Sanity check: endContainer must be correct")
    at testExtend ( /selection/extend.js:84:5)
Pass
assert_equals(8, 8, "Sanity check: endOffset must be correct")
    at testExtend ( /selection/extend.js:86:5)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "anchorNode must not change if the node passed to extend() has the same root as the original range")
    at testExtend ( /selection/extend.js:145:9)
Pass
assert_equals(2, 2, "anchorOffset must not change if the node passed to extend() has the same root as the original range")
    at testExtend ( /selection/extend.js:147:9)
Pass
assert_equals(Element node <html><head><title>Selection extend() tests</title> <meta..., Element node <html><head><title>Selection extend() tests</title> <meta..., "focusNode must be the node passed to extend()")
    at testExtend ( /selection/extend.js:155:5)
Pass
assert_equals(0, 0, "focusOffset must be the offset passed to extend()")
    at testExtend ( /selection/extend.js:157:5)
Pass
assert_not_equals(object "Selection extend() tests   Äb̈c̈d̈ëf̈g̈ḧ Ij", object "klmnop", "extend() must replace any existing range with a new one, not mutate the existing one")
    at testExtend ( /selection/extend.js:159:5)
Passextend() backwards with range 7 [paras[1].firstChild, 2, paras[1].firstChild, 8] and point 25 [document.documentElement, 0]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "Sanity check: startContainer must be correct")
    at testExtend ( /selection/extend.js:80:5)
Pass
assert_equals(2, 2, "Sanity check: startOffset must be correct")
    at testExtend ( /selection/extend.js:82:5)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "Sanity check: endContainer must be correct")
    at testExtend ( /selection/extend.js:84:5)
Pass
assert_equals(8, 8, "Sanity check: endOffset must be correct")
    at testExtend ( /selection/extend.js:86:5)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "anchorNode must not change if the node passed to extend() has the same root as the original range")
    at testExtend ( /selection/extend.js:145:9)
Pass
assert_equals(8, 8, "anchorOffset must not change if the node passed to extend() has the same root as the original range")
    at testExtend ( /selection/extend.js:147:9)
Pass
assert_equals(Element node <html><head><title>Selection extend() tests</title> <meta..., Element node <html><head><title>Selection extend() tests</title> <meta..., "focusNode must be the node passed to extend()")
    at testExtend ( /selection/extend.js:155:5)
Pass
assert_equals(0, 0, "focusOffset must be the offset passed to extend()")
    at testExtend ( /selection/extend.js:157:5)
Pass
assert_not_equals(object "Selection extend() tests   Äb̈c̈d̈ëf̈g̈ḧ Ijklmnop", object "klmnop", "extend() must replace any existing range with a new one, not mutate the existing one")
    at testExtend ( /selection/extend.js:159:5)
Passextend() forwards with range 7 [paras[1].firstChild, 2, paras[1].firstChild, 8] and point 26 [document.documentElement, 1]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "Sanity check: startContainer must be correct")
    at testExtend ( /selection/extend.js:80:5)
Pass
assert_equals(2, 2, "Sanity check: startOffset must be correct")
    at testExtend ( /selection/extend.js:82:5)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "Sanity check: endContainer must be correct")
    at testExtend ( /selection/extend.js:84:5)
Pass
assert_equals(8, 8, "Sanity check: endOffset must be correct")
    at testExtend ( /selection/extend.js:86:5)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "anchorNode must not change if the node passed to extend() has the same root as the original range")
    at testExtend ( /selection/extend.js:145:9)
Pass
assert_equals(2, 2, "anchorOffset must not change if the node passed to extend() has the same root as the original range")
    at testExtend ( /selection/extend.js:147:9)
Pass
assert_equals(Element node <html><head><title>Selection extend() tests</title> <meta..., Element node <html><head><title>Selection extend() tests</title> <meta..., "focusNode must be the node passed to extend()")
    at testExtend ( /selection/extend.js:155:5)
Pass
assert_equals(1, 1, "focusOffset must be the offset passed to extend()")
    at testExtend ( /selection/extend.js:157:5)
Pass
assert_not_equals(object "Äb̈c̈d̈ëf̈g̈ḧ Ij", object "klmnop", "extend() must replace any existing range with a new one, not mutate the existing one")
    at testExtend ( /selection/extend.js:159:5)
Passextend() backwards with range 7 [paras[1].firstChild, 2, paras[1].firstChild, 8] and point 26 [document.documentElement, 1]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "Sanity check: startContainer must be correct")
    at testExtend ( /selection/extend.js:80:5)
Pass
assert_equals(2, 2, "Sanity check: startOffset must be correct")
    at testExtend ( /selection/extend.js:82:5)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "Sanity check: endContainer must be correct")
    at testExtend ( /selection/extend.js:84:5)
Pass
assert_equals(8, 8, "Sanity check: endOffset must be correct")
    at testExtend ( /selection/extend.js:86:5)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "anchorNode must not change if the node passed to extend() has the same root as the original range")
    at testExtend ( /selection/extend.js:145:9)
Pass
assert_equals(8, 8, "anchorOffset must not change if the node passed to extend() has the same root as the original range")
    at testExtend ( /selection/extend.js:147:9)
Pass
assert_equals(Element node <html><head><title>Selection extend() tests</title> <meta..., Element node <html><head><title>Selection extend() tests</title> <meta..., "focusNode must be the node passed to extend()")
    at testExtend ( /selection/extend.js:155:5)
Pass
assert_equals(1, 1, "focusOffset must be the offset passed to extend()")
    at testExtend ( /selection/extend.js:157:5)
Pass
assert_not_equals(object "Äb̈c̈d̈ëf̈g̈ḧ Ijklmnop", object "klmnop", "extend() must replace any existing range with a new one, not mutate the existing one")
    at testExtend ( /selection/extend.js:159:5)
Passextend() forwards with range 7 [paras[1].firstChild, 2, paras[1].firstChild, 8] and point 27 [document.documentElement, 2]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "Sanity check: startContainer must be correct")
    at testExtend ( /selection/extend.js:80:5)
Pass
assert_equals(2, 2, "Sanity check: startOffset must be correct")
    at testExtend ( /selection/extend.js:82:5)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "Sanity check: endContainer must be correct")
    at testExtend ( /selection/extend.js:84:5)
Pass
assert_equals(8, 8, "Sanity check: endOffset must be correct")
    at testExtend ( /selection/extend.js:86:5)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "anchorNode must not change if the node passed to extend() has the same root as the original range")
    at testExtend ( /selection/extend.js:145:9)
Pass
assert_equals(2, 2, "anchorOffset must not change if the node passed to extend() has the same root as the original range")
    at testExtend ( /selection/extend.js:147:9)
Pass
assert_equals(Element node <html><head><title>Selection extend() tests</title> <meta..., Element node <html><head><title>Selection extend() tests</title> <meta..., "focusNode must be the node passed to extend()")
    at testExtend ( /selection/extend.js:155:5)
Pass
assert_equals(2, 2, "focusOffset must be the offset passed to extend()")
    at testExtend ( /selection/extend.js:157:5)
Pass
assert_not_equals(object "klmnop QrstuvwxYzabcdefGhijklmn     Running, 900 complete, 1 remain  "use strict";  testExtendSubSet(0, 20); testDiv.style.display = "none"; ", object "klmnop", "extend() must replace any existing range with a new one, not mutate the existing one")
    at testExtend ( /selection/extend.js:159:5)
Passextend() backwards with range 7 [paras[1].firstChild, 2, paras[1].firstChild, 8] and point 27 [document.documentElement, 2]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "Sanity check: startContainer must be correct")
    at testExtend ( /selection/extend.js:80:5)
Pass
assert_equals(2, 2, "Sanity check: startOffset must be correct")
    at testExtend ( /selection/extend.js:82:5)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "Sanity check: endContainer must be correct")
    at testExtend ( /selection/extend.js:84:5)
Pass
assert_equals(8, 8, "Sanity check: endOffset must be correct")
    at testExtend ( /selection/extend.js:86:5)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "anchorNode must not change if the node passed to extend() has the same root as the original range")
    at testExtend ( /selection/extend.js:145:9)
Pass
assert_equals(8, 8, "anchorOffset must not change if the node passed to extend() has the same root as the original range")
    at testExtend ( /selection/extend.js:147:9)
Pass
assert_equals(Element node <html><head><title>Selection extend() tests</title> <meta..., Element node <html><head><title>Selection extend() tests</title> <meta..., "focusNode must be the node passed to extend()")
    at testExtend ( /selection/extend.js:155:5)
Pass
assert_equals(2, 2, "focusOffset must be the offset passed to extend()")
    at testExtend ( /selection/extend.js:157:5)
Pass
assert_not_equals(object " QrstuvwxYzabcdefGhijklmn     Running, 900 complete, 1 remain  "use strict";  testExtendSubSet(0, 20); testDiv.style.display = "none"; ", object "klmnop", "extend() must replace any existing range with a new one, not mutate the existing one")
    at testExtend ( /selection/extend.js:159:5)
Passextend() forwards with range 7 [paras[1].firstChild, 2, paras[1].firstChild, 8] and point 28 [document.documentElement, 7]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "Sanity check: startContainer must be correct")
    at testExtend ( /selection/extend.js:80:5)
Pass
assert_equals(2, 2, "Sanity check: startOffset must be correct")
    at testExtend ( /selection/extend.js:82:5)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "Sanity check: endContainer must be correct")
    at testExtend ( /selection/extend.js:84:5)
Pass
assert_equals(8, 8, "Sanity check: endOffset must be correct")
    at testExtend ( /selection/extend.js:86:5)
Pass
assert_throws_dom("INDEX_SIZE_ERR", function "function() {             selection.extend(node, offset);         }", "extend() to an offset that's greater than node length (2) must throw IndexSizeError")
    at testExtend ( /selection/extend.js:117:9)
Passextend() backwards with range 7 [paras[1].firstChild, 2, paras[1].firstChild, 8] and point 28 [document.documentElement, 7]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "Sanity check: startContainer must be correct")
    at testExtend ( /selection/extend.js:80:5)
Pass
assert_equals(2, 2, "Sanity check: startOffset must be correct")
    at testExtend ( /selection/extend.js:82:5)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "Sanity check: endContainer must be correct")
    at testExtend ( /selection/extend.js:84:5)
Pass
assert_equals(8, 8, "Sanity check: endOffset must be correct")
    at testExtend ( /selection/extend.js:86:5)
Pass
assert_throws_dom("INDEX_SIZE_ERR", function "function() {             selection.extend(node, offset);         }", "extend() to an offset that's greater than node length (2) must throw IndexSizeError")
    at testExtend ( /selection/extend.js:117:9)
Passextend() forwards with range 7 [paras[1].firstChild, 2, paras[1].firstChild, 8] and point 29 [document.head, 1]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "Sanity check: startContainer must be correct")
    at testExtend ( /selection/extend.js:80:5)
Pass
assert_equals(2, 2, "Sanity check: startOffset must be correct")
    at testExtend ( /selection/extend.js:82:5)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "Sanity check: endContainer must be correct")
    at testExtend ( /selection/extend.js:84:5)
Pass
assert_equals(8, 8, "Sanity check: endOffset must be correct")
    at testExtend ( /selection/extend.js:86:5)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "anchorNode must not change if the node passed to extend() has the same root as the original range")
    at testExtend ( /selection/extend.js:145:9)
Pass
assert_equals(2, 2, "anchorOffset must not change if the node passed to extend() has the same root as the original range")
    at testExtend ( /selection/extend.js:147:9)
Pass
assert_equals(Element node <head><title>Selection extend() tests</title> <meta chars..., Element node <head><title>Selection extend() tests</title> <meta chars..., "focusNode must be the node passed to extend()")
    at testExtend ( /selection/extend.js:155:5)
Pass
assert_equals(1, 1, "focusOffset must be the offset passed to extend()")
    at testExtend ( /selection/extend.js:157:5)
Pass
assert_not_equals(object "   Äb̈c̈d̈ëf̈g̈ḧ Ij", object "klmnop", "extend() must replace any existing range with a new one, not mutate the existing one")
    at testExtend ( /selection/extend.js:159:5)
Passextend() backwards with range 7 [paras[1].firstChild, 2, paras[1].firstChild, 8] and point 29 [document.head, 1]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "Sanity check: startContainer must be correct")
    at testExtend ( /selection/extend.js:80:5)
Pass
assert_equals(2, 2, "Sanity check: startOffset must be correct")
    at testExtend ( /selection/extend.js:82:5)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "Sanity check: endContainer must be correct")
    at testExtend ( /selection/extend.js:84:5)
Pass
assert_equals(8, 8, "Sanity check: endOffset must be correct")
    at testExtend ( /selection/extend.js:86:5)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "anchorNode must not change if the node passed to extend() has the same root as the original range")
    at testExtend ( /selection/extend.js:145:9)
Pass
assert_equals(8, 8, "anchorOffset must not change if the node passed to extend() has the same root as the original range")
    at testExtend ( /selection/extend.js:147:9)
Pass
assert_equals(Element node <head><title>Selection extend() tests</title> <meta chars..., Element node <head><title>Selection extend() tests</title> <meta chars..., "focusNode must be the node passed to extend()")
    at testExtend ( /selection/extend.js:155:5)
Pass
assert_equals(1, 1, "focusOffset must be the offset passed to extend()")
    at testExtend ( /selection/extend.js:157:5)
Pass
assert_not_equals(object "   Äb̈c̈d̈ëf̈g̈ḧ Ijklmnop", object "klmnop", "extend() must replace any existing range with a new one, not mutate the existing one")
    at testExtend ( /selection/extend.js:159:5)
Passextend() forwards with range 7 [paras[1].firstChild, 2, paras[1].firstChild, 8] and point 30 [document.body, 3]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "Sanity check: startContainer must be correct")
    at testExtend ( /selection/extend.js:80:5)
Pass
assert_equals(2, 2, "Sanity check: startOffset must be correct")
    at testExtend ( /selection/extend.js:82:5)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "Sanity check: endContainer must be correct")
    at testExtend ( /selection/extend.js:84:5)
Pass
assert_equals(8, 8, "Sanity check: endOffset must be correct")
    at testExtend ( /selection/extend.js:86:5)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "anchorNode must not change if the node passed to extend() has the same root as the original range")
    at testExtend ( /selection/extend.js:145:9)
Pass
assert_equals(2, 2, "anchorOffset must not change if the node passed to extend() has the same root as the original range")
    at testExtend ( /selection/extend.js:147:9)
Pass
assert_equals(Element node <body><div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ </p><p id..., Element node <body><div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ </p><p id..., "focusNode must be the node passed to extend()")
    at testExtend ( /selection/extend.js:155:5)
Pass
assert_equals(3, 3, "focusOffset must be the offset passed to extend()")
    at testExtend ( /selection/extend.js:157:5)
Pass
assert_not_equals(object "klmnop QrstuvwxYzabcdefGhijklmn ", object "klmnop", "extend() must replace any existing range with a new one, not mutate the existing one")
    at testExtend ( /selection/extend.js:159:5)
Passextend() backwards with range 7 [paras[1].firstChild, 2, paras[1].firstChild, 8] and point 30 [document.body, 3]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "Sanity check: startContainer must be correct")
    at testExtend ( /selection/extend.js:80:5)
Pass
assert_equals(2, 2, "Sanity check: startOffset must be correct")
    at testExtend ( /selection/extend.js:82:5)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "Sanity check: endContainer must be correct")
    at testExtend ( /selection/extend.js:84:5)
Pass
assert_equals(8, 8, "Sanity check: endOffset must be correct")
    at testExtend ( /selection/extend.js:86:5)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "anchorNode must not change if the node passed to extend() has the same root as the original range")
    at testExtend ( /selection/extend.js:145:9)
Pass
assert_equals(8, 8, "anchorOffset must not change if the node passed to extend() has the same root as the original range")
    at testExtend ( /selection/extend.js:147:9)
Pass
assert_equals(Element node <body><div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ </p><p id..., Element node <body><div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ </p><p id..., "focusNode must be the node passed to extend()")
    at testExtend ( /selection/extend.js:155:5)
Pass
assert_equals(3, 3, "focusOffset must be the offset passed to extend()")
    at testExtend ( /selection/extend.js:157:5)
Pass
assert_not_equals(object " QrstuvwxYzabcdefGhijklmn ", object "klmnop", "extend() must replace any existing range with a new one, not mutate the existing one")
    at testExtend ( /selection/extend.js:159:5)
Passextend() forwards with range 7 [paras[1].firstChild, 2, paras[1].firstChild, 8] and point 31 [foreignDoc.documentElement, 0]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(1, 1, "The operation should not add Range")
    at assertSelectionNoChange ( /selection/common.js:976:5)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "The operation should not update anchorNode")
    at assertSelectionNoChange ( /selection/common.js:978:5)
Pass
assert_equals(2, 2, "The operation should not update anchorOffset")
    at assertSelectionNoChange ( /selection/common.js:980:5)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "The operation should not update focusNode")
    at assertSelectionNoChange ( /selection/common.js:982:5)
Pass
assert_equals(8, 8, "The operation should not update focusOffset")
    at assertSelectionNoChange ( /selection/common.js:984:5)
Pass
assert_equals(object "klmnop", object "klmnop", "The operation should not replace a registered Range")
    at assertSelectionNoChange ( /selection/common.js:988:5)
Passextend() backwards with range 7 [paras[1].firstChild, 2, paras[1].firstChild, 8] and point 31 [foreignDoc.documentElement, 0]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(1, 1, "The operation should not add Range")
    at assertSelectionNoChange ( /selection/common.js:976:5)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "The operation should not update anchorNode")
    at assertSelectionNoChange ( /selection/common.js:978:5)
Pass
assert_equals(8, 8, "The operation should not update anchorOffset")
    at assertSelectionNoChange ( /selection/common.js:980:5)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "The operation should not update focusNode")
    at assertSelectionNoChange ( /selection/common.js:982:5)
Pass
assert_equals(2, 2, "The operation should not update focusOffset")
    at assertSelectionNoChange ( /selection/common.js:984:5)
Pass
assert_equals(object "klmnop", object "klmnop", "The operation should not replace a registered Range")
    at assertSelectionNoChange ( /selection/common.js:988:5)
Passextend() forwards with range 7 [paras[1].firstChild, 2, paras[1].firstChild, 8] and point 32 [foreignDoc.documentElement, 1]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(1, 1, "The operation should not add Range")
    at assertSelectionNoChange ( /selection/common.js:976:5)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "The operation should not update anchorNode")
    at assertSelectionNoChange ( /selection/common.js:978:5)
Pass
assert_equals(2, 2, "The operation should not update anchorOffset")
    at assertSelectionNoChange ( /selection/common.js:980:5)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "The operation should not update focusNode")
    at assertSelectionNoChange ( /selection/common.js:982:5)
Pass
assert_equals(8, 8, "The operation should not update focusOffset")
    at assertSelectionNoChange ( /selection/common.js:984:5)
Pass
assert_equals(object "klmnop", object "klmnop", "The operation should not replace a registered Range")
    at assertSelectionNoChange ( /selection/common.js:988:5)
Passextend() backwards with range 7 [paras[1].firstChild, 2, paras[1].firstChild, 8] and point 32 [foreignDoc.documentElement, 1]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(1, 1, "The operation should not add Range")
    at assertSelectionNoChange ( /selection/common.js:976:5)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "The operation should not update anchorNode")
    at assertSelectionNoChange ( /selection/common.js:978:5)
Pass
assert_equals(8, 8, "The operation should not update anchorOffset")
    at assertSelectionNoChange ( /selection/common.js:980:5)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "The operation should not update focusNode")
    at assertSelectionNoChange ( /selection/common.js:982:5)
Pass
assert_equals(2, 2, "The operation should not update focusOffset")
    at assertSelectionNoChange ( /selection/common.js:984:5)
Pass
assert_equals(object "klmnop", object "klmnop", "The operation should not replace a registered Range")
    at assertSelectionNoChange ( /selection/common.js:988:5)
Passextend() forwards with range 7 [paras[1].firstChild, 2, paras[1].firstChild, 8] and point 33 [foreignDoc.head, 0]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(1, 1, "The operation should not add Range")
    at assertSelectionNoChange ( /selection/common.js:976:5)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "The operation should not update anchorNode")
    at assertSelectionNoChange ( /selection/common.js:978:5)
Pass
assert_equals(2, 2, "The operation should not update anchorOffset")
    at assertSelectionNoChange ( /selection/common.js:980:5)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "The operation should not update focusNode")
    at assertSelectionNoChange ( /selection/common.js:982:5)
Pass
assert_equals(8, 8, "The operation should not update focusOffset")
    at assertSelectionNoChange ( /selection/common.js:984:5)
Pass
assert_equals(object "klmnop", object "klmnop", "The operation should not replace a registered Range")
    at assertSelectionNoChange ( /selection/common.js:988:5)
Passextend() backwards with range 7 [paras[1].firstChild, 2, paras[1].firstChild, 8] and point 33 [foreignDoc.head, 0]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(1, 1, "The operation should not add Range")
    at assertSelectionNoChange ( /selection/common.js:976:5)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "The operation should not update anchorNode")
    at assertSelectionNoChange ( /selection/common.js:978:5)
Pass
assert_equals(8, 8, "The operation should not update anchorOffset")
    at assertSelectionNoChange ( /selection/common.js:980:5)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "The operation should not update focusNode")
    at assertSelectionNoChange ( /selection/common.js:982:5)
Pass
assert_equals(2, 2, "The operation should not update focusOffset")
    at assertSelectionNoChange ( /selection/common.js:984:5)
Pass
assert_equals(object "klmnop", object "klmnop", "The operation should not replace a registered Range")
    at assertSelectionNoChange ( /selection/common.js:988:5)
Passextend() forwards with range 7 [paras[1].firstChild, 2, paras[1].firstChild, 8] and point 34 [foreignDoc.body, 1]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(1, 1, "The operation should not add Range")
    at assertSelectionNoChange ( /selection/common.js:976:5)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "The operation should not update anchorNode")
    at assertSelectionNoChange ( /selection/common.js:978:5)
Pass
assert_equals(2, 2, "The operation should not update anchorOffset")
    at assertSelectionNoChange ( /selection/common.js:980:5)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "The operation should not update focusNode")
    at assertSelectionNoChange ( /selection/common.js:982:5)
Pass
assert_equals(8, 8, "The operation should not update focusOffset")
    at assertSelectionNoChange ( /selection/common.js:984:5)
Pass
assert_equals(object "klmnop", object "klmnop", "The operation should not replace a registered Range")
    at assertSelectionNoChange ( /selection/common.js:988:5)
Passextend() backwards with range 7 [paras[1].firstChild, 2, paras[1].firstChild, 8] and point 34 [foreignDoc.body, 1]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(1, 1, "The operation should not add Range")
    at assertSelectionNoChange ( /selection/common.js:976:5)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "The operation should not update anchorNode")
    at assertSelectionNoChange ( /selection/common.js:978:5)
Pass
assert_equals(8, 8, "The operation should not update anchorOffset")
    at assertSelectionNoChange ( /selection/common.js:980:5)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "The operation should not update focusNode")
    at assertSelectionNoChange ( /selection/common.js:982:5)
Pass
assert_equals(2, 2, "The operation should not update focusOffset")
    at assertSelectionNoChange ( /selection/common.js:984:5)
Pass
assert_equals(object "klmnop", object "klmnop", "The operation should not replace a registered Range")
    at assertSelectionNoChange ( /selection/common.js:988:5)
Passextend() forwards with range 7 [paras[1].firstChild, 2, paras[1].firstChild, 8] and point 35 [paras[0], 0]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "Sanity check: startContainer must be correct")
    at testExtend ( /selection/extend.js:80:5)
Pass
assert_equals(2, 2, "Sanity check: startOffset must be correct")
    at testExtend ( /selection/extend.js:82:5)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "Sanity check: endContainer must be correct")
    at testExtend ( /selection/extend.js:84:5)
Pass
assert_equals(8, 8, "Sanity check: endOffset must be correct")
    at testExtend ( /selection/extend.js:86:5)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "anchorNode must not change if the node passed to extend() has the same root as the original range")
    at testExtend ( /selection/extend.js:145:9)
Pass
assert_equals(2, 2, "anchorOffset must not change if the node passed to extend() has the same root as the original range")
    at testExtend ( /selection/extend.js:147:9)
Pass
assert_equals(Element node <p id="a">Äb̈c̈d̈ëf̈g̈ḧ </p>, Element node <p id="a">Äb̈c̈d̈ëf̈g̈ḧ </p>, "focusNode must be the node passed to extend()")
    at testExtend ( /selection/extend.js:155:5)
Pass
assert_equals(0, 0, "focusOffset must be the offset passed to extend()")
    at testExtend ( /selection/extend.js:157:5)
Pass
assert_not_equals(object "Äb̈c̈d̈ëf̈g̈ḧ Ij", object "klmnop", "extend() must replace any existing range with a new one, not mutate the existing one")
    at testExtend ( /selection/extend.js:159:5)
Passextend() backwards with range 7 [paras[1].firstChild, 2, paras[1].firstChild, 8] and point 35 [paras[0], 0]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "Sanity check: startContainer must be correct")
    at testExtend ( /selection/extend.js:80:5)
Pass
assert_equals(2, 2, "Sanity check: startOffset must be correct")
    at testExtend ( /selection/extend.js:82:5)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "Sanity check: endContainer must be correct")
    at testExtend ( /selection/extend.js:84:5)
Pass
assert_equals(8, 8, "Sanity check: endOffset must be correct")
    at testExtend ( /selection/extend.js:86:5)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "anchorNode must not change if the node passed to extend() has the same root as the original range")
    at testExtend ( /selection/extend.js:145:9)
Pass
assert_equals(8, 8, "anchorOffset must not change if the node passed to extend() has the same root as the original range")
    at testExtend ( /selection/extend.js:147:9)
Pass
assert_equals(Element node <p id="a">Äb̈c̈d̈ëf̈g̈ḧ </p>, Element node <p id="a">Äb̈c̈d̈ëf̈g̈ḧ </p>, "focusNode must be the node passed to extend()")
    at testExtend ( /selection/extend.js:155:5)
Pass
assert_equals(0, 0, "focusOffset must be the offset passed to extend()")
    at testExtend ( /selection/extend.js:157:5)
Pass
assert_not_equals(object "Äb̈c̈d̈ëf̈g̈ḧ Ijklmnop", object "klmnop", "extend() must replace any existing range with a new one, not mutate the existing one")
    at testExtend ( /selection/extend.js:159:5)
Passextend() forwards with range 7 [paras[1].firstChild, 2, paras[1].firstChild, 8] and point 36 [paras[0], 1]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "Sanity check: startContainer must be correct")
    at testExtend ( /selection/extend.js:80:5)
Pass
assert_equals(2, 2, "Sanity check: startOffset must be correct")
    at testExtend ( /selection/extend.js:82:5)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "Sanity check: endContainer must be correct")
    at testExtend ( /selection/extend.js:84:5)
Pass
assert_equals(8, 8, "Sanity check: endOffset must be correct")
    at testExtend ( /selection/extend.js:86:5)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "anchorNode must not change if the node passed to extend() has the same root as the original range")
    at testExtend ( /selection/extend.js:145:9)
Pass
assert_equals(2, 2, "anchorOffset must not change if the node passed to extend() has the same root as the original range")
    at testExtend ( /selection/extend.js:147:9)
Pass
assert_equals(Element node <p id="a">Äb̈c̈d̈ëf̈g̈ḧ </p>, Element node <p id="a">Äb̈c̈d̈ëf̈g̈ḧ </p>, "focusNode must be the node passed to extend()")
    at testExtend ( /selection/extend.js:155:5)
Pass
assert_equals(1, 1, "focusOffset must be the offset passed to extend()")
    at testExtend ( /selection/extend.js:157:5)
Pass
assert_not_equals(object "Ij", object "klmnop", "extend() must replace any existing range with a new one, not mutate the existing one")
    at testExtend ( /selection/extend.js:159:5)
Passextend() backwards with range 7 [paras[1].firstChild, 2, paras[1].firstChild, 8] and point 36 [paras[0], 1]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "Sanity check: startContainer must be correct")
    at testExtend ( /selection/extend.js:80:5)
Pass
assert_equals(2, 2, "Sanity check: startOffset must be correct")
    at testExtend ( /selection/extend.js:82:5)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "Sanity check: endContainer must be correct")
    at testExtend ( /selection/extend.js:84:5)
Pass
assert_equals(8, 8, "Sanity check: endOffset must be correct")
    at testExtend ( /selection/extend.js:86:5)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "anchorNode must not change if the node passed to extend() has the same root as the original range")
    at testExtend ( /selection/extend.js:145:9)
Pass
assert_equals(8, 8, "anchorOffset must not change if the node passed to extend() has the same root as the original range")
    at testExtend ( /selection/extend.js:147:9)
Pass
assert_equals(Element node <p id="a">Äb̈c̈d̈ëf̈g̈ḧ </p>, Element node <p id="a">Äb̈c̈d̈ëf̈g̈ḧ </p>, "focusNode must be the node passed to extend()")
    at testExtend ( /selection/extend.js:155:5)
Pass
assert_equals(1, 1, "focusOffset must be the offset passed to extend()")
    at testExtend ( /selection/extend.js:157:5)
Pass
assert_not_equals(object "Ijklmnop", object "klmnop", "extend() must replace any existing range with a new one, not mutate the existing one")
    at testExtend ( /selection/extend.js:159:5)
Passextend() forwards with range 7 [paras[1].firstChild, 2, paras[1].firstChild, 8] and point 37 [paras[0], 2]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "Sanity check: startContainer must be correct")
    at testExtend ( /selection/extend.js:80:5)
Pass
assert_equals(2, 2, "Sanity check: startOffset must be correct")
    at testExtend ( /selection/extend.js:82:5)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "Sanity check: endContainer must be correct")
    at testExtend ( /selection/extend.js:84:5)
Pass
assert_equals(8, 8, "Sanity check: endOffset must be correct")
    at testExtend ( /selection/extend.js:86:5)
Pass
assert_throws_dom("INDEX_SIZE_ERR", function "function() {             selection.extend(node, offset);         }", "extend() to an offset that's greater than node length (1) must throw IndexSizeError")
    at testExtend ( /selection/extend.js:117:9)
Passextend() backwards with range 7 [paras[1].firstChild, 2, paras[1].firstChild, 8] and point 37 [paras[0], 2]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "Sanity check: startContainer must be correct")
    at testExtend ( /selection/extend.js:80:5)
Pass
assert_equals(2, 2, "Sanity check: startOffset must be correct")
    at testExtend ( /selection/extend.js:82:5)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "Sanity check: endContainer must be correct")
    at testExtend ( /selection/extend.js:84:5)
Pass
assert_equals(8, 8, "Sanity check: endOffset must be correct")
    at testExtend ( /selection/extend.js:86:5)
Pass
assert_throws_dom("INDEX_SIZE_ERR", function "function() {             selection.extend(node, offset);         }", "extend() to an offset that's greater than node length (1) must throw IndexSizeError")
    at testExtend ( /selection/extend.js:117:9)
Passextend() forwards with range 7 [paras[1].firstChild, 2, paras[1].firstChild, 8] and point 38 [paras[1], 0]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "Sanity check: startContainer must be correct")
    at testExtend ( /selection/extend.js:80:5)
Pass
assert_equals(2, 2, "Sanity check: startOffset must be correct")
    at testExtend ( /selection/extend.js:82:5)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "Sanity check: endContainer must be correct")
    at testExtend ( /selection/extend.js:84:5)
Pass
assert_equals(8, 8, "Sanity check: endOffset must be correct")
    at testExtend ( /selection/extend.js:86:5)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "anchorNode must not change if the node passed to extend() has the same root as the original range")
    at testExtend ( /selection/extend.js:145:9)
Pass
assert_equals(2, 2, "anchorOffset must not change if the node passed to extend() has the same root as the original range")
    at testExtend ( /selection/extend.js:147:9)
Pass
assert_equals(Element node <p id="b" style="display:none">Ijklmnop </p>, Element node <p id="b" style="display:none">Ijklmnop </p>, "focusNode must be the node passed to extend()")
    at testExtend ( /selection/extend.js:155:5)
Pass
assert_equals(0, 0, "focusOffset must be the offset passed to extend()")
    at testExtend ( /selection/extend.js:157:5)
Pass
assert_not_equals(object "Ij", object "klmnop", "extend() must replace any existing range with a new one, not mutate the existing one")
    at testExtend ( /selection/extend.js:159:5)
Passextend() backwards with range 7 [paras[1].firstChild, 2, paras[1].firstChild, 8] and point 38 [paras[1], 0]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "Sanity check: startContainer must be correct")
    at testExtend ( /selection/extend.js:80:5)
Pass
assert_equals(2, 2, "Sanity check: startOffset must be correct")
    at testExtend ( /selection/extend.js:82:5)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "Sanity check: endContainer must be correct")
    at testExtend ( /selection/extend.js:84:5)
Pass
assert_equals(8, 8, "Sanity check: endOffset must be correct")
    at testExtend ( /selection/extend.js:86:5)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "anchorNode must not change if the node passed to extend() has the same root as the original range")
    at testExtend ( /selection/extend.js:145:9)
Pass
assert_equals(8, 8, "anchorOffset must not change if the node passed to extend() has the same root as the original range")
    at testExtend ( /selection/extend.js:147:9)
Pass
assert_equals(Element node <p id="b" style="display:none">Ijklmnop </p>, Element node <p id="b" style="display:none">Ijklmnop </p>, "focusNode must be the node passed to extend()")
    at testExtend ( /selection/extend.js:155:5)
Pass
assert_equals(0, 0, "focusOffset must be the offset passed to extend()")
    at testExtend ( /selection/extend.js:157:5)
Pass
assert_not_equals(object "Ijklmnop", object "klmnop", "extend() must replace any existing range with a new one, not mutate the existing one")
    at testExtend ( /selection/extend.js:159:5)
Passextend() forwards with range 7 [paras[1].firstChild, 2, paras[1].firstChild, 8] and point 39 [paras[1], 1]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "Sanity check: startContainer must be correct")
    at testExtend ( /selection/extend.js:80:5)
Pass
assert_equals(2, 2, "Sanity check: startOffset must be correct")
    at testExtend ( /selection/extend.js:82:5)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "Sanity check: endContainer must be correct")
    at testExtend ( /selection/extend.js:84:5)
Pass
assert_equals(8, 8, "Sanity check: endOffset must be correct")
    at testExtend ( /selection/extend.js:86:5)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "anchorNode must not change if the node passed to extend() has the same root as the original range")
    at testExtend ( /selection/extend.js:145:9)
Pass
assert_equals(2, 2, "anchorOffset must not change if the node passed to extend() has the same root as the original range")
    at testExtend ( /selection/extend.js:147:9)
Pass
assert_equals(Element node <p id="b" style="display:none">Ijklmnop </p>, Element node <p id="b" style="display:none">Ijklmnop </p>, "focusNode must be the node passed to extend()")
    at testExtend ( /selection/extend.js:155:5)
Pass
assert_equals(1, 1, "focusOffset must be the offset passed to extend()")
    at testExtend ( /selection/extend.js:157:5)
Pass
assert_not_equals(object "klmnop ", object "klmnop", "extend() must replace any existing range with a new one, not mutate the existing one")
    at testExtend ( /selection/extend.js:159:5)
Passextend() backwards with range 7 [paras[1].firstChild, 2, paras[1].firstChild, 8] and point 39 [paras[1], 1]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "Sanity check: startContainer must be correct")
    at testExtend ( /selection/extend.js:80:5)
Pass
assert_equals(2, 2, "Sanity check: startOffset must be correct")
    at testExtend ( /selection/extend.js:82:5)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "Sanity check: endContainer must be correct")
    at testExtend ( /selection/extend.js:84:5)
Pass
assert_equals(8, 8, "Sanity check: endOffset must be correct")
    at testExtend ( /selection/extend.js:86:5)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "anchorNode must not change if the node passed to extend() has the same root as the original range")
    at testExtend ( /selection/extend.js:145:9)
Pass
assert_equals(8, 8, "anchorOffset must not change if the node passed to extend() has the same root as the original range")
    at testExtend ( /selection/extend.js:147:9)
Pass
assert_equals(Element node <p id="b" style="display:none">Ijklmnop </p>, Element node <p id="b" style="display:none">Ijklmnop </p>, "focusNode must be the node passed to extend()")
    at testExtend ( /selection/extend.js:155:5)
Pass
assert_equals(1, 1, "focusOffset must be the offset passed to extend()")
    at testExtend ( /selection/extend.js:157:5)
Pass
assert_not_equals(object " ", object "klmnop", "extend() must replace any existing range with a new one, not mutate the existing one")
    at testExtend ( /selection/extend.js:159:5)
Passextend() forwards with range 7 [paras[1].firstChild, 2, paras[1].firstChild, 8] and point 40 [paras[1], 2]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "Sanity check: startContainer must be correct")
    at testExtend ( /selection/extend.js:80:5)
Pass
assert_equals(2, 2, "Sanity check: startOffset must be correct")
    at testExtend ( /selection/extend.js:82:5)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "Sanity check: endContainer must be correct")
    at testExtend ( /selection/extend.js:84:5)
Pass
assert_equals(8, 8, "Sanity check: endOffset must be correct")
    at testExtend ( /selection/extend.js:86:5)
Pass
assert_throws_dom("INDEX_SIZE_ERR", function "function() {             selection.extend(node, offset);         }", "extend() to an offset that's greater than node length (1) must throw IndexSizeError")
    at testExtend ( /selection/extend.js:117:9)
Passextend() backwards with range 7 [paras[1].firstChild, 2, paras[1].firstChild, 8] and point 40 [paras[1], 2]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "Sanity check: startContainer must be correct")
    at testExtend ( /selection/extend.js:80:5)
Pass
assert_equals(2, 2, "Sanity check: startOffset must be correct")
    at testExtend ( /selection/extend.js:82:5)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "Sanity check: endContainer must be correct")
    at testExtend ( /selection/extend.js:84:5)
Pass
assert_equals(8, 8, "Sanity check: endOffset must be correct")
    at testExtend ( /selection/extend.js:86:5)
Pass
assert_throws_dom("INDEX_SIZE_ERR", function "function() {             selection.extend(node, offset);         }", "extend() to an offset that's greater than node length (1) must throw IndexSizeError")
    at testExtend ( /selection/extend.js:117:9)
Passextend() forwards with range 7 [paras[1].firstChild, 2, paras[1].firstChild, 8] and point 41 [detachedPara1, 0]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(1, 1, "The operation should not add Range")
    at assertSelectionNoChange ( /selection/common.js:976:5)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "The operation should not update anchorNode")
    at assertSelectionNoChange ( /selection/common.js:978:5)
Pass
assert_equals(2, 2, "The operation should not update anchorOffset")
    at assertSelectionNoChange ( /selection/common.js:980:5)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "The operation should not update focusNode")
    at assertSelectionNoChange ( /selection/common.js:982:5)
Pass
assert_equals(8, 8, "The operation should not update focusOffset")
    at assertSelectionNoChange ( /selection/common.js:984:5)
Pass
assert_equals(object "klmnop", object "klmnop", "The operation should not replace a registered Range")
    at assertSelectionNoChange ( /selection/common.js:988:5)
Passextend() backwards with range 7 [paras[1].firstChild, 2, paras[1].firstChild, 8] and point 41 [detachedPara1, 0]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(1, 1, "The operation should not add Range")
    at assertSelectionNoChange ( /selection/common.js:976:5)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "The operation should not update anchorNode")
    at assertSelectionNoChange ( /selection/common.js:978:5)
Pass
assert_equals(8, 8, "The operation should not update anchorOffset")
    at assertSelectionNoChange ( /selection/common.js:980:5)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "The operation should not update focusNode")
    at assertSelectionNoChange ( /selection/common.js:982:5)
Pass
assert_equals(2, 2, "The operation should not update focusOffset")
    at assertSelectionNoChange ( /selection/common.js:984:5)
Pass
assert_equals(object "klmnop", object "klmnop", "The operation should not replace a registered Range")
    at assertSelectionNoChange ( /selection/common.js:988:5)
Passextend() forwards with range 7 [paras[1].firstChild, 2, paras[1].firstChild, 8] and point 42 [detachedPara1, 1]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(1, 1, "The operation should not add Range")
    at assertSelectionNoChange ( /selection/common.js:976:5)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "The operation should not update anchorNode")
    at assertSelectionNoChange ( /selection/common.js:978:5)
Pass
assert_equals(2, 2, "The operation should not update anchorOffset")
    at assertSelectionNoChange ( /selection/common.js:980:5)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "The operation should not update focusNode")
    at assertSelectionNoChange ( /selection/common.js:982:5)
Pass
assert_equals(8, 8, "The operation should not update focusOffset")
    at assertSelectionNoChange ( /selection/common.js:984:5)
Pass
assert_equals(object "klmnop", object "klmnop", "The operation should not replace a registered Range")
    at assertSelectionNoChange ( /selection/common.js:988:5)
Passextend() backwards with range 7 [paras[1].firstChild, 2, paras[1].firstChild, 8] and point 42 [detachedPara1, 1]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(1, 1, "The operation should not add Range")
    at assertSelectionNoChange ( /selection/common.js:976:5)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "The operation should not update anchorNode")
    at assertSelectionNoChange ( /selection/common.js:978:5)
Pass
assert_equals(8, 8, "The operation should not update anchorOffset")
    at assertSelectionNoChange ( /selection/common.js:980:5)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "The operation should not update focusNode")
    at assertSelectionNoChange ( /selection/common.js:982:5)
Pass
assert_equals(2, 2, "The operation should not update focusOffset")
    at assertSelectionNoChange ( /selection/common.js:984:5)
Pass
assert_equals(object "klmnop", object "klmnop", "The operation should not replace a registered Range")
    at assertSelectionNoChange ( /selection/common.js:988:5)
Passextend() forwards with range 7 [paras[1].firstChild, 2, paras[1].firstChild, 8] and point 43 [testDiv, 0]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "Sanity check: startContainer must be correct")
    at testExtend ( /selection/extend.js:80:5)
Pass
assert_equals(2, 2, "Sanity check: startOffset must be correct")
    at testExtend ( /selection/extend.js:82:5)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "Sanity check: endContainer must be correct")
    at testExtend ( /selection/extend.js:84:5)
Pass
assert_equals(8, 8, "Sanity check: endOffset must be correct")
    at testExtend ( /selection/extend.js:86:5)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "anchorNode must not change if the node passed to extend() has the same root as the original range")
    at testExtend ( /selection/extend.js:145:9)
Pass
assert_equals(2, 2, "anchorOffset must not change if the node passed to extend() has the same root as the original range")
    at testExtend ( /selection/extend.js:147:9)
Pass
assert_equals(Element node <div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ </p><p id="b" s..., Element node <div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ </p><p id="b" s..., "focusNode must be the node passed to extend()")
    at testExtend ( /selection/extend.js:155:5)
Pass
assert_equals(0, 0, "focusOffset must be the offset passed to extend()")
    at testExtend ( /selection/extend.js:157:5)
Pass
assert_not_equals(object "Äb̈c̈d̈ëf̈g̈ḧ Ij", object "klmnop", "extend() must replace any existing range with a new one, not mutate the existing one")
    at testExtend ( /selection/extend.js:159:5)
Passextend() backwards with range 7 [paras[1].firstChild, 2, paras[1].firstChild, 8] and point 43 [testDiv, 0]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "Sanity check: startContainer must be correct")
    at testExtend ( /selection/extend.js:80:5)
Pass
assert_equals(2, 2, "Sanity check: startOffset must be correct")
    at testExtend ( /selection/extend.js:82:5)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "Sanity check: endContainer must be correct")
    at testExtend ( /selection/extend.js:84:5)
Pass
assert_equals(8, 8, "Sanity check: endOffset must be correct")
    at testExtend ( /selection/extend.js:86:5)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "anchorNode must not change if the node passed to extend() has the same root as the original range")
    at testExtend ( /selection/extend.js:145:9)
Pass
assert_equals(8, 8, "anchorOffset must not change if the node passed to extend() has the same root as the original range")
    at testExtend ( /selection/extend.js:147:9)
Pass
assert_equals(Element node <div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ </p><p id="b" s..., Element node <div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ </p><p id="b" s..., "focusNode must be the node passed to extend()")
    at testExtend ( /selection/extend.js:155:5)
Pass
assert_equals(0, 0, "focusOffset must be the offset passed to extend()")
    at testExtend ( /selection/extend.js:157:5)
Pass
assert_not_equals(object "Äb̈c̈d̈ëf̈g̈ḧ Ijklmnop", object "klmnop", "extend() must replace any existing range with a new one, not mutate the existing one")
    at testExtend ( /selection/extend.js:159:5)
Passextend() forwards with range 7 [paras[1].firstChild, 2, paras[1].firstChild, 8] and point 44 [testDiv, 3]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "Sanity check: startContainer must be correct")
    at testExtend ( /selection/extend.js:80:5)
Pass
assert_equals(2, 2, "Sanity check: startOffset must be correct")
    at testExtend ( /selection/extend.js:82:5)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "Sanity check: endContainer must be correct")
    at testExtend ( /selection/extend.js:84:5)
Pass
assert_equals(8, 8, "Sanity check: endOffset must be correct")
    at testExtend ( /selection/extend.js:86:5)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "anchorNode must not change if the node passed to extend() has the same root as the original range")
    at testExtend ( /selection/extend.js:145:9)
Pass
assert_equals(2, 2, "anchorOffset must not change if the node passed to extend() has the same root as the original range")
    at testExtend ( /selection/extend.js:147:9)
Pass
assert_equals(Element node <div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ </p><p id="b" s..., Element node <div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ </p><p id="b" s..., "focusNode must be the node passed to extend()")
    at testExtend ( /selection/extend.js:155:5)
Pass
assert_equals(3, 3, "focusOffset must be the offset passed to extend()")
    at testExtend ( /selection/extend.js:157:5)
Pass
assert_not_equals(object "klmnop Qrstuvwx", object "klmnop", "extend() must replace any existing range with a new one, not mutate the existing one")
    at testExtend ( /selection/extend.js:159:5)
Passextend() backwards with range 7 [paras[1].firstChild, 2, paras[1].firstChild, 8] and point 44 [testDiv, 3]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "Sanity check: startContainer must be correct")
    at testExtend ( /selection/extend.js:80:5)
Pass
assert_equals(2, 2, "Sanity check: startOffset must be correct")
    at testExtend ( /selection/extend.js:82:5)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "Sanity check: endContainer must be correct")
    at testExtend ( /selection/extend.js:84:5)
Pass
assert_equals(8, 8, "Sanity check: endOffset must be correct")
    at testExtend ( /selection/extend.js:86:5)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "anchorNode must not change if the node passed to extend() has the same root as the original range")
    at testExtend ( /selection/extend.js:145:9)
Pass
assert_equals(8, 8, "anchorOffset must not change if the node passed to extend() has the same root as the original range")
    at testExtend ( /selection/extend.js:147:9)
Pass
assert_equals(Element node <div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ </p><p id="b" s..., Element node <div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ </p><p id="b" s..., "focusNode must be the node passed to extend()")
    at testExtend ( /selection/extend.js:155:5)
Pass
assert_equals(3, 3, "focusOffset must be the offset passed to extend()")
    at testExtend ( /selection/extend.js:157:5)
Pass
assert_not_equals(object " Qrstuvwx", object "klmnop", "extend() must replace any existing range with a new one, not mutate the existing one")
    at testExtend ( /selection/extend.js:159:5)
Passextend() forwards with range 7 [paras[1].firstChild, 2, paras[1].firstChild, 8] and point 45 [document, -1]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "Sanity check: startContainer must be correct")
    at testExtend ( /selection/extend.js:80:5)
Pass
assert_equals(2, 2, "Sanity check: startOffset must be correct")
    at testExtend ( /selection/extend.js:82:5)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "Sanity check: endContainer must be correct")
    at testExtend ( /selection/extend.js:84:5)
Pass
assert_equals(8, 8, "Sanity check: endOffset must be correct")
    at testExtend ( /selection/extend.js:86:5)
Pass
assert_throws_dom("INDEX_SIZE_ERR", function "function() {             selection.extend(node, offset);         }", "extend() to an offset that's greater than node length (2) must throw IndexSizeError")
    at testExtend ( /selection/extend.js:117:9)
Passextend() backwards with range 7 [paras[1].firstChild, 2, paras[1].firstChild, 8] and point 45 [document, -1]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "Sanity check: startContainer must be correct")
    at testExtend ( /selection/extend.js:80:5)
Pass
assert_equals(2, 2, "Sanity check: startOffset must be correct")
    at testExtend ( /selection/extend.js:82:5)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "Sanity check: endContainer must be correct")
    at testExtend ( /selection/extend.js:84:5)
Pass
assert_equals(8, 8, "Sanity check: endOffset must be correct")
    at testExtend ( /selection/extend.js:86:5)
Pass
assert_throws_dom("INDEX_SIZE_ERR", function "function() {             selection.extend(node, offset);         }", "extend() to an offset that's greater than node length (2) must throw IndexSizeError")
    at testExtend ( /selection/extend.js:117:9)
Passextend() forwards with range 7 [paras[1].firstChild, 2, paras[1].firstChild, 8] and point 46 [document, 0]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "Sanity check: startContainer must be correct")
    at testExtend ( /selection/extend.js:80:5)
Pass
assert_equals(2, 2, "Sanity check: startOffset must be correct")
    at testExtend ( /selection/extend.js:82:5)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "Sanity check: endContainer must be correct")
    at testExtend ( /selection/extend.js:84:5)
Pass
assert_equals(8, 8, "Sanity check: endOffset must be correct")
    at testExtend ( /selection/extend.js:86:5)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "anchorNode must not change if the node passed to extend() has the same root as the original range")
    at testExtend ( /selection/extend.js:145:9)
Pass
assert_equals(2, 2, "anchorOffset must not change if the node passed to extend() has the same root as the original range")
    at testExtend ( /selection/extend.js:147:9)
Pass
assert_equals(Document node with 2 children, Document node with 2 children, "focusNode must be the node passed to extend()")
    at testExtend ( /selection/extend.js:155:5)
Pass
assert_equals(0, 0, "focusOffset must be the offset passed to extend()")
    at testExtend ( /selection/extend.js:157:5)
Pass
assert_not_equals(object "Selection extend() tests   Äb̈c̈d̈ëf̈g̈ḧ Ij", object "klmnop", "extend() must replace any existing range with a new one, not mutate the existing one")
    at testExtend ( /selection/extend.js:159:5)
Passextend() backwards with range 7 [paras[1].firstChild, 2, paras[1].firstChild, 8] and point 46 [document, 0]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "Sanity check: startContainer must be correct")
    at testExtend ( /selection/extend.js:80:5)
Pass
assert_equals(2, 2, "Sanity check: startOffset must be correct")
    at testExtend ( /selection/extend.js:82:5)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "Sanity check: endContainer must be correct")
    at testExtend ( /selection/extend.js:84:5)
Pass
assert_equals(8, 8, "Sanity check: endOffset must be correct")
    at testExtend ( /selection/extend.js:86:5)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "anchorNode must not change if the node passed to extend() has the same root as the original range")
    at testExtend ( /selection/extend.js:145:9)
Pass
assert_equals(8, 8, "anchorOffset must not change if the node passed to extend() has the same root as the original range")
    at testExtend ( /selection/extend.js:147:9)
Pass
assert_equals(Document node with 2 children, Document node with 2 children, "focusNode must be the node passed to extend()")
    at testExtend ( /selection/extend.js:155:5)
Pass
assert_equals(0, 0, "focusOffset must be the offset passed to extend()")
    at testExtend ( /selection/extend.js:157:5)
Pass
assert_not_equals(object "Selection extend() tests   Äb̈c̈d̈ëf̈g̈ḧ Ijklmnop", object "klmnop", "extend() must replace any existing range with a new one, not mutate the existing one")
    at testExtend ( /selection/extend.js:159:5)
Passextend() forwards with range 7 [paras[1].firstChild, 2, paras[1].firstChild, 8] and point 47 [document, 1]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "Sanity check: startContainer must be correct")
    at testExtend ( /selection/extend.js:80:5)
Pass
assert_equals(2, 2, "Sanity check: startOffset must be correct")
    at testExtend ( /selection/extend.js:82:5)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "Sanity check: endContainer must be correct")
    at testExtend ( /selection/extend.js:84:5)
Pass
assert_equals(8, 8, "Sanity check: endOffset must be correct")
    at testExtend ( /selection/extend.js:86:5)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "anchorNode must not change if the node passed to extend() has the same root as the original range")
    at testExtend ( /selection/extend.js:145:9)
Pass
assert_equals(2, 2, "anchorOffset must not change if the node passed to extend() has the same root as the original range")
    at testExtend ( /selection/extend.js:147:9)
Pass
assert_equals(Document node with 2 children, Document node with 2 children, "focusNode must be the node passed to extend()")
    at testExtend ( /selection/extend.js:155:5)
Pass
assert_equals(1, 1, "focusOffset must be the offset passed to extend()")
    at testExtend ( /selection/extend.js:157:5)
Pass
assert_not_equals(object "Selection extend() tests   Äb̈c̈d̈ëf̈g̈ḧ Ij", object "klmnop", "extend() must replace any existing range with a new one, not mutate the existing one")
    at testExtend ( /selection/extend.js:159:5)
Passextend() backwards with range 7 [paras[1].firstChild, 2, paras[1].firstChild, 8] and point 47 [document, 1]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "Sanity check: startContainer must be correct")
    at testExtend ( /selection/extend.js:80:5)
Pass
assert_equals(2, 2, "Sanity check: startOffset must be correct")
    at testExtend ( /selection/extend.js:82:5)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "Sanity check: endContainer must be correct")
    at testExtend ( /selection/extend.js:84:5)
Pass
assert_equals(8, 8, "Sanity check: endOffset must be correct")
    at testExtend ( /selection/extend.js:86:5)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "anchorNode must not change if the node passed to extend() has the same root as the original range")
    at testExtend ( /selection/extend.js:145:9)
Pass
assert_equals(8, 8, "anchorOffset must not change if the node passed to extend() has the same root as the original range")
    at testExtend ( /selection/extend.js:147:9)
Pass
assert_equals(Document node with 2 children, Document node with 2 children, "focusNode must be the node passed to extend()")
    at testExtend ( /selection/extend.js:155:5)
Pass
assert_equals(1, 1, "focusOffset must be the offset passed to extend()")
    at testExtend ( /selection/extend.js:157:5)
Pass
assert_not_equals(object "Selection extend() tests   Äb̈c̈d̈ëf̈g̈ḧ Ijklmnop", object "klmnop", "extend() must replace any existing range with a new one, not mutate the existing one")
    at testExtend ( /selection/extend.js:159:5)
Passextend() forwards with range 7 [paras[1].firstChild, 2, paras[1].firstChild, 8] and point 48 [document, 2]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "Sanity check: startContainer must be correct")
    at testExtend ( /selection/extend.js:80:5)
Pass
assert_equals(2, 2, "Sanity check: startOffset must be correct")
    at testExtend ( /selection/extend.js:82:5)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "Sanity check: endContainer must be correct")
    at testExtend ( /selection/extend.js:84:5)
Pass
assert_equals(8, 8, "Sanity check: endOffset must be correct")
    at testExtend ( /selection/extend.js:86:5)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "anchorNode must not change if the node passed to extend() has the same root as the original range")
    at testExtend ( /selection/extend.js:145:9)
Pass
assert_equals(2, 2, "anchorOffset must not change if the node passed to extend() has the same root as the original range")
    at testExtend ( /selection/extend.js:147:9)
Pass
assert_equals(Document node with 2 children, Document node with 2 children, "focusNode must be the node passed to extend()")
    at testExtend ( /selection/extend.js:155:5)
Pass
assert_equals(2, 2, "focusOffset must be the offset passed to extend()")
    at testExtend ( /selection/extend.js:157:5)
Pass
assert_not_equals(object "klmnop QrstuvwxYzabcdefGhijklmn     Running, 900 complete, 1 remain  "use strict";  testExtendSubSet(0, 20); testDiv.style.display = "none"; ", object "klmnop", "extend() must replace any existing range with a new one, not mutate the existing one")
    at testExtend ( /selection/extend.js:159:5)
Passextend() backwards with range 7 [paras[1].firstChild, 2, paras[1].firstChild, 8] and point 48 [document, 2]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "Sanity check: startContainer must be correct")
    at testExtend ( /selection/extend.js:80:5)
Pass
assert_equals(2, 2, "Sanity check: startOffset must be correct")
    at testExtend ( /selection/extend.js:82:5)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "Sanity check: endContainer must be correct")
    at testExtend ( /selection/extend.js:84:5)
Pass
assert_equals(8, 8, "Sanity check: endOffset must be correct")
    at testExtend ( /selection/extend.js:86:5)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "anchorNode must not change if the node passed to extend() has the same root as the original range")
    at testExtend ( /selection/extend.js:145:9)
Pass
assert_equals(8, 8, "anchorOffset must not change if the node passed to extend() has the same root as the original range")
    at testExtend ( /selection/extend.js:147:9)
Pass
assert_equals(Document node with 2 children, Document node with 2 children, "focusNode must be the node passed to extend()")
    at testExtend ( /selection/extend.js:155:5)
Pass
assert_equals(2, 2, "focusOffset must be the offset passed to extend()")
    at testExtend ( /selection/extend.js:157:5)
Pass
assert_not_equals(object " QrstuvwxYzabcdefGhijklmn     Running, 900 complete, 1 remain  "use strict";  testExtendSubSet(0, 20); testDiv.style.display = "none"; ", object "klmnop", "extend() must replace any existing range with a new one, not mutate the existing one")
    at testExtend ( /selection/extend.js:159:5)
Passextend() forwards with range 7 [paras[1].firstChild, 2, paras[1].firstChild, 8] and point 49 [document, 3]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "Sanity check: startContainer must be correct")
    at testExtend ( /selection/extend.js:80:5)
Pass
assert_equals(2, 2, "Sanity check: startOffset must be correct")
    at testExtend ( /selection/extend.js:82:5)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "Sanity check: endContainer must be correct")
    at testExtend ( /selection/extend.js:84:5)
Pass
assert_equals(8, 8, "Sanity check: endOffset must be correct")
    at testExtend ( /selection/extend.js:86:5)
Pass
assert_throws_dom("INDEX_SIZE_ERR", function "function() {             selection.extend(node, offset);         }", "extend() to an offset that's greater than node length (2) must throw IndexSizeError")
    at testExtend ( /selection/extend.js:117:9)
Passextend() backwards with range 7 [paras[1].firstChild, 2, paras[1].firstChild, 8] and point 49 [document, 3]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "Sanity check: startContainer must be correct")
    at testExtend ( /selection/extend.js:80:5)
Pass
assert_equals(2, 2, "Sanity check: startOffset must be correct")
    at testExtend ( /selection/extend.js:82:5)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "Sanity check: endContainer must be correct")
    at testExtend ( /selection/extend.js:84:5)
Pass
assert_equals(8, 8, "Sanity check: endOffset must be correct")
    at testExtend ( /selection/extend.js:86:5)
Pass
assert_throws_dom("INDEX_SIZE_ERR", function "function() {             selection.extend(node, offset);         }", "extend() to an offset that's greater than node length (2) must throw IndexSizeError")
    at testExtend ( /selection/extend.js:117:9)
Passextend() forwards with range 7 [paras[1].firstChild, 2, paras[1].firstChild, 8] and point 50 [comment, -1]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "Sanity check: startContainer must be correct")
    at testExtend ( /selection/extend.js:80:5)
Pass
assert_equals(2, 2, "Sanity check: startOffset must be correct")
    at testExtend ( /selection/extend.js:82:5)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "Sanity check: endContainer must be correct")
    at testExtend ( /selection/extend.js:84:5)
Pass
assert_equals(8, 8, "Sanity check: endOffset must be correct")
    at testExtend ( /selection/extend.js:86:5)
Pass
assert_throws_dom("INDEX_SIZE_ERR", function "function() {             selection.extend(node, offset);         }", "extend() to an offset that's greater than node length (14) must throw IndexSizeError")
    at testExtend ( /selection/extend.js:117:9)
Passextend() backwards with range 7 [paras[1].firstChild, 2, paras[1].firstChild, 8] and point 50 [comment, -1]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "Sanity check: startContainer must be correct")
    at testExtend ( /selection/extend.js:80:5)
Pass
assert_equals(2, 2, "Sanity check: startOffset must be correct")
    at testExtend ( /selection/extend.js:82:5)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "Sanity check: endContainer must be correct")
    at testExtend ( /selection/extend.js:84:5)
Pass
assert_equals(8, 8, "Sanity check: endOffset must be correct")
    at testExtend ( /selection/extend.js:86:5)
Pass
assert_throws_dom("INDEX_SIZE_ERR", function "function() {             selection.extend(node, offset);         }", "extend() to an offset that's greater than node length (14) must throw IndexSizeError")
    at testExtend ( /selection/extend.js:117:9)
Passextend() forwards with range 7 [paras[1].firstChild, 2, paras[1].firstChild, 8] and point 51 [comment, 0]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "Sanity check: startContainer must be correct")
    at testExtend ( /selection/extend.js:80:5)
Pass
assert_equals(2, 2, "Sanity check: startOffset must be correct")
    at testExtend ( /selection/extend.js:82:5)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "Sanity check: endContainer must be correct")
    at testExtend ( /selection/extend.js:84:5)
Pass
assert_equals(8, 8, "Sanity check: endOffset must be correct")
    at testExtend ( /selection/extend.js:86:5)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "anchorNode must not change if the node passed to extend() has the same root as the original range")
    at testExtend ( /selection/extend.js:145:9)
Pass
assert_equals(2, 2, "anchorOffset must not change if the node passed to extend() has the same root as the original range")
    at testExtend ( /selection/extend.js:147:9)
Pass
assert_equals(Comment node <!--Alphabet soup?-->, Comment node <!--Alphabet soup?-->, "focusNode must be the node passed to extend()")
    at testExtend ( /selection/extend.js:155:5)
Pass
assert_equals(0, 0, "focusOffset must be the offset passed to extend()")
    at testExtend ( /selection/extend.js:157:5)
Pass
assert_not_equals(object "klmnop QrstuvwxYzabcdefGhijklmn", object "klmnop", "extend() must replace any existing range with a new one, not mutate the existing one")
    at testExtend ( /selection/extend.js:159:5)
Passextend() backwards with range 7 [paras[1].firstChild, 2, paras[1].firstChild, 8] and point 51 [comment, 0]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "Sanity check: startContainer must be correct")
    at testExtend ( /selection/extend.js:80:5)
Pass
assert_equals(2, 2, "Sanity check: startOffset must be correct")
    at testExtend ( /selection/extend.js:82:5)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "Sanity check: endContainer must be correct")
    at testExtend ( /selection/extend.js:84:5)
Pass
assert_equals(8, 8, "Sanity check: endOffset must be correct")
    at testExtend ( /selection/extend.js:86:5)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "anchorNode must not change if the node passed to extend() has the same root as the original range")
    at testExtend ( /selection/extend.js:145:9)
Pass
assert_equals(8, 8, "anchorOffset must not change if the node passed to extend() has the same root as the original range")
    at testExtend ( /selection/extend.js:147:9)
Pass
assert_equals(Comment node <!--Alphabet soup?-->, Comment node <!--Alphabet soup?-->, "focusNode must be the node passed to extend()")
    at testExtend ( /selection/extend.js:155:5)
Pass
assert_equals(0, 0, "focusOffset must be the offset passed to extend()")
    at testExtend ( /selection/extend.js:157:5)
Pass
assert_not_equals(object " QrstuvwxYzabcdefGhijklmn", object "klmnop", "extend() must replace any existing range with a new one, not mutate the existing one")
    at testExtend ( /selection/extend.js:159:5)
Passextend() forwards with range 7 [paras[1].firstChild, 2, paras[1].firstChild, 8] and point 52 [comment, 4]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "Sanity check: startContainer must be correct")
    at testExtend ( /selection/extend.js:80:5)
Pass
assert_equals(2, 2, "Sanity check: startOffset must be correct")
    at testExtend ( /selection/extend.js:82:5)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "Sanity check: endContainer must be correct")
    at testExtend ( /selection/extend.js:84:5)
Pass
assert_equals(8, 8, "Sanity check: endOffset must be correct")
    at testExtend ( /selection/extend.js:86:5)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "anchorNode must not change if the node passed to extend() has the same root as the original range")
    at testExtend ( /selection/extend.js:145:9)
Pass
assert_equals(2, 2, "anchorOffset must not change if the node passed to extend() has the same root as the original range")
    at testExtend ( /selection/extend.js:147:9)
Pass
assert_equals(Comment node <!--Alphabet soup?-->, Comment node <!--Alphabet soup?-->, "focusNode must be the node passed to extend()")
    at testExtend ( /selection/extend.js:155:5)
Pass
assert_equals(4, 4, "focusOffset must be the offset passed to extend()")
    at testExtend ( /selection/extend.js:157:5)
Pass
assert_not_equals(object "klmnop QrstuvwxYzabcdefGhijklmn", object "klmnop", "extend() must replace any existing range with a new one, not mutate the existing one")
    at testExtend ( /selection/extend.js:159:5)
Passextend() backwards with range 7 [paras[1].firstChild, 2, paras[1].firstChild, 8] and point 52 [comment, 4]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "Sanity check: startContainer must be correct")
    at testExtend ( /selection/extend.js:80:5)
Pass
assert_equals(2, 2, "Sanity check: startOffset must be correct")
    at testExtend ( /selection/extend.js:82:5)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "Sanity check: endContainer must be correct")
    at testExtend ( /selection/extend.js:84:5)
Pass
assert_equals(8, 8, "Sanity check: endOffset must be correct")
    at testExtend ( /selection/extend.js:86:5)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "anchorNode must not change if the node passed to extend() has the same root as the original range")
    at testExtend ( /selection/extend.js:145:9)
Pass
assert_equals(8, 8, "anchorOffset must not change if the node passed to extend() has the same root as the original range")
    at testExtend ( /selection/extend.js:147:9)
Pass
assert_equals(Comment node <!--Alphabet soup?-->, Comment node <!--Alphabet soup?-->, "focusNode must be the node passed to extend()")
    at testExtend ( /selection/extend.js:155:5)
Pass
assert_equals(4, 4, "focusOffset must be the offset passed to extend()")
    at testExtend ( /selection/extend.js:157:5)
Pass
assert_not_equals(object " QrstuvwxYzabcdefGhijklmn", object "klmnop", "extend() must replace any existing range with a new one, not mutate the existing one")
    at testExtend ( /selection/extend.js:159:5)
Passextend() forwards with range 7 [paras[1].firstChild, 2, paras[1].firstChild, 8] and point 53 [comment, 96]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "Sanity check: startContainer must be correct")
    at testExtend ( /selection/extend.js:80:5)
Pass
assert_equals(2, 2, "Sanity check: startOffset must be correct")
    at testExtend ( /selection/extend.js:82:5)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "Sanity check: endContainer must be correct")
    at testExtend ( /selection/extend.js:84:5)
Pass
assert_equals(8, 8, "Sanity check: endOffset must be correct")
    at testExtend ( /selection/extend.js:86:5)
Pass
assert_throws_dom("INDEX_SIZE_ERR", function "function() {             selection.extend(node, offset);         }", "extend() to an offset that's greater than node length (14) must throw IndexSizeError")
    at testExtend ( /selection/extend.js:117:9)
Passextend() backwards with range 7 [paras[1].firstChild, 2, paras[1].firstChild, 8] and point 53 [comment, 96]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "Sanity check: startContainer must be correct")
    at testExtend ( /selection/extend.js:80:5)
Pass
assert_equals(2, 2, "Sanity check: startOffset must be correct")
    at testExtend ( /selection/extend.js:82:5)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "Sanity check: endContainer must be correct")
    at testExtend ( /selection/extend.js:84:5)
Pass
assert_equals(8, 8, "Sanity check: endOffset must be correct")
    at testExtend ( /selection/extend.js:86:5)
Pass
assert_throws_dom("INDEX_SIZE_ERR", function "function() {             selection.extend(node, offset);         }", "extend() to an offset that's greater than node length (14) must throw IndexSizeError")
    at testExtend ( /selection/extend.js:117:9)
Passextend() forwards with range 7 [paras[1].firstChild, 2, paras[1].firstChild, 8] and point 54 [foreignDoc, 0]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(1, 1, "The operation should not add Range")
    at assertSelectionNoChange ( /selection/common.js:976:5)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "The operation should not update anchorNode")
    at assertSelectionNoChange ( /selection/common.js:978:5)
Pass
assert_equals(2, 2, "The operation should not update anchorOffset")
    at assertSelectionNoChange ( /selection/common.js:980:5)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "The operation should not update focusNode")
    at assertSelectionNoChange ( /selection/common.js:982:5)
Pass
assert_equals(8, 8, "The operation should not update focusOffset")
    at assertSelectionNoChange ( /selection/common.js:984:5)
Pass
assert_equals(object "klmnop", object "klmnop", "The operation should not replace a registered Range")
    at assertSelectionNoChange ( /selection/common.js:988:5)
Passextend() backwards with range 7 [paras[1].firstChild, 2, paras[1].firstChild, 8] and point 54 [foreignDoc, 0]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(1, 1, "The operation should not add Range")
    at assertSelectionNoChange ( /selection/common.js:976:5)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "The operation should not update anchorNode")
    at assertSelectionNoChange ( /selection/common.js:978:5)
Pass
assert_equals(8, 8, "The operation should not update anchorOffset")
    at assertSelectionNoChange ( /selection/common.js:980:5)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "The operation should not update focusNode")
    at assertSelectionNoChange ( /selection/common.js:982:5)
Pass
assert_equals(2, 2, "The operation should not update focusOffset")
    at assertSelectionNoChange ( /selection/common.js:984:5)
Pass
assert_equals(object "klmnop", object "klmnop", "The operation should not replace a registered Range")
    at assertSelectionNoChange ( /selection/common.js:988:5)
Passextend() forwards with range 7 [paras[1].firstChild, 2, paras[1].firstChild, 8] and point 55 [foreignDoc, 1]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(1, 1, "The operation should not add Range")
    at assertSelectionNoChange ( /selection/common.js:976:5)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "The operation should not update anchorNode")
    at assertSelectionNoChange ( /selection/common.js:978:5)
Pass
assert_equals(2, 2, "The operation should not update anchorOffset")
    at assertSelectionNoChange ( /selection/common.js:980:5)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "The operation should not update focusNode")
    at assertSelectionNoChange ( /selection/common.js:982:5)
Pass
assert_equals(8, 8, "The operation should not update focusOffset")
    at assertSelectionNoChange ( /selection/common.js:984:5)
Pass
assert_equals(object "klmnop", object "klmnop", "The operation should not replace a registered Range")
    at assertSelectionNoChange ( /selection/common.js:988:5)
Passextend() backwards with range 7 [paras[1].firstChild, 2, paras[1].firstChild, 8] and point 55 [foreignDoc, 1]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(1, 1, "The operation should not add Range")
    at assertSelectionNoChange ( /selection/common.js:976:5)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "The operation should not update anchorNode")
    at assertSelectionNoChange ( /selection/common.js:978:5)
Pass
assert_equals(8, 8, "The operation should not update anchorOffset")
    at assertSelectionNoChange ( /selection/common.js:980:5)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "The operation should not update focusNode")
    at assertSelectionNoChange ( /selection/common.js:982:5)
Pass
assert_equals(2, 2, "The operation should not update focusOffset")
    at assertSelectionNoChange ( /selection/common.js:984:5)
Pass
assert_equals(object "klmnop", object "klmnop", "The operation should not replace a registered Range")
    at assertSelectionNoChange ( /selection/common.js:988:5)
Passextend() forwards with range 7 [paras[1].firstChild, 2, paras[1].firstChild, 8] and point 56 [foreignComment, 2]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(1, 1, "The operation should not add Range")
    at assertSelectionNoChange ( /selection/common.js:976:5)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "The operation should not update anchorNode")
    at assertSelectionNoChange ( /selection/common.js:978:5)
Pass
assert_equals(2, 2, "The operation should not update anchorOffset")
    at assertSelectionNoChange ( /selection/common.js:980:5)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "The operation should not update focusNode")
    at assertSelectionNoChange ( /selection/common.js:982:5)
Pass
assert_equals(8, 8, "The operation should not update focusOffset")
    at assertSelectionNoChange ( /selection/common.js:984:5)
Pass
assert_equals(object "klmnop", object "klmnop", "The operation should not replace a registered Range")
    at assertSelectionNoChange ( /selection/common.js:988:5)
Passextend() backwards with range 7 [paras[1].firstChild, 2, paras[1].firstChild, 8] and point 56 [foreignComment, 2]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(1, 1, "The operation should not add Range")
    at assertSelectionNoChange ( /selection/common.js:976:5)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "The operation should not update anchorNode")
    at assertSelectionNoChange ( /selection/common.js:978:5)
Pass
assert_equals(8, 8, "The operation should not update anchorOffset")
    at assertSelectionNoChange ( /selection/common.js:980:5)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "The operation should not update focusNode")
    at assertSelectionNoChange ( /selection/common.js:982:5)
Pass
assert_equals(2, 2, "The operation should not update focusOffset")
    at assertSelectionNoChange ( /selection/common.js:984:5)
Pass
assert_equals(object "klmnop", object "klmnop", "The operation should not replace a registered Range")
    at assertSelectionNoChange ( /selection/common.js:988:5)
Passextend() forwards with range 7 [paras[1].firstChild, 2, paras[1].firstChild, 8] and point 57 [foreignTextNode, 0]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(1, 1, "The operation should not add Range")
    at assertSelectionNoChange ( /selection/common.js:976:5)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "The operation should not update anchorNode")
    at assertSelectionNoChange ( /selection/common.js:978:5)
Pass
assert_equals(2, 2, "The operation should not update anchorOffset")
    at assertSelectionNoChange ( /selection/common.js:980:5)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "The operation should not update focusNode")
    at assertSelectionNoChange ( /selection/common.js:982:5)
Pass
assert_equals(8, 8, "The operation should not update focusOffset")
    at assertSelectionNoChange ( /selection/common.js:984:5)
Pass
assert_equals(object "klmnop", object "klmnop", "The operation should not replace a registered Range")
    at assertSelectionNoChange ( /selection/common.js:988:5)
Passextend() backwards with range 7 [paras[1].firstChild, 2, paras[1].firstChild, 8] and point 57 [foreignTextNode, 0]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(1, 1, "The operation should not add Range")
    at assertSelectionNoChange ( /selection/common.js:976:5)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "The operation should not update anchorNode")
    at assertSelectionNoChange ( /selection/common.js:978:5)
Pass
assert_equals(8, 8, "The operation should not update anchorOffset")
    at assertSelectionNoChange ( /selection/common.js:980:5)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "The operation should not update focusNode")
    at assertSelectionNoChange ( /selection/common.js:982:5)
Pass
assert_equals(2, 2, "The operation should not update focusOffset")
    at assertSelectionNoChange ( /selection/common.js:984:5)
Pass
assert_equals(object "klmnop", object "klmnop", "The operation should not replace a registered Range")
    at assertSelectionNoChange ( /selection/common.js:988:5)
Passextend() forwards with range 7 [paras[1].firstChild, 2, paras[1].firstChild, 8] and point 58 [foreignTextNode, 36]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(1, 1, "The operation should not add Range")
    at assertSelectionNoChange ( /selection/common.js:976:5)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "The operation should not update anchorNode")
    at assertSelectionNoChange ( /selection/common.js:978:5)
Pass
assert_equals(2, 2, "The operation should not update anchorOffset")
    at assertSelectionNoChange ( /selection/common.js:980:5)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "The operation should not update focusNode")
    at assertSelectionNoChange ( /selection/common.js:982:5)
Pass
assert_equals(8, 8, "The operation should not update focusOffset")
    at assertSelectionNoChange ( /selection/common.js:984:5)
Pass
assert_equals(object "klmnop", object "klmnop", "The operation should not replace a registered Range")
    at assertSelectionNoChange ( /selection/common.js:988:5)
Passextend() backwards with range 7 [paras[1].firstChild, 2, paras[1].firstChild, 8] and point 58 [foreignTextNode, 36]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(1, 1, "The operation should not add Range")
    at assertSelectionNoChange ( /selection/common.js:976:5)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "The operation should not update anchorNode")
    at assertSelectionNoChange ( /selection/common.js:978:5)
Pass
assert_equals(8, 8, "The operation should not update anchorOffset")
    at assertSelectionNoChange ( /selection/common.js:980:5)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "The operation should not update focusNode")
    at assertSelectionNoChange ( /selection/common.js:982:5)
Pass
assert_equals(2, 2, "The operation should not update focusOffset")
    at assertSelectionNoChange ( /selection/common.js:984:5)
Pass
assert_equals(object "klmnop", object "klmnop", "The operation should not replace a registered Range")
    at assertSelectionNoChange ( /selection/common.js:988:5)
Passextend() forwards with range 7 [paras[1].firstChild, 2, paras[1].firstChild, 8] and point 59 [xmlDoc, -1]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(1, 1, "The operation should not add Range")
    at assertSelectionNoChange ( /selection/common.js:976:5)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "The operation should not update anchorNode")
    at assertSelectionNoChange ( /selection/common.js:978:5)
Pass
assert_equals(2, 2, "The operation should not update anchorOffset")
    at assertSelectionNoChange ( /selection/common.js:980:5)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "The operation should not update focusNode")
    at assertSelectionNoChange ( /selection/common.js:982:5)
Pass
assert_equals(8, 8, "The operation should not update focusOffset")
    at assertSelectionNoChange ( /selection/common.js:984:5)
Pass
assert_equals(object "klmnop", object "klmnop", "The operation should not replace a registered Range")
    at assertSelectionNoChange ( /selection/common.js:988:5)
Passextend() backwards with range 7 [paras[1].firstChild, 2, paras[1].firstChild, 8] and point 59 [xmlDoc, -1]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(1, 1, "The operation should not add Range")
    at assertSelectionNoChange ( /selection/common.js:976:5)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "The operation should not update anchorNode")
    at assertSelectionNoChange ( /selection/common.js:978:5)
Pass
assert_equals(8, 8, "The operation should not update anchorOffset")
    at assertSelectionNoChange ( /selection/common.js:980:5)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "The operation should not update focusNode")
    at assertSelectionNoChange ( /selection/common.js:982:5)
Pass
assert_equals(2, 2, "The operation should not update focusOffset")
    at assertSelectionNoChange ( /selection/common.js:984:5)
Pass
assert_equals(object "klmnop", object "klmnop", "The operation should not replace a registered Range")
    at assertSelectionNoChange ( /selection/common.js:988:5)
Passextend() forwards with range 7 [paras[1].firstChild, 2, paras[1].firstChild, 8] and point 60 [xmlDoc, 0]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(1, 1, "The operation should not add Range")
    at assertSelectionNoChange ( /selection/common.js:976:5)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "The operation should not update anchorNode")
    at assertSelectionNoChange ( /selection/common.js:978:5)
Pass
assert_equals(2, 2, "The operation should not update anchorOffset")
    at assertSelectionNoChange ( /selection/common.js:980:5)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "The operation should not update focusNode")
    at assertSelectionNoChange ( /selection/common.js:982:5)
Pass
assert_equals(8, 8, "The operation should not update focusOffset")
    at assertSelectionNoChange ( /selection/common.js:984:5)
Pass
assert_equals(object "klmnop", object "klmnop", "The operation should not replace a registered Range")
    at assertSelectionNoChange ( /selection/common.js:988:5)
Passextend() backwards with range 7 [paras[1].firstChild, 2, paras[1].firstChild, 8] and point 60 [xmlDoc, 0]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(1, 1, "The operation should not add Range")
    at assertSelectionNoChange ( /selection/common.js:976:5)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "The operation should not update anchorNode")
    at assertSelectionNoChange ( /selection/common.js:978:5)
Pass
assert_equals(8, 8, "The operation should not update anchorOffset")
    at assertSelectionNoChange ( /selection/common.js:980:5)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "The operation should not update focusNode")
    at assertSelectionNoChange ( /selection/common.js:982:5)
Pass
assert_equals(2, 2, "The operation should not update focusOffset")
    at assertSelectionNoChange ( /selection/common.js:984:5)
Pass
assert_equals(object "klmnop", object "klmnop", "The operation should not replace a registered Range")
    at assertSelectionNoChange ( /selection/common.js:988:5)
Passextend() forwards with range 7 [paras[1].firstChild, 2, paras[1].firstChild, 8] and point 61 [xmlDoc, 1]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(1, 1, "The operation should not add Range")
    at assertSelectionNoChange ( /selection/common.js:976:5)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "The operation should not update anchorNode")
    at assertSelectionNoChange ( /selection/common.js:978:5)
Pass
assert_equals(2, 2, "The operation should not update anchorOffset")
    at assertSelectionNoChange ( /selection/common.js:980:5)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "The operation should not update focusNode")
    at assertSelectionNoChange ( /selection/common.js:982:5)
Pass
assert_equals(8, 8, "The operation should not update focusOffset")
    at assertSelectionNoChange ( /selection/common.js:984:5)
Pass
assert_equals(object "klmnop", object "klmnop", "The operation should not replace a registered Range")
    at assertSelectionNoChange ( /selection/common.js:988:5)
Passextend() backwards with range 7 [paras[1].firstChild, 2, paras[1].firstChild, 8] and point 61 [xmlDoc, 1]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(1, 1, "The operation should not add Range")
    at assertSelectionNoChange ( /selection/common.js:976:5)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "The operation should not update anchorNode")
    at assertSelectionNoChange ( /selection/common.js:978:5)
Pass
assert_equals(8, 8, "The operation should not update anchorOffset")
    at assertSelectionNoChange ( /selection/common.js:980:5)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "The operation should not update focusNode")
    at assertSelectionNoChange ( /selection/common.js:982:5)
Pass
assert_equals(2, 2, "The operation should not update focusOffset")
    at assertSelectionNoChange ( /selection/common.js:984:5)
Pass
assert_equals(object "klmnop", object "klmnop", "The operation should not replace a registered Range")
    at assertSelectionNoChange ( /selection/common.js:988:5)
Passextend() forwards with range 7 [paras[1].firstChild, 2, paras[1].firstChild, 8] and point 62 [xmlDoc, 5]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(1, 1, "The operation should not add Range")
    at assertSelectionNoChange ( /selection/common.js:976:5)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "The operation should not update anchorNode")
    at assertSelectionNoChange ( /selection/common.js:978:5)
Pass
assert_equals(2, 2, "The operation should not update anchorOffset")
    at assertSelectionNoChange ( /selection/common.js:980:5)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "The operation should not update focusNode")
    at assertSelectionNoChange ( /selection/common.js:982:5)
Pass
assert_equals(8, 8, "The operation should not update focusOffset")
    at assertSelectionNoChange ( /selection/common.js:984:5)
Pass
assert_equals(object "klmnop", object "klmnop", "The operation should not replace a registered Range")
    at assertSelectionNoChange ( /selection/common.js:988:5)
Passextend() backwards with range 7 [paras[1].firstChild, 2, paras[1].firstChild, 8] and point 62 [xmlDoc, 5]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(1, 1, "The operation should not add Range")
    at assertSelectionNoChange ( /selection/common.js:976:5)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "The operation should not update anchorNode")
    at assertSelectionNoChange ( /selection/common.js:978:5)
Pass
assert_equals(8, 8, "The operation should not update anchorOffset")
    at assertSelectionNoChange ( /selection/common.js:980:5)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "The operation should not update focusNode")
    at assertSelectionNoChange ( /selection/common.js:982:5)
Pass
assert_equals(2, 2, "The operation should not update focusOffset")
    at assertSelectionNoChange ( /selection/common.js:984:5)
Pass
assert_equals(object "klmnop", object "klmnop", "The operation should not replace a registered Range")
    at assertSelectionNoChange ( /selection/common.js:988:5)
Passextend() forwards with range 7 [paras[1].firstChild, 2, paras[1].firstChild, 8] and point 63 [xmlComment, 0]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(1, 1, "The operation should not add Range")
    at assertSelectionNoChange ( /selection/common.js:976:5)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "The operation should not update anchorNode")
    at assertSelectionNoChange ( /selection/common.js:978:5)
Pass
assert_equals(2, 2, "The operation should not update anchorOffset")
    at assertSelectionNoChange ( /selection/common.js:980:5)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "The operation should not update focusNode")
    at assertSelectionNoChange ( /selection/common.js:982:5)
Pass
assert_equals(8, 8, "The operation should not update focusOffset")
    at assertSelectionNoChange ( /selection/common.js:984:5)
Pass
assert_equals(object "klmnop", object "klmnop", "The operation should not replace a registered Range")
    at assertSelectionNoChange ( /selection/common.js:988:5)
Passextend() backwards with range 7 [paras[1].firstChild, 2, paras[1].firstChild, 8] and point 63 [xmlComment, 0]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(1, 1, "The operation should not add Range")
    at assertSelectionNoChange ( /selection/common.js:976:5)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "The operation should not update anchorNode")
    at assertSelectionNoChange ( /selection/common.js:978:5)
Pass
assert_equals(8, 8, "The operation should not update anchorOffset")
    at assertSelectionNoChange ( /selection/common.js:980:5)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "The operation should not update focusNode")
    at assertSelectionNoChange ( /selection/common.js:982:5)
Pass
assert_equals(2, 2, "The operation should not update focusOffset")
    at assertSelectionNoChange ( /selection/common.js:984:5)
Pass
assert_equals(object "klmnop", object "klmnop", "The operation should not replace a registered Range")
    at assertSelectionNoChange ( /selection/common.js:988:5)
Passextend() forwards with range 7 [paras[1].firstChild, 2, paras[1].firstChild, 8] and point 64 [xmlComment, 4]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(1, 1, "The operation should not add Range")
    at assertSelectionNoChange ( /selection/common.js:976:5)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "The operation should not update anchorNode")
    at assertSelectionNoChange ( /selection/common.js:978:5)
Pass
assert_equals(2, 2, "The operation should not update anchorOffset")
    at assertSelectionNoChange ( /selection/common.js:980:5)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "The operation should not update focusNode")
    at assertSelectionNoChange ( /selection/common.js:982:5)
Pass
assert_equals(8, 8, "The operation should not update focusOffset")
    at assertSelectionNoChange ( /selection/common.js:984:5)
Pass
assert_equals(object "klmnop", object "klmnop", "The operation should not replace a registered Range")
    at assertSelectionNoChange ( /selection/common.js:988:5)
Passextend() backwards with range 7 [paras[1].firstChild, 2, paras[1].firstChild, 8] and point 64 [xmlComment, 4]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(1, 1, "The operation should not add Range")
    at assertSelectionNoChange ( /selection/common.js:976:5)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "The operation should not update anchorNode")
    at assertSelectionNoChange ( /selection/common.js:978:5)
Pass
assert_equals(8, 8, "The operation should not update anchorOffset")
    at assertSelectionNoChange ( /selection/common.js:980:5)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "The operation should not update focusNode")
    at assertSelectionNoChange ( /selection/common.js:982:5)
Pass
assert_equals(2, 2, "The operation should not update focusOffset")
    at assertSelectionNoChange ( /selection/common.js:984:5)
Pass
assert_equals(object "klmnop", object "klmnop", "The operation should not replace a registered Range")
    at assertSelectionNoChange ( /selection/common.js:988:5)
Passextend() forwards with range 7 [paras[1].firstChild, 2, paras[1].firstChild, 8] and point 65 [processingInstruction, 0]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(1, 1, "The operation should not add Range")
    at assertSelectionNoChange ( /selection/common.js:976:5)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "The operation should not update anchorNode")
    at assertSelectionNoChange ( /selection/common.js:978:5)
Pass
assert_equals(2, 2, "The operation should not update anchorOffset")
    at assertSelectionNoChange ( /selection/common.js:980:5)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "The operation should not update focusNode")
    at assertSelectionNoChange ( /selection/common.js:982:5)
Pass
assert_equals(8, 8, "The operation should not update focusOffset")
    at assertSelectionNoChange ( /selection/common.js:984:5)
Pass
assert_equals(object "klmnop", object "klmnop", "The operation should not replace a registered Range")
    at assertSelectionNoChange ( /selection/common.js:988:5)
Passextend() backwards with range 7 [paras[1].firstChild, 2, paras[1].firstChild, 8] and point 65 [processingInstruction, 0]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(1, 1, "The operation should not add Range")
    at assertSelectionNoChange ( /selection/common.js:976:5)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "The operation should not update anchorNode")
    at assertSelectionNoChange ( /selection/common.js:978:5)
Pass
assert_equals(8, 8, "The operation should not update anchorOffset")
    at assertSelectionNoChange ( /selection/common.js:980:5)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "The operation should not update focusNode")
    at assertSelectionNoChange ( /selection/common.js:982:5)
Pass
assert_equals(2, 2, "The operation should not update focusOffset")
    at assertSelectionNoChange ( /selection/common.js:984:5)
Pass
assert_equals(object "klmnop", object "klmnop", "The operation should not replace a registered Range")
    at assertSelectionNoChange ( /selection/common.js:988:5)
Passextend() forwards with range 7 [paras[1].firstChild, 2, paras[1].firstChild, 8] and point 66 [processingInstruction, 5]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(1, 1, "The operation should not add Range")
    at assertSelectionNoChange ( /selection/common.js:976:5)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "The operation should not update anchorNode")
    at assertSelectionNoChange ( /selection/common.js:978:5)
Pass
assert_equals(2, 2, "The operation should not update anchorOffset")
    at assertSelectionNoChange ( /selection/common.js:980:5)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "The operation should not update focusNode")
    at assertSelectionNoChange ( /selection/common.js:982:5)
Pass
assert_equals(8, 8, "The operation should not update focusOffset")
    at assertSelectionNoChange ( /selection/common.js:984:5)
Pass
assert_equals(object "klmnop", object "klmnop", "The operation should not replace a registered Range")
    at assertSelectionNoChange ( /selection/common.js:988:5)
Passextend() backwards with range 7 [paras[1].firstChild, 2, paras[1].firstChild, 8] and point 66 [processingInstruction, 5]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(1, 1, "The operation should not add Range")
    at assertSelectionNoChange ( /selection/common.js:976:5)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "The operation should not update anchorNode")
    at assertSelectionNoChange ( /selection/common.js:978:5)
Pass
assert_equals(8, 8, "The operation should not update anchorOffset")
    at assertSelectionNoChange ( /selection/common.js:980:5)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "The operation should not update focusNode")
    at assertSelectionNoChange ( /selection/common.js:982:5)
Pass
assert_equals(2, 2, "The operation should not update focusOffset")
    at assertSelectionNoChange ( /selection/common.js:984:5)
Pass
assert_equals(object "klmnop", object "klmnop", "The operation should not replace a registered Range")
    at assertSelectionNoChange ( /selection/common.js:988:5)
Passextend() forwards with range 7 [paras[1].firstChild, 2, paras[1].firstChild, 8] and point 67 [processingInstruction, 9]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(1, 1, "The operation should not add Range")
    at assertSelectionNoChange ( /selection/common.js:976:5)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "The operation should not update anchorNode")
    at assertSelectionNoChange ( /selection/common.js:978:5)
Pass
assert_equals(2, 2, "The operation should not update anchorOffset")
    at assertSelectionNoChange ( /selection/common.js:980:5)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "The operation should not update focusNode")
    at assertSelectionNoChange ( /selection/common.js:982:5)
Pass
assert_equals(8, 8, "The operation should not update focusOffset")
    at assertSelectionNoChange ( /selection/common.js:984:5)
Pass
assert_equals(object "klmnop", object "klmnop", "The operation should not replace a registered Range")
    at assertSelectionNoChange ( /selection/common.js:988:5)
Passextend() backwards with range 7 [paras[1].firstChild, 2, paras[1].firstChild, 8] and point 67 [processingInstruction, 9]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(1, 1, "The operation should not add Range")
    at assertSelectionNoChange ( /selection/common.js:976:5)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "The operation should not update anchorNode")
    at assertSelectionNoChange ( /selection/common.js:978:5)
Pass
assert_equals(8, 8, "The operation should not update anchorOffset")
    at assertSelectionNoChange ( /selection/common.js:980:5)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "The operation should not update focusNode")
    at assertSelectionNoChange ( /selection/common.js:982:5)
Pass
assert_equals(2, 2, "The operation should not update focusOffset")
    at assertSelectionNoChange ( /selection/common.js:984:5)
Pass
assert_equals(object "klmnop", object "klmnop", "The operation should not replace a registered Range")
    at assertSelectionNoChange ( /selection/common.js:988:5)
Passextend() forwards with range 7 [paras[1].firstChild, 2, paras[1].firstChild, 8] and point 68 [detachedTextNode, 0]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(1, 1, "The operation should not add Range")
    at assertSelectionNoChange ( /selection/common.js:976:5)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "The operation should not update anchorNode")
    at assertSelectionNoChange ( /selection/common.js:978:5)
Pass
assert_equals(2, 2, "The operation should not update anchorOffset")
    at assertSelectionNoChange ( /selection/common.js:980:5)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "The operation should not update focusNode")
    at assertSelectionNoChange ( /selection/common.js:982:5)
Pass
assert_equals(8, 8, "The operation should not update focusOffset")
    at assertSelectionNoChange ( /selection/common.js:984:5)
Pass
assert_equals(object "klmnop", object "klmnop", "The operation should not replace a registered Range")
    at assertSelectionNoChange ( /selection/common.js:988:5)
Passextend() backwards with range 7 [paras[1].firstChild, 2, paras[1].firstChild, 8] and point 68 [detachedTextNode, 0]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(1, 1, "The operation should not add Range")
    at assertSelectionNoChange ( /selection/common.js:976:5)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "The operation should not update anchorNode")
    at assertSelectionNoChange ( /selection/common.js:978:5)
Pass
assert_equals(8, 8, "The operation should not update anchorOffset")
    at assertSelectionNoChange ( /selection/common.js:980:5)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "The operation should not update focusNode")
    at assertSelectionNoChange ( /selection/common.js:982:5)
Pass
assert_equals(2, 2, "The operation should not update focusOffset")
    at assertSelectionNoChange ( /selection/common.js:984:5)
Pass
assert_equals(object "klmnop", object "klmnop", "The operation should not replace a registered Range")
    at assertSelectionNoChange ( /selection/common.js:988:5)
Passextend() forwards with range 7 [paras[1].firstChild, 2, paras[1].firstChild, 8] and point 69 [detachedTextNode, 8]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(1, 1, "The operation should not add Range")
    at assertSelectionNoChange ( /selection/common.js:976:5)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "The operation should not update anchorNode")
    at assertSelectionNoChange ( /selection/common.js:978:5)
Pass
assert_equals(2, 2, "The operation should not update anchorOffset")
    at assertSelectionNoChange ( /selection/common.js:980:5)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "The operation should not update focusNode")
    at assertSelectionNoChange ( /selection/common.js:982:5)
Pass
assert_equals(8, 8, "The operation should not update focusOffset")
    at assertSelectionNoChange ( /selection/common.js:984:5)
Pass
assert_equals(object "klmnop", object "klmnop", "The operation should not replace a registered Range")
    at assertSelectionNoChange ( /selection/common.js:988:5)
Passextend() backwards with range 7 [paras[1].firstChild, 2, paras[1].firstChild, 8] and point 69 [detachedTextNode, 8]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(1, 1, "The operation should not add Range")
    at assertSelectionNoChange ( /selection/common.js:976:5)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "The operation should not update anchorNode")
    at assertSelectionNoChange ( /selection/common.js:978:5)
Pass
assert_equals(8, 8, "The operation should not update anchorOffset")
    at assertSelectionNoChange ( /selection/common.js:980:5)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "The operation should not update focusNode")
    at assertSelectionNoChange ( /selection/common.js:982:5)
Pass
assert_equals(2, 2, "The operation should not update focusOffset")
    at assertSelectionNoChange ( /selection/common.js:984:5)
Pass
assert_equals(object "klmnop", object "klmnop", "The operation should not replace a registered Range")
    at assertSelectionNoChange ( /selection/common.js:988:5)
Passextend() forwards with range 7 [paras[1].firstChild, 2, paras[1].firstChild, 8] and point 70 [detachedForeignTextNode, 0]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(1, 1, "The operation should not add Range")
    at assertSelectionNoChange ( /selection/common.js:976:5)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "The operation should not update anchorNode")
    at assertSelectionNoChange ( /selection/common.js:978:5)
Pass
assert_equals(2, 2, "The operation should not update anchorOffset")
    at assertSelectionNoChange ( /selection/common.js:980:5)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "The operation should not update focusNode")
    at assertSelectionNoChange ( /selection/common.js:982:5)
Pass
assert_equals(8, 8, "The operation should not update focusOffset")
    at assertSelectionNoChange ( /selection/common.js:984:5)
Pass
assert_equals(object "klmnop", object "klmnop", "The operation should not replace a registered Range")
    at assertSelectionNoChange ( /selection/common.js:988:5)
Passextend() backwards with range 7 [paras[1].firstChild, 2, paras[1].firstChild, 8] and point 70 [detachedForeignTextNode, 0]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(1, 1, "The operation should not add Range")
    at assertSelectionNoChange ( /selection/common.js:976:5)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "The operation should not update anchorNode")
    at assertSelectionNoChange ( /selection/common.js:978:5)
Pass
assert_equals(8, 8, "The operation should not update anchorOffset")
    at assertSelectionNoChange ( /selection/common.js:980:5)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "The operation should not update focusNode")
    at assertSelectionNoChange ( /selection/common.js:982:5)
Pass
assert_equals(2, 2, "The operation should not update focusOffset")
    at assertSelectionNoChange ( /selection/common.js:984:5)
Pass
assert_equals(object "klmnop", object "klmnop", "The operation should not replace a registered Range")
    at assertSelectionNoChange ( /selection/common.js:988:5)
Passextend() forwards with range 7 [paras[1].firstChild, 2, paras[1].firstChild, 8] and point 71 [detachedForeignTextNode, 8]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(1, 1, "The operation should not add Range")
    at assertSelectionNoChange ( /selection/common.js:976:5)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "The operation should not update anchorNode")
    at assertSelectionNoChange ( /selection/common.js:978:5)
Pass
assert_equals(2, 2, "The operation should not update anchorOffset")
    at assertSelectionNoChange ( /selection/common.js:980:5)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "The operation should not update focusNode")
    at assertSelectionNoChange ( /selection/common.js:982:5)
Pass
assert_equals(8, 8, "The operation should not update focusOffset")
    at assertSelectionNoChange ( /selection/common.js:984:5)
Pass
assert_equals(object "klmnop", object "klmnop", "The operation should not replace a registered Range")
    at assertSelectionNoChange ( /selection/common.js:988:5)
Passextend() backwards with range 7 [paras[1].firstChild, 2, paras[1].firstChild, 8] and point 71 [detachedForeignTextNode, 8]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(1, 1, "The operation should not add Range")
    at assertSelectionNoChange ( /selection/common.js:976:5)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "The operation should not update anchorNode")
    at assertSelectionNoChange ( /selection/common.js:978:5)
Pass
assert_equals(8, 8, "The operation should not update anchorOffset")
    at assertSelectionNoChange ( /selection/common.js:980:5)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "The operation should not update focusNode")
    at assertSelectionNoChange ( /selection/common.js:982:5)
Pass
assert_equals(2, 2, "The operation should not update focusOffset")
    at assertSelectionNoChange ( /selection/common.js:984:5)
Pass
assert_equals(object "klmnop", object "klmnop", "The operation should not replace a registered Range")
    at assertSelectionNoChange ( /selection/common.js:988:5)
Passextend() forwards with range 7 [paras[1].firstChild, 2, paras[1].firstChild, 8] and point 72 [detachedXmlTextNode, 0]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(1, 1, "The operation should not add Range")
    at assertSelectionNoChange ( /selection/common.js:976:5)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "The operation should not update anchorNode")
    at assertSelectionNoChange ( /selection/common.js:978:5)
Pass
assert_equals(2, 2, "The operation should not update anchorOffset")
    at assertSelectionNoChange ( /selection/common.js:980:5)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "The operation should not update focusNode")
    at assertSelectionNoChange ( /selection/common.js:982:5)
Pass
assert_equals(8, 8, "The operation should not update focusOffset")
    at assertSelectionNoChange ( /selection/common.js:984:5)
Pass
assert_equals(object "klmnop", object "klmnop", "The operation should not replace a registered Range")
    at assertSelectionNoChange ( /selection/common.js:988:5)
Passextend() backwards with range 7 [paras[1].firstChild, 2, paras[1].firstChild, 8] and point 72 [detachedXmlTextNode, 0]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(1, 1, "The operation should not add Range")
    at assertSelectionNoChange ( /selection/common.js:976:5)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "The operation should not update anchorNode")
    at assertSelectionNoChange ( /selection/common.js:978:5)
Pass
assert_equals(8, 8, "The operation should not update anchorOffset")
    at assertSelectionNoChange ( /selection/common.js:980:5)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "The operation should not update focusNode")
    at assertSelectionNoChange ( /selection/common.js:982:5)
Pass
assert_equals(2, 2, "The operation should not update focusOffset")
    at assertSelectionNoChange ( /selection/common.js:984:5)
Pass
assert_equals(object "klmnop", object "klmnop", "The operation should not replace a registered Range")
    at assertSelectionNoChange ( /selection/common.js:988:5)
Passextend() forwards with range 7 [paras[1].firstChild, 2, paras[1].firstChild, 8] and point 73 [detachedXmlTextNode, 8]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(1, 1, "The operation should not add Range")
    at assertSelectionNoChange ( /selection/common.js:976:5)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "The operation should not update anchorNode")
    at assertSelectionNoChange ( /selection/common.js:978:5)
Pass
assert_equals(2, 2, "The operation should not update anchorOffset")
    at assertSelectionNoChange ( /selection/common.js:980:5)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "The operation should not update focusNode")
    at assertSelectionNoChange ( /selection/common.js:982:5)
Pass
assert_equals(8, 8, "The operation should not update focusOffset")
    at assertSelectionNoChange ( /selection/common.js:984:5)
Pass
assert_equals(object "klmnop", object "klmnop", "The operation should not replace a registered Range")
    at assertSelectionNoChange ( /selection/common.js:988:5)
Passextend() backwards with range 7 [paras[1].firstChild, 2, paras[1].firstChild, 8] and point 73 [detachedXmlTextNode, 8]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(1, 1, "The operation should not add Range")
    at assertSelectionNoChange ( /selection/common.js:976:5)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "The operation should not update anchorNode")
    at assertSelectionNoChange ( /selection/common.js:978:5)
Pass
assert_equals(8, 8, "The operation should not update anchorOffset")
    at assertSelectionNoChange ( /selection/common.js:980:5)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "The operation should not update focusNode")
    at assertSelectionNoChange ( /selection/common.js:982:5)
Pass
assert_equals(2, 2, "The operation should not update focusOffset")
    at assertSelectionNoChange ( /selection/common.js:984:5)
Pass
assert_equals(object "klmnop", object "klmnop", "The operation should not replace a registered Range")
    at assertSelectionNoChange ( /selection/common.js:988:5)
Passextend() forwards with range 7 [paras[1].firstChild, 2, paras[1].firstChild, 8] and point 74 [detachedProcessingInstruction, 12]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(1, 1, "The operation should not add Range")
    at assertSelectionNoChange ( /selection/common.js:976:5)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "The operation should not update anchorNode")
    at assertSelectionNoChange ( /selection/common.js:978:5)
Pass
assert_equals(2, 2, "The operation should not update anchorOffset")
    at assertSelectionNoChange ( /selection/common.js:980:5)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "The operation should not update focusNode")
    at assertSelectionNoChange ( /selection/common.js:982:5)
Pass
assert_equals(8, 8, "The operation should not update focusOffset")
    at assertSelectionNoChange ( /selection/common.js:984:5)
Pass
assert_equals(object "klmnop", object "klmnop", "The operation should not replace a registered Range")
    at assertSelectionNoChange ( /selection/common.js:988:5)
Passextend() backwards with range 7 [paras[1].firstChild, 2, paras[1].firstChild, 8] and point 74 [detachedProcessingInstruction, 12]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(1, 1, "The operation should not add Range")
    at assertSelectionNoChange ( /selection/common.js:976:5)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "The operation should not update anchorNode")
    at assertSelectionNoChange ( /selection/common.js:978:5)
Pass
assert_equals(8, 8, "The operation should not update anchorOffset")
    at assertSelectionNoChange ( /selection/common.js:980:5)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "The operation should not update focusNode")
    at assertSelectionNoChange ( /selection/common.js:982:5)
Pass
assert_equals(2, 2, "The operation should not update focusOffset")
    at assertSelectionNoChange ( /selection/common.js:984:5)
Pass
assert_equals(object "klmnop", object "klmnop", "The operation should not replace a registered Range")
    at assertSelectionNoChange ( /selection/common.js:988:5)
Passextend() forwards with range 7 [paras[1].firstChild, 2, paras[1].firstChild, 8] and point 75 [detachedComment, 3]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(1, 1, "The operation should not add Range")
    at assertSelectionNoChange ( /selection/common.js:976:5)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "The operation should not update anchorNode")
    at assertSelectionNoChange ( /selection/common.js:978:5)
Pass
assert_equals(2, 2, "The operation should not update anchorOffset")
    at assertSelectionNoChange ( /selection/common.js:980:5)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "The operation should not update focusNode")
    at assertSelectionNoChange ( /selection/common.js:982:5)
Pass
assert_equals(8, 8, "The operation should not update focusOffset")
    at assertSelectionNoChange ( /selection/common.js:984:5)
Pass
assert_equals(object "klmnop", object "klmnop", "The operation should not replace a registered Range")
    at assertSelectionNoChange ( /selection/common.js:988:5)
Passextend() backwards with range 7 [paras[1].firstChild, 2, paras[1].firstChild, 8] and point 75 [detachedComment, 3]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(1, 1, "The operation should not add Range")
    at assertSelectionNoChange ( /selection/common.js:976:5)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "The operation should not update anchorNode")
    at assertSelectionNoChange ( /selection/common.js:978:5)
Pass
assert_equals(8, 8, "The operation should not update anchorOffset")
    at assertSelectionNoChange ( /selection/common.js:980:5)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "The operation should not update focusNode")
    at assertSelectionNoChange ( /selection/common.js:982:5)
Pass
assert_equals(2, 2, "The operation should not update focusOffset")
    at assertSelectionNoChange ( /selection/common.js:984:5)
Pass
assert_equals(object "klmnop", object "klmnop", "The operation should not replace a registered Range")
    at assertSelectionNoChange ( /selection/common.js:988:5)
Passextend() forwards with range 7 [paras[1].firstChild, 2, paras[1].firstChild, 8] and point 76 [detachedComment, 5]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(1, 1, "The operation should not add Range")
    at assertSelectionNoChange ( /selection/common.js:976:5)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "The operation should not update anchorNode")
    at assertSelectionNoChange ( /selection/common.js:978:5)
Pass
assert_equals(2, 2, "The operation should not update anchorOffset")
    at assertSelectionNoChange ( /selection/common.js:980:5)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "The operation should not update focusNode")
    at assertSelectionNoChange ( /selection/common.js:982:5)
Pass
assert_equals(8, 8, "The operation should not update focusOffset")
    at assertSelectionNoChange ( /selection/common.js:984:5)
Pass
assert_equals(object "klmnop", object "klmnop", "The operation should not replace a registered Range")
    at assertSelectionNoChange ( /selection/common.js:988:5)
Passextend() backwards with range 7 [paras[1].firstChild, 2, paras[1].firstChild, 8] and point 76 [detachedComment, 5]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(1, 1, "The operation should not add Range")
    at assertSelectionNoChange ( /selection/common.js:976:5)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "The operation should not update anchorNode")
    at assertSelectionNoChange ( /selection/common.js:978:5)
Pass
assert_equals(8, 8, "The operation should not update anchorOffset")
    at assertSelectionNoChange ( /selection/common.js:980:5)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "The operation should not update focusNode")
    at assertSelectionNoChange ( /selection/common.js:982:5)
Pass
assert_equals(2, 2, "The operation should not update focusOffset")
    at assertSelectionNoChange ( /selection/common.js:984:5)
Pass
assert_equals(object "klmnop", object "klmnop", "The operation should not replace a registered Range")
    at assertSelectionNoChange ( /selection/common.js:988:5)
Passextend() forwards with range 7 [paras[1].firstChild, 2, paras[1].firstChild, 8] and point 77 [detachedForeignComment, 0]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(1, 1, "The operation should not add Range")
    at assertSelectionNoChange ( /selection/common.js:976:5)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "The operation should not update anchorNode")
    at assertSelectionNoChange ( /selection/common.js:978:5)
Pass
assert_equals(2, 2, "The operation should not update anchorOffset")
    at assertSelectionNoChange ( /selection/common.js:980:5)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "The operation should not update focusNode")
    at assertSelectionNoChange ( /selection/common.js:982:5)
Pass
assert_equals(8, 8, "The operation should not update focusOffset")
    at assertSelectionNoChange ( /selection/common.js:984:5)
Pass
assert_equals(object "klmnop", object "klmnop", "The operation should not replace a registered Range")
    at assertSelectionNoChange ( /selection/common.js:988:5)
Passextend() backwards with range 7 [paras[1].firstChild, 2, paras[1].firstChild, 8] and point 77 [detachedForeignComment, 0]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(1, 1, "The operation should not add Range")
    at assertSelectionNoChange ( /selection/common.js:976:5)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "The operation should not update anchorNode")
    at assertSelectionNoChange ( /selection/common.js:978:5)
Pass
assert_equals(8, 8, "The operation should not update anchorOffset")
    at assertSelectionNoChange ( /selection/common.js:980:5)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "The operation should not update focusNode")
    at assertSelectionNoChange ( /selection/common.js:982:5)
Pass
assert_equals(2, 2, "The operation should not update focusOffset")
    at assertSelectionNoChange ( /selection/common.js:984:5)
Pass
assert_equals(object "klmnop", object "klmnop", "The operation should not replace a registered Range")
    at assertSelectionNoChange ( /selection/common.js:988:5)
Passextend() forwards with range 7 [paras[1].firstChild, 2, paras[1].firstChild, 8] and point 78 [detachedForeignComment, 4]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(1, 1, "The operation should not add Range")
    at assertSelectionNoChange ( /selection/common.js:976:5)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "The operation should not update anchorNode")
    at assertSelectionNoChange ( /selection/common.js:978:5)
Pass
assert_equals(2, 2, "The operation should not update anchorOffset")
    at assertSelectionNoChange ( /selection/common.js:980:5)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "The operation should not update focusNode")
    at assertSelectionNoChange ( /selection/common.js:982:5)
Pass
assert_equals(8, 8, "The operation should not update focusOffset")
    at assertSelectionNoChange ( /selection/common.js:984:5)
Pass
assert_equals(object "klmnop", object "klmnop", "The operation should not replace a registered Range")
    at assertSelectionNoChange ( /selection/common.js:988:5)
Passextend() backwards with range 7 [paras[1].firstChild, 2, paras[1].firstChild, 8] and point 78 [detachedForeignComment, 4]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(1, 1, "The operation should not add Range")
    at assertSelectionNoChange ( /selection/common.js:976:5)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "The operation should not update anchorNode")
    at assertSelectionNoChange ( /selection/common.js:978:5)
Pass
assert_equals(8, 8, "The operation should not update anchorOffset")
    at assertSelectionNoChange ( /selection/common.js:980:5)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "The operation should not update focusNode")
    at assertSelectionNoChange ( /selection/common.js:982:5)
Pass
assert_equals(2, 2, "The operation should not update focusOffset")
    at assertSelectionNoChange ( /selection/common.js:984:5)
Pass
assert_equals(object "klmnop", object "klmnop", "The operation should not replace a registered Range")
    at assertSelectionNoChange ( /selection/common.js:988:5)
Passextend() forwards with range 7 [paras[1].firstChild, 2, paras[1].firstChild, 8] and point 79 [detachedXmlComment, 2]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(1, 1, "The operation should not add Range")
    at assertSelectionNoChange ( /selection/common.js:976:5)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "The operation should not update anchorNode")
    at assertSelectionNoChange ( /selection/common.js:978:5)
Pass
assert_equals(2, 2, "The operation should not update anchorOffset")
    at assertSelectionNoChange ( /selection/common.js:980:5)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "The operation should not update focusNode")
    at assertSelectionNoChange ( /selection/common.js:982:5)
Pass
assert_equals(8, 8, "The operation should not update focusOffset")
    at assertSelectionNoChange ( /selection/common.js:984:5)
Pass
assert_equals(object "klmnop", object "klmnop", "The operation should not replace a registered Range")
    at assertSelectionNoChange ( /selection/common.js:988:5)
Passextend() backwards with range 7 [paras[1].firstChild, 2, paras[1].firstChild, 8] and point 79 [detachedXmlComment, 2]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(1, 1, "The operation should not add Range")
    at assertSelectionNoChange ( /selection/common.js:976:5)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "The operation should not update anchorNode")
    at assertSelectionNoChange ( /selection/common.js:978:5)
Pass
assert_equals(8, 8, "The operation should not update anchorOffset")
    at assertSelectionNoChange ( /selection/common.js:980:5)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "The operation should not update focusNode")
    at assertSelectionNoChange ( /selection/common.js:982:5)
Pass
assert_equals(2, 2, "The operation should not update focusOffset")
    at assertSelectionNoChange ( /selection/common.js:984:5)
Pass
assert_equals(object "klmnop", object "klmnop", "The operation should not replace a registered Range")
    at assertSelectionNoChange ( /selection/common.js:988:5)
Passextend() forwards with range 7 [paras[1].firstChild, 2, paras[1].firstChild, 8] and point 80 [docfrag, 0]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(1, 1, "The operation should not add Range")
    at assertSelectionNoChange ( /selection/common.js:976:5)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "The operation should not update anchorNode")
    at assertSelectionNoChange ( /selection/common.js:978:5)
Pass
assert_equals(2, 2, "The operation should not update anchorOffset")
    at assertSelectionNoChange ( /selection/common.js:980:5)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "The operation should not update focusNode")
    at assertSelectionNoChange ( /selection/common.js:982:5)
Pass
assert_equals(8, 8, "The operation should not update focusOffset")
    at assertSelectionNoChange ( /selection/common.js:984:5)
Pass
assert_equals(object "klmnop", object "klmnop", "The operation should not replace a registered Range")
    at assertSelectionNoChange ( /selection/common.js:988:5)
Passextend() backwards with range 7 [paras[1].firstChild, 2, paras[1].firstChild, 8] and point 80 [docfrag, 0]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(1, 1, "The operation should not add Range")
    at assertSelectionNoChange ( /selection/common.js:976:5)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "The operation should not update anchorNode")
    at assertSelectionNoChange ( /selection/common.js:978:5)
Pass
assert_equals(8, 8, "The operation should not update anchorOffset")
    at assertSelectionNoChange ( /selection/common.js:980:5)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "The operation should not update focusNode")
    at assertSelectionNoChange ( /selection/common.js:982:5)
Pass
assert_equals(2, 2, "The operation should not update focusOffset")
    at assertSelectionNoChange ( /selection/common.js:984:5)
Pass
assert_equals(object "klmnop", object "klmnop", "The operation should not replace a registered Range")
    at assertSelectionNoChange ( /selection/common.js:988:5)
Passextend() forwards with range 7 [paras[1].firstChild, 2, paras[1].firstChild, 8] and point 81 [foreignDocfrag, 0]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(1, 1, "The operation should not add Range")
    at assertSelectionNoChange ( /selection/common.js:976:5)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "The operation should not update anchorNode")
    at assertSelectionNoChange ( /selection/common.js:978:5)
Pass
assert_equals(2, 2, "The operation should not update anchorOffset")
    at assertSelectionNoChange ( /selection/common.js:980:5)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "The operation should not update focusNode")
    at assertSelectionNoChange ( /selection/common.js:982:5)
Pass
assert_equals(8, 8, "The operation should not update focusOffset")
    at assertSelectionNoChange ( /selection/common.js:984:5)
Pass
assert_equals(object "klmnop", object "klmnop", "The operation should not replace a registered Range")
    at assertSelectionNoChange ( /selection/common.js:988:5)
Passextend() backwards with range 7 [paras[1].firstChild, 2, paras[1].firstChild, 8] and point 81 [foreignDocfrag, 0]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(1, 1, "The operation should not add Range")
    at assertSelectionNoChange ( /selection/common.js:976:5)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "The operation should not update anchorNode")
    at assertSelectionNoChange ( /selection/common.js:978:5)
Pass
assert_equals(8, 8, "The operation should not update anchorOffset")
    at assertSelectionNoChange ( /selection/common.js:980:5)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "The operation should not update focusNode")
    at assertSelectionNoChange ( /selection/common.js:982:5)
Pass
assert_equals(2, 2, "The operation should not update focusOffset")
    at assertSelectionNoChange ( /selection/common.js:984:5)
Pass
assert_equals(object "klmnop", object "klmnop", "The operation should not replace a registered Range")
    at assertSelectionNoChange ( /selection/common.js:988:5)
Passextend() forwards with range 7 [paras[1].firstChild, 2, paras[1].firstChild, 8] and point 82 [xmlDocfrag, 0]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(1, 1, "The operation should not add Range")
    at assertSelectionNoChange ( /selection/common.js:976:5)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "The operation should not update anchorNode")
    at assertSelectionNoChange ( /selection/common.js:978:5)
Pass
assert_equals(2, 2, "The operation should not update anchorOffset")
    at assertSelectionNoChange ( /selection/common.js:980:5)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "The operation should not update focusNode")
    at assertSelectionNoChange ( /selection/common.js:982:5)
Pass
assert_equals(8, 8, "The operation should not update focusOffset")
    at assertSelectionNoChange ( /selection/common.js:984:5)
Pass
assert_equals(object "klmnop", object "klmnop", "The operation should not replace a registered Range")
    at assertSelectionNoChange ( /selection/common.js:988:5)
Passextend() backwards with range 7 [paras[1].firstChild, 2, paras[1].firstChild, 8] and point 82 [xmlDocfrag, 0]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(1, 1, "The operation should not add Range")
    at assertSelectionNoChange ( /selection/common.js:976:5)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "The operation should not update anchorNode")
    at assertSelectionNoChange ( /selection/common.js:978:5)
Pass
assert_equals(8, 8, "The operation should not update anchorOffset")
    at assertSelectionNoChange ( /selection/common.js:980:5)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "The operation should not update focusNode")
    at assertSelectionNoChange ( /selection/common.js:982:5)
Pass
assert_equals(2, 2, "The operation should not update focusOffset")
    at assertSelectionNoChange ( /selection/common.js:984:5)
Pass
assert_equals(object "klmnop", object "klmnop", "The operation should not replace a registered Range")
    at assertSelectionNoChange ( /selection/common.js:988:5)
Passextend() forwards with range 7 [paras[1].firstChild, 2, paras[1].firstChild, 8] and point 83 [doctype, 0]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "Sanity check: startContainer must be correct")
    at testExtend ( /selection/extend.js:80:5)
Pass
assert_equals(2, 2, "Sanity check: startOffset must be correct")
    at testExtend ( /selection/extend.js:82:5)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "Sanity check: endContainer must be correct")
    at testExtend ( /selection/extend.js:84:5)
Pass
assert_equals(8, 8, "Sanity check: endOffset must be correct")
    at testExtend ( /selection/extend.js:86:5)
Pass
assert_throws_dom("INVALID_NODE_TYPE_ERR", function "function() {             selection.extend(node, offset);         }", "extend() to a doctype must throw InvalidNodeTypeError")
    at testExtend ( /selection/extend.js:104:9)
Passextend() backwards with range 7 [paras[1].firstChild, 2, paras[1].firstChild, 8] and point 83 [doctype, 0]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "Sanity check: startContainer must be correct")
    at testExtend ( /selection/extend.js:80:5)
Pass
assert_equals(2, 2, "Sanity check: startOffset must be correct")
    at testExtend ( /selection/extend.js:82:5)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "Sanity check: endContainer must be correct")
    at testExtend ( /selection/extend.js:84:5)
Pass
assert_equals(8, 8, "Sanity check: endOffset must be correct")
    at testExtend ( /selection/extend.js:86:5)
Pass
assert_throws_dom("INVALID_NODE_TYPE_ERR", function "function() {             selection.extend(node, offset);         }", "extend() to a doctype must throw InvalidNodeTypeError")
    at testExtend ( /selection/extend.js:104:9)
Passextend() forwards with range 7 [paras[1].firstChild, 2, paras[1].firstChild, 8] and point 84 [doctype, -17]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "Sanity check: startContainer must be correct")
    at testExtend ( /selection/extend.js:80:5)
Pass
assert_equals(2, 2, "Sanity check: startOffset must be correct")
    at testExtend ( /selection/extend.js:82:5)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "Sanity check: endContainer must be correct")
    at testExtend ( /selection/extend.js:84:5)
Pass
assert_equals(8, 8, "Sanity check: endOffset must be correct")
    at testExtend ( /selection/extend.js:86:5)
Pass
assert_throws_dom("INVALID_NODE_TYPE_ERR", function "function() {             selection.extend(node, offset);         }", "extend() to a doctype must throw InvalidNodeTypeError")
    at testExtend ( /selection/extend.js:104:9)
Passextend() backwards with range 7 [paras[1].firstChild, 2, paras[1].firstChild, 8] and point 84 [doctype, -17]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "Sanity check: startContainer must be correct")
    at testExtend ( /selection/extend.js:80:5)
Pass
assert_equals(2, 2, "Sanity check: startOffset must be correct")
    at testExtend ( /selection/extend.js:82:5)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "Sanity check: endContainer must be correct")
    at testExtend ( /selection/extend.js:84:5)
Pass
assert_equals(8, 8, "Sanity check: endOffset must be correct")
    at testExtend ( /selection/extend.js:86:5)
Pass
assert_throws_dom("INVALID_NODE_TYPE_ERR", function "function() {             selection.extend(node, offset);         }", "extend() to a doctype must throw InvalidNodeTypeError")
    at testExtend ( /selection/extend.js:104:9)
Passextend() forwards with range 7 [paras[1].firstChild, 2, paras[1].firstChild, 8] and point 85 [doctype, 1]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "Sanity check: startContainer must be correct")
    at testExtend ( /selection/extend.js:80:5)
Pass
assert_equals(2, 2, "Sanity check: startOffset must be correct")
    at testExtend ( /selection/extend.js:82:5)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "Sanity check: endContainer must be correct")
    at testExtend ( /selection/extend.js:84:5)
Pass
assert_equals(8, 8, "Sanity check: endOffset must be correct")
    at testExtend ( /selection/extend.js:86:5)
Pass
assert_throws_dom("INVALID_NODE_TYPE_ERR", function "function() {             selection.extend(node, offset);         }", "extend() to a doctype must throw InvalidNodeTypeError")
    at testExtend ( /selection/extend.js:104:9)
Passextend() backwards with range 7 [paras[1].firstChild, 2, paras[1].firstChild, 8] and point 85 [doctype, 1]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "Sanity check: startContainer must be correct")
    at testExtend ( /selection/extend.js:80:5)
Pass
assert_equals(2, 2, "Sanity check: startOffset must be correct")
    at testExtend ( /selection/extend.js:82:5)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "Sanity check: endContainer must be correct")
    at testExtend ( /selection/extend.js:84:5)
Pass
assert_equals(8, 8, "Sanity check: endOffset must be correct")
    at testExtend ( /selection/extend.js:86:5)
Pass
assert_throws_dom("INVALID_NODE_TYPE_ERR", function "function() {             selection.extend(node, offset);         }", "extend() to a doctype must throw InvalidNodeTypeError")
    at testExtend ( /selection/extend.js:104:9)
Passextend() forwards with range 7 [paras[1].firstChild, 2, paras[1].firstChild, 8] and point 86 [foreignDoctype, 0]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(1, 1, "The operation should not add Range")
    at assertSelectionNoChange ( /selection/common.js:976:5)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "The operation should not update anchorNode")
    at assertSelectionNoChange ( /selection/common.js:978:5)
Pass
assert_equals(2, 2, "The operation should not update anchorOffset")
    at assertSelectionNoChange ( /selection/common.js:980:5)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "The operation should not update focusNode")
    at assertSelectionNoChange ( /selection/common.js:982:5)
Pass
assert_equals(8, 8, "The operation should not update focusOffset")
    at assertSelectionNoChange ( /selection/common.js:984:5)
Pass
assert_equals(object "klmnop", object "klmnop", "The operation should not replace a registered Range")
    at assertSelectionNoChange ( /selection/common.js:988:5)
Passextend() backwards with range 7 [paras[1].firstChild, 2, paras[1].firstChild, 8] and point 86 [foreignDoctype, 0]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(1, 1, "The operation should not add Range")
    at assertSelectionNoChange ( /selection/common.js:976:5)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "The operation should not update anchorNode")
    at assertSelectionNoChange ( /selection/common.js:978:5)
Pass
assert_equals(8, 8, "The operation should not update anchorOffset")
    at assertSelectionNoChange ( /selection/common.js:980:5)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "The operation should not update focusNode")
    at assertSelectionNoChange ( /selection/common.js:982:5)
Pass
assert_equals(2, 2, "The operation should not update focusOffset")
    at assertSelectionNoChange ( /selection/common.js:984:5)
Pass
assert_equals(object "klmnop", object "klmnop", "The operation should not replace a registered Range")
    at assertSelectionNoChange ( /selection/common.js:988:5)
Passextend() forwards with range 7 [paras[1].firstChild, 2, paras[1].firstChild, 8] and point 87 [xmlDoctype, 0]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(1, 1, "The operation should not add Range")
    at assertSelectionNoChange ( /selection/common.js:976:5)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "The operation should not update anchorNode")
    at assertSelectionNoChange ( /selection/common.js:978:5)
Pass
assert_equals(2, 2, "The operation should not update anchorOffset")
    at assertSelectionNoChange ( /selection/common.js:980:5)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "The operation should not update focusNode")
    at assertSelectionNoChange ( /selection/common.js:982:5)
Pass
assert_equals(8, 8, "The operation should not update focusOffset")
    at assertSelectionNoChange ( /selection/common.js:984:5)
Pass
assert_equals(object "klmnop", object "klmnop", "The operation should not replace a registered Range")
    at assertSelectionNoChange ( /selection/common.js:988:5)
Passextend() backwards with range 7 [paras[1].firstChild, 2, paras[1].firstChild, 8] and point 87 [xmlDoctype, 0]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(1, 1, "The operation should not add Range")
    at assertSelectionNoChange ( /selection/common.js:976:5)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "The operation should not update anchorNode")
    at assertSelectionNoChange ( /selection/common.js:978:5)
Pass
assert_equals(8, 8, "The operation should not update anchorOffset")
    at assertSelectionNoChange ( /selection/common.js:980:5)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "The operation should not update focusNode")
    at assertSelectionNoChange ( /selection/common.js:982:5)
Pass
assert_equals(2, 2, "The operation should not update focusOffset")
    at assertSelectionNoChange ( /selection/common.js:984:5)
Pass
assert_equals(object "klmnop", object "klmnop", "The operation should not replace a registered Range")
    at assertSelectionNoChange ( /selection/common.js:988:5)
Passextend() forwards with range 8 [paras[1].firstChild, 2, paras[1].firstChild, 9] and point 0 [paras[0].firstChild, -1]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "Sanity check: startContainer must be correct")
    at testExtend ( /selection/extend.js:80:5)
Pass
assert_equals(2, 2, "Sanity check: startOffset must be correct")
    at testExtend ( /selection/extend.js:82:5)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "Sanity check: endContainer must be correct")
    at testExtend ( /selection/extend.js:84:5)
Pass
assert_equals(9, 9, "Sanity check: endOffset must be correct")
    at testExtend ( /selection/extend.js:86:5)
Pass
assert_throws_dom("INDEX_SIZE_ERR", function "function() {             selection.extend(node, offset);         }", "extend() to an offset that's greater than node length (17) must throw IndexSizeError")
    at testExtend ( /selection/extend.js:117:9)
Passextend() backwards with range 8 [paras[1].firstChild, 2, paras[1].firstChild, 9] and point 0 [paras[0].firstChild, -1]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "Sanity check: startContainer must be correct")
    at testExtend ( /selection/extend.js:80:5)
Pass
assert_equals(2, 2, "Sanity check: startOffset must be correct")
    at testExtend ( /selection/extend.js:82:5)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "Sanity check: endContainer must be correct")
    at testExtend ( /selection/extend.js:84:5)
Pass
assert_equals(9, 9, "Sanity check: endOffset must be correct")
    at testExtend ( /selection/extend.js:86:5)
Pass
assert_throws_dom("INDEX_SIZE_ERR", function "function() {             selection.extend(node, offset);         }", "extend() to an offset that's greater than node length (17) must throw IndexSizeError")
    at testExtend ( /selection/extend.js:117:9)
Passextend() forwards with range 8 [paras[1].firstChild, 2, paras[1].firstChild, 9] and point 1 [paras[0].firstChild, 0]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "Sanity check: startContainer must be correct")
    at testExtend ( /selection/extend.js:80:5)
Pass
assert_equals(2, 2, "Sanity check: startOffset must be correct")
    at testExtend ( /selection/extend.js:82:5)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "Sanity check: endContainer must be correct")
    at testExtend ( /selection/extend.js:84:5)
Pass
assert_equals(9, 9, "Sanity check: endOffset must be correct")
    at testExtend ( /selection/extend.js:86:5)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "anchorNode must not change if the node passed to extend() has the same root as the original range")
    at testExtend ( /selection/extend.js:145:9)
Pass
assert_equals(2, 2, "anchorOffset must not change if the node passed to extend() has the same root as the original range")
    at testExtend ( /selection/extend.js:147:9)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "focusNode must be the node passed to extend()")
    at testExtend ( /selection/extend.js:155:5)
Pass
assert_equals(0, 0, "focusOffset must be the offset passed to extend()")
    at testExtend ( /selection/extend.js:157:5)
Pass
assert_not_equals(object "Äb̈c̈d̈ëf̈g̈ḧ Ij", object "klmnop ", "extend() must replace any existing range with a new one, not mutate the existing one")
    at testExtend ( /selection/extend.js:159:5)
Passextend() backwards with range 8 [paras[1].firstChild, 2, paras[1].firstChild, 9] and point 1 [paras[0].firstChild, 0]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "Sanity check: startContainer must be correct")
    at testExtend ( /selection/extend.js:80:5)
Pass
assert_equals(2, 2, "Sanity check: startOffset must be correct")
    at testExtend ( /selection/extend.js:82:5)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "Sanity check: endContainer must be correct")
    at testExtend ( /selection/extend.js:84:5)
Pass
assert_equals(9, 9, "Sanity check: endOffset must be correct")
    at testExtend ( /selection/extend.js:86:5)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "anchorNode must not change if the node passed to extend() has the same root as the original range")
    at testExtend ( /selection/extend.js:145:9)
Pass
assert_equals(9, 9, "anchorOffset must not change if the node passed to extend() has the same root as the original range")
    at testExtend ( /selection/extend.js:147:9)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "focusNode must be the node passed to extend()")
    at testExtend ( /selection/extend.js:155:5)
Pass
assert_equals(0, 0, "focusOffset must be the offset passed to extend()")
    at testExtend ( /selection/extend.js:157:5)
Pass
assert_not_equals(object "Äb̈c̈d̈ëf̈g̈ḧ Ijklmnop ", object "klmnop ", "extend() must replace any existing range with a new one, not mutate the existing one")
    at testExtend ( /selection/extend.js:159:5)
Passextend() forwards with range 8 [paras[1].firstChild, 2, paras[1].firstChild, 9] and point 2 [paras[0].firstChild, 1]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "Sanity check: startContainer must be correct")
    at testExtend ( /selection/extend.js:80:5)
Pass
assert_equals(2, 2, "Sanity check: startOffset must be correct")
    at testExtend ( /selection/extend.js:82:5)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "Sanity check: endContainer must be correct")
    at testExtend ( /selection/extend.js:84:5)
Pass
assert_equals(9, 9, "Sanity check: endOffset must be correct")
    at testExtend ( /selection/extend.js:86:5)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "anchorNode must not change if the node passed to extend() has the same root as the original range")
    at testExtend ( /selection/extend.js:145:9)
Pass
assert_equals(2, 2, "anchorOffset must not change if the node passed to extend() has the same root as the original range")
    at testExtend ( /selection/extend.js:147:9)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "focusNode must be the node passed to extend()")
    at testExtend ( /selection/extend.js:155:5)
Pass
assert_equals(1, 1, "focusOffset must be the offset passed to extend()")
    at testExtend ( /selection/extend.js:157:5)
Pass
assert_not_equals(object "̈b̈c̈d̈ëf̈g̈ḧ Ij", object "klmnop ", "extend() must replace any existing range with a new one, not mutate the existing one")
    at testExtend ( /selection/extend.js:159:5)
Passextend() backwards with range 8 [paras[1].firstChild, 2, paras[1].firstChild, 9] and point 2 [paras[0].firstChild, 1]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "Sanity check: startContainer must be correct")
    at testExtend ( /selection/extend.js:80:5)
Pass
assert_equals(2, 2, "Sanity check: startOffset must be correct")
    at testExtend ( /selection/extend.js:82:5)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "Sanity check: endContainer must be correct")
    at testExtend ( /selection/extend.js:84:5)
Pass
assert_equals(9, 9, "Sanity check: endOffset must be correct")
    at testExtend ( /selection/extend.js:86:5)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "anchorNode must not change if the node passed to extend() has the same root as the original range")
    at testExtend ( /selection/extend.js:145:9)
Pass
assert_equals(9, 9, "anchorOffset must not change if the node passed to extend() has the same root as the original range")
    at testExtend ( /selection/extend.js:147:9)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "focusNode must be the node passed to extend()")
    at testExtend ( /selection/extend.js:155:5)
Pass
assert_equals(1, 1, "focusOffset must be the offset passed to extend()")
    at testExtend ( /selection/extend.js:157:5)
Pass
assert_not_equals(object "̈b̈c̈d̈ëf̈g̈ḧ Ijklmnop ", object "klmnop ", "extend() must replace any existing range with a new one, not mutate the existing one")
    at testExtend ( /selection/extend.js:159:5)
Passextend() forwards with range 8 [paras[1].firstChild, 2, paras[1].firstChild, 9] and point 3 [paras[0].firstChild, 2]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "Sanity check: startContainer must be correct")
    at testExtend ( /selection/extend.js:80:5)
Pass
assert_equals(2, 2, "Sanity check: startOffset must be correct")
    at testExtend ( /selection/extend.js:82:5)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "Sanity check: endContainer must be correct")
    at testExtend ( /selection/extend.js:84:5)
Pass
assert_equals(9, 9, "Sanity check: endOffset must be correct")
    at testExtend ( /selection/extend.js:86:5)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "anchorNode must not change if the node passed to extend() has the same root as the original range")
    at testExtend ( /selection/extend.js:145:9)
Pass
assert_equals(2, 2, "anchorOffset must not change if the node passed to extend() has the same root as the original range")
    at testExtend ( /selection/extend.js:147:9)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "focusNode must be the node passed to extend()")
    at testExtend ( /selection/extend.js:155:5)
Pass
assert_equals(2, 2, "focusOffset must be the offset passed to extend()")
    at testExtend ( /selection/extend.js:157:5)
Pass
assert_not_equals(object "b̈c̈d̈ëf̈g̈ḧ Ij", object "klmnop ", "extend() must replace any existing range with a new one, not mutate the existing one")
    at testExtend ( /selection/extend.js:159:5)
Passextend() backwards with range 8 [paras[1].firstChild, 2, paras[1].firstChild, 9] and point 3 [paras[0].firstChild, 2]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "Sanity check: startContainer must be correct")
    at testExtend ( /selection/extend.js:80:5)
Pass
assert_equals(2, 2, "Sanity check: startOffset must be correct")
    at testExtend ( /selection/extend.js:82:5)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "Sanity check: endContainer must be correct")
    at testExtend ( /selection/extend.js:84:5)
Pass
assert_equals(9, 9, "Sanity check: endOffset must be correct")
    at testExtend ( /selection/extend.js:86:5)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "anchorNode must not change if the node passed to extend() has the same root as the original range")
    at testExtend ( /selection/extend.js:145:9)
Pass
assert_equals(9, 9, "anchorOffset must not change if the node passed to extend() has the same root as the original range")
    at testExtend ( /selection/extend.js:147:9)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "focusNode must be the node passed to extend()")
    at testExtend ( /selection/extend.js:155:5)
Pass
assert_equals(2, 2, "focusOffset must be the offset passed to extend()")
    at testExtend ( /selection/extend.js:157:5)
Pass
assert_not_equals(object "b̈c̈d̈ëf̈g̈ḧ Ijklmnop ", object "klmnop ", "extend() must replace any existing range with a new one, not mutate the existing one")
    at testExtend ( /selection/extend.js:159:5)
Passextend() forwards with range 8 [paras[1].firstChild, 2, paras[1].firstChild, 9] and point 4 [paras[0].firstChild, 8]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "Sanity check: startContainer must be correct")
    at testExtend ( /selection/extend.js:80:5)
Pass
assert_equals(2, 2, "Sanity check: startOffset must be correct")
    at testExtend ( /selection/extend.js:82:5)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "Sanity check: endContainer must be correct")
    at testExtend ( /selection/extend.js:84:5)
Pass
assert_equals(9, 9, "Sanity check: endOffset must be correct")
    at testExtend ( /selection/extend.js:86:5)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "anchorNode must not change if the node passed to extend() has the same root as the original range")
    at testExtend ( /selection/extend.js:145:9)
Pass
assert_equals(2, 2, "anchorOffset must not change if the node passed to extend() has the same root as the original range")
    at testExtend ( /selection/extend.js:147:9)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "focusNode must be the node passed to extend()")
    at testExtend ( /selection/extend.js:155:5)
Pass
assert_equals(8, 8, "focusOffset must be the offset passed to extend()")
    at testExtend ( /selection/extend.js:157:5)
Pass
assert_not_equals(object "ëf̈g̈ḧ Ij", object "klmnop ", "extend() must replace any existing range with a new one, not mutate the existing one")
    at testExtend ( /selection/extend.js:159:5)
Passextend() backwards with range 8 [paras[1].firstChild, 2, paras[1].firstChild, 9] and point 4 [paras[0].firstChild, 8]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "Sanity check: startContainer must be correct")
    at testExtend ( /selection/extend.js:80:5)
Pass
assert_equals(2, 2, "Sanity check: startOffset must be correct")
    at testExtend ( /selection/extend.js:82:5)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "Sanity check: endContainer must be correct")
    at testExtend ( /selection/extend.js:84:5)
Pass
assert_equals(9, 9, "Sanity check: endOffset must be correct")
    at testExtend ( /selection/extend.js:86:5)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "anchorNode must not change if the node passed to extend() has the same root as the original range")
    at testExtend ( /selection/extend.js:145:9)
Pass
assert_equals(9, 9, "anchorOffset must not change if the node passed to extend() has the same root as the original range")
    at testExtend ( /selection/extend.js:147:9)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "focusNode must be the node passed to extend()")
    at testExtend ( /selection/extend.js:155:5)
Pass
assert_equals(8, 8, "focusOffset must be the offset passed to extend()")
    at testExtend ( /selection/extend.js:157:5)
Pass
assert_not_equals(object "ëf̈g̈ḧ Ijklmnop ", object "klmnop ", "extend() must replace any existing range with a new one, not mutate the existing one")
    at testExtend ( /selection/extend.js:159:5)
Passextend() forwards with range 8 [paras[1].firstChild, 2, paras[1].firstChild, 9] and point 5 [paras[0].firstChild, 9]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "Sanity check: startContainer must be correct")
    at testExtend ( /selection/extend.js:80:5)
Pass
assert_equals(2, 2, "Sanity check: startOffset must be correct")
    at testExtend ( /selection/extend.js:82:5)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "Sanity check: endContainer must be correct")
    at testExtend ( /selection/extend.js:84:5)
Pass
assert_equals(9, 9, "Sanity check: endOffset must be correct")
    at testExtend ( /selection/extend.js:86:5)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "anchorNode must not change if the node passed to extend() has the same root as the original range")
    at testExtend ( /selection/extend.js:145:9)
Pass
assert_equals(2, 2, "anchorOffset must not change if the node passed to extend() has the same root as the original range")
    at testExtend ( /selection/extend.js:147:9)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "focusNode must be the node passed to extend()")
    at testExtend ( /selection/extend.js:155:5)
Pass
assert_equals(9, 9, "focusOffset must be the offset passed to extend()")
    at testExtend ( /selection/extend.js:157:5)
Pass
assert_not_equals(object "̈f̈g̈ḧ Ij", object "klmnop ", "extend() must replace any existing range with a new one, not mutate the existing one")
    at testExtend ( /selection/extend.js:159:5)
Passextend() backwards with range 8 [paras[1].firstChild, 2, paras[1].firstChild, 9] and point 5 [paras[0].firstChild, 9]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "Sanity check: startContainer must be correct")
    at testExtend ( /selection/extend.js:80:5)
Pass
assert_equals(2, 2, "Sanity check: startOffset must be correct")
    at testExtend ( /selection/extend.js:82:5)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "Sanity check: endContainer must be correct")
    at testExtend ( /selection/extend.js:84:5)
Pass
assert_equals(9, 9, "Sanity check: endOffset must be correct")
    at testExtend ( /selection/extend.js:86:5)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "anchorNode must not change if the node passed to extend() has the same root as the original range")
    at testExtend ( /selection/extend.js:145:9)
Pass
assert_equals(9, 9, "anchorOffset must not change if the node passed to extend() has the same root as the original range")
    at testExtend ( /selection/extend.js:147:9)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "focusNode must be the node passed to extend()")
    at testExtend ( /selection/extend.js:155:5)
Pass
assert_equals(9, 9, "focusOffset must be the offset passed to extend()")
    at testExtend ( /selection/extend.js:157:5)
Pass
assert_not_equals(object "̈f̈g̈ḧ Ijklmnop ", object "klmnop ", "extend() must replace any existing range with a new one, not mutate the existing one")
    at testExtend ( /selection/extend.js:159:5)
Passextend() forwards with range 8 [paras[1].firstChild, 2, paras[1].firstChild, 9] and point 6 [paras[0].firstChild, 10]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "Sanity check: startContainer must be correct")
    at testExtend ( /selection/extend.js:80:5)
Pass
assert_equals(2, 2, "Sanity check: startOffset must be correct")
    at testExtend ( /selection/extend.js:82:5)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "Sanity check: endContainer must be correct")
    at testExtend ( /selection/extend.js:84:5)
Pass
assert_equals(9, 9, "Sanity check: endOffset must be correct")
    at testExtend ( /selection/extend.js:86:5)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "anchorNode must not change if the node passed to extend() has the same root as the original range")
    at testExtend ( /selection/extend.js:145:9)
Pass
assert_equals(2, 2, "anchorOffset must not change if the node passed to extend() has the same root as the original range")
    at testExtend ( /selection/extend.js:147:9)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "focusNode must be the node passed to extend()")
    at testExtend ( /selection/extend.js:155:5)
Pass
assert_equals(10, 10, "focusOffset must be the offset passed to extend()")
    at testExtend ( /selection/extend.js:157:5)
Pass
assert_not_equals(object "f̈g̈ḧ Ij", object "klmnop ", "extend() must replace any existing range with a new one, not mutate the existing one")
    at testExtend ( /selection/extend.js:159:5)
Passextend() backwards with range 8 [paras[1].firstChild, 2, paras[1].firstChild, 9] and point 6 [paras[0].firstChild, 10]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "Sanity check: startContainer must be correct")
    at testExtend ( /selection/extend.js:80:5)
Pass
assert_equals(2, 2, "Sanity check: startOffset must be correct")
    at testExtend ( /selection/extend.js:82:5)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "Sanity check: endContainer must be correct")
    at testExtend ( /selection/extend.js:84:5)
Pass
assert_equals(9, 9, "Sanity check: endOffset must be correct")
    at testExtend ( /selection/extend.js:86:5)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "anchorNode must not change if the node passed to extend() has the same root as the original range")
    at testExtend ( /selection/extend.js:145:9)
Pass
assert_equals(9, 9, "anchorOffset must not change if the node passed to extend() has the same root as the original range")
    at testExtend ( /selection/extend.js:147:9)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "focusNode must be the node passed to extend()")
    at testExtend ( /selection/extend.js:155:5)
Pass
assert_equals(10, 10, "focusOffset must be the offset passed to extend()")
    at testExtend ( /selection/extend.js:157:5)
Pass
assert_not_equals(object "f̈g̈ḧ Ijklmnop ", object "klmnop ", "extend() must replace any existing range with a new one, not mutate the existing one")
    at testExtend ( /selection/extend.js:159:5)
Passextend() forwards with range 8 [paras[1].firstChild, 2, paras[1].firstChild, 9] and point 7 [paras[0].firstChild, 65535]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "Sanity check: startContainer must be correct")
    at testExtend ( /selection/extend.js:80:5)
Pass
assert_equals(2, 2, "Sanity check: startOffset must be correct")
    at testExtend ( /selection/extend.js:82:5)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "Sanity check: endContainer must be correct")
    at testExtend ( /selection/extend.js:84:5)
Pass
assert_equals(9, 9, "Sanity check: endOffset must be correct")
    at testExtend ( /selection/extend.js:86:5)
Pass
assert_throws_dom("INDEX_SIZE_ERR", function "function() {             selection.extend(node, offset);         }", "extend() to an offset that's greater than node length (17) must throw IndexSizeError")
    at testExtend ( /selection/extend.js:117:9)
Passextend() backwards with range 8 [paras[1].firstChild, 2, paras[1].firstChild, 9] and point 7 [paras[0].firstChild, 65535]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "Sanity check: startContainer must be correct")
    at testExtend ( /selection/extend.js:80:5)
Pass
assert_equals(2, 2, "Sanity check: startOffset must be correct")
    at testExtend ( /selection/extend.js:82:5)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "Sanity check: endContainer must be correct")
    at testExtend ( /selection/extend.js:84:5)
Pass
assert_equals(9, 9, "Sanity check: endOffset must be correct")
    at testExtend ( /selection/extend.js:86:5)
Pass
assert_throws_dom("INDEX_SIZE_ERR", function "function() {             selection.extend(node, offset);         }", "extend() to an offset that's greater than node length (17) must throw IndexSizeError")
    at testExtend ( /selection/extend.js:117:9)
Passextend() forwards with range 8 [paras[1].firstChild, 2, paras[1].firstChild, 9] and point 8 [paras[1].firstChild, -1]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "Sanity check: startContainer must be correct")
    at testExtend ( /selection/extend.js:80:5)
Pass
assert_equals(2, 2, "Sanity check: startOffset must be correct")
    at testExtend ( /selection/extend.js:82:5)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "Sanity check: endContainer must be correct")
    at testExtend ( /selection/extend.js:84:5)
Pass
assert_equals(9, 9, "Sanity check: endOffset must be correct")
    at testExtend ( /selection/extend.js:86:5)
Pass
assert_throws_dom("INDEX_SIZE_ERR", function "function() {             selection.extend(node, offset);         }", "extend() to an offset that's greater than node length (9) must throw IndexSizeError")
    at testExtend ( /selection/extend.js:117:9)
Passextend() backwards with range 8 [paras[1].firstChild, 2, paras[1].firstChild, 9] and point 8 [paras[1].firstChild, -1]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "Sanity check: startContainer must be correct")
    at testExtend ( /selection/extend.js:80:5)
Pass
assert_equals(2, 2, "Sanity check: startOffset must be correct")
    at testExtend ( /selection/extend.js:82:5)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "Sanity check: endContainer must be correct")
    at testExtend ( /selection/extend.js:84:5)
Pass
assert_equals(9, 9, "Sanity check: endOffset must be correct")
    at testExtend ( /selection/extend.js:86:5)
Pass
assert_throws_dom("INDEX_SIZE_ERR", function "function() {             selection.extend(node, offset);         }", "extend() to an offset that's greater than node length (9) must throw IndexSizeError")
    at testExtend ( /selection/extend.js:117:9)
Passextend() forwards with range 8 [paras[1].firstChild, 2, paras[1].firstChild, 9] and point 9 [paras[1].firstChild, 0]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "Sanity check: startContainer must be correct")
    at testExtend ( /selection/extend.js:80:5)
Pass
assert_equals(2, 2, "Sanity check: startOffset must be correct")
    at testExtend ( /selection/extend.js:82:5)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "Sanity check: endContainer must be correct")
    at testExtend ( /selection/extend.js:84:5)
Pass
assert_equals(9, 9, "Sanity check: endOffset must be correct")
    at testExtend ( /selection/extend.js:86:5)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "anchorNode must not change if the node passed to extend() has the same root as the original range")
    at testExtend ( /selection/extend.js:145:9)
Pass
assert_equals(2, 2, "anchorOffset must not change if the node passed to extend() has the same root as the original range")
    at testExtend ( /selection/extend.js:147:9)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "focusNode must be the node passed to extend()")
    at testExtend ( /selection/extend.js:155:5)
Pass
assert_equals(0, 0, "focusOffset must be the offset passed to extend()")
    at testExtend ( /selection/extend.js:157:5)
Pass
assert_not_equals(object "Ij", object "klmnop ", "extend() must replace any existing range with a new one, not mutate the existing one")
    at testExtend ( /selection/extend.js:159:5)
Passextend() backwards with range 8 [paras[1].firstChild, 2, paras[1].firstChild, 9] and point 9 [paras[1].firstChild, 0]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "Sanity check: startContainer must be correct")
    at testExtend ( /selection/extend.js:80:5)
Pass
assert_equals(2, 2, "Sanity check: startOffset must be correct")
    at testExtend ( /selection/extend.js:82:5)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "Sanity check: endContainer must be correct")
    at testExtend ( /selection/extend.js:84:5)
Pass
assert_equals(9, 9, "Sanity check: endOffset must be correct")
    at testExtend ( /selection/extend.js:86:5)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "anchorNode must not change if the node passed to extend() has the same root as the original range")
    at testExtend ( /selection/extend.js:145:9)
Pass
assert_equals(9, 9, "anchorOffset must not change if the node passed to extend() has the same root as the original range")
    at testExtend ( /selection/extend.js:147:9)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "focusNode must be the node passed to extend()")
    at testExtend ( /selection/extend.js:155:5)
Pass
assert_equals(0, 0, "focusOffset must be the offset passed to extend()")
    at testExtend ( /selection/extend.js:157:5)
Pass
assert_not_equals(object "Ijklmnop ", object "klmnop ", "extend() must replace any existing range with a new one, not mutate the existing one")
    at testExtend ( /selection/extend.js:159:5)
Passextend() forwards with range 8 [paras[1].firstChild, 2, paras[1].firstChild, 9] and point 10 [paras[1].firstChild, 1]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "Sanity check: startContainer must be correct")
    at testExtend ( /selection/extend.js:80:5)
Pass
assert_equals(2, 2, "Sanity check: startOffset must be correct")
    at testExtend ( /selection/extend.js:82:5)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "Sanity check: endContainer must be correct")
    at testExtend ( /selection/extend.js:84:5)
Pass
assert_equals(9, 9, "Sanity check: endOffset must be correct")
    at testExtend ( /selection/extend.js:86:5)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "anchorNode must not change if the node passed to extend() has the same root as the original range")
    at testExtend ( /selection/extend.js:145:9)
Pass
assert_equals(2, 2, "anchorOffset must not change if the node passed to extend() has the same root as the original range")
    at testExtend ( /selection/extend.js:147:9)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "focusNode must be the node passed to extend()")
    at testExtend ( /selection/extend.js:155:5)
Pass
assert_equals(1, 1, "focusOffset must be the offset passed to extend()")
    at testExtend ( /selection/extend.js:157:5)
Pass
assert_not_equals(object "j", object "klmnop ", "extend() must replace any existing range with a new one, not mutate the existing one")
    at testExtend ( /selection/extend.js:159:5)
Passextend() backwards with range 8 [paras[1].firstChild, 2, paras[1].firstChild, 9] and point 10 [paras[1].firstChild, 1]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "Sanity check: startContainer must be correct")
    at testExtend ( /selection/extend.js:80:5)
Pass
assert_equals(2, 2, "Sanity check: startOffset must be correct")
    at testExtend ( /selection/extend.js:82:5)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "Sanity check: endContainer must be correct")
    at testExtend ( /selection/extend.js:84:5)
Pass
assert_equals(9, 9, "Sanity check: endOffset must be correct")
    at testExtend ( /selection/extend.js:86:5)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "anchorNode must not change if the node passed to extend() has the same root as the original range")
    at testExtend ( /selection/extend.js:145:9)
Pass
assert_equals(9, 9, "anchorOffset must not change if the node passed to extend() has the same root as the original range")
    at testExtend ( /selection/extend.js:147:9)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "focusNode must be the node passed to extend()")
    at testExtend ( /selection/extend.js:155:5)
Pass
assert_equals(1, 1, "focusOffset must be the offset passed to extend()")
    at testExtend ( /selection/extend.js:157:5)
Pass
assert_not_equals(object "jklmnop ", object "klmnop ", "extend() must replace any existing range with a new one, not mutate the existing one")
    at testExtend ( /selection/extend.js:159:5)
Passextend() forwards with range 8 [paras[1].firstChild, 2, paras[1].firstChild, 9] and point 11 [paras[1].firstChild, 2]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "Sanity check: startContainer must be correct")
    at testExtend ( /selection/extend.js:80:5)
Pass
assert_equals(2, 2, "Sanity check: startOffset must be correct")
    at testExtend ( /selection/extend.js:82:5)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "Sanity check: endContainer must be correct")
    at testExtend ( /selection/extend.js:84:5)
Pass
assert_equals(9, 9, "Sanity check: endOffset must be correct")
    at testExtend ( /selection/extend.js:86:5)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "anchorNode must not change if the node passed to extend() has the same root as the original range")
    at testExtend ( /selection/extend.js:145:9)
Pass
assert_equals(2, 2, "anchorOffset must not change if the node passed to extend() has the same root as the original range")
    at testExtend ( /selection/extend.js:147:9)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "focusNode must be the node passed to extend()")
    at testExtend ( /selection/extend.js:155:5)
Pass
assert_equals(2, 2, "focusOffset must be the offset passed to extend()")
    at testExtend ( /selection/extend.js:157:5)
Pass
assert_not_equals(object "", object "klmnop ", "extend() must replace any existing range with a new one, not mutate the existing one")
    at testExtend ( /selection/extend.js:159:5)
Passextend() backwards with range 8 [paras[1].firstChild, 2, paras[1].firstChild, 9] and point 11 [paras[1].firstChild, 2]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "Sanity check: startContainer must be correct")
    at testExtend ( /selection/extend.js:80:5)
Pass
assert_equals(2, 2, "Sanity check: startOffset must be correct")
    at testExtend ( /selection/extend.js:82:5)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "Sanity check: endContainer must be correct")
    at testExtend ( /selection/extend.js:84:5)
Pass
assert_equals(9, 9, "Sanity check: endOffset must be correct")
    at testExtend ( /selection/extend.js:86:5)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "anchorNode must not change if the node passed to extend() has the same root as the original range")
    at testExtend ( /selection/extend.js:145:9)
Pass
assert_equals(9, 9, "anchorOffset must not change if the node passed to extend() has the same root as the original range")
    at testExtend ( /selection/extend.js:147:9)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "focusNode must be the node passed to extend()")
    at testExtend ( /selection/extend.js:155:5)
Pass
assert_equals(2, 2, "focusOffset must be the offset passed to extend()")
    at testExtend ( /selection/extend.js:157:5)
Pass
assert_not_equals(object "klmnop ", object "klmnop ", "extend() must replace any existing range with a new one, not mutate the existing one")
    at testExtend ( /selection/extend.js:159:5)
Passextend() forwards with range 8 [paras[1].firstChild, 2, paras[1].firstChild, 9] and point 12 [paras[1].firstChild, 8]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "Sanity check: startContainer must be correct")
    at testExtend ( /selection/extend.js:80:5)
Pass
assert_equals(2, 2, "Sanity check: startOffset must be correct")
    at testExtend ( /selection/extend.js:82:5)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "Sanity check: endContainer must be correct")
    at testExtend ( /selection/extend.js:84:5)
Pass
assert_equals(9, 9, "Sanity check: endOffset must be correct")
    at testExtend ( /selection/extend.js:86:5)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "anchorNode must not change if the node passed to extend() has the same root as the original range")
    at testExtend ( /selection/extend.js:145:9)
Pass
assert_equals(2, 2, "anchorOffset must not change if the node passed to extend() has the same root as the original range")
    at testExtend ( /selection/extend.js:147:9)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "focusNode must be the node passed to extend()")
    at testExtend ( /selection/extend.js:155:5)
Pass
assert_equals(8, 8, "focusOffset must be the offset passed to extend()")
    at testExtend ( /selection/extend.js:157:5)
Pass
assert_not_equals(object "klmnop", object "klmnop ", "extend() must replace any existing range with a new one, not mutate the existing one")
    at testExtend ( /selection/extend.js:159:5)
Passextend() backwards with range 8 [paras[1].firstChild, 2, paras[1].firstChild, 9] and point 12 [paras[1].firstChild, 8]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "Sanity check: startContainer must be correct")
    at testExtend ( /selection/extend.js:80:5)
Pass
assert_equals(2, 2, "Sanity check: startOffset must be correct")
    at testExtend ( /selection/extend.js:82:5)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "Sanity check: endContainer must be correct")
    at testExtend ( /selection/extend.js:84:5)
Pass
assert_equals(9, 9, "Sanity check: endOffset must be correct")
    at testExtend ( /selection/extend.js:86:5)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "anchorNode must not change if the node passed to extend() has the same root as the original range")
    at testExtend ( /selection/extend.js:145:9)
Pass
assert_equals(9, 9, "anchorOffset must not change if the node passed to extend() has the same root as the original range")
    at testExtend ( /selection/extend.js:147:9)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "focusNode must be the node passed to extend()")
    at testExtend ( /selection/extend.js:155:5)
Pass
assert_equals(8, 8, "focusOffset must be the offset passed to extend()")
    at testExtend ( /selection/extend.js:157:5)
Pass
assert_not_equals(object " ", object "klmnop ", "extend() must replace any existing range with a new one, not mutate the existing one")
    at testExtend ( /selection/extend.js:159:5)
Passextend() forwards with range 8 [paras[1].firstChild, 2, paras[1].firstChild, 9] and point 13 [paras[1].firstChild, 9]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "Sanity check: startContainer must be correct")
    at testExtend ( /selection/extend.js:80:5)
Pass
assert_equals(2, 2, "Sanity check: startOffset must be correct")
    at testExtend ( /selection/extend.js:82:5)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "Sanity check: endContainer must be correct")
    at testExtend ( /selection/extend.js:84:5)
Pass
assert_equals(9, 9, "Sanity check: endOffset must be correct")
    at testExtend ( /selection/extend.js:86:5)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "anchorNode must not change if the node passed to extend() has the same root as the original range")
    at testExtend ( /selection/extend.js:145:9)
Pass
assert_equals(2, 2, "anchorOffset must not change if the node passed to extend() has the same root as the original range")
    at testExtend ( /selection/extend.js:147:9)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "focusNode must be the node passed to extend()")
    at testExtend ( /selection/extend.js:155:5)
Pass
assert_equals(9, 9, "focusOffset must be the offset passed to extend()")
    at testExtend ( /selection/extend.js:157:5)
Pass
assert_not_equals(object "klmnop ", object "klmnop ", "extend() must replace any existing range with a new one, not mutate the existing one")
    at testExtend ( /selection/extend.js:159:5)
Passextend() backwards with range 8 [paras[1].firstChild, 2, paras[1].firstChild, 9] and point 13 [paras[1].firstChild, 9]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "Sanity check: startContainer must be correct")
    at testExtend ( /selection/extend.js:80:5)
Pass
assert_equals(2, 2, "Sanity check: startOffset must be correct")
    at testExtend ( /selection/extend.js:82:5)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "Sanity check: endContainer must be correct")
    at testExtend ( /selection/extend.js:84:5)
Pass
assert_equals(9, 9, "Sanity check: endOffset must be correct")
    at testExtend ( /selection/extend.js:86:5)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "anchorNode must not change if the node passed to extend() has the same root as the original range")
    at testExtend ( /selection/extend.js:145:9)
Pass
assert_equals(9, 9, "anchorOffset must not change if the node passed to extend() has the same root as the original range")
    at testExtend ( /selection/extend.js:147:9)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "focusNode must be the node passed to extend()")
    at testExtend ( /selection/extend.js:155:5)
Pass
assert_equals(9, 9, "focusOffset must be the offset passed to extend()")
    at testExtend ( /selection/extend.js:157:5)
Pass
assert_not_equals(object "", object "klmnop ", "extend() must replace any existing range with a new one, not mutate the existing one")
    at testExtend ( /selection/extend.js:159:5)
Passextend() forwards with range 8 [paras[1].firstChild, 2, paras[1].firstChild, 9] and point 14 [paras[1].firstChild, 10]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "Sanity check: startContainer must be correct")
    at testExtend ( /selection/extend.js:80:5)
Pass
assert_equals(2, 2, "Sanity check: startOffset must be correct")
    at testExtend ( /selection/extend.js:82:5)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "Sanity check: endContainer must be correct")
    at testExtend ( /selection/extend.js:84:5)
Pass
assert_equals(9, 9, "Sanity check: endOffset must be correct")
    at testExtend ( /selection/extend.js:86:5)
Pass
assert_throws_dom("INDEX_SIZE_ERR", function "function() {             selection.extend(node, offset);         }", "extend() to an offset that's greater than node length (9) must throw IndexSizeError")
    at testExtend ( /selection/extend.js:117:9)
Passextend() backwards with range 8 [paras[1].firstChild, 2, paras[1].firstChild, 9] and point 14 [paras[1].firstChild, 10]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "Sanity check: startContainer must be correct")
    at testExtend ( /selection/extend.js:80:5)
Pass
assert_equals(2, 2, "Sanity check: startOffset must be correct")
    at testExtend ( /selection/extend.js:82:5)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "Sanity check: endContainer must be correct")
    at testExtend ( /selection/extend.js:84:5)
Pass
assert_equals(9, 9, "Sanity check: endOffset must be correct")
    at testExtend ( /selection/extend.js:86:5)
Pass
assert_throws_dom("INDEX_SIZE_ERR", function "function() {             selection.extend(node, offset);         }", "extend() to an offset that's greater than node length (9) must throw IndexSizeError")
    at testExtend ( /selection/extend.js:117:9)
Passextend() forwards with range 8 [paras[1].firstChild, 2, paras[1].firstChild, 9] and point 15 [paras[1].firstChild, 65535]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "Sanity check: startContainer must be correct")
    at testExtend ( /selection/extend.js:80:5)
Pass
assert_equals(2, 2, "Sanity check: startOffset must be correct")
    at testExtend ( /selection/extend.js:82:5)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "Sanity check: endContainer must be correct")
    at testExtend ( /selection/extend.js:84:5)
Pass
assert_equals(9, 9, "Sanity check: endOffset must be correct")
    at testExtend ( /selection/extend.js:86:5)
Pass
assert_throws_dom("INDEX_SIZE_ERR", function "function() {             selection.extend(node, offset);         }", "extend() to an offset that's greater than node length (9) must throw IndexSizeError")
    at testExtend ( /selection/extend.js:117:9)
Passextend() backwards with range 8 [paras[1].firstChild, 2, paras[1].firstChild, 9] and point 15 [paras[1].firstChild, 65535]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "Sanity check: startContainer must be correct")
    at testExtend ( /selection/extend.js:80:5)
Pass
assert_equals(2, 2, "Sanity check: startOffset must be correct")
    at testExtend ( /selection/extend.js:82:5)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "Sanity check: endContainer must be correct")
    at testExtend ( /selection/extend.js:84:5)
Pass
assert_equals(9, 9, "Sanity check: endOffset must be correct")
    at testExtend ( /selection/extend.js:86:5)
Pass
assert_throws_dom("INDEX_SIZE_ERR", function "function() {             selection.extend(node, offset);         }", "extend() to an offset that's greater than node length (9) must throw IndexSizeError")
    at testExtend ( /selection/extend.js:117:9)
Passextend() forwards with range 8 [paras[1].firstChild, 2, paras[1].firstChild, 9] and point 16 [detachedPara1.firstChild, 0]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(1, 1, "The operation should not add Range")
    at assertSelectionNoChange ( /selection/common.js:976:5)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "The operation should not update anchorNode")
    at assertSelectionNoChange ( /selection/common.js:978:5)
Pass
assert_equals(2, 2, "The operation should not update anchorOffset")
    at assertSelectionNoChange ( /selection/common.js:980:5)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "The operation should not update focusNode")
    at assertSelectionNoChange ( /selection/common.js:982:5)
Pass
assert_equals(9, 9, "The operation should not update focusOffset")
    at assertSelectionNoChange ( /selection/common.js:984:5)
Pass
assert_equals(object "klmnop ", object "klmnop ", "The operation should not replace a registered Range")
    at assertSelectionNoChange ( /selection/common.js:988:5)
Passextend() backwards with range 8 [paras[1].firstChild, 2, paras[1].firstChild, 9] and point 16 [detachedPara1.firstChild, 0]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(1, 1, "The operation should not add Range")
    at assertSelectionNoChange ( /selection/common.js:976:5)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "The operation should not update anchorNode")
    at assertSelectionNoChange ( /selection/common.js:978:5)
Pass
assert_equals(9, 9, "The operation should not update anchorOffset")
    at assertSelectionNoChange ( /selection/common.js:980:5)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "The operation should not update focusNode")
    at assertSelectionNoChange ( /selection/common.js:982:5)
Pass
assert_equals(2, 2, "The operation should not update focusOffset")
    at assertSelectionNoChange ( /selection/common.js:984:5)
Pass
assert_equals(object "klmnop ", object "klmnop ", "The operation should not replace a registered Range")
    at assertSelectionNoChange ( /selection/common.js:988:5)
Passextend() forwards with range 8 [paras[1].firstChild, 2, paras[1].firstChild, 9] and point 17 [detachedPara1.firstChild, 1]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(1, 1, "The operation should not add Range")
    at assertSelectionNoChange ( /selection/common.js:976:5)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "The operation should not update anchorNode")
    at assertSelectionNoChange ( /selection/common.js:978:5)
Pass
assert_equals(2, 2, "The operation should not update anchorOffset")
    at assertSelectionNoChange ( /selection/common.js:980:5)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "The operation should not update focusNode")
    at assertSelectionNoChange ( /selection/common.js:982:5)
Pass
assert_equals(9, 9, "The operation should not update focusOffset")
    at assertSelectionNoChange ( /selection/common.js:984:5)
Pass
assert_equals(object "klmnop ", object "klmnop ", "The operation should not replace a registered Range")
    at assertSelectionNoChange ( /selection/common.js:988:5)
Passextend() backwards with range 8 [paras[1].firstChild, 2, paras[1].firstChild, 9] and point 17 [detachedPara1.firstChild, 1]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(1, 1, "The operation should not add Range")
    at assertSelectionNoChange ( /selection/common.js:976:5)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "The operation should not update anchorNode")
    at assertSelectionNoChange ( /selection/common.js:978:5)
Pass
assert_equals(9, 9, "The operation should not update anchorOffset")
    at assertSelectionNoChange ( /selection/common.js:980:5)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "The operation should not update focusNode")
    at assertSelectionNoChange ( /selection/common.js:982:5)
Pass
assert_equals(2, 2, "The operation should not update focusOffset")
    at assertSelectionNoChange ( /selection/common.js:984:5)
Pass
assert_equals(object "klmnop ", object "klmnop ", "The operation should not replace a registered Range")
    at assertSelectionNoChange ( /selection/common.js:988:5)
Passextend() forwards with range 8 [paras[1].firstChild, 2, paras[1].firstChild, 9] and point 18 [detachedPara1.firstChild, 8]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(1, 1, "The operation should not add Range")
    at assertSelectionNoChange ( /selection/common.js:976:5)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "The operation should not update anchorNode")
    at assertSelectionNoChange ( /selection/common.js:978:5)
Pass
assert_equals(2, 2, "The operation should not update anchorOffset")
    at assertSelectionNoChange ( /selection/common.js:980:5)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "The operation should not update focusNode")
    at assertSelectionNoChange ( /selection/common.js:982:5)
Pass
assert_equals(9, 9, "The operation should not update focusOffset")
    at assertSelectionNoChange ( /selection/common.js:984:5)
Pass
assert_equals(object "klmnop ", object "klmnop ", "The operation should not replace a registered Range")
    at assertSelectionNoChange ( /selection/common.js:988:5)
Passextend() backwards with range 8 [paras[1].firstChild, 2, paras[1].firstChild, 9] and point 18 [detachedPara1.firstChild, 8]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(1, 1, "The operation should not add Range")
    at assertSelectionNoChange ( /selection/common.js:976:5)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "The operation should not update anchorNode")
    at assertSelectionNoChange ( /selection/common.js:978:5)
Pass
assert_equals(9, 9, "The operation should not update anchorOffset")
    at assertSelectionNoChange ( /selection/common.js:980:5)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "The operation should not update focusNode")
    at assertSelectionNoChange ( /selection/common.js:982:5)
Pass
assert_equals(2, 2, "The operation should not update focusOffset")
    at assertSelectionNoChange ( /selection/common.js:984:5)
Pass
assert_equals(object "klmnop ", object "klmnop ", "The operation should not replace a registered Range")
    at assertSelectionNoChange ( /selection/common.js:988:5)
Passextend() forwards with range 8 [paras[1].firstChild, 2, paras[1].firstChild, 9] and point 19 [detachedPara1.firstChild, 9]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(1, 1, "The operation should not add Range")
    at assertSelectionNoChange ( /selection/common.js:976:5)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "The operation should not update anchorNode")
    at assertSelectionNoChange ( /selection/common.js:978:5)
Pass
assert_equals(2, 2, "The operation should not update anchorOffset")
    at assertSelectionNoChange ( /selection/common.js:980:5)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "The operation should not update focusNode")
    at assertSelectionNoChange ( /selection/common.js:982:5)
Pass
assert_equals(9, 9, "The operation should not update focusOffset")
    at assertSelectionNoChange ( /selection/common.js:984:5)
Pass
assert_equals(object "klmnop ", object "klmnop ", "The operation should not replace a registered Range")
    at assertSelectionNoChange ( /selection/common.js:988:5)
Passextend() backwards with range 8 [paras[1].firstChild, 2, paras[1].firstChild, 9] and point 19 [detachedPara1.firstChild, 9]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(1, 1, "The operation should not add Range")
    at assertSelectionNoChange ( /selection/common.js:976:5)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "The operation should not update anchorNode")
    at assertSelectionNoChange ( /selection/common.js:978:5)
Pass
assert_equals(9, 9, "The operation should not update anchorOffset")
    at assertSelectionNoChange ( /selection/common.js:980:5)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "The operation should not update focusNode")
    at assertSelectionNoChange ( /selection/common.js:982:5)
Pass
assert_equals(2, 2, "The operation should not update focusOffset")
    at assertSelectionNoChange ( /selection/common.js:984:5)
Pass
assert_equals(object "klmnop ", object "klmnop ", "The operation should not replace a registered Range")
    at assertSelectionNoChange ( /selection/common.js:988:5)
Passextend() forwards with range 8 [paras[1].firstChild, 2, paras[1].firstChild, 9] and point 20 [foreignPara1.firstChild, 0]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(1, 1, "The operation should not add Range")
    at assertSelectionNoChange ( /selection/common.js:976:5)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "The operation should not update anchorNode")
    at assertSelectionNoChange ( /selection/common.js:978:5)
Pass
assert_equals(2, 2, "The operation should not update anchorOffset")
    at assertSelectionNoChange ( /selection/common.js:980:5)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "The operation should not update focusNode")
    at assertSelectionNoChange ( /selection/common.js:982:5)
Pass
assert_equals(9, 9, "The operation should not update focusOffset")
    at assertSelectionNoChange ( /selection/common.js:984:5)
Pass
assert_equals(object "klmnop ", object "klmnop ", "The operation should not replace a registered Range")
    at assertSelectionNoChange ( /selection/common.js:988:5)
Passextend() backwards with range 8 [paras[1].firstChild, 2, paras[1].firstChild, 9] and point 20 [foreignPara1.firstChild, 0]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(1, 1, "The operation should not add Range")
    at assertSelectionNoChange ( /selection/common.js:976:5)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "The operation should not update anchorNode")
    at assertSelectionNoChange ( /selection/common.js:978:5)
Pass
assert_equals(9, 9, "The operation should not update anchorOffset")
    at assertSelectionNoChange ( /selection/common.js:980:5)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "The operation should not update focusNode")
    at assertSelectionNoChange ( /selection/common.js:982:5)
Pass
assert_equals(2, 2, "The operation should not update focusOffset")
    at assertSelectionNoChange ( /selection/common.js:984:5)
Pass
assert_equals(object "klmnop ", object "klmnop ", "The operation should not replace a registered Range")
    at assertSelectionNoChange ( /selection/common.js:988:5)
Passextend() forwards with range 8 [paras[1].firstChild, 2, paras[1].firstChild, 9] and point 21 [foreignPara1.firstChild, 1]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(1, 1, "The operation should not add Range")
    at assertSelectionNoChange ( /selection/common.js:976:5)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "The operation should not update anchorNode")
    at assertSelectionNoChange ( /selection/common.js:978:5)
Pass
assert_equals(2, 2, "The operation should not update anchorOffset")
    at assertSelectionNoChange ( /selection/common.js:980:5)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "The operation should not update focusNode")
    at assertSelectionNoChange ( /selection/common.js:982:5)
Pass
assert_equals(9, 9, "The operation should not update focusOffset")
    at assertSelectionNoChange ( /selection/common.js:984:5)
Pass
assert_equals(object "klmnop ", object "klmnop ", "The operation should not replace a registered Range")
    at assertSelectionNoChange ( /selection/common.js:988:5)
Passextend() backwards with range 8 [paras[1].firstChild, 2, paras[1].firstChild, 9] and point 21 [foreignPara1.firstChild, 1]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(1, 1, "The operation should not add Range")
    at assertSelectionNoChange ( /selection/common.js:976:5)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "The operation should not update anchorNode")
    at assertSelectionNoChange ( /selection/common.js:978:5)
Pass
assert_equals(9, 9, "The operation should not update anchorOffset")
    at assertSelectionNoChange ( /selection/common.js:980:5)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "The operation should not update focusNode")
    at assertSelectionNoChange ( /selection/common.js:982:5)
Pass
assert_equals(2, 2, "The operation should not update focusOffset")
    at assertSelectionNoChange ( /selection/common.js:984:5)
Pass
assert_equals(object "klmnop ", object "klmnop ", "The operation should not replace a registered Range")
    at assertSelectionNoChange ( /selection/common.js:988:5)
Passextend() forwards with range 8 [paras[1].firstChild, 2, paras[1].firstChild, 9] and point 22 [foreignPara1.firstChild, 8]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(1, 1, "The operation should not add Range")
    at assertSelectionNoChange ( /selection/common.js:976:5)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "The operation should not update anchorNode")
    at assertSelectionNoChange ( /selection/common.js:978:5)
Pass
assert_equals(2, 2, "The operation should not update anchorOffset")
    at assertSelectionNoChange ( /selection/common.js:980:5)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "The operation should not update focusNode")
    at assertSelectionNoChange ( /selection/common.js:982:5)
Pass
assert_equals(9, 9, "The operation should not update focusOffset")
    at assertSelectionNoChange ( /selection/common.js:984:5)
Pass
assert_equals(object "klmnop ", object "klmnop ", "The operation should not replace a registered Range")
    at assertSelectionNoChange ( /selection/common.js:988:5)
Passextend() backwards with range 8 [paras[1].firstChild, 2, paras[1].firstChild, 9] and point 22 [foreignPara1.firstChild, 8]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(1, 1, "The operation should not add Range")
    at assertSelectionNoChange ( /selection/common.js:976:5)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "The operation should not update anchorNode")
    at assertSelectionNoChange ( /selection/common.js:978:5)
Pass
assert_equals(9, 9, "The operation should not update anchorOffset")
    at assertSelectionNoChange ( /selection/common.js:980:5)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "The operation should not update focusNode")
    at assertSelectionNoChange ( /selection/common.js:982:5)
Pass
assert_equals(2, 2, "The operation should not update focusOffset")
    at assertSelectionNoChange ( /selection/common.js:984:5)
Pass
assert_equals(object "klmnop ", object "klmnop ", "The operation should not replace a registered Range")
    at assertSelectionNoChange ( /selection/common.js:988:5)
Passextend() forwards with range 8 [paras[1].firstChild, 2, paras[1].firstChild, 9] and point 23 [foreignPara1.firstChild, 9]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(1, 1, "The operation should not add Range")
    at assertSelectionNoChange ( /selection/common.js:976:5)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "The operation should not update anchorNode")
    at assertSelectionNoChange ( /selection/common.js:978:5)
Pass
assert_equals(2, 2, "The operation should not update anchorOffset")
    at assertSelectionNoChange ( /selection/common.js:980:5)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "The operation should not update focusNode")
    at assertSelectionNoChange ( /selection/common.js:982:5)
Pass
assert_equals(9, 9, "The operation should not update focusOffset")
    at assertSelectionNoChange ( /selection/common.js:984:5)
Pass
assert_equals(object "klmnop ", object "klmnop ", "The operation should not replace a registered Range")
    at assertSelectionNoChange ( /selection/common.js:988:5)
Passextend() backwards with range 8 [paras[1].firstChild, 2, paras[1].firstChild, 9] and point 23 [foreignPara1.firstChild, 9]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(1, 1, "The operation should not add Range")
    at assertSelectionNoChange ( /selection/common.js:976:5)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "The operation should not update anchorNode")
    at assertSelectionNoChange ( /selection/common.js:978:5)
Pass
assert_equals(9, 9, "The operation should not update anchorOffset")
    at assertSelectionNoChange ( /selection/common.js:980:5)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "The operation should not update focusNode")
    at assertSelectionNoChange ( /selection/common.js:982:5)
Pass
assert_equals(2, 2, "The operation should not update focusOffset")
    at assertSelectionNoChange ( /selection/common.js:984:5)
Pass
assert_equals(object "klmnop ", object "klmnop ", "The operation should not replace a registered Range")
    at assertSelectionNoChange ( /selection/common.js:988:5)
Passextend() forwards with range 8 [paras[1].firstChild, 2, paras[1].firstChild, 9] and point 24 [document.documentElement, -1]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "Sanity check: startContainer must be correct")
    at testExtend ( /selection/extend.js:80:5)
Pass
assert_equals(2, 2, "Sanity check: startOffset must be correct")
    at testExtend ( /selection/extend.js:82:5)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "Sanity check: endContainer must be correct")
    at testExtend ( /selection/extend.js:84:5)
Pass
assert_equals(9, 9, "Sanity check: endOffset must be correct")
    at testExtend ( /selection/extend.js:86:5)
Pass
assert_throws_dom("INDEX_SIZE_ERR", function "function() {             selection.extend(node, offset);         }", "extend() to an offset that's greater than node length (2) must throw IndexSizeError")
    at testExtend ( /selection/extend.js:117:9)
Passextend() backwards with range 8 [paras[1].firstChild, 2, paras[1].firstChild, 9] and point 24 [document.documentElement, -1]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "Sanity check: startContainer must be correct")
    at testExtend ( /selection/extend.js:80:5)
Pass
assert_equals(2, 2, "Sanity check: startOffset must be correct")
    at testExtend ( /selection/extend.js:82:5)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "Sanity check: endContainer must be correct")
    at testExtend ( /selection/extend.js:84:5)
Pass
assert_equals(9, 9, "Sanity check: endOffset must be correct")
    at testExtend ( /selection/extend.js:86:5)
Pass
assert_throws_dom("INDEX_SIZE_ERR", function "function() {             selection.extend(node, offset);         }", "extend() to an offset that's greater than node length (2) must throw IndexSizeError")
    at testExtend ( /selection/extend.js:117:9)
Passextend() forwards with range 8 [paras[1].firstChild, 2, paras[1].firstChild, 9] and point 25 [document.documentElement, 0]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "Sanity check: startContainer must be correct")
    at testExtend ( /selection/extend.js:80:5)
Pass
assert_equals(2, 2, "Sanity check: startOffset must be correct")
    at testExtend ( /selection/extend.js:82:5)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "Sanity check: endContainer must be correct")
    at testExtend ( /selection/extend.js:84:5)
Pass
assert_equals(9, 9, "Sanity check: endOffset must be correct")
    at testExtend ( /selection/extend.js:86:5)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "anchorNode must not change if the node passed to extend() has the same root as the original range")
    at testExtend ( /selection/extend.js:145:9)
Pass
assert_equals(2, 2, "anchorOffset must not change if the node passed to extend() has the same root as the original range")
    at testExtend ( /selection/extend.js:147:9)
Pass
assert_equals(Element node <html><head><title>Selection extend() tests</title> <meta..., Element node <html><head><title>Selection extend() tests</title> <meta..., "focusNode must be the node passed to extend()")
    at testExtend ( /selection/extend.js:155:5)
Pass
assert_equals(0, 0, "focusOffset must be the offset passed to extend()")
    at testExtend ( /selection/extend.js:157:5)
Pass
assert_not_equals(object "Selection extend() tests   Äb̈c̈d̈ëf̈g̈ḧ Ij", object "klmnop ", "extend() must replace any existing range with a new one, not mutate the existing one")
    at testExtend ( /selection/extend.js:159:5)
Passextend() backwards with range 8 [paras[1].firstChild, 2, paras[1].firstChild, 9] and point 25 [document.documentElement, 0]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "Sanity check: startContainer must be correct")
    at testExtend ( /selection/extend.js:80:5)
Pass
assert_equals(2, 2, "Sanity check: startOffset must be correct")
    at testExtend ( /selection/extend.js:82:5)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "Sanity check: endContainer must be correct")
    at testExtend ( /selection/extend.js:84:5)
Pass
assert_equals(9, 9, "Sanity check: endOffset must be correct")
    at testExtend ( /selection/extend.js:86:5)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "anchorNode must not change if the node passed to extend() has the same root as the original range")
    at testExtend ( /selection/extend.js:145:9)
Pass
assert_equals(9, 9, "anchorOffset must not change if the node passed to extend() has the same root as the original range")
    at testExtend ( /selection/extend.js:147:9)
Pass
assert_equals(Element node <html><head><title>Selection extend() tests</title> <meta..., Element node <html><head><title>Selection extend() tests</title> <meta..., "focusNode must be the node passed to extend()")
    at testExtend ( /selection/extend.js:155:5)
Pass
assert_equals(0, 0, "focusOffset must be the offset passed to extend()")
    at testExtend ( /selection/extend.js:157:5)
Pass
assert_not_equals(object "Selection extend() tests   Äb̈c̈d̈ëf̈g̈ḧ Ijklmnop ", object "klmnop ", "extend() must replace any existing range with a new one, not mutate the existing one")
    at testExtend ( /selection/extend.js:159:5)
Passextend() forwards with range 8 [paras[1].firstChild, 2, paras[1].firstChild, 9] and point 26 [document.documentElement, 1]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "Sanity check: startContainer must be correct")
    at testExtend ( /selection/extend.js:80:5)
Pass
assert_equals(2, 2, "Sanity check: startOffset must be correct")
    at testExtend ( /selection/extend.js:82:5)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "Sanity check: endContainer must be correct")
    at testExtend ( /selection/extend.js:84:5)
Pass
assert_equals(9, 9, "Sanity check: endOffset must be correct")
    at testExtend ( /selection/extend.js:86:5)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "anchorNode must not change if the node passed to extend() has the same root as the original range")
    at testExtend ( /selection/extend.js:145:9)
Pass
assert_equals(2, 2, "anchorOffset must not change if the node passed to extend() has the same root as the original range")
    at testExtend ( /selection/extend.js:147:9)
Pass
assert_equals(Element node <html><head><title>Selection extend() tests</title> <meta..., Element node <html><head><title>Selection extend() tests</title> <meta..., "focusNode must be the node passed to extend()")
    at testExtend ( /selection/extend.js:155:5)
Pass
assert_equals(1, 1, "focusOffset must be the offset passed to extend()")
    at testExtend ( /selection/extend.js:157:5)
Pass
assert_not_equals(object "Äb̈c̈d̈ëf̈g̈ḧ Ij", object "klmnop ", "extend() must replace any existing range with a new one, not mutate the existing one")
    at testExtend ( /selection/extend.js:159:5)
Passextend() backwards with range 8 [paras[1].firstChild, 2, paras[1].firstChild, 9] and point 26 [document.documentElement, 1]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "Sanity check: startContainer must be correct")
    at testExtend ( /selection/extend.js:80:5)
Pass
assert_equals(2, 2, "Sanity check: startOffset must be correct")
    at testExtend ( /selection/extend.js:82:5)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "Sanity check: endContainer must be correct")
    at testExtend ( /selection/extend.js:84:5)
Pass
assert_equals(9, 9, "Sanity check: endOffset must be correct")
    at testExtend ( /selection/extend.js:86:5)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "anchorNode must not change if the node passed to extend() has the same root as the original range")
    at testExtend ( /selection/extend.js:145:9)
Pass
assert_equals(9, 9, "anchorOffset must not change if the node passed to extend() has the same root as the original range")
    at testExtend ( /selection/extend.js:147:9)
Pass
assert_equals(Element node <html><head><title>Selection extend() tests</title> <meta..., Element node <html><head><title>Selection extend() tests</title> <meta..., "focusNode must be the node passed to extend()")
    at testExtend ( /selection/extend.js:155:5)
Pass
assert_equals(1, 1, "focusOffset must be the offset passed to extend()")
    at testExtend ( /selection/extend.js:157:5)
Pass
assert_not_equals(object "Äb̈c̈d̈ëf̈g̈ḧ Ijklmnop ", object "klmnop ", "extend() must replace any existing range with a new one, not mutate the existing one")
    at testExtend ( /selection/extend.js:159:5)
Passextend() forwards with range 8 [paras[1].firstChild, 2, paras[1].firstChild, 9] and point 27 [document.documentElement, 2]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "Sanity check: startContainer must be correct")
    at testExtend ( /selection/extend.js:80:5)
Pass
assert_equals(2, 2, "Sanity check: startOffset must be correct")
    at testExtend ( /selection/extend.js:82:5)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "Sanity check: endContainer must be correct")
    at testExtend ( /selection/extend.js:84:5)
Pass
assert_equals(9, 9, "Sanity check: endOffset must be correct")
    at testExtend ( /selection/extend.js:86:5)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "anchorNode must not change if the node passed to extend() has the same root as the original range")
    at testExtend ( /selection/extend.js:145:9)
Pass
assert_equals(2, 2, "anchorOffset must not change if the node passed to extend() has the same root as the original range")
    at testExtend ( /selection/extend.js:147:9)
Pass
assert_equals(Element node <html><head><title>Selection extend() tests</title> <meta..., Element node <html><head><title>Selection extend() tests</title> <meta..., "focusNode must be the node passed to extend()")
    at testExtend ( /selection/extend.js:155:5)
Pass
assert_equals(2, 2, "focusOffset must be the offset passed to extend()")
    at testExtend ( /selection/extend.js:157:5)
Pass
assert_not_equals(object "klmnop QrstuvwxYzabcdefGhijklmn     Running, 1000 complete, 1 remain  "use strict";  testExtendSubSet(0, 20); testDiv.style.display = "none"; ", object "klmnop ", "extend() must replace any existing range with a new one, not mutate the existing one")
    at testExtend ( /selection/extend.js:159:5)
Passextend() backwards with range 8 [paras[1].firstChild, 2, paras[1].firstChild, 9] and point 27 [document.documentElement, 2]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "Sanity check: startContainer must be correct")
    at testExtend ( /selection/extend.js:80:5)
Pass
assert_equals(2, 2, "Sanity check: startOffset must be correct")
    at testExtend ( /selection/extend.js:82:5)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "Sanity check: endContainer must be correct")
    at testExtend ( /selection/extend.js:84:5)
Pass
assert_equals(9, 9, "Sanity check: endOffset must be correct")
    at testExtend ( /selection/extend.js:86:5)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "anchorNode must not change if the node passed to extend() has the same root as the original range")
    at testExtend ( /selection/extend.js:145:9)
Pass
assert_equals(9, 9, "anchorOffset must not change if the node passed to extend() has the same root as the original range")
    at testExtend ( /selection/extend.js:147:9)
Pass
assert_equals(Element node <html><head><title>Selection extend() tests</title> <meta..., Element node <html><head><title>Selection extend() tests</title> <meta..., "focusNode must be the node passed to extend()")
    at testExtend ( /selection/extend.js:155:5)
Pass
assert_equals(2, 2, "focusOffset must be the offset passed to extend()")
    at testExtend ( /selection/extend.js:157:5)
Pass
assert_not_equals(object "QrstuvwxYzabcdefGhijklmn     Running, 1000 complete, 1 remain  "use strict";  testExtendSubSet(0, 20); testDiv.style.display = "none"; ", object "klmnop ", "extend() must replace any existing range with a new one, not mutate the existing one")
    at testExtend ( /selection/extend.js:159:5)
Passextend() forwards with range 8 [paras[1].firstChild, 2, paras[1].firstChild, 9] and point 28 [document.documentElement, 7]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "Sanity check: startContainer must be correct")
    at testExtend ( /selection/extend.js:80:5)
Pass
assert_equals(2, 2, "Sanity check: startOffset must be correct")
    at testExtend ( /selection/extend.js:82:5)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "Sanity check: endContainer must be correct")
    at testExtend ( /selection/extend.js:84:5)
Pass
assert_equals(9, 9, "Sanity check: endOffset must be correct")
    at testExtend ( /selection/extend.js:86:5)
Pass
assert_throws_dom("INDEX_SIZE_ERR", function "function() {             selection.extend(node, offset);         }", "extend() to an offset that's greater than node length (2) must throw IndexSizeError")
    at testExtend ( /selection/extend.js:117:9)
Passextend() backwards with range 8 [paras[1].firstChild, 2, paras[1].firstChild, 9] and point 28 [document.documentElement, 7]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "Sanity check: startContainer must be correct")
    at testExtend ( /selection/extend.js:80:5)
Pass
assert_equals(2, 2, "Sanity check: startOffset must be correct")
    at testExtend ( /selection/extend.js:82:5)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "Sanity check: endContainer must be correct")
    at testExtend ( /selection/extend.js:84:5)
Pass
assert_equals(9, 9, "Sanity check: endOffset must be correct")
    at testExtend ( /selection/extend.js:86:5)
Pass
assert_throws_dom("INDEX_SIZE_ERR", function "function() {             selection.extend(node, offset);         }", "extend() to an offset that's greater than node length (2) must throw IndexSizeError")
    at testExtend ( /selection/extend.js:117:9)
Passextend() forwards with range 8 [paras[1].firstChild, 2, paras[1].firstChild, 9] and point 29 [document.head, 1]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "Sanity check: startContainer must be correct")
    at testExtend ( /selection/extend.js:80:5)
Pass
assert_equals(2, 2, "Sanity check: startOffset must be correct")
    at testExtend ( /selection/extend.js:82:5)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "Sanity check: endContainer must be correct")
    at testExtend ( /selection/extend.js:84:5)
Pass
assert_equals(9, 9, "Sanity check: endOffset must be correct")
    at testExtend ( /selection/extend.js:86:5)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "anchorNode must not change if the node passed to extend() has the same root as the original range")
    at testExtend ( /selection/extend.js:145:9)
Pass
assert_equals(2, 2, "anchorOffset must not change if the node passed to extend() has the same root as the original range")
    at testExtend ( /selection/extend.js:147:9)
Pass
assert_equals(Element node <head><title>Selection extend() tests</title> <meta chars..., Element node <head><title>Selection extend() tests</title> <meta chars..., "focusNode must be the node passed to extend()")
    at testExtend ( /selection/extend.js:155:5)
Pass
assert_equals(1, 1, "focusOffset must be the offset passed to extend()")
    at testExtend ( /selection/extend.js:157:5)
Pass
assert_not_equals(object "   Äb̈c̈d̈ëf̈g̈ḧ Ij", object "klmnop ", "extend() must replace any existing range with a new one, not mutate the existing one")
    at testExtend ( /selection/extend.js:159:5)
Passextend() backwards with range 8 [paras[1].firstChild, 2, paras[1].firstChild, 9] and point 29 [document.head, 1]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "Sanity check: startContainer must be correct")
    at testExtend ( /selection/extend.js:80:5)
Pass
assert_equals(2, 2, "Sanity check: startOffset must be correct")
    at testExtend ( /selection/extend.js:82:5)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "Sanity check: endContainer must be correct")
    at testExtend ( /selection/extend.js:84:5)
Pass
assert_equals(9, 9, "Sanity check: endOffset must be correct")
    at testExtend ( /selection/extend.js:86:5)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "anchorNode must not change if the node passed to extend() has the same root as the original range")
    at testExtend ( /selection/extend.js:145:9)
Pass
assert_equals(9, 9, "anchorOffset must not change if the node passed to extend() has the same root as the original range")
    at testExtend ( /selection/extend.js:147:9)
Pass
assert_equals(Element node <head><title>Selection extend() tests</title> <meta chars..., Element node <head><title>Selection extend() tests</title> <meta chars..., "focusNode must be the node passed to extend()")
    at testExtend ( /selection/extend.js:155:5)
Pass
assert_equals(1, 1, "focusOffset must be the offset passed to extend()")
    at testExtend ( /selection/extend.js:157:5)
Pass
assert_not_equals(object "   Äb̈c̈d̈ëf̈g̈ḧ Ijklmnop ", object "klmnop ", "extend() must replace any existing range with a new one, not mutate the existing one")
    at testExtend ( /selection/extend.js:159:5)
Passextend() forwards with range 8 [paras[1].firstChild, 2, paras[1].firstChild, 9] and point 30 [document.body, 3]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "Sanity check: startContainer must be correct")
    at testExtend ( /selection/extend.js:80:5)
Pass
assert_equals(2, 2, "Sanity check: startOffset must be correct")
    at testExtend ( /selection/extend.js:82:5)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "Sanity check: endContainer must be correct")
    at testExtend ( /selection/extend.js:84:5)
Pass
assert_equals(9, 9, "Sanity check: endOffset must be correct")
    at testExtend ( /selection/extend.js:86:5)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "anchorNode must not change if the node passed to extend() has the same root as the original range")
    at testExtend ( /selection/extend.js:145:9)
Pass
assert_equals(2, 2, "anchorOffset must not change if the node passed to extend() has the same root as the original range")
    at testExtend ( /selection/extend.js:147:9)
Pass
assert_equals(Element node <body><div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ </p><p id..., Element node <body><div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ </p><p id..., "focusNode must be the node passed to extend()")
    at testExtend ( /selection/extend.js:155:5)
Pass
assert_equals(3, 3, "focusOffset must be the offset passed to extend()")
    at testExtend ( /selection/extend.js:157:5)
Pass
assert_not_equals(object "klmnop QrstuvwxYzabcdefGhijklmn ", object "klmnop ", "extend() must replace any existing range with a new one, not mutate the existing one")
    at testExtend ( /selection/extend.js:159:5)
Passextend() backwards with range 8 [paras[1].firstChild, 2, paras[1].firstChild, 9] and point 30 [document.body, 3]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "Sanity check: startContainer must be correct")
    at testExtend ( /selection/extend.js:80:5)
Pass
assert_equals(2, 2, "Sanity check: startOffset must be correct")
    at testExtend ( /selection/extend.js:82:5)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "Sanity check: endContainer must be correct")
    at testExtend ( /selection/extend.js:84:5)
Pass
assert_equals(9, 9, "Sanity check: endOffset must be correct")
    at testExtend ( /selection/extend.js:86:5)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "anchorNode must not change if the node passed to extend() has the same root as the original range")
    at testExtend ( /selection/extend.js:145:9)
Pass
assert_equals(9, 9, "anchorOffset must not change if the node passed to extend() has the same root as the original range")
    at testExtend ( /selection/extend.js:147:9)
Pass
assert_equals(Element node <body><div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ </p><p id..., Element node <body><div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ </p><p id..., "focusNode must be the node passed to extend()")
    at testExtend ( /selection/extend.js:155:5)
Pass
assert_equals(3, 3, "focusOffset must be the offset passed to extend()")
    at testExtend ( /selection/extend.js:157:5)
Pass
assert_not_equals(object "QrstuvwxYzabcdefGhijklmn ", object "klmnop ", "extend() must replace any existing range with a new one, not mutate the existing one")
    at testExtend ( /selection/extend.js:159:5)
Passextend() forwards with range 8 [paras[1].firstChild, 2, paras[1].firstChild, 9] and point 31 [foreignDoc.documentElement, 0]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(1, 1, "The operation should not add Range")
    at assertSelectionNoChange ( /selection/common.js:976:5)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "The operation should not update anchorNode")
    at assertSelectionNoChange ( /selection/common.js:978:5)
Pass
assert_equals(2, 2, "The operation should not update anchorOffset")
    at assertSelectionNoChange ( /selection/common.js:980:5)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "The operation should not update focusNode")
    at assertSelectionNoChange ( /selection/common.js:982:5)
Pass
assert_equals(9, 9, "The operation should not update focusOffset")
    at assertSelectionNoChange ( /selection/common.js:984:5)
Pass
assert_equals(object "klmnop ", object "klmnop ", "The operation should not replace a registered Range")
    at assertSelectionNoChange ( /selection/common.js:988:5)
Passextend() backwards with range 8 [paras[1].firstChild, 2, paras[1].firstChild, 9] and point 31 [foreignDoc.documentElement, 0]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(1, 1, "The operation should not add Range")
    at assertSelectionNoChange ( /selection/common.js:976:5)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "The operation should not update anchorNode")
    at assertSelectionNoChange ( /selection/common.js:978:5)
Pass
assert_equals(9, 9, "The operation should not update anchorOffset")
    at assertSelectionNoChange ( /selection/common.js:980:5)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "The operation should not update focusNode")
    at assertSelectionNoChange ( /selection/common.js:982:5)
Pass
assert_equals(2, 2, "The operation should not update focusOffset")
    at assertSelectionNoChange ( /selection/common.js:984:5)
Pass
assert_equals(object "klmnop ", object "klmnop ", "The operation should not replace a registered Range")
    at assertSelectionNoChange ( /selection/common.js:988:5)
Passextend() forwards with range 8 [paras[1].firstChild, 2, paras[1].firstChild, 9] and point 32 [foreignDoc.documentElement, 1]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(1, 1, "The operation should not add Range")
    at assertSelectionNoChange ( /selection/common.js:976:5)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "The operation should not update anchorNode")
    at assertSelectionNoChange ( /selection/common.js:978:5)
Pass
assert_equals(2, 2, "The operation should not update anchorOffset")
    at assertSelectionNoChange ( /selection/common.js:980:5)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "The operation should not update focusNode")
    at assertSelectionNoChange ( /selection/common.js:982:5)
Pass
assert_equals(9, 9, "The operation should not update focusOffset")
    at assertSelectionNoChange ( /selection/common.js:984:5)
Pass
assert_equals(object "klmnop ", object "klmnop ", "The operation should not replace a registered Range")
    at assertSelectionNoChange ( /selection/common.js:988:5)
Passextend() backwards with range 8 [paras[1].firstChild, 2, paras[1].firstChild, 9] and point 32 [foreignDoc.documentElement, 1]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(1, 1, "The operation should not add Range")
    at assertSelectionNoChange ( /selection/common.js:976:5)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "The operation should not update anchorNode")
    at assertSelectionNoChange ( /selection/common.js:978:5)
Pass
assert_equals(9, 9, "The operation should not update anchorOffset")
    at assertSelectionNoChange ( /selection/common.js:980:5)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "The operation should not update focusNode")
    at assertSelectionNoChange ( /selection/common.js:982:5)
Pass
assert_equals(2, 2, "The operation should not update focusOffset")
    at assertSelectionNoChange ( /selection/common.js:984:5)
Pass
assert_equals(object "klmnop ", object "klmnop ", "The operation should not replace a registered Range")
    at assertSelectionNoChange ( /selection/common.js:988:5)
Passextend() forwards with range 8 [paras[1].firstChild, 2, paras[1].firstChild, 9] and point 33 [foreignDoc.head, 0]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(1, 1, "The operation should not add Range")
    at assertSelectionNoChange ( /selection/common.js:976:5)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "The operation should not update anchorNode")
    at assertSelectionNoChange ( /selection/common.js:978:5)
Pass
assert_equals(2, 2, "The operation should not update anchorOffset")
    at assertSelectionNoChange ( /selection/common.js:980:5)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "The operation should not update focusNode")
    at assertSelectionNoChange ( /selection/common.js:982:5)
Pass
assert_equals(9, 9, "The operation should not update focusOffset")
    at assertSelectionNoChange ( /selection/common.js:984:5)
Pass
assert_equals(object "klmnop ", object "klmnop ", "The operation should not replace a registered Range")
    at assertSelectionNoChange ( /selection/common.js:988:5)
Passextend() backwards with range 8 [paras[1].firstChild, 2, paras[1].firstChild, 9] and point 33 [foreignDoc.head, 0]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(1, 1, "The operation should not add Range")
    at assertSelectionNoChange ( /selection/common.js:976:5)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "The operation should not update anchorNode")
    at assertSelectionNoChange ( /selection/common.js:978:5)
Pass
assert_equals(9, 9, "The operation should not update anchorOffset")
    at assertSelectionNoChange ( /selection/common.js:980:5)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "The operation should not update focusNode")
    at assertSelectionNoChange ( /selection/common.js:982:5)
Pass
assert_equals(2, 2, "The operation should not update focusOffset")
    at assertSelectionNoChange ( /selection/common.js:984:5)
Pass
assert_equals(object "klmnop ", object "klmnop ", "The operation should not replace a registered Range")
    at assertSelectionNoChange ( /selection/common.js:988:5)
Passextend() forwards with range 8 [paras[1].firstChild, 2, paras[1].firstChild, 9] and point 34 [foreignDoc.body, 1]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(1, 1, "The operation should not add Range")
    at assertSelectionNoChange ( /selection/common.js:976:5)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "The operation should not update anchorNode")
    at assertSelectionNoChange ( /selection/common.js:978:5)
Pass
assert_equals(2, 2, "The operation should not update anchorOffset")
    at assertSelectionNoChange ( /selection/common.js:980:5)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "The operation should not update focusNode")
    at assertSelectionNoChange ( /selection/common.js:982:5)
Pass
assert_equals(9, 9, "The operation should not update focusOffset")
    at assertSelectionNoChange ( /selection/common.js:984:5)
Pass
assert_equals(object "klmnop ", object "klmnop ", "The operation should not replace a registered Range")
    at assertSelectionNoChange ( /selection/common.js:988:5)
Passextend() backwards with range 8 [paras[1].firstChild, 2, paras[1].firstChild, 9] and point 34 [foreignDoc.body, 1]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(1, 1, "The operation should not add Range")
    at assertSelectionNoChange ( /selection/common.js:976:5)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "The operation should not update anchorNode")
    at assertSelectionNoChange ( /selection/common.js:978:5)
Pass
assert_equals(9, 9, "The operation should not update anchorOffset")
    at assertSelectionNoChange ( /selection/common.js:980:5)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "The operation should not update focusNode")
    at assertSelectionNoChange ( /selection/common.js:982:5)
Pass
assert_equals(2, 2, "The operation should not update focusOffset")
    at assertSelectionNoChange ( /selection/common.js:984:5)
Pass
assert_equals(object "klmnop ", object "klmnop ", "The operation should not replace a registered Range")
    at assertSelectionNoChange ( /selection/common.js:988:5)
Passextend() forwards with range 8 [paras[1].firstChild, 2, paras[1].firstChild, 9] and point 35 [paras[0], 0]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "Sanity check: startContainer must be correct")
    at testExtend ( /selection/extend.js:80:5)
Pass
assert_equals(2, 2, "Sanity check: startOffset must be correct")
    at testExtend ( /selection/extend.js:82:5)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "Sanity check: endContainer must be correct")
    at testExtend ( /selection/extend.js:84:5)
Pass
assert_equals(9, 9, "Sanity check: endOffset must be correct")
    at testExtend ( /selection/extend.js:86:5)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "anchorNode must not change if the node passed to extend() has the same root as the original range")
    at testExtend ( /selection/extend.js:145:9)
Pass
assert_equals(2, 2, "anchorOffset must not change if the node passed to extend() has the same root as the original range")
    at testExtend ( /selection/extend.js:147:9)
Pass
assert_equals(Element node <p id="a">Äb̈c̈d̈ëf̈g̈ḧ </p>, Element node <p id="a">Äb̈c̈d̈ëf̈g̈ḧ </p>, "focusNode must be the node passed to extend()")
    at testExtend ( /selection/extend.js:155:5)
Pass
assert_equals(0, 0, "focusOffset must be the offset passed to extend()")
    at testExtend ( /selection/extend.js:157:5)
Pass
assert_not_equals(object "Äb̈c̈d̈ëf̈g̈ḧ Ij", object "klmnop ", "extend() must replace any existing range with a new one, not mutate the existing one")
    at testExtend ( /selection/extend.js:159:5)
Passextend() backwards with range 8 [paras[1].firstChild, 2, paras[1].firstChild, 9] and point 35 [paras[0], 0]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "Sanity check: startContainer must be correct")
    at testExtend ( /selection/extend.js:80:5)
Pass
assert_equals(2, 2, "Sanity check: startOffset must be correct")
    at testExtend ( /selection/extend.js:82:5)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "Sanity check: endContainer must be correct")
    at testExtend ( /selection/extend.js:84:5)
Pass
assert_equals(9, 9, "Sanity check: endOffset must be correct")
    at testExtend ( /selection/extend.js:86:5)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "anchorNode must not change if the node passed to extend() has the same root as the original range")
    at testExtend ( /selection/extend.js:145:9)
Pass
assert_equals(9, 9, "anchorOffset must not change if the node passed to extend() has the same root as the original range")
    at testExtend ( /selection/extend.js:147:9)
Pass
assert_equals(Element node <p id="a">Äb̈c̈d̈ëf̈g̈ḧ </p>, Element node <p id="a">Äb̈c̈d̈ëf̈g̈ḧ </p>, "focusNode must be the node passed to extend()")
    at testExtend ( /selection/extend.js:155:5)
Pass
assert_equals(0, 0, "focusOffset must be the offset passed to extend()")
    at testExtend ( /selection/extend.js:157:5)
Pass
assert_not_equals(object "Äb̈c̈d̈ëf̈g̈ḧ Ijklmnop ", object "klmnop ", "extend() must replace any existing range with a new one, not mutate the existing one")
    at testExtend ( /selection/extend.js:159:5)
Passextend() forwards with range 8 [paras[1].firstChild, 2, paras[1].firstChild, 9] and point 36 [paras[0], 1]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "Sanity check: startContainer must be correct")
    at testExtend ( /selection/extend.js:80:5)
Pass
assert_equals(2, 2, "Sanity check: startOffset must be correct")
    at testExtend ( /selection/extend.js:82:5)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "Sanity check: endContainer must be correct")
    at testExtend ( /selection/extend.js:84:5)
Pass
assert_equals(9, 9, "Sanity check: endOffset must be correct")
    at testExtend ( /selection/extend.js:86:5)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "anchorNode must not change if the node passed to extend() has the same root as the original range")
    at testExtend ( /selection/extend.js:145:9)
Pass
assert_equals(2, 2, "anchorOffset must not change if the node passed to extend() has the same root as the original range")
    at testExtend ( /selection/extend.js:147:9)
Pass
assert_equals(Element node <p id="a">Äb̈c̈d̈ëf̈g̈ḧ </p>, Element node <p id="a">Äb̈c̈d̈ëf̈g̈ḧ </p>, "focusNode must be the node passed to extend()")
    at testExtend ( /selection/extend.js:155:5)
Pass
assert_equals(1, 1, "focusOffset must be the offset passed to extend()")
    at testExtend ( /selection/extend.js:157:5)
Pass
assert_not_equals(object "Ij", object "klmnop ", "extend() must replace any existing range with a new one, not mutate the existing one")
    at testExtend ( /selection/extend.js:159:5)
Passextend() backwards with range 8 [paras[1].firstChild, 2, paras[1].firstChild, 9] and point 36 [paras[0], 1]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "Sanity check: startContainer must be correct")
    at testExtend ( /selection/extend.js:80:5)
Pass
assert_equals(2, 2, "Sanity check: startOffset must be correct")
    at testExtend ( /selection/extend.js:82:5)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "Sanity check: endContainer must be correct")
    at testExtend ( /selection/extend.js:84:5)
Pass
assert_equals(9, 9, "Sanity check: endOffset must be correct")
    at testExtend ( /selection/extend.js:86:5)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "anchorNode must not change if the node passed to extend() has the same root as the original range")
    at testExtend ( /selection/extend.js:145:9)
Pass
assert_equals(9, 9, "anchorOffset must not change if the node passed to extend() has the same root as the original range")
    at testExtend ( /selection/extend.js:147:9)
Pass
assert_equals(Element node <p id="a">Äb̈c̈d̈ëf̈g̈ḧ </p>, Element node <p id="a">Äb̈c̈d̈ëf̈g̈ḧ </p>, "focusNode must be the node passed to extend()")
    at testExtend ( /selection/extend.js:155:5)
Pass
assert_equals(1, 1, "focusOffset must be the offset passed to extend()")
    at testExtend ( /selection/extend.js:157:5)
Pass
assert_not_equals(object "Ijklmnop ", object "klmnop ", "extend() must replace any existing range with a new one, not mutate the existing one")
    at testExtend ( /selection/extend.js:159:5)
Passextend() forwards with range 8 [paras[1].firstChild, 2, paras[1].firstChild, 9] and point 37 [paras[0], 2]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "Sanity check: startContainer must be correct")
    at testExtend ( /selection/extend.js:80:5)
Pass
assert_equals(2, 2, "Sanity check: startOffset must be correct")
    at testExtend ( /selection/extend.js:82:5)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "Sanity check: endContainer must be correct")
    at testExtend ( /selection/extend.js:84:5)
Pass
assert_equals(9, 9, "Sanity check: endOffset must be correct")
    at testExtend ( /selection/extend.js:86:5)
Pass
assert_throws_dom("INDEX_SIZE_ERR", function "function() {             selection.extend(node, offset);         }", "extend() to an offset that's greater than node length (1) must throw IndexSizeError")
    at testExtend ( /selection/extend.js:117:9)
Passextend() backwards with range 8 [paras[1].firstChild, 2, paras[1].firstChild, 9] and point 37 [paras[0], 2]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "Sanity check: startContainer must be correct")
    at testExtend ( /selection/extend.js:80:5)
Pass
assert_equals(2, 2, "Sanity check: startOffset must be correct")
    at testExtend ( /selection/extend.js:82:5)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "Sanity check: endContainer must be correct")
    at testExtend ( /selection/extend.js:84:5)
Pass
assert_equals(9, 9, "Sanity check: endOffset must be correct")
    at testExtend ( /selection/extend.js:86:5)
Pass
assert_throws_dom("INDEX_SIZE_ERR", function "function() {             selection.extend(node, offset);         }", "extend() to an offset that's greater than node length (1) must throw IndexSizeError")
    at testExtend ( /selection/extend.js:117:9)
Passextend() forwards with range 8 [paras[1].firstChild, 2, paras[1].firstChild, 9] and point 38 [paras[1], 0]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "Sanity check: startContainer must be correct")
    at testExtend ( /selection/extend.js:80:5)
Pass
assert_equals(2, 2, "Sanity check: startOffset must be correct")
    at testExtend ( /selection/extend.js:82:5)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "Sanity check: endContainer must be correct")
    at testExtend ( /selection/extend.js:84:5)
Pass
assert_equals(9, 9, "Sanity check: endOffset must be correct")
    at testExtend ( /selection/extend.js:86:5)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "anchorNode must not change if the node passed to extend() has the same root as the original range")
    at testExtend ( /selection/extend.js:145:9)
Pass
assert_equals(2, 2, "anchorOffset must not change if the node passed to extend() has the same root as the original range")
    at testExtend ( /selection/extend.js:147:9)
Pass
assert_equals(Element node <p id="b" style="display:none">Ijklmnop </p>, Element node <p id="b" style="display:none">Ijklmnop </p>, "focusNode must be the node passed to extend()")
    at testExtend ( /selection/extend.js:155:5)
Pass
assert_equals(0, 0, "focusOffset must be the offset passed to extend()")
    at testExtend ( /selection/extend.js:157:5)
Pass
assert_not_equals(object "Ij", object "klmnop ", "extend() must replace any existing range with a new one, not mutate the existing one")
    at testExtend ( /selection/extend.js:159:5)
Passextend() backwards with range 8 [paras[1].firstChild, 2, paras[1].firstChild, 9] and point 38 [paras[1], 0]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "Sanity check: startContainer must be correct")
    at testExtend ( /selection/extend.js:80:5)
Pass
assert_equals(2, 2, "Sanity check: startOffset must be correct")
    at testExtend ( /selection/extend.js:82:5)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "Sanity check: endContainer must be correct")
    at testExtend ( /selection/extend.js:84:5)
Pass
assert_equals(9, 9, "Sanity check: endOffset must be correct")
    at testExtend ( /selection/extend.js:86:5)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "anchorNode must not change if the node passed to extend() has the same root as the original range")
    at testExtend ( /selection/extend.js:145:9)
Pass
assert_equals(9, 9, "anchorOffset must not change if the node passed to extend() has the same root as the original range")
    at testExtend ( /selection/extend.js:147:9)
Pass
assert_equals(Element node <p id="b" style="display:none">Ijklmnop </p>, Element node <p id="b" style="display:none">Ijklmnop </p>, "focusNode must be the node passed to extend()")
    at testExtend ( /selection/extend.js:155:5)
Pass
assert_equals(0, 0, "focusOffset must be the offset passed to extend()")
    at testExtend ( /selection/extend.js:157:5)
Pass
assert_not_equals(object "Ijklmnop ", object "klmnop ", "extend() must replace any existing range with a new one, not mutate the existing one")
    at testExtend ( /selection/extend.js:159:5)
Passextend() forwards with range 8 [paras[1].firstChild, 2, paras[1].firstChild, 9] and point 39 [paras[1], 1]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "Sanity check: startContainer must be correct")
    at testExtend ( /selection/extend.js:80:5)
Pass
assert_equals(2, 2, "Sanity check: startOffset must be correct")
    at testExtend ( /selection/extend.js:82:5)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "Sanity check: endContainer must be correct")
    at testExtend ( /selection/extend.js:84:5)
Pass
assert_equals(9, 9, "Sanity check: endOffset must be correct")
    at testExtend ( /selection/extend.js:86:5)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "anchorNode must not change if the node passed to extend() has the same root as the original range")
    at testExtend ( /selection/extend.js:145:9)
Pass
assert_equals(2, 2, "anchorOffset must not change if the node passed to extend() has the same root as the original range")
    at testExtend ( /selection/extend.js:147:9)
Pass
assert_equals(Element node <p id="b" style="display:none">Ijklmnop </p>, Element node <p id="b" style="display:none">Ijklmnop </p>, "focusNode must be the node passed to extend()")
    at testExtend ( /selection/extend.js:155:5)
Pass
assert_equals(1, 1, "focusOffset must be the offset passed to extend()")
    at testExtend ( /selection/extend.js:157:5)
Pass
assert_not_equals(object "klmnop ", object "klmnop ", "extend() must replace any existing range with a new one, not mutate the existing one")
    at testExtend ( /selection/extend.js:159:5)
Passextend() backwards with range 8 [paras[1].firstChild, 2, paras[1].firstChild, 9] and point 39 [paras[1], 1]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "Sanity check: startContainer must be correct")
    at testExtend ( /selection/extend.js:80:5)
Pass
assert_equals(2, 2, "Sanity check: startOffset must be correct")
    at testExtend ( /selection/extend.js:82:5)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "Sanity check: endContainer must be correct")
    at testExtend ( /selection/extend.js:84:5)
Pass
assert_equals(9, 9, "Sanity check: endOffset must be correct")
    at testExtend ( /selection/extend.js:86:5)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "anchorNode must not change if the node passed to extend() has the same root as the original range")
    at testExtend ( /selection/extend.js:145:9)
Pass
assert_equals(9, 9, "anchorOffset must not change if the node passed to extend() has the same root as the original range")
    at testExtend ( /selection/extend.js:147:9)
Pass
assert_equals(Element node <p id="b" style="display:none">Ijklmnop </p>, Element node <p id="b" style="display:none">Ijklmnop </p>, "focusNode must be the node passed to extend()")
    at testExtend ( /selection/extend.js:155:5)
Pass
assert_equals(1, 1, "focusOffset must be the offset passed to extend()")
    at testExtend ( /selection/extend.js:157:5)
Pass
assert_not_equals(object "", object "klmnop ", "extend() must replace any existing range with a new one, not mutate the existing one")
    at testExtend ( /selection/extend.js:159:5)
Passextend() forwards with range 8 [paras[1].firstChild, 2, paras[1].firstChild, 9] and point 40 [paras[1], 2]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "Sanity check: startContainer must be correct")
    at testExtend ( /selection/extend.js:80:5)
Pass
assert_equals(2, 2, "Sanity check: startOffset must be correct")
    at testExtend ( /selection/extend.js:82:5)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "Sanity check: endContainer must be correct")
    at testExtend ( /selection/extend.js:84:5)
Pass
assert_equals(9, 9, "Sanity check: endOffset must be correct")
    at testExtend ( /selection/extend.js:86:5)
Pass
assert_throws_dom("INDEX_SIZE_ERR", function "function() {             selection.extend(node, offset);         }", "extend() to an offset that's greater than node length (1) must throw IndexSizeError")
    at testExtend ( /selection/extend.js:117:9)
Passextend() backwards with range 8 [paras[1].firstChild, 2, paras[1].firstChild, 9] and point 40 [paras[1], 2]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "Sanity check: startContainer must be correct")
    at testExtend ( /selection/extend.js:80:5)
Pass
assert_equals(2, 2, "Sanity check: startOffset must be correct")
    at testExtend ( /selection/extend.js:82:5)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "Sanity check: endContainer must be correct")
    at testExtend ( /selection/extend.js:84:5)
Pass
assert_equals(9, 9, "Sanity check: endOffset must be correct")
    at testExtend ( /selection/extend.js:86:5)
Pass
assert_throws_dom("INDEX_SIZE_ERR", function "function() {             selection.extend(node, offset);         }", "extend() to an offset that's greater than node length (1) must throw IndexSizeError")
    at testExtend ( /selection/extend.js:117:9)
Passextend() forwards with range 8 [paras[1].firstChild, 2, paras[1].firstChild, 9] and point 41 [detachedPara1, 0]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(1, 1, "The operation should not add Range")
    at assertSelectionNoChange ( /selection/common.js:976:5)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "The operation should not update anchorNode")
    at assertSelectionNoChange ( /selection/common.js:978:5)
Pass
assert_equals(2, 2, "The operation should not update anchorOffset")
    at assertSelectionNoChange ( /selection/common.js:980:5)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "The operation should not update focusNode")
    at assertSelectionNoChange ( /selection/common.js:982:5)
Pass
assert_equals(9, 9, "The operation should not update focusOffset")
    at assertSelectionNoChange ( /selection/common.js:984:5)
Pass
assert_equals(object "klmnop ", object "klmnop ", "The operation should not replace a registered Range")
    at assertSelectionNoChange ( /selection/common.js:988:5)
Passextend() backwards with range 8 [paras[1].firstChild, 2, paras[1].firstChild, 9] and point 41 [detachedPara1, 0]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(1, 1, "The operation should not add Range")
    at assertSelectionNoChange ( /selection/common.js:976:5)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "The operation should not update anchorNode")
    at assertSelectionNoChange ( /selection/common.js:978:5)
Pass
assert_equals(9, 9, "The operation should not update anchorOffset")
    at assertSelectionNoChange ( /selection/common.js:980:5)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "The operation should not update focusNode")
    at assertSelectionNoChange ( /selection/common.js:982:5)
Pass
assert_equals(2, 2, "The operation should not update focusOffset")
    at assertSelectionNoChange ( /selection/common.js:984:5)
Pass
assert_equals(object "klmnop ", object "klmnop ", "The operation should not replace a registered Range")
    at assertSelectionNoChange ( /selection/common.js:988:5)
Passextend() forwards with range 8 [paras[1].firstChild, 2, paras[1].firstChild, 9] and point 42 [detachedPara1, 1]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(1, 1, "The operation should not add Range")
    at assertSelectionNoChange ( /selection/common.js:976:5)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "The operation should not update anchorNode")
    at assertSelectionNoChange ( /selection/common.js:978:5)
Pass
assert_equals(2, 2, "The operation should not update anchorOffset")
    at assertSelectionNoChange ( /selection/common.js:980:5)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "The operation should not update focusNode")
    at assertSelectionNoChange ( /selection/common.js:982:5)
Pass
assert_equals(9, 9, "The operation should not update focusOffset")
    at assertSelectionNoChange ( /selection/common.js:984:5)
Pass
assert_equals(object "klmnop ", object "klmnop ", "The operation should not replace a registered Range")
    at assertSelectionNoChange ( /selection/common.js:988:5)
Passextend() backwards with range 8 [paras[1].firstChild, 2, paras[1].firstChild, 9] and point 42 [detachedPara1, 1]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(1, 1, "The operation should not add Range")
    at assertSelectionNoChange ( /selection/common.js:976:5)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "The operation should not update anchorNode")
    at assertSelectionNoChange ( /selection/common.js:978:5)
Pass
assert_equals(9, 9, "The operation should not update anchorOffset")
    at assertSelectionNoChange ( /selection/common.js:980:5)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "The operation should not update focusNode")
    at assertSelectionNoChange ( /selection/common.js:982:5)
Pass
assert_equals(2, 2, "The operation should not update focusOffset")
    at assertSelectionNoChange ( /selection/common.js:984:5)
Pass
assert_equals(object "klmnop ", object "klmnop ", "The operation should not replace a registered Range")
    at assertSelectionNoChange ( /selection/common.js:988:5)
Passextend() forwards with range 8 [paras[1].firstChild, 2, paras[1].firstChild, 9] and point 43 [testDiv, 0]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "Sanity check: startContainer must be correct")
    at testExtend ( /selection/extend.js:80:5)
Pass
assert_equals(2, 2, "Sanity check: startOffset must be correct")
    at testExtend ( /selection/extend.js:82:5)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "Sanity check: endContainer must be correct")
    at testExtend ( /selection/extend.js:84:5)
Pass
assert_equals(9, 9, "Sanity check: endOffset must be correct")
    at testExtend ( /selection/extend.js:86:5)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "anchorNode must not change if the node passed to extend() has the same root as the original range")
    at testExtend ( /selection/extend.js:145:9)
Pass
assert_equals(2, 2, "anchorOffset must not change if the node passed to extend() has the same root as the original range")
    at testExtend ( /selection/extend.js:147:9)
Pass
assert_equals(Element node <div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ </p><p id="b" s..., Element node <div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ </p><p id="b" s..., "focusNode must be the node passed to extend()")
    at testExtend ( /selection/extend.js:155:5)
Pass
assert_equals(0, 0, "focusOffset must be the offset passed to extend()")
    at testExtend ( /selection/extend.js:157:5)
Pass
assert_not_equals(object "Äb̈c̈d̈ëf̈g̈ḧ Ij", object "klmnop ", "extend() must replace any existing range with a new one, not mutate the existing one")
    at testExtend ( /selection/extend.js:159:5)
Passextend() backwards with range 8 [paras[1].firstChild, 2, paras[1].firstChild, 9] and point 43 [testDiv, 0]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "Sanity check: startContainer must be correct")
    at testExtend ( /selection/extend.js:80:5)
Pass
assert_equals(2, 2, "Sanity check: startOffset must be correct")
    at testExtend ( /selection/extend.js:82:5)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "Sanity check: endContainer must be correct")
    at testExtend ( /selection/extend.js:84:5)
Pass
assert_equals(9, 9, "Sanity check: endOffset must be correct")
    at testExtend ( /selection/extend.js:86:5)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "anchorNode must not change if the node passed to extend() has the same root as the original range")
    at testExtend ( /selection/extend.js:145:9)
Pass
assert_equals(9, 9, "anchorOffset must not change if the node passed to extend() has the same root as the original range")
    at testExtend ( /selection/extend.js:147:9)
Pass
assert_equals(Element node <div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ </p><p id="b" s..., Element node <div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ </p><p id="b" s..., "focusNode must be the node passed to extend()")
    at testExtend ( /selection/extend.js:155:5)
Pass
assert_equals(0, 0, "focusOffset must be the offset passed to extend()")
    at testExtend ( /selection/extend.js:157:5)
Pass
assert_not_equals(object "Äb̈c̈d̈ëf̈g̈ḧ Ijklmnop ", object "klmnop ", "extend() must replace any existing range with a new one, not mutate the existing one")
    at testExtend ( /selection/extend.js:159:5)
Passextend() forwards with range 8 [paras[1].firstChild, 2, paras[1].firstChild, 9] and point 44 [testDiv, 3]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "Sanity check: startContainer must be correct")
    at testExtend ( /selection/extend.js:80:5)
Pass
assert_equals(2, 2, "Sanity check: startOffset must be correct")
    at testExtend ( /selection/extend.js:82:5)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "Sanity check: endContainer must be correct")
    at testExtend ( /selection/extend.js:84:5)
Pass
assert_equals(9, 9, "Sanity check: endOffset must be correct")
    at testExtend ( /selection/extend.js:86:5)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "anchorNode must not change if the node passed to extend() has the same root as the original range")
    at testExtend ( /selection/extend.js:145:9)
Pass
assert_equals(2, 2, "anchorOffset must not change if the node passed to extend() has the same root as the original range")
    at testExtend ( /selection/extend.js:147:9)
Pass
assert_equals(Element node <div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ </p><p id="b" s..., Element node <div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ </p><p id="b" s..., "focusNode must be the node passed to extend()")
    at testExtend ( /selection/extend.js:155:5)
Pass
assert_equals(3, 3, "focusOffset must be the offset passed to extend()")
    at testExtend ( /selection/extend.js:157:5)
Pass
assert_not_equals(object "klmnop Qrstuvwx", object "klmnop ", "extend() must replace any existing range with a new one, not mutate the existing one")
    at testExtend ( /selection/extend.js:159:5)
Passextend() backwards with range 8 [paras[1].firstChild, 2, paras[1].firstChild, 9] and point 44 [testDiv, 3]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "Sanity check: startContainer must be correct")
    at testExtend ( /selection/extend.js:80:5)
Pass
assert_equals(2, 2, "Sanity check: startOffset must be correct")
    at testExtend ( /selection/extend.js:82:5)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "Sanity check: endContainer must be correct")
    at testExtend ( /selection/extend.js:84:5)
Pass
assert_equals(9, 9, "Sanity check: endOffset must be correct")
    at testExtend ( /selection/extend.js:86:5)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "anchorNode must not change if the node passed to extend() has the same root as the original range")
    at testExtend ( /selection/extend.js:145:9)
Pass
assert_equals(9, 9, "anchorOffset must not change if the node passed to extend() has the same root as the original range")
    at testExtend ( /selection/extend.js:147:9)
Pass
assert_equals(Element node <div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ </p><p id="b" s..., Element node <div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ </p><p id="b" s..., "focusNode must be the node passed to extend()")
    at testExtend ( /selection/extend.js:155:5)
Pass
assert_equals(3, 3, "focusOffset must be the offset passed to extend()")
    at testExtend ( /selection/extend.js:157:5)
Pass
assert_not_equals(object "Qrstuvwx", object "klmnop ", "extend() must replace any existing range with a new one, not mutate the existing one")
    at testExtend ( /selection/extend.js:159:5)
Passextend() forwards with range 8 [paras[1].firstChild, 2, paras[1].firstChild, 9] and point 45 [document, -1]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "Sanity check: startContainer must be correct")
    at testExtend ( /selection/extend.js:80:5)
Pass
assert_equals(2, 2, "Sanity check: startOffset must be correct")
    at testExtend ( /selection/extend.js:82:5)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "Sanity check: endContainer must be correct")
    at testExtend ( /selection/extend.js:84:5)
Pass
assert_equals(9, 9, "Sanity check: endOffset must be correct")
    at testExtend ( /selection/extend.js:86:5)
Pass
assert_throws_dom("INDEX_SIZE_ERR", function "function() {             selection.extend(node, offset);         }", "extend() to an offset that's greater than node length (2) must throw IndexSizeError")
    at testExtend ( /selection/extend.js:117:9)
Passextend() backwards with range 8 [paras[1].firstChild, 2, paras[1].firstChild, 9] and point 45 [document, -1]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "Sanity check: startContainer must be correct")
    at testExtend ( /selection/extend.js:80:5)
Pass
assert_equals(2, 2, "Sanity check: startOffset must be correct")
    at testExtend ( /selection/extend.js:82:5)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "Sanity check: endContainer must be correct")
    at testExtend ( /selection/extend.js:84:5)
Pass
assert_equals(9, 9, "Sanity check: endOffset must be correct")
    at testExtend ( /selection/extend.js:86:5)
Pass
assert_throws_dom("INDEX_SIZE_ERR", function "function() {             selection.extend(node, offset);         }", "extend() to an offset that's greater than node length (2) must throw IndexSizeError")
    at testExtend ( /selection/extend.js:117:9)
Passextend() forwards with range 8 [paras[1].firstChild, 2, paras[1].firstChild, 9] and point 46 [document, 0]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "Sanity check: startContainer must be correct")
    at testExtend ( /selection/extend.js:80:5)
Pass
assert_equals(2, 2, "Sanity check: startOffset must be correct")
    at testExtend ( /selection/extend.js:82:5)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "Sanity check: endContainer must be correct")
    at testExtend ( /selection/extend.js:84:5)
Pass
assert_equals(9, 9, "Sanity check: endOffset must be correct")
    at testExtend ( /selection/extend.js:86:5)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "anchorNode must not change if the node passed to extend() has the same root as the original range")
    at testExtend ( /selection/extend.js:145:9)
Pass
assert_equals(2, 2, "anchorOffset must not change if the node passed to extend() has the same root as the original range")
    at testExtend ( /selection/extend.js:147:9)
Pass
assert_equals(Document node with 2 children, Document node with 2 children, "focusNode must be the node passed to extend()")
    at testExtend ( /selection/extend.js:155:5)
Pass
assert_equals(0, 0, "focusOffset must be the offset passed to extend()")
    at testExtend ( /selection/extend.js:157:5)
Pass
assert_not_equals(object "Selection extend() tests   Äb̈c̈d̈ëf̈g̈ḧ Ij", object "klmnop ", "extend() must replace any existing range with a new one, not mutate the existing one")
    at testExtend ( /selection/extend.js:159:5)
Passextend() backwards with range 8 [paras[1].firstChild, 2, paras[1].firstChild, 9] and point 46 [document, 0]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "Sanity check: startContainer must be correct")
    at testExtend ( /selection/extend.js:80:5)
Pass
assert_equals(2, 2, "Sanity check: startOffset must be correct")
    at testExtend ( /selection/extend.js:82:5)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "Sanity check: endContainer must be correct")
    at testExtend ( /selection/extend.js:84:5)
Pass
assert_equals(9, 9, "Sanity check: endOffset must be correct")
    at testExtend ( /selection/extend.js:86:5)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "anchorNode must not change if the node passed to extend() has the same root as the original range")
    at testExtend ( /selection/extend.js:145:9)
Pass
assert_equals(9, 9, "anchorOffset must not change if the node passed to extend() has the same root as the original range")
    at testExtend ( /selection/extend.js:147:9)
Pass
assert_equals(Document node with 2 children, Document node with 2 children, "focusNode must be the node passed to extend()")
    at testExtend ( /selection/extend.js:155:5)
Pass
assert_equals(0, 0, "focusOffset must be the offset passed to extend()")
    at testExtend ( /selection/extend.js:157:5)
Pass
assert_not_equals(object "Selection extend() tests   Äb̈c̈d̈ëf̈g̈ḧ Ijklmnop ", object "klmnop ", "extend() must replace any existing range with a new one, not mutate the existing one")
    at testExtend ( /selection/extend.js:159:5)
Passextend() forwards with range 8 [paras[1].firstChild, 2, paras[1].firstChild, 9] and point 47 [document, 1]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "Sanity check: startContainer must be correct")
    at testExtend ( /selection/extend.js:80:5)
Pass
assert_equals(2, 2, "Sanity check: startOffset must be correct")
    at testExtend ( /selection/extend.js:82:5)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "Sanity check: endContainer must be correct")
    at testExtend ( /selection/extend.js:84:5)
Pass
assert_equals(9, 9, "Sanity check: endOffset must be correct")
    at testExtend ( /selection/extend.js:86:5)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "anchorNode must not change if the node passed to extend() has the same root as the original range")
    at testExtend ( /selection/extend.js:145:9)
Pass
assert_equals(2, 2, "anchorOffset must not change if the node passed to extend() has the same root as the original range")
    at testExtend ( /selection/extend.js:147:9)
Pass
assert_equals(Document node with 2 children, Document node with 2 children, "focusNode must be the node passed to extend()")
    at testExtend ( /selection/extend.js:155:5)
Pass
assert_equals(1, 1, "focusOffset must be the offset passed to extend()")
    at testExtend ( /selection/extend.js:157:5)
Pass
assert_not_equals(object "Selection extend() tests   Äb̈c̈d̈ëf̈g̈ḧ Ij", object "klmnop ", "extend() must replace any existing range with a new one, not mutate the existing one")
    at testExtend ( /selection/extend.js:159:5)
Passextend() backwards with range 8 [paras[1].firstChild, 2, paras[1].firstChild, 9] and point 47 [document, 1]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "Sanity check: startContainer must be correct")
    at testExtend ( /selection/extend.js:80:5)
Pass
assert_equals(2, 2, "Sanity check: startOffset must be correct")
    at testExtend ( /selection/extend.js:82:5)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "Sanity check: endContainer must be correct")
    at testExtend ( /selection/extend.js:84:5)
Pass
assert_equals(9, 9, "Sanity check: endOffset must be correct")
    at testExtend ( /selection/extend.js:86:5)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "anchorNode must not change if the node passed to extend() has the same root as the original range")
    at testExtend ( /selection/extend.js:145:9)
Pass
assert_equals(9, 9, "anchorOffset must not change if the node passed to extend() has the same root as the original range")
    at testExtend ( /selection/extend.js:147:9)
Pass
assert_equals(Document node with 2 children, Document node with 2 children, "focusNode must be the node passed to extend()")
    at testExtend ( /selection/extend.js:155:5)
Pass
assert_equals(1, 1, "focusOffset must be the offset passed to extend()")
    at testExtend ( /selection/extend.js:157:5)
Pass
assert_not_equals(object "Selection extend() tests   Äb̈c̈d̈ëf̈g̈ḧ Ijklmnop ", object "klmnop ", "extend() must replace any existing range with a new one, not mutate the existing one")
    at testExtend ( /selection/extend.js:159:5)
Passextend() forwards with range 8 [paras[1].firstChild, 2, paras[1].firstChild, 9] and point 48 [document, 2]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "Sanity check: startContainer must be correct")
    at testExtend ( /selection/extend.js:80:5)
Pass
assert_equals(2, 2, "Sanity check: startOffset must be correct")
    at testExtend ( /selection/extend.js:82:5)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "Sanity check: endContainer must be correct")
    at testExtend ( /selection/extend.js:84:5)
Pass
assert_equals(9, 9, "Sanity check: endOffset must be correct")
    at testExtend ( /selection/extend.js:86:5)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "anchorNode must not change if the node passed to extend() has the same root as the original range")
    at testExtend ( /selection/extend.js:145:9)
Pass
assert_equals(2, 2, "anchorOffset must not change if the node passed to extend() has the same root as the original range")
    at testExtend ( /selection/extend.js:147:9)
Pass
assert_equals(Document node with 2 children, Document node with 2 children, "focusNode must be the node passed to extend()")
    at testExtend ( /selection/extend.js:155:5)
Pass
assert_equals(2, 2, "focusOffset must be the offset passed to extend()")
    at testExtend ( /selection/extend.js:157:5)
Pass
assert_not_equals(object "klmnop QrstuvwxYzabcdefGhijklmn     Running, 1000 complete, 1 remain  "use strict";  testExtendSubSet(0, 20); testDiv.style.display = "none"; ", object "klmnop ", "extend() must replace any existing range with a new one, not mutate the existing one")
    at testExtend ( /selection/extend.js:159:5)
Passextend() backwards with range 8 [paras[1].firstChild, 2, paras[1].firstChild, 9] and point 48 [document, 2]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "Sanity check: startContainer must be correct")
    at testExtend ( /selection/extend.js:80:5)
Pass
assert_equals(2, 2, "Sanity check: startOffset must be correct")
    at testExtend ( /selection/extend.js:82:5)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "Sanity check: endContainer must be correct")
    at testExtend ( /selection/extend.js:84:5)
Pass
assert_equals(9, 9, "Sanity check: endOffset must be correct")
    at testExtend ( /selection/extend.js:86:5)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "anchorNode must not change if the node passed to extend() has the same root as the original range")
    at testExtend ( /selection/extend.js:145:9)
Pass
assert_equals(9, 9, "anchorOffset must not change if the node passed to extend() has the same root as the original range")
    at testExtend ( /selection/extend.js:147:9)
Pass
assert_equals(Document node with 2 children, Document node with 2 children, "focusNode must be the node passed to extend()")
    at testExtend ( /selection/extend.js:155:5)
Pass
assert_equals(2, 2, "focusOffset must be the offset passed to extend()")
    at testExtend ( /selection/extend.js:157:5)
Pass
assert_not_equals(object "QrstuvwxYzabcdefGhijklmn     Running, 1000 complete, 1 remain  "use strict";  testExtendSubSet(0, 20); testDiv.style.display = "none"; ", object "klmnop ", "extend() must replace any existing range with a new one, not mutate the existing one")
    at testExtend ( /selection/extend.js:159:5)
Passextend() forwards with range 8 [paras[1].firstChild, 2, paras[1].firstChild, 9] and point 49 [document, 3]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "Sanity check: startContainer must be correct")
    at testExtend ( /selection/extend.js:80:5)
Pass
assert_equals(2, 2, "Sanity check: startOffset must be correct")
    at testExtend ( /selection/extend.js:82:5)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "Sanity check: endContainer must be correct")
    at testExtend ( /selection/extend.js:84:5)
Pass
assert_equals(9, 9, "Sanity check: endOffset must be correct")
    at testExtend ( /selection/extend.js:86:5)
Pass
assert_throws_dom("INDEX_SIZE_ERR", function "function() {             selection.extend(node, offset);         }", "extend() to an offset that's greater than node length (2) must throw IndexSizeError")
    at testExtend ( /selection/extend.js:117:9)
Passextend() backwards with range 8 [paras[1].firstChild, 2, paras[1].firstChild, 9] and point 49 [document, 3]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "Sanity check: startContainer must be correct")
    at testExtend ( /selection/extend.js:80:5)
Pass
assert_equals(2, 2, "Sanity check: startOffset must be correct")
    at testExtend ( /selection/extend.js:82:5)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "Sanity check: endContainer must be correct")
    at testExtend ( /selection/extend.js:84:5)
Pass
assert_equals(9, 9, "Sanity check: endOffset must be correct")
    at testExtend ( /selection/extend.js:86:5)
Pass
assert_throws_dom("INDEX_SIZE_ERR", function "function() {             selection.extend(node, offset);         }", "extend() to an offset that's greater than node length (2) must throw IndexSizeError")
    at testExtend ( /selection/extend.js:117:9)
Passextend() forwards with range 8 [paras[1].firstChild, 2, paras[1].firstChild, 9] and point 50 [comment, -1]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "Sanity check: startContainer must be correct")
    at testExtend ( /selection/extend.js:80:5)
Pass
assert_equals(2, 2, "Sanity check: startOffset must be correct")
    at testExtend ( /selection/extend.js:82:5)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "Sanity check: endContainer must be correct")
    at testExtend ( /selection/extend.js:84:5)
Pass
assert_equals(9, 9, "Sanity check: endOffset must be correct")
    at testExtend ( /selection/extend.js:86:5)
Pass
assert_throws_dom("INDEX_SIZE_ERR", function "function() {             selection.extend(node, offset);         }", "extend() to an offset that's greater than node length (14) must throw IndexSizeError")
    at testExtend ( /selection/extend.js:117:9)
Passextend() backwards with range 8 [paras[1].firstChild, 2, paras[1].firstChild, 9] and point 50 [comment, -1]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "Sanity check: startContainer must be correct")
    at testExtend ( /selection/extend.js:80:5)
Pass
assert_equals(2, 2, "Sanity check: startOffset must be correct")
    at testExtend ( /selection/extend.js:82:5)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "Sanity check: endContainer must be correct")
    at testExtend ( /selection/extend.js:84:5)
Pass
assert_equals(9, 9, "Sanity check: endOffset must be correct")
    at testExtend ( /selection/extend.js:86:5)
Pass
assert_throws_dom("INDEX_SIZE_ERR", function "function() {             selection.extend(node, offset);         }", "extend() to an offset that's greater than node length (14) must throw IndexSizeError")
    at testExtend ( /selection/extend.js:117:9)
Passextend() forwards with range 8 [paras[1].firstChild, 2, paras[1].firstChild, 9] and point 51 [comment, 0]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "Sanity check: startContainer must be correct")
    at testExtend ( /selection/extend.js:80:5)
Pass
assert_equals(2, 2, "Sanity check: startOffset must be correct")
    at testExtend ( /selection/extend.js:82:5)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "Sanity check: endContainer must be correct")
    at testExtend ( /selection/extend.js:84:5)
Pass
assert_equals(9, 9, "Sanity check: endOffset must be correct")
    at testExtend ( /selection/extend.js:86:5)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "anchorNode must not change if the node passed to extend() has the same root as the original range")
    at testExtend ( /selection/extend.js:145:9)
Pass
assert_equals(2, 2, "anchorOffset must not change if the node passed to extend() has the same root as the original range")
    at testExtend ( /selection/extend.js:147:9)
Pass
assert_equals(Comment node <!--Alphabet soup?-->, Comment node <!--Alphabet soup?-->, "focusNode must be the node passed to extend()")
    at testExtend ( /selection/extend.js:155:5)
Pass
assert_equals(0, 0, "focusOffset must be the offset passed to extend()")
    at testExtend ( /selection/extend.js:157:5)
Pass
assert_not_equals(object "klmnop QrstuvwxYzabcdefGhijklmn", object "klmnop ", "extend() must replace any existing range with a new one, not mutate the existing one")
    at testExtend ( /selection/extend.js:159:5)
Passextend() backwards with range 8 [paras[1].firstChild, 2, paras[1].firstChild, 9] and point 51 [comment, 0]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "Sanity check: startContainer must be correct")
    at testExtend ( /selection/extend.js:80:5)
Pass
assert_equals(2, 2, "Sanity check: startOffset must be correct")
    at testExtend ( /selection/extend.js:82:5)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "Sanity check: endContainer must be correct")
    at testExtend ( /selection/extend.js:84:5)
Pass
assert_equals(9, 9, "Sanity check: endOffset must be correct")
    at testExtend ( /selection/extend.js:86:5)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "anchorNode must not change if the node passed to extend() has the same root as the original range")
    at testExtend ( /selection/extend.js:145:9)
Pass
assert_equals(9, 9, "anchorOffset must not change if the node passed to extend() has the same root as the original range")
    at testExtend ( /selection/extend.js:147:9)
Pass
assert_equals(Comment node <!--Alphabet soup?-->, Comment node <!--Alphabet soup?-->, "focusNode must be the node passed to extend()")
    at testExtend ( /selection/extend.js:155:5)
Pass
assert_equals(0, 0, "focusOffset must be the offset passed to extend()")
    at testExtend ( /selection/extend.js:157:5)
Pass
assert_not_equals(object "QrstuvwxYzabcdefGhijklmn", object "klmnop ", "extend() must replace any existing range with a new one, not mutate the existing one")
    at testExtend ( /selection/extend.js:159:5)
Passextend() forwards with range 8 [paras[1].firstChild, 2, paras[1].firstChild, 9] and point 52 [comment, 4]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "Sanity check: startContainer must be correct")
    at testExtend ( /selection/extend.js:80:5)
Pass
assert_equals(2, 2, "Sanity check: startOffset must be correct")
    at testExtend ( /selection/extend.js:82:5)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "Sanity check: endContainer must be correct")
    at testExtend ( /selection/extend.js:84:5)
Pass
assert_equals(9, 9, "Sanity check: endOffset must be correct")
    at testExtend ( /selection/extend.js:86:5)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "anchorNode must not change if the node passed to extend() has the same root as the original range")
    at testExtend ( /selection/extend.js:145:9)
Pass
assert_equals(2, 2, "anchorOffset must not change if the node passed to extend() has the same root as the original range")
    at testExtend ( /selection/extend.js:147:9)
Pass
assert_equals(Comment node <!--Alphabet soup?-->, Comment node <!--Alphabet soup?-->, "focusNode must be the node passed to extend()")
    at testExtend ( /selection/extend.js:155:5)
Pass
assert_equals(4, 4, "focusOffset must be the offset passed to extend()")
    at testExtend ( /selection/extend.js:157:5)
Pass
assert_not_equals(object "klmnop QrstuvwxYzabcdefGhijklmn", object "klmnop ", "extend() must replace any existing range with a new one, not mutate the existing one")
    at testExtend ( /selection/extend.js:159:5)
Passextend() backwards with range 8 [paras[1].firstChild, 2, paras[1].firstChild, 9] and point 52 [comment, 4]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "Sanity check: startContainer must be correct")
    at testExtend ( /selection/extend.js:80:5)
Pass
assert_equals(2, 2, "Sanity check: startOffset must be correct")
    at testExtend ( /selection/extend.js:82:5)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "Sanity check: endContainer must be correct")
    at testExtend ( /selection/extend.js:84:5)
Pass
assert_equals(9, 9, "Sanity check: endOffset must be correct")
    at testExtend ( /selection/extend.js:86:5)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "anchorNode must not change if the node passed to extend() has the same root as the original range")
    at testExtend ( /selection/extend.js:145:9)
Pass
assert_equals(9, 9, "anchorOffset must not change if the node passed to extend() has the same root as the original range")
    at testExtend ( /selection/extend.js:147:9)
Pass
assert_equals(Comment node <!--Alphabet soup?-->, Comment node <!--Alphabet soup?-->, "focusNode must be the node passed to extend()")
    at testExtend ( /selection/extend.js:155:5)
Pass
assert_equals(4, 4, "focusOffset must be the offset passed to extend()")
    at testExtend ( /selection/extend.js:157:5)
Pass
assert_not_equals(object "QrstuvwxYzabcdefGhijklmn", object "klmnop ", "extend() must replace any existing range with a new one, not mutate the existing one")
    at testExtend ( /selection/extend.js:159:5)
Passextend() forwards with range 8 [paras[1].firstChild, 2, paras[1].firstChild, 9] and point 53 [comment, 96]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "Sanity check: startContainer must be correct")
    at testExtend ( /selection/extend.js:80:5)
Pass
assert_equals(2, 2, "Sanity check: startOffset must be correct")
    at testExtend ( /selection/extend.js:82:5)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "Sanity check: endContainer must be correct")
    at testExtend ( /selection/extend.js:84:5)
Pass
assert_equals(9, 9, "Sanity check: endOffset must be correct")
    at testExtend ( /selection/extend.js:86:5)
Pass
assert_throws_dom("INDEX_SIZE_ERR", function "function() {             selection.extend(node, offset);         }", "extend() to an offset that's greater than node length (14) must throw IndexSizeError")
    at testExtend ( /selection/extend.js:117:9)
Passextend() backwards with range 8 [paras[1].firstChild, 2, paras[1].firstChild, 9] and point 53 [comment, 96]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "Sanity check: startContainer must be correct")
    at testExtend ( /selection/extend.js:80:5)
Pass
assert_equals(2, 2, "Sanity check: startOffset must be correct")
    at testExtend ( /selection/extend.js:82:5)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "Sanity check: endContainer must be correct")
    at testExtend ( /selection/extend.js:84:5)
Pass
assert_equals(9, 9, "Sanity check: endOffset must be correct")
    at testExtend ( /selection/extend.js:86:5)
Pass
assert_throws_dom("INDEX_SIZE_ERR", function "function() {             selection.extend(node, offset);         }", "extend() to an offset that's greater than node length (14) must throw IndexSizeError")
    at testExtend ( /selection/extend.js:117:9)
Passextend() forwards with range 8 [paras[1].firstChild, 2, paras[1].firstChild, 9] and point 54 [foreignDoc, 0]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(1, 1, "The operation should not add Range")
    at assertSelectionNoChange ( /selection/common.js:976:5)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "The operation should not update anchorNode")
    at assertSelectionNoChange ( /selection/common.js:978:5)
Pass
assert_equals(2, 2, "The operation should not update anchorOffset")
    at assertSelectionNoChange ( /selection/common.js:980:5)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "The operation should not update focusNode")
    at assertSelectionNoChange ( /selection/common.js:982:5)
Pass
assert_equals(9, 9, "The operation should not update focusOffset")
    at assertSelectionNoChange ( /selection/common.js:984:5)
Pass
assert_equals(object "klmnop ", object "klmnop ", "The operation should not replace a registered Range")
    at assertSelectionNoChange ( /selection/common.js:988:5)
Passextend() backwards with range 8 [paras[1].firstChild, 2, paras[1].firstChild, 9] and point 54 [foreignDoc, 0]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(1, 1, "The operation should not add Range")
    at assertSelectionNoChange ( /selection/common.js:976:5)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "The operation should not update anchorNode")
    at assertSelectionNoChange ( /selection/common.js:978:5)
Pass
assert_equals(9, 9, "The operation should not update anchorOffset")
    at assertSelectionNoChange ( /selection/common.js:980:5)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "The operation should not update focusNode")
    at assertSelectionNoChange ( /selection/common.js:982:5)
Pass
assert_equals(2, 2, "The operation should not update focusOffset")
    at assertSelectionNoChange ( /selection/common.js:984:5)
Pass
assert_equals(object "klmnop ", object "klmnop ", "The operation should not replace a registered Range")
    at assertSelectionNoChange ( /selection/common.js:988:5)
Passextend() forwards with range 8 [paras[1].firstChild, 2, paras[1].firstChild, 9] and point 55 [foreignDoc, 1]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(1, 1, "The operation should not add Range")
    at assertSelectionNoChange ( /selection/common.js:976:5)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "The operation should not update anchorNode")
    at assertSelectionNoChange ( /selection/common.js:978:5)
Pass
assert_equals(2, 2, "The operation should not update anchorOffset")
    at assertSelectionNoChange ( /selection/common.js:980:5)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "The operation should not update focusNode")
    at assertSelectionNoChange ( /selection/common.js:982:5)
Pass
assert_equals(9, 9, "The operation should not update focusOffset")
    at assertSelectionNoChange ( /selection/common.js:984:5)
Pass
assert_equals(object "klmnop ", object "klmnop ", "The operation should not replace a registered Range")
    at assertSelectionNoChange ( /selection/common.js:988:5)
Passextend() backwards with range 8 [paras[1].firstChild, 2, paras[1].firstChild, 9] and point 55 [foreignDoc, 1]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(1, 1, "The operation should not add Range")
    at assertSelectionNoChange ( /selection/common.js:976:5)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "The operation should not update anchorNode")
    at assertSelectionNoChange ( /selection/common.js:978:5)
Pass
assert_equals(9, 9, "The operation should not update anchorOffset")
    at assertSelectionNoChange ( /selection/common.js:980:5)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "The operation should not update focusNode")
    at assertSelectionNoChange ( /selection/common.js:982:5)
Pass
assert_equals(2, 2, "The operation should not update focusOffset")
    at assertSelectionNoChange ( /selection/common.js:984:5)
Pass
assert_equals(object "klmnop ", object "klmnop ", "The operation should not replace a registered Range")
    at assertSelectionNoChange ( /selection/common.js:988:5)
Passextend() forwards with range 8 [paras[1].firstChild, 2, paras[1].firstChild, 9] and point 56 [foreignComment, 2]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(1, 1, "The operation should not add Range")
    at assertSelectionNoChange ( /selection/common.js:976:5)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "The operation should not update anchorNode")
    at assertSelectionNoChange ( /selection/common.js:978:5)
Pass
assert_equals(2, 2, "The operation should not update anchorOffset")
    at assertSelectionNoChange ( /selection/common.js:980:5)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "The operation should not update focusNode")
    at assertSelectionNoChange ( /selection/common.js:982:5)
Pass
assert_equals(9, 9, "The operation should not update focusOffset")
    at assertSelectionNoChange ( /selection/common.js:984:5)
Pass
assert_equals(object "klmnop ", object "klmnop ", "The operation should not replace a registered Range")
    at assertSelectionNoChange ( /selection/common.js:988:5)
Passextend() backwards with range 8 [paras[1].firstChild, 2, paras[1].firstChild, 9] and point 56 [foreignComment, 2]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(1, 1, "The operation should not add Range")
    at assertSelectionNoChange ( /selection/common.js:976:5)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "The operation should not update anchorNode")
    at assertSelectionNoChange ( /selection/common.js:978:5)
Pass
assert_equals(9, 9, "The operation should not update anchorOffset")
    at assertSelectionNoChange ( /selection/common.js:980:5)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "The operation should not update focusNode")
    at assertSelectionNoChange ( /selection/common.js:982:5)
Pass
assert_equals(2, 2, "The operation should not update focusOffset")
    at assertSelectionNoChange ( /selection/common.js:984:5)
Pass
assert_equals(object "klmnop ", object "klmnop ", "The operation should not replace a registered Range")
    at assertSelectionNoChange ( /selection/common.js:988:5)
Passextend() forwards with range 8 [paras[1].firstChild, 2, paras[1].firstChild, 9] and point 57 [foreignTextNode, 0]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(1, 1, "The operation should not add Range")
    at assertSelectionNoChange ( /selection/common.js:976:5)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "The operation should not update anchorNode")
    at assertSelectionNoChange ( /selection/common.js:978:5)
Pass
assert_equals(2, 2, "The operation should not update anchorOffset")
    at assertSelectionNoChange ( /selection/common.js:980:5)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "The operation should not update focusNode")
    at assertSelectionNoChange ( /selection/common.js:982:5)
Pass
assert_equals(9, 9, "The operation should not update focusOffset")
    at assertSelectionNoChange ( /selection/common.js:984:5)
Pass
assert_equals(object "klmnop ", object "klmnop ", "The operation should not replace a registered Range")
    at assertSelectionNoChange ( /selection/common.js:988:5)
Passextend() backwards with range 8 [paras[1].firstChild, 2, paras[1].firstChild, 9] and point 57 [foreignTextNode, 0]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(1, 1, "The operation should not add Range")
    at assertSelectionNoChange ( /selection/common.js:976:5)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "The operation should not update anchorNode")
    at assertSelectionNoChange ( /selection/common.js:978:5)
Pass
assert_equals(9, 9, "The operation should not update anchorOffset")
    at assertSelectionNoChange ( /selection/common.js:980:5)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "The operation should not update focusNode")
    at assertSelectionNoChange ( /selection/common.js:982:5)
Pass
assert_equals(2, 2, "The operation should not update focusOffset")
    at assertSelectionNoChange ( /selection/common.js:984:5)
Pass
assert_equals(object "klmnop ", object "klmnop ", "The operation should not replace a registered Range")
    at assertSelectionNoChange ( /selection/common.js:988:5)
Passextend() forwards with range 8 [paras[1].firstChild, 2, paras[1].firstChild, 9] and point 58 [foreignTextNode, 36]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(1, 1, "The operation should not add Range")
    at assertSelectionNoChange ( /selection/common.js:976:5)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "The operation should not update anchorNode")
    at assertSelectionNoChange ( /selection/common.js:978:5)
Pass
assert_equals(2, 2, "The operation should not update anchorOffset")
    at assertSelectionNoChange ( /selection/common.js:980:5)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "The operation should not update focusNode")
    at assertSelectionNoChange ( /selection/common.js:982:5)
Pass
assert_equals(9, 9, "The operation should not update focusOffset")
    at assertSelectionNoChange ( /selection/common.js:984:5)
Pass
assert_equals(object "klmnop ", object "klmnop ", "The operation should not replace a registered Range")
    at assertSelectionNoChange ( /selection/common.js:988:5)
Passextend() backwards with range 8 [paras[1].firstChild, 2, paras[1].firstChild, 9] and point 58 [foreignTextNode, 36]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(1, 1, "The operation should not add Range")
    at assertSelectionNoChange ( /selection/common.js:976:5)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "The operation should not update anchorNode")
    at assertSelectionNoChange ( /selection/common.js:978:5)
Pass
assert_equals(9, 9, "The operation should not update anchorOffset")
    at assertSelectionNoChange ( /selection/common.js:980:5)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "The operation should not update focusNode")
    at assertSelectionNoChange ( /selection/common.js:982:5)
Pass
assert_equals(2, 2, "The operation should not update focusOffset")
    at assertSelectionNoChange ( /selection/common.js:984:5)
Pass
assert_equals(object "klmnop ", object "klmnop ", "The operation should not replace a registered Range")
    at assertSelectionNoChange ( /selection/common.js:988:5)
Passextend() forwards with range 8 [paras[1].firstChild, 2, paras[1].firstChild, 9] and point 59 [xmlDoc, -1]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(1, 1, "The operation should not add Range")
    at assertSelectionNoChange ( /selection/common.js:976:5)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "The operation should not update anchorNode")
    at assertSelectionNoChange ( /selection/common.js:978:5)
Pass
assert_equals(2, 2, "The operation should not update anchorOffset")
    at assertSelectionNoChange ( /selection/common.js:980:5)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "The operation should not update focusNode")
    at assertSelectionNoChange ( /selection/common.js:982:5)
Pass
assert_equals(9, 9, "The operation should not update focusOffset")
    at assertSelectionNoChange ( /selection/common.js:984:5)
Pass
assert_equals(object "klmnop ", object "klmnop ", "The operation should not replace a registered Range")
    at assertSelectionNoChange ( /selection/common.js:988:5)
Passextend() backwards with range 8 [paras[1].firstChild, 2, paras[1].firstChild, 9] and point 59 [xmlDoc, -1]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(1, 1, "The operation should not add Range")
    at assertSelectionNoChange ( /selection/common.js:976:5)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "The operation should not update anchorNode")
    at assertSelectionNoChange ( /selection/common.js:978:5)
Pass
assert_equals(9, 9, "The operation should not update anchorOffset")
    at assertSelectionNoChange ( /selection/common.js:980:5)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "The operation should not update focusNode")
    at assertSelectionNoChange ( /selection/common.js:982:5)
Pass
assert_equals(2, 2, "The operation should not update focusOffset")
    at assertSelectionNoChange ( /selection/common.js:984:5)
Pass
assert_equals(object "klmnop ", object "klmnop ", "The operation should not replace a registered Range")
    at assertSelectionNoChange ( /selection/common.js:988:5)
Passextend() forwards with range 8 [paras[1].firstChild, 2, paras[1].firstChild, 9] and point 60 [xmlDoc, 0]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(1, 1, "The operation should not add Range")
    at assertSelectionNoChange ( /selection/common.js:976:5)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "The operation should not update anchorNode")
    at assertSelectionNoChange ( /selection/common.js:978:5)
Pass
assert_equals(2, 2, "The operation should not update anchorOffset")
    at assertSelectionNoChange ( /selection/common.js:980:5)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "The operation should not update focusNode")
    at assertSelectionNoChange ( /selection/common.js:982:5)
Pass
assert_equals(9, 9, "The operation should not update focusOffset")
    at assertSelectionNoChange ( /selection/common.js:984:5)
Pass
assert_equals(object "klmnop ", object "klmnop ", "The operation should not replace a registered Range")
    at assertSelectionNoChange ( /selection/common.js:988:5)
Passextend() backwards with range 8 [paras[1].firstChild, 2, paras[1].firstChild, 9] and point 60 [xmlDoc, 0]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(1, 1, "The operation should not add Range")
    at assertSelectionNoChange ( /selection/common.js:976:5)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "The operation should not update anchorNode")
    at assertSelectionNoChange ( /selection/common.js:978:5)
Pass
assert_equals(9, 9, "The operation should not update anchorOffset")
    at assertSelectionNoChange ( /selection/common.js:980:5)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "The operation should not update focusNode")
    at assertSelectionNoChange ( /selection/common.js:982:5)
Pass
assert_equals(2, 2, "The operation should not update focusOffset")
    at assertSelectionNoChange ( /selection/common.js:984:5)
Pass
assert_equals(object "klmnop ", object "klmnop ", "The operation should not replace a registered Range")
    at assertSelectionNoChange ( /selection/common.js:988:5)
Passextend() forwards with range 8 [paras[1].firstChild, 2, paras[1].firstChild, 9] and point 61 [xmlDoc, 1]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(1, 1, "The operation should not add Range")
    at assertSelectionNoChange ( /selection/common.js:976:5)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "The operation should not update anchorNode")
    at assertSelectionNoChange ( /selection/common.js:978:5)
Pass
assert_equals(2, 2, "The operation should not update anchorOffset")
    at assertSelectionNoChange ( /selection/common.js:980:5)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "The operation should not update focusNode")
    at assertSelectionNoChange ( /selection/common.js:982:5)
Pass
assert_equals(9, 9, "The operation should not update focusOffset")
    at assertSelectionNoChange ( /selection/common.js:984:5)
Pass
assert_equals(object "klmnop ", object "klmnop ", "The operation should not replace a registered Range")
    at assertSelectionNoChange ( /selection/common.js:988:5)
Passextend() backwards with range 8 [paras[1].firstChild, 2, paras[1].firstChild, 9] and point 61 [xmlDoc, 1]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(1, 1, "The operation should not add Range")
    at assertSelectionNoChange ( /selection/common.js:976:5)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "The operation should not update anchorNode")
    at assertSelectionNoChange ( /selection/common.js:978:5)
Pass
assert_equals(9, 9, "The operation should not update anchorOffset")
    at assertSelectionNoChange ( /selection/common.js:980:5)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "The operation should not update focusNode")
    at assertSelectionNoChange ( /selection/common.js:982:5)
Pass
assert_equals(2, 2, "The operation should not update focusOffset")
    at assertSelectionNoChange ( /selection/common.js:984:5)
Pass
assert_equals(object "klmnop ", object "klmnop ", "The operation should not replace a registered Range")
    at assertSelectionNoChange ( /selection/common.js:988:5)
Passextend() forwards with range 8 [paras[1].firstChild, 2, paras[1].firstChild, 9] and point 62 [xmlDoc, 5]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(1, 1, "The operation should not add Range")
    at assertSelectionNoChange ( /selection/common.js:976:5)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "The operation should not update anchorNode")
    at assertSelectionNoChange ( /selection/common.js:978:5)
Pass
assert_equals(2, 2, "The operation should not update anchorOffset")
    at assertSelectionNoChange ( /selection/common.js:980:5)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "The operation should not update focusNode")
    at assertSelectionNoChange ( /selection/common.js:982:5)
Pass
assert_equals(9, 9, "The operation should not update focusOffset")
    at assertSelectionNoChange ( /selection/common.js:984:5)
Pass
assert_equals(object "klmnop ", object "klmnop ", "The operation should not replace a registered Range")
    at assertSelectionNoChange ( /selection/common.js:988:5)
Passextend() backwards with range 8 [paras[1].firstChild, 2, paras[1].firstChild, 9] and point 62 [xmlDoc, 5]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(1, 1, "The operation should not add Range")
    at assertSelectionNoChange ( /selection/common.js:976:5)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "The operation should not update anchorNode")
    at assertSelectionNoChange ( /selection/common.js:978:5)
Pass
assert_equals(9, 9, "The operation should not update anchorOffset")
    at assertSelectionNoChange ( /selection/common.js:980:5)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "The operation should not update focusNode")
    at assertSelectionNoChange ( /selection/common.js:982:5)
Pass
assert_equals(2, 2, "The operation should not update focusOffset")
    at assertSelectionNoChange ( /selection/common.js:984:5)
Pass
assert_equals(object "klmnop ", object "klmnop ", "The operation should not replace a registered Range")
    at assertSelectionNoChange ( /selection/common.js:988:5)
Passextend() forwards with range 8 [paras[1].firstChild, 2, paras[1].firstChild, 9] and point 63 [xmlComment, 0]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(1, 1, "The operation should not add Range")
    at assertSelectionNoChange ( /selection/common.js:976:5)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "The operation should not update anchorNode")
    at assertSelectionNoChange ( /selection/common.js:978:5)
Pass
assert_equals(2, 2, "The operation should not update anchorOffset")
    at assertSelectionNoChange ( /selection/common.js:980:5)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "The operation should not update focusNode")
    at assertSelectionNoChange ( /selection/common.js:982:5)
Pass
assert_equals(9, 9, "The operation should not update focusOffset")
    at assertSelectionNoChange ( /selection/common.js:984:5)
Pass
assert_equals(object "klmnop ", object "klmnop ", "The operation should not replace a registered Range")
    at assertSelectionNoChange ( /selection/common.js:988:5)
Passextend() backwards with range 8 [paras[1].firstChild, 2, paras[1].firstChild, 9] and point 63 [xmlComment, 0]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(1, 1, "The operation should not add Range")
    at assertSelectionNoChange ( /selection/common.js:976:5)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "The operation should not update anchorNode")
    at assertSelectionNoChange ( /selection/common.js:978:5)
Pass
assert_equals(9, 9, "The operation should not update anchorOffset")
    at assertSelectionNoChange ( /selection/common.js:980:5)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "The operation should not update focusNode")
    at assertSelectionNoChange ( /selection/common.js:982:5)
Pass
assert_equals(2, 2, "The operation should not update focusOffset")
    at assertSelectionNoChange ( /selection/common.js:984:5)
Pass
assert_equals(object "klmnop ", object "klmnop ", "The operation should not replace a registered Range")
    at assertSelectionNoChange ( /selection/common.js:988:5)
Passextend() forwards with range 8 [paras[1].firstChild, 2, paras[1].firstChild, 9] and point 64 [xmlComment, 4]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(1, 1, "The operation should not add Range")
    at assertSelectionNoChange ( /selection/common.js:976:5)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "The operation should not update anchorNode")
    at assertSelectionNoChange ( /selection/common.js:978:5)
Pass
assert_equals(2, 2, "The operation should not update anchorOffset")
    at assertSelectionNoChange ( /selection/common.js:980:5)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "The operation should not update focusNode")
    at assertSelectionNoChange ( /selection/common.js:982:5)
Pass
assert_equals(9, 9, "The operation should not update focusOffset")
    at assertSelectionNoChange ( /selection/common.js:984:5)
Pass
assert_equals(object "klmnop ", object "klmnop ", "The operation should not replace a registered Range")
    at assertSelectionNoChange ( /selection/common.js:988:5)
Passextend() backwards with range 8 [paras[1].firstChild, 2, paras[1].firstChild, 9] and point 64 [xmlComment, 4]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(1, 1, "The operation should not add Range")
    at assertSelectionNoChange ( /selection/common.js:976:5)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "The operation should not update anchorNode")
    at assertSelectionNoChange ( /selection/common.js:978:5)
Pass
assert_equals(9, 9, "The operation should not update anchorOffset")
    at assertSelectionNoChange ( /selection/common.js:980:5)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "The operation should not update focusNode")
    at assertSelectionNoChange ( /selection/common.js:982:5)
Pass
assert_equals(2, 2, "The operation should not update focusOffset")
    at assertSelectionNoChange ( /selection/common.js:984:5)
Pass
assert_equals(object "klmnop ", object "klmnop ", "The operation should not replace a registered Range")
    at assertSelectionNoChange ( /selection/common.js:988:5)
Passextend() forwards with range 8 [paras[1].firstChild, 2, paras[1].firstChild, 9] and point 65 [processingInstruction, 0]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(1, 1, "The operation should not add Range")
    at assertSelectionNoChange ( /selection/common.js:976:5)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "The operation should not update anchorNode")
    at assertSelectionNoChange ( /selection/common.js:978:5)
Pass
assert_equals(2, 2, "The operation should not update anchorOffset")
    at assertSelectionNoChange ( /selection/common.js:980:5)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "The operation should not update focusNode")
    at assertSelectionNoChange ( /selection/common.js:982:5)
Pass
assert_equals(9, 9, "The operation should not update focusOffset")
    at assertSelectionNoChange ( /selection/common.js:984:5)
Pass
assert_equals(object "klmnop ", object "klmnop ", "The operation should not replace a registered Range")
    at assertSelectionNoChange ( /selection/common.js:988:5)
Passextend() backwards with range 8 [paras[1].firstChild, 2, paras[1].firstChild, 9] and point 65 [processingInstruction, 0]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(1, 1, "The operation should not add Range")
    at assertSelectionNoChange ( /selection/common.js:976:5)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "The operation should not update anchorNode")
    at assertSelectionNoChange ( /selection/common.js:978:5)
Pass
assert_equals(9, 9, "The operation should not update anchorOffset")
    at assertSelectionNoChange ( /selection/common.js:980:5)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "The operation should not update focusNode")
    at assertSelectionNoChange ( /selection/common.js:982:5)
Pass
assert_equals(2, 2, "The operation should not update focusOffset")
    at assertSelectionNoChange ( /selection/common.js:984:5)
Pass
assert_equals(object "klmnop ", object "klmnop ", "The operation should not replace a registered Range")
    at assertSelectionNoChange ( /selection/common.js:988:5)
Passextend() forwards with range 8 [paras[1].firstChild, 2, paras[1].firstChild, 9] and point 66 [processingInstruction, 5]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(1, 1, "The operation should not add Range")
    at assertSelectionNoChange ( /selection/common.js:976:5)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "The operation should not update anchorNode")
    at assertSelectionNoChange ( /selection/common.js:978:5)
Pass
assert_equals(2, 2, "The operation should not update anchorOffset")
    at assertSelectionNoChange ( /selection/common.js:980:5)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "The operation should not update focusNode")
    at assertSelectionNoChange ( /selection/common.js:982:5)
Pass
assert_equals(9, 9, "The operation should not update focusOffset")
    at assertSelectionNoChange ( /selection/common.js:984:5)
Pass
assert_equals(object "klmnop ", object "klmnop ", "The operation should not replace a registered Range")
    at assertSelectionNoChange ( /selection/common.js:988:5)
Passextend() backwards with range 8 [paras[1].firstChild, 2, paras[1].firstChild, 9] and point 66 [processingInstruction, 5]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(1, 1, "The operation should not add Range")
    at assertSelectionNoChange ( /selection/common.js:976:5)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "The operation should not update anchorNode")
    at assertSelectionNoChange ( /selection/common.js:978:5)
Pass
assert_equals(9, 9, "The operation should not update anchorOffset")
    at assertSelectionNoChange ( /selection/common.js:980:5)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "The operation should not update focusNode")
    at assertSelectionNoChange ( /selection/common.js:982:5)
Pass
assert_equals(2, 2, "The operation should not update focusOffset")
    at assertSelectionNoChange ( /selection/common.js:984:5)
Pass
assert_equals(object "klmnop ", object "klmnop ", "The operation should not replace a registered Range")
    at assertSelectionNoChange ( /selection/common.js:988:5)
Passextend() forwards with range 8 [paras[1].firstChild, 2, paras[1].firstChild, 9] and point 67 [processingInstruction, 9]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(1, 1, "The operation should not add Range")
    at assertSelectionNoChange ( /selection/common.js:976:5)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "The operation should not update anchorNode")
    at assertSelectionNoChange ( /selection/common.js:978:5)
Pass
assert_equals(2, 2, "The operation should not update anchorOffset")
    at assertSelectionNoChange ( /selection/common.js:980:5)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "The operation should not update focusNode")
    at assertSelectionNoChange ( /selection/common.js:982:5)
Pass
assert_equals(9, 9, "The operation should not update focusOffset")
    at assertSelectionNoChange ( /selection/common.js:984:5)
Pass
assert_equals(object "klmnop ", object "klmnop ", "The operation should not replace a registered Range")
    at assertSelectionNoChange ( /selection/common.js:988:5)
Passextend() backwards with range 8 [paras[1].firstChild, 2, paras[1].firstChild, 9] and point 67 [processingInstruction, 9]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(1, 1, "The operation should not add Range")
    at assertSelectionNoChange ( /selection/common.js:976:5)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "The operation should not update anchorNode")
    at assertSelectionNoChange ( /selection/common.js:978:5)
Pass
assert_equals(9, 9, "The operation should not update anchorOffset")
    at assertSelectionNoChange ( /selection/common.js:980:5)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "The operation should not update focusNode")
    at assertSelectionNoChange ( /selection/common.js:982:5)
Pass
assert_equals(2, 2, "The operation should not update focusOffset")
    at assertSelectionNoChange ( /selection/common.js:984:5)
Pass
assert_equals(object "klmnop ", object "klmnop ", "The operation should not replace a registered Range")
    at assertSelectionNoChange ( /selection/common.js:988:5)
Passextend() forwards with range 8 [paras[1].firstChild, 2, paras[1].firstChild, 9] and point 68 [detachedTextNode, 0]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(1, 1, "The operation should not add Range")
    at assertSelectionNoChange ( /selection/common.js:976:5)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "The operation should not update anchorNode")
    at assertSelectionNoChange ( /selection/common.js:978:5)
Pass
assert_equals(2, 2, "The operation should not update anchorOffset")
    at assertSelectionNoChange ( /selection/common.js:980:5)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "The operation should not update focusNode")
    at assertSelectionNoChange ( /selection/common.js:982:5)
Pass
assert_equals(9, 9, "The operation should not update focusOffset")
    at assertSelectionNoChange ( /selection/common.js:984:5)
Pass
assert_equals(object "klmnop ", object "klmnop ", "The operation should not replace a registered Range")
    at assertSelectionNoChange ( /selection/common.js:988:5)
Passextend() backwards with range 8 [paras[1].firstChild, 2, paras[1].firstChild, 9] and point 68 [detachedTextNode, 0]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(1, 1, "The operation should not add Range")
    at assertSelectionNoChange ( /selection/common.js:976:5)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "The operation should not update anchorNode")
    at assertSelectionNoChange ( /selection/common.js:978:5)
Pass
assert_equals(9, 9, "The operation should not update anchorOffset")
    at assertSelectionNoChange ( /selection/common.js:980:5)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "The operation should not update focusNode")
    at assertSelectionNoChange ( /selection/common.js:982:5)
Pass
assert_equals(2, 2, "The operation should not update focusOffset")
    at assertSelectionNoChange ( /selection/common.js:984:5)
Pass
assert_equals(object "klmnop ", object "klmnop ", "The operation should not replace a registered Range")
    at assertSelectionNoChange ( /selection/common.js:988:5)
Passextend() forwards with range 8 [paras[1].firstChild, 2, paras[1].firstChild, 9] and point 69 [detachedTextNode, 8]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(1, 1, "The operation should not add Range")
    at assertSelectionNoChange ( /selection/common.js:976:5)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "The operation should not update anchorNode")
    at assertSelectionNoChange ( /selection/common.js:978:5)
Pass
assert_equals(2, 2, "The operation should not update anchorOffset")
    at assertSelectionNoChange ( /selection/common.js:980:5)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "The operation should not update focusNode")
    at assertSelectionNoChange ( /selection/common.js:982:5)
Pass
assert_equals(9, 9, "The operation should not update focusOffset")
    at assertSelectionNoChange ( /selection/common.js:984:5)
Pass
assert_equals(object "klmnop ", object "klmnop ", "The operation should not replace a registered Range")
    at assertSelectionNoChange ( /selection/common.js:988:5)
Passextend() backwards with range 8 [paras[1].firstChild, 2, paras[1].firstChild, 9] and point 69 [detachedTextNode, 8]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(1, 1, "The operation should not add Range")
    at assertSelectionNoChange ( /selection/common.js:976:5)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "The operation should not update anchorNode")
    at assertSelectionNoChange ( /selection/common.js:978:5)
Pass
assert_equals(9, 9, "The operation should not update anchorOffset")
    at assertSelectionNoChange ( /selection/common.js:980:5)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "The operation should not update focusNode")
    at assertSelectionNoChange ( /selection/common.js:982:5)
Pass
assert_equals(2, 2, "The operation should not update focusOffset")
    at assertSelectionNoChange ( /selection/common.js:984:5)
Pass
assert_equals(object "klmnop ", object "klmnop ", "The operation should not replace a registered Range")
    at assertSelectionNoChange ( /selection/common.js:988:5)
Passextend() forwards with range 8 [paras[1].firstChild, 2, paras[1].firstChild, 9] and point 70 [detachedForeignTextNode, 0]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(1, 1, "The operation should not add Range")
    at assertSelectionNoChange ( /selection/common.js:976:5)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "The operation should not update anchorNode")
    at assertSelectionNoChange ( /selection/common.js:978:5)
Pass
assert_equals(2, 2, "The operation should not update anchorOffset")
    at assertSelectionNoChange ( /selection/common.js:980:5)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "The operation should not update focusNode")
    at assertSelectionNoChange ( /selection/common.js:982:5)
Pass
assert_equals(9, 9, "The operation should not update focusOffset")
    at assertSelectionNoChange ( /selection/common.js:984:5)
Pass
assert_equals(object "klmnop ", object "klmnop ", "The operation should not replace a registered Range")
    at assertSelectionNoChange ( /selection/common.js:988:5)
Passextend() backwards with range 8 [paras[1].firstChild, 2, paras[1].firstChild, 9] and point 70 [detachedForeignTextNode, 0]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(1, 1, "The operation should not add Range")
    at assertSelectionNoChange ( /selection/common.js:976:5)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "The operation should not update anchorNode")
    at assertSelectionNoChange ( /selection/common.js:978:5)
Pass
assert_equals(9, 9, "The operation should not update anchorOffset")
    at assertSelectionNoChange ( /selection/common.js:980:5)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "The operation should not update focusNode")
    at assertSelectionNoChange ( /selection/common.js:982:5)
Pass
assert_equals(2, 2, "The operation should not update focusOffset")
    at assertSelectionNoChange ( /selection/common.js:984:5)
Pass
assert_equals(object "klmnop ", object "klmnop ", "The operation should not replace a registered Range")
    at assertSelectionNoChange ( /selection/common.js:988:5)
Passextend() forwards with range 8 [paras[1].firstChild, 2, paras[1].firstChild, 9] and point 71 [detachedForeignTextNode, 8]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(1, 1, "The operation should not add Range")
    at assertSelectionNoChange ( /selection/common.js:976:5)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "The operation should not update anchorNode")
    at assertSelectionNoChange ( /selection/common.js:978:5)
Pass
assert_equals(2, 2, "The operation should not update anchorOffset")
    at assertSelectionNoChange ( /selection/common.js:980:5)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "The operation should not update focusNode")
    at assertSelectionNoChange ( /selection/common.js:982:5)
Pass
assert_equals(9, 9, "The operation should not update focusOffset")
    at assertSelectionNoChange ( /selection/common.js:984:5)
Pass
assert_equals(object "klmnop ", object "klmnop ", "The operation should not replace a registered Range")
    at assertSelectionNoChange ( /selection/common.js:988:5)
Passextend() backwards with range 8 [paras[1].firstChild, 2, paras[1].firstChild, 9] and point 71 [detachedForeignTextNode, 8]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(1, 1, "The operation should not add Range")
    at assertSelectionNoChange ( /selection/common.js:976:5)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "The operation should not update anchorNode")
    at assertSelectionNoChange ( /selection/common.js:978:5)
Pass
assert_equals(9, 9, "The operation should not update anchorOffset")
    at assertSelectionNoChange ( /selection/common.js:980:5)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "The operation should not update focusNode")
    at assertSelectionNoChange ( /selection/common.js:982:5)
Pass
assert_equals(2, 2, "The operation should not update focusOffset")
    at assertSelectionNoChange ( /selection/common.js:984:5)
Pass
assert_equals(object "klmnop ", object "klmnop ", "The operation should not replace a registered Range")
    at assertSelectionNoChange ( /selection/common.js:988:5)
Passextend() forwards with range 8 [paras[1].firstChild, 2, paras[1].firstChild, 9] and point 72 [detachedXmlTextNode, 0]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(1, 1, "The operation should not add Range")
    at assertSelectionNoChange ( /selection/common.js:976:5)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "The operation should not update anchorNode")
    at assertSelectionNoChange ( /selection/common.js:978:5)
Pass
assert_equals(2, 2, "The operation should not update anchorOffset")
    at assertSelectionNoChange ( /selection/common.js:980:5)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "The operation should not update focusNode")
    at assertSelectionNoChange ( /selection/common.js:982:5)
Pass
assert_equals(9, 9, "The operation should not update focusOffset")
    at assertSelectionNoChange ( /selection/common.js:984:5)
Pass
assert_equals(object "klmnop ", object "klmnop ", "The operation should not replace a registered Range")
    at assertSelectionNoChange ( /selection/common.js:988:5)
Passextend() backwards with range 8 [paras[1].firstChild, 2, paras[1].firstChild, 9] and point 72 [detachedXmlTextNode, 0]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(1, 1, "The operation should not add Range")
    at assertSelectionNoChange ( /selection/common.js:976:5)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "The operation should not update anchorNode")
    at assertSelectionNoChange ( /selection/common.js:978:5)
Pass
assert_equals(9, 9, "The operation should not update anchorOffset")
    at assertSelectionNoChange ( /selection/common.js:980:5)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "The operation should not update focusNode")
    at assertSelectionNoChange ( /selection/common.js:982:5)
Pass
assert_equals(2, 2, "The operation should not update focusOffset")
    at assertSelectionNoChange ( /selection/common.js:984:5)
Pass
assert_equals(object "klmnop ", object "klmnop ", "The operation should not replace a registered Range")
    at assertSelectionNoChange ( /selection/common.js:988:5)
Passextend() forwards with range 8 [paras[1].firstChild, 2, paras[1].firstChild, 9] and point 73 [detachedXmlTextNode, 8]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(1, 1, "The operation should not add Range")
    at assertSelectionNoChange ( /selection/common.js:976:5)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "The operation should not update anchorNode")
    at assertSelectionNoChange ( /selection/common.js:978:5)
Pass
assert_equals(2, 2, "The operation should not update anchorOffset")
    at assertSelectionNoChange ( /selection/common.js:980:5)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "The operation should not update focusNode")
    at assertSelectionNoChange ( /selection/common.js:982:5)
Pass
assert_equals(9, 9, "The operation should not update focusOffset")
    at assertSelectionNoChange ( /selection/common.js:984:5)
Pass
assert_equals(object "klmnop ", object "klmnop ", "The operation should not replace a registered Range")
    at assertSelectionNoChange ( /selection/common.js:988:5)
Passextend() backwards with range 8 [paras[1].firstChild, 2, paras[1].firstChild, 9] and point 73 [detachedXmlTextNode, 8]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(1, 1, "The operation should not add Range")
    at assertSelectionNoChange ( /selection/common.js:976:5)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "The operation should not update anchorNode")
    at assertSelectionNoChange ( /selection/common.js:978:5)
Pass
assert_equals(9, 9, "The operation should not update anchorOffset")
    at assertSelectionNoChange ( /selection/common.js:980:5)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "The operation should not update focusNode")
    at assertSelectionNoChange ( /selection/common.js:982:5)
Pass
assert_equals(2, 2, "The operation should not update focusOffset")
    at assertSelectionNoChange ( /selection/common.js:984:5)
Pass
assert_equals(object "klmnop ", object "klmnop ", "The operation should not replace a registered Range")
    at assertSelectionNoChange ( /selection/common.js:988:5)
Passextend() forwards with range 8 [paras[1].firstChild, 2, paras[1].firstChild, 9] and point 74 [detachedProcessingInstruction, 12]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(1, 1, "The operation should not add Range")
    at assertSelectionNoChange ( /selection/common.js:976:5)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "The operation should not update anchorNode")
    at assertSelectionNoChange ( /selection/common.js:978:5)
Pass
assert_equals(2, 2, "The operation should not update anchorOffset")
    at assertSelectionNoChange ( /selection/common.js:980:5)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "The operation should not update focusNode")
    at assertSelectionNoChange ( /selection/common.js:982:5)
Pass
assert_equals(9, 9, "The operation should not update focusOffset")
    at assertSelectionNoChange ( /selection/common.js:984:5)
Pass
assert_equals(object "klmnop ", object "klmnop ", "The operation should not replace a registered Range")
    at assertSelectionNoChange ( /selection/common.js:988:5)
Passextend() backwards with range 8 [paras[1].firstChild, 2, paras[1].firstChild, 9] and point 74 [detachedProcessingInstruction, 12]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(1, 1, "The operation should not add Range")
    at assertSelectionNoChange ( /selection/common.js:976:5)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "The operation should not update anchorNode")
    at assertSelectionNoChange ( /selection/common.js:978:5)
Pass
assert_equals(9, 9, "The operation should not update anchorOffset")
    at assertSelectionNoChange ( /selection/common.js:980:5)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "The operation should not update focusNode")
    at assertSelectionNoChange ( /selection/common.js:982:5)
Pass
assert_equals(2, 2, "The operation should not update focusOffset")
    at assertSelectionNoChange ( /selection/common.js:984:5)
Pass
assert_equals(object "klmnop ", object "klmnop ", "The operation should not replace a registered Range")
    at assertSelectionNoChange ( /selection/common.js:988:5)
Passextend() forwards with range 8 [paras[1].firstChild, 2, paras[1].firstChild, 9] and point 75 [detachedComment, 3]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(1, 1, "The operation should not add Range")
    at assertSelectionNoChange ( /selection/common.js:976:5)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "The operation should not update anchorNode")
    at assertSelectionNoChange ( /selection/common.js:978:5)
Pass
assert_equals(2, 2, "The operation should not update anchorOffset")
    at assertSelectionNoChange ( /selection/common.js:980:5)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "The operation should not update focusNode")
    at assertSelectionNoChange ( /selection/common.js:982:5)
Pass
assert_equals(9, 9, "The operation should not update focusOffset")
    at assertSelectionNoChange ( /selection/common.js:984:5)
Pass
assert_equals(object "klmnop ", object "klmnop ", "The operation should not replace a registered Range")
    at assertSelectionNoChange ( /selection/common.js:988:5)
Passextend() backwards with range 8 [paras[1].firstChild, 2, paras[1].firstChild, 9] and point 75 [detachedComment, 3]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(1, 1, "The operation should not add Range")
    at assertSelectionNoChange ( /selection/common.js:976:5)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "The operation should not update anchorNode")
    at assertSelectionNoChange ( /selection/common.js:978:5)
Pass
assert_equals(9, 9, "The operation should not update anchorOffset")
    at assertSelectionNoChange ( /selection/common.js:980:5)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "The operation should not update focusNode")
    at assertSelectionNoChange ( /selection/common.js:982:5)
Pass
assert_equals(2, 2, "The operation should not update focusOffset")
    at assertSelectionNoChange ( /selection/common.js:984:5)
Pass
assert_equals(object "klmnop ", object "klmnop ", "The operation should not replace a registered Range")
    at assertSelectionNoChange ( /selection/common.js:988:5)
Passextend() forwards with range 8 [paras[1].firstChild, 2, paras[1].firstChild, 9] and point 76 [detachedComment, 5]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(1, 1, "The operation should not add Range")
    at assertSelectionNoChange ( /selection/common.js:976:5)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "The operation should not update anchorNode")
    at assertSelectionNoChange ( /selection/common.js:978:5)
Pass
assert_equals(2, 2, "The operation should not update anchorOffset")
    at assertSelectionNoChange ( /selection/common.js:980:5)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "The operation should not update focusNode")
    at assertSelectionNoChange ( /selection/common.js:982:5)
Pass
assert_equals(9, 9, "The operation should not update focusOffset")
    at assertSelectionNoChange ( /selection/common.js:984:5)
Pass
assert_equals(object "klmnop ", object "klmnop ", "The operation should not replace a registered Range")
    at assertSelectionNoChange ( /selection/common.js:988:5)
Passextend() backwards with range 8 [paras[1].firstChild, 2, paras[1].firstChild, 9] and point 76 [detachedComment, 5]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(1, 1, "The operation should not add Range")
    at assertSelectionNoChange ( /selection/common.js:976:5)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "The operation should not update anchorNode")
    at assertSelectionNoChange ( /selection/common.js:978:5)
Pass
assert_equals(9, 9, "The operation should not update anchorOffset")
    at assertSelectionNoChange ( /selection/common.js:980:5)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "The operation should not update focusNode")
    at assertSelectionNoChange ( /selection/common.js:982:5)
Pass
assert_equals(2, 2, "The operation should not update focusOffset")
    at assertSelectionNoChange ( /selection/common.js:984:5)
Pass
assert_equals(object "klmnop ", object "klmnop ", "The operation should not replace a registered Range")
    at assertSelectionNoChange ( /selection/common.js:988:5)
Passextend() forwards with range 8 [paras[1].firstChild, 2, paras[1].firstChild, 9] and point 77 [detachedForeignComment, 0]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(1, 1, "The operation should not add Range")
    at assertSelectionNoChange ( /selection/common.js:976:5)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "The operation should not update anchorNode")
    at assertSelectionNoChange ( /selection/common.js:978:5)
Pass
assert_equals(2, 2, "The operation should not update anchorOffset")
    at assertSelectionNoChange ( /selection/common.js:980:5)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "The operation should not update focusNode")
    at assertSelectionNoChange ( /selection/common.js:982:5)
Pass
assert_equals(9, 9, "The operation should not update focusOffset")
    at assertSelectionNoChange ( /selection/common.js:984:5)
Pass
assert_equals(object "klmnop ", object "klmnop ", "The operation should not replace a registered Range")
    at assertSelectionNoChange ( /selection/common.js:988:5)
Passextend() backwards with range 8 [paras[1].firstChild, 2, paras[1].firstChild, 9] and point 77 [detachedForeignComment, 0]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(1, 1, "The operation should not add Range")
    at assertSelectionNoChange ( /selection/common.js:976:5)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "The operation should not update anchorNode")
    at assertSelectionNoChange ( /selection/common.js:978:5)
Pass
assert_equals(9, 9, "The operation should not update anchorOffset")
    at assertSelectionNoChange ( /selection/common.js:980:5)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "The operation should not update focusNode")
    at assertSelectionNoChange ( /selection/common.js:982:5)
Pass
assert_equals(2, 2, "The operation should not update focusOffset")
    at assertSelectionNoChange ( /selection/common.js:984:5)
Pass
assert_equals(object "klmnop ", object "klmnop ", "The operation should not replace a registered Range")
    at assertSelectionNoChange ( /selection/common.js:988:5)
Passextend() forwards with range 8 [paras[1].firstChild, 2, paras[1].firstChild, 9] and point 78 [detachedForeignComment, 4]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(1, 1, "The operation should not add Range")
    at assertSelectionNoChange ( /selection/common.js:976:5)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "The operation should not update anchorNode")
    at assertSelectionNoChange ( /selection/common.js:978:5)
Pass
assert_equals(2, 2, "The operation should not update anchorOffset")
    at assertSelectionNoChange ( /selection/common.js:980:5)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "The operation should not update focusNode")
    at assertSelectionNoChange ( /selection/common.js:982:5)
Pass
assert_equals(9, 9, "The operation should not update focusOffset")
    at assertSelectionNoChange ( /selection/common.js:984:5)
Pass
assert_equals(object "klmnop ", object "klmnop ", "The operation should not replace a registered Range")
    at assertSelectionNoChange ( /selection/common.js:988:5)
Passextend() backwards with range 8 [paras[1].firstChild, 2, paras[1].firstChild, 9] and point 78 [detachedForeignComment, 4]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(1, 1, "The operation should not add Range")
    at assertSelectionNoChange ( /selection/common.js:976:5)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "The operation should not update anchorNode")
    at assertSelectionNoChange ( /selection/common.js:978:5)
Pass
assert_equals(9, 9, "The operation should not update anchorOffset")
    at assertSelectionNoChange ( /selection/common.js:980:5)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "The operation should not update focusNode")
    at assertSelectionNoChange ( /selection/common.js:982:5)
Pass
assert_equals(2, 2, "The operation should not update focusOffset")
    at assertSelectionNoChange ( /selection/common.js:984:5)
Pass
assert_equals(object "klmnop ", object "klmnop ", "The operation should not replace a registered Range")
    at assertSelectionNoChange ( /selection/common.js:988:5)
Passextend() forwards with range 8 [paras[1].firstChild, 2, paras[1].firstChild, 9] and point 79 [detachedXmlComment, 2]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(1, 1, "The operation should not add Range")
    at assertSelectionNoChange ( /selection/common.js:976:5)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "The operation should not update anchorNode")
    at assertSelectionNoChange ( /selection/common.js:978:5)
Pass
assert_equals(2, 2, "The operation should not update anchorOffset")
    at assertSelectionNoChange ( /selection/common.js:980:5)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "The operation should not update focusNode")
    at assertSelectionNoChange ( /selection/common.js:982:5)
Pass
assert_equals(9, 9, "The operation should not update focusOffset")
    at assertSelectionNoChange ( /selection/common.js:984:5)
Pass
assert_equals(object "klmnop ", object "klmnop ", "The operation should not replace a registered Range")
    at assertSelectionNoChange ( /selection/common.js:988:5)
Passextend() backwards with range 8 [paras[1].firstChild, 2, paras[1].firstChild, 9] and point 79 [detachedXmlComment, 2]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(1, 1, "The operation should not add Range")
    at assertSelectionNoChange ( /selection/common.js:976:5)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "The operation should not update anchorNode")
    at assertSelectionNoChange ( /selection/common.js:978:5)
Pass
assert_equals(9, 9, "The operation should not update anchorOffset")
    at assertSelectionNoChange ( /selection/common.js:980:5)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "The operation should not update focusNode")
    at assertSelectionNoChange ( /selection/common.js:982:5)
Pass
assert_equals(2, 2, "The operation should not update focusOffset")
    at assertSelectionNoChange ( /selection/common.js:984:5)
Pass
assert_equals(object "klmnop ", object "klmnop ", "The operation should not replace a registered Range")
    at assertSelectionNoChange ( /selection/common.js:988:5)
Passextend() forwards with range 8 [paras[1].firstChild, 2, paras[1].firstChild, 9] and point 80 [docfrag, 0]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(1, 1, "The operation should not add Range")
    at assertSelectionNoChange ( /selection/common.js:976:5)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "The operation should not update anchorNode")
    at assertSelectionNoChange ( /selection/common.js:978:5)
Pass
assert_equals(2, 2, "The operation should not update anchorOffset")
    at assertSelectionNoChange ( /selection/common.js:980:5)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "The operation should not update focusNode")
    at assertSelectionNoChange ( /selection/common.js:982:5)
Pass
assert_equals(9, 9, "The operation should not update focusOffset")
    at assertSelectionNoChange ( /selection/common.js:984:5)
Pass
assert_equals(object "klmnop ", object "klmnop ", "The operation should not replace a registered Range")
    at assertSelectionNoChange ( /selection/common.js:988:5)
Passextend() backwards with range 8 [paras[1].firstChild, 2, paras[1].firstChild, 9] and point 80 [docfrag, 0]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(1, 1, "The operation should not add Range")
    at assertSelectionNoChange ( /selection/common.js:976:5)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "The operation should not update anchorNode")
    at assertSelectionNoChange ( /selection/common.js:978:5)
Pass
assert_equals(9, 9, "The operation should not update anchorOffset")
    at assertSelectionNoChange ( /selection/common.js:980:5)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "The operation should not update focusNode")
    at assertSelectionNoChange ( /selection/common.js:982:5)
Pass
assert_equals(2, 2, "The operation should not update focusOffset")
    at assertSelectionNoChange ( /selection/common.js:984:5)
Pass
assert_equals(object "klmnop ", object "klmnop ", "The operation should not replace a registered Range")
    at assertSelectionNoChange ( /selection/common.js:988:5)
Passextend() forwards with range 8 [paras[1].firstChild, 2, paras[1].firstChild, 9] and point 81 [foreignDocfrag, 0]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(1, 1, "The operation should not add Range")
    at assertSelectionNoChange ( /selection/common.js:976:5)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "The operation should not update anchorNode")
    at assertSelectionNoChange ( /selection/common.js:978:5)
Pass
assert_equals(2, 2, "The operation should not update anchorOffset")
    at assertSelectionNoChange ( /selection/common.js:980:5)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "The operation should not update focusNode")
    at assertSelectionNoChange ( /selection/common.js:982:5)
Pass
assert_equals(9, 9, "The operation should not update focusOffset")
    at assertSelectionNoChange ( /selection/common.js:984:5)
Pass
assert_equals(object "klmnop ", object "klmnop ", "The operation should not replace a registered Range")
    at assertSelectionNoChange ( /selection/common.js:988:5)
Passextend() backwards with range 8 [paras[1].firstChild, 2, paras[1].firstChild, 9] and point 81 [foreignDocfrag, 0]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(1, 1, "The operation should not add Range")
    at assertSelectionNoChange ( /selection/common.js:976:5)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "The operation should not update anchorNode")
    at assertSelectionNoChange ( /selection/common.js:978:5)
Pass
assert_equals(9, 9, "The operation should not update anchorOffset")
    at assertSelectionNoChange ( /selection/common.js:980:5)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "The operation should not update focusNode")
    at assertSelectionNoChange ( /selection/common.js:982:5)
Pass
assert_equals(2, 2, "The operation should not update focusOffset")
    at assertSelectionNoChange ( /selection/common.js:984:5)
Pass
assert_equals(object "klmnop ", object "klmnop ", "The operation should not replace a registered Range")
    at assertSelectionNoChange ( /selection/common.js:988:5)
Passextend() forwards with range 8 [paras[1].firstChild, 2, paras[1].firstChild, 9] and point 82 [xmlDocfrag, 0]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(1, 1, "The operation should not add Range")
    at assertSelectionNoChange ( /selection/common.js:976:5)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "The operation should not update anchorNode")
    at assertSelectionNoChange ( /selection/common.js:978:5)
Pass
assert_equals(2, 2, "The operation should not update anchorOffset")
    at assertSelectionNoChange ( /selection/common.js:980:5)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "The operation should not update focusNode")
    at assertSelectionNoChange ( /selection/common.js:982:5)
Pass
assert_equals(9, 9, "The operation should not update focusOffset")
    at assertSelectionNoChange ( /selection/common.js:984:5)
Pass
assert_equals(object "klmnop ", object "klmnop ", "The operation should not replace a registered Range")
    at assertSelectionNoChange ( /selection/common.js:988:5)
Passextend() backwards with range 8 [paras[1].firstChild, 2, paras[1].firstChild, 9] and point 82 [xmlDocfrag, 0]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(1, 1, "The operation should not add Range")
    at assertSelectionNoChange ( /selection/common.js:976:5)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "The operation should not update anchorNode")
    at assertSelectionNoChange ( /selection/common.js:978:5)
Pass
assert_equals(9, 9, "The operation should not update anchorOffset")
    at assertSelectionNoChange ( /selection/common.js:980:5)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "The operation should not update focusNode")
    at assertSelectionNoChange ( /selection/common.js:982:5)
Pass
assert_equals(2, 2, "The operation should not update focusOffset")
    at assertSelectionNoChange ( /selection/common.js:984:5)
Pass
assert_equals(object "klmnop ", object "klmnop ", "The operation should not replace a registered Range")
    at assertSelectionNoChange ( /selection/common.js:988:5)
Passextend() forwards with range 8 [paras[1].firstChild, 2, paras[1].firstChild, 9] and point 83 [doctype, 0]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "Sanity check: startContainer must be correct")
    at testExtend ( /selection/extend.js:80:5)
Pass
assert_equals(2, 2, "Sanity check: startOffset must be correct")
    at testExtend ( /selection/extend.js:82:5)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "Sanity check: endContainer must be correct")
    at testExtend ( /selection/extend.js:84:5)
Pass
assert_equals(9, 9, "Sanity check: endOffset must be correct")
    at testExtend ( /selection/extend.js:86:5)
Pass
assert_throws_dom("INVALID_NODE_TYPE_ERR", function "function() {             selection.extend(node, offset);         }", "extend() to a doctype must throw InvalidNodeTypeError")
    at testExtend ( /selection/extend.js:104:9)
Passextend() backwards with range 8 [paras[1].firstChild, 2, paras[1].firstChild, 9] and point 83 [doctype, 0]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "Sanity check: startContainer must be correct")
    at testExtend ( /selection/extend.js:80:5)
Pass
assert_equals(2, 2, "Sanity check: startOffset must be correct")
    at testExtend ( /selection/extend.js:82:5)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "Sanity check: endContainer must be correct")
    at testExtend ( /selection/extend.js:84:5)
Pass
assert_equals(9, 9, "Sanity check: endOffset must be correct")
    at testExtend ( /selection/extend.js:86:5)
Pass
assert_throws_dom("INVALID_NODE_TYPE_ERR", function "function() {             selection.extend(node, offset);         }", "extend() to a doctype must throw InvalidNodeTypeError")
    at testExtend ( /selection/extend.js:104:9)
Passextend() forwards with range 8 [paras[1].firstChild, 2, paras[1].firstChild, 9] and point 84 [doctype, -17]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "Sanity check: startContainer must be correct")
    at testExtend ( /selection/extend.js:80:5)
Pass
assert_equals(2, 2, "Sanity check: startOffset must be correct")
    at testExtend ( /selection/extend.js:82:5)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "Sanity check: endContainer must be correct")
    at testExtend ( /selection/extend.js:84:5)
Pass
assert_equals(9, 9, "Sanity check: endOffset must be correct")
    at testExtend ( /selection/extend.js:86:5)
Pass
assert_throws_dom("INVALID_NODE_TYPE_ERR", function "function() {             selection.extend(node, offset);         }", "extend() to a doctype must throw InvalidNodeTypeError")
    at testExtend ( /selection/extend.js:104:9)
Passextend() backwards with range 8 [paras[1].firstChild, 2, paras[1].firstChild, 9] and point 84 [doctype, -17]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "Sanity check: startContainer must be correct")
    at testExtend ( /selection/extend.js:80:5)
Pass
assert_equals(2, 2, "Sanity check: startOffset must be correct")
    at testExtend ( /selection/extend.js:82:5)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "Sanity check: endContainer must be correct")
    at testExtend ( /selection/extend.js:84:5)
Pass
assert_equals(9, 9, "Sanity check: endOffset must be correct")
    at testExtend ( /selection/extend.js:86:5)
Pass
assert_throws_dom("INVALID_NODE_TYPE_ERR", function "function() {             selection.extend(node, offset);         }", "extend() to a doctype must throw InvalidNodeTypeError")
    at testExtend ( /selection/extend.js:104:9)
Passextend() forwards with range 8 [paras[1].firstChild, 2, paras[1].firstChild, 9] and point 85 [doctype, 1]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "Sanity check: startContainer must be correct")
    at testExtend ( /selection/extend.js:80:5)
Pass
assert_equals(2, 2, "Sanity check: startOffset must be correct")
    at testExtend ( /selection/extend.js:82:5)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "Sanity check: endContainer must be correct")
    at testExtend ( /selection/extend.js:84:5)
Pass
assert_equals(9, 9, "Sanity check: endOffset must be correct")
    at testExtend ( /selection/extend.js:86:5)
Pass
assert_throws_dom("INVALID_NODE_TYPE_ERR", function "function() {             selection.extend(node, offset);         }", "extend() to a doctype must throw InvalidNodeTypeError")
    at testExtend ( /selection/extend.js:104:9)
Passextend() backwards with range 8 [paras[1].firstChild, 2, paras[1].firstChild, 9] and point 85 [doctype, 1]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "Sanity check: startContainer must be correct")
    at testExtend ( /selection/extend.js:80:5)
Pass
assert_equals(2, 2, "Sanity check: startOffset must be correct")
    at testExtend ( /selection/extend.js:82:5)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "Sanity check: endContainer must be correct")
    at testExtend ( /selection/extend.js:84:5)
Pass
assert_equals(9, 9, "Sanity check: endOffset must be correct")
    at testExtend ( /selection/extend.js:86:5)
Pass
assert_throws_dom("INVALID_NODE_TYPE_ERR", function "function() {             selection.extend(node, offset);         }", "extend() to a doctype must throw InvalidNodeTypeError")
    at testExtend ( /selection/extend.js:104:9)
Passextend() forwards with range 8 [paras[1].firstChild, 2, paras[1].firstChild, 9] and point 86 [foreignDoctype, 0]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(1, 1, "The operation should not add Range")
    at assertSelectionNoChange ( /selection/common.js:976:5)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "The operation should not update anchorNode")
    at assertSelectionNoChange ( /selection/common.js:978:5)
Pass
assert_equals(2, 2, "The operation should not update anchorOffset")
    at assertSelectionNoChange ( /selection/common.js:980:5)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "The operation should not update focusNode")
    at assertSelectionNoChange ( /selection/common.js:982:5)
Pass
assert_equals(9, 9, "The operation should not update focusOffset")
    at assertSelectionNoChange ( /selection/common.js:984:5)
Pass
assert_equals(object "klmnop ", object "klmnop ", "The operation should not replace a registered Range")
    at assertSelectionNoChange ( /selection/common.js:988:5)
Passextend() backwards with range 8 [paras[1].firstChild, 2, paras[1].firstChild, 9] and point 86 [foreignDoctype, 0]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(1, 1, "The operation should not add Range")
    at assertSelectionNoChange ( /selection/common.js:976:5)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "The operation should not update anchorNode")
    at assertSelectionNoChange ( /selection/common.js:978:5)
Pass
assert_equals(9, 9, "The operation should not update anchorOffset")
    at assertSelectionNoChange ( /selection/common.js:980:5)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "The operation should not update focusNode")
    at assertSelectionNoChange ( /selection/common.js:982:5)
Pass
assert_equals(2, 2, "The operation should not update focusOffset")
    at assertSelectionNoChange ( /selection/common.js:984:5)
Pass
assert_equals(object "klmnop ", object "klmnop ", "The operation should not replace a registered Range")
    at assertSelectionNoChange ( /selection/common.js:988:5)
Passextend() forwards with range 8 [paras[1].firstChild, 2, paras[1].firstChild, 9] and point 87 [xmlDoctype, 0]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(1, 1, "The operation should not add Range")
    at assertSelectionNoChange ( /selection/common.js:976:5)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "The operation should not update anchorNode")
    at assertSelectionNoChange ( /selection/common.js:978:5)
Pass
assert_equals(2, 2, "The operation should not update anchorOffset")
    at assertSelectionNoChange ( /selection/common.js:980:5)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "The operation should not update focusNode")
    at assertSelectionNoChange ( /selection/common.js:982:5)
Pass
assert_equals(9, 9, "The operation should not update focusOffset")
    at assertSelectionNoChange ( /selection/common.js:984:5)
Pass
assert_equals(object "klmnop ", object "klmnop ", "The operation should not replace a registered Range")
    at assertSelectionNoChange ( /selection/common.js:988:5)
Passextend() backwards with range 8 [paras[1].firstChild, 2, paras[1].firstChild, 9] and point 87 [xmlDoctype, 0]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(1, 1, "The operation should not add Range")
    at assertSelectionNoChange ( /selection/common.js:976:5)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "The operation should not update anchorNode")
    at assertSelectionNoChange ( /selection/common.js:978:5)
Pass
assert_equals(9, 9, "The operation should not update anchorOffset")
    at assertSelectionNoChange ( /selection/common.js:980:5)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "The operation should not update focusNode")
    at assertSelectionNoChange ( /selection/common.js:982:5)
Pass
assert_equals(2, 2, "The operation should not update focusOffset")
    at assertSelectionNoChange ( /selection/common.js:984:5)
Pass
assert_equals(object "klmnop ", object "klmnop ", "The operation should not replace a registered Range")
    at assertSelectionNoChange ( /selection/common.js:988:5)
Passextend() forwards with range 15 [document.documentElement, 0, document.documentElement, 1] and point 0 [paras[0].firstChild, -1]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(Element node <html><head><title>Selection extend() tests</title> <meta..., Element node <html><head><title>Selection extend() tests</title> <meta..., "Sanity check: startContainer must be correct")
    at testExtend ( /selection/extend.js:80:5)
Pass
assert_equals(0, 0, "Sanity check: startOffset must be correct")
    at testExtend ( /selection/extend.js:82:5)
Pass
assert_equals(Element node <html><head><title>Selection extend() tests</title> <meta..., Element node <html><head><title>Selection extend() tests</title> <meta..., "Sanity check: endContainer must be correct")
    at testExtend ( /selection/extend.js:84:5)
Pass
assert_equals(1, 1, "Sanity check: endOffset must be correct")
    at testExtend ( /selection/extend.js:86:5)
Pass
assert_throws_dom("INDEX_SIZE_ERR", function "function() {             selection.extend(node, offset);         }", "extend() to an offset that's greater than node length (17) must throw IndexSizeError")
    at testExtend ( /selection/extend.js:117:9)
Passextend() backwards with range 15 [document.documentElement, 0, document.documentElement, 1] and point 0 [paras[0].firstChild, -1]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(Element node <html><head><title>Selection extend() tests</title> <meta..., Element node <html><head><title>Selection extend() tests</title> <meta..., "Sanity check: startContainer must be correct")
    at testExtend ( /selection/extend.js:80:5)
Pass
assert_equals(0, 0, "Sanity check: startOffset must be correct")
    at testExtend ( /selection/extend.js:82:5)
Pass
assert_equals(Element node <html><head><title>Selection extend() tests</title> <meta..., Element node <html><head><title>Selection extend() tests</title> <meta..., "Sanity check: endContainer must be correct")
    at testExtend ( /selection/extend.js:84:5)
Pass
assert_equals(1, 1, "Sanity check: endOffset must be correct")
    at testExtend ( /selection/extend.js:86:5)
Pass
assert_throws_dom("INDEX_SIZE_ERR", function "function() {             selection.extend(node, offset);         }", "extend() to an offset that's greater than node length (17) must throw IndexSizeError")
    at testExtend ( /selection/extend.js:117:9)
Passextend() forwards with range 15 [document.documentElement, 0, document.documentElement, 1] and point 1 [paras[0].firstChild, 0]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(Element node <html><head><title>Selection extend() tests</title> <meta..., Element node <html><head><title>Selection extend() tests</title> <meta..., "Sanity check: startContainer must be correct")
    at testExtend ( /selection/extend.js:80:5)
Pass
assert_equals(0, 0, "Sanity check: startOffset must be correct")
    at testExtend ( /selection/extend.js:82:5)
Pass
assert_equals(Element node <html><head><title>Selection extend() tests</title> <meta..., Element node <html><head><title>Selection extend() tests</title> <meta..., "Sanity check: endContainer must be correct")
    at testExtend ( /selection/extend.js:84:5)
Pass
assert_equals(1, 1, "Sanity check: endOffset must be correct")
    at testExtend ( /selection/extend.js:86:5)
Pass
assert_equals(Element node <html><head><title>Selection extend() tests</title> <meta..., Element node <html><head><title>Selection extend() tests</title> <meta..., "anchorNode must not change if the node passed to extend() has the same root as the original range")
    at testExtend ( /selection/extend.js:145:9)
Pass
assert_equals(0, 0, "anchorOffset must not change if the node passed to extend() has the same root as the original range")
    at testExtend ( /selection/extend.js:147:9)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "focusNode must be the node passed to extend()")
    at testExtend ( /selection/extend.js:155:5)
Pass
assert_equals(0, 0, "focusOffset must be the offset passed to extend()")
    at testExtend ( /selection/extend.js:157:5)
Pass
assert_not_equals(object "Selection extend() tests   ", object "Selection extend() tests   ", "extend() must replace any existing range with a new one, not mutate the existing one")
    at testExtend ( /selection/extend.js:159:5)
Passextend() backwards with range 15 [document.documentElement, 0, document.documentElement, 1] and point 1 [paras[0].firstChild, 0]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(Element node <html><head><title>Selection extend() tests</title> <meta..., Element node <html><head><title>Selection extend() tests</title> <meta..., "Sanity check: startContainer must be correct")
    at testExtend ( /selection/extend.js:80:5)
Pass
assert_equals(0, 0, "Sanity check: startOffset must be correct")
    at testExtend ( /selection/extend.js:82:5)
Pass
assert_equals(Element node <html><head><title>Selection extend() tests</title> <meta..., Element node <html><head><title>Selection extend() tests</title> <meta..., "Sanity check: endContainer must be correct")
    at testExtend ( /selection/extend.js:84:5)
Pass
assert_equals(1, 1, "Sanity check: endOffset must be correct")
    at testExtend ( /selection/extend.js:86:5)
Pass
assert_equals(Element node <html><head><title>Selection extend() tests</title> <meta..., Element node <html><head><title>Selection extend() tests</title> <meta..., "anchorNode must not change if the node passed to extend() has the same root as the original range")
    at testExtend ( /selection/extend.js:145:9)
Pass
assert_equals(1, 1, "anchorOffset must not change if the node passed to extend() has the same root as the original range")
    at testExtend ( /selection/extend.js:147:9)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "focusNode must be the node passed to extend()")
    at testExtend ( /selection/extend.js:155:5)
Pass
assert_equals(0, 0, "focusOffset must be the offset passed to extend()")
    at testExtend ( /selection/extend.js:157:5)
Pass
assert_not_equals(object "", object "Selection extend() tests   ", "extend() must replace any existing range with a new one, not mutate the existing one")
    at testExtend ( /selection/extend.js:159:5)
Passextend() forwards with range 15 [document.documentElement, 0, document.documentElement, 1] and point 2 [paras[0].firstChild, 1]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(Element node <html><head><title>Selection extend() tests</title> <meta..., Element node <html><head><title>Selection extend() tests</title> <meta..., "Sanity check: startContainer must be correct")
    at testExtend ( /selection/extend.js:80:5)
Pass
assert_equals(0, 0, "Sanity check: startOffset must be correct")
    at testExtend ( /selection/extend.js:82:5)
Pass
assert_equals(Element node <html><head><title>Selection extend() tests</title> <meta..., Element node <html><head><title>Selection extend() tests</title> <meta..., "Sanity check: endContainer must be correct")
    at testExtend ( /selection/extend.js:84:5)
Pass
assert_equals(1, 1, "Sanity check: endOffset must be correct")
    at testExtend ( /selection/extend.js:86:5)
Pass
assert_equals(Element node <html><head><title>Selection extend() tests</title> <meta..., Element node <html><head><title>Selection extend() tests</title> <meta..., "anchorNode must not change if the node passed to extend() has the same root as the original range")
    at testExtend ( /selection/extend.js:145:9)
Pass
assert_equals(0, 0, "anchorOffset must not change if the node passed to extend() has the same root as the original range")
    at testExtend ( /selection/extend.js:147:9)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "focusNode must be the node passed to extend()")
    at testExtend ( /selection/extend.js:155:5)
Pass
assert_equals(1, 1, "focusOffset must be the offset passed to extend()")
    at testExtend ( /selection/extend.js:157:5)
Pass
assert_not_equals(object "Selection extend() tests   A", object "Selection extend() tests   ", "extend() must replace any existing range with a new one, not mutate the existing one")
    at testExtend ( /selection/extend.js:159:5)
Passextend() backwards with range 15 [document.documentElement, 0, document.documentElement, 1] and point 2 [paras[0].firstChild, 1]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(Element node <html><head><title>Selection extend() tests</title> <meta..., Element node <html><head><title>Selection extend() tests</title> <meta..., "Sanity check: startContainer must be correct")
    at testExtend ( /selection/extend.js:80:5)
Pass
assert_equals(0, 0, "Sanity check: startOffset must be correct")
    at testExtend ( /selection/extend.js:82:5)
Pass
assert_equals(Element node <html><head><title>Selection extend() tests</title> <meta..., Element node <html><head><title>Selection extend() tests</title> <meta..., "Sanity check: endContainer must be correct")
    at testExtend ( /selection/extend.js:84:5)
Pass
assert_equals(1, 1, "Sanity check: endOffset must be correct")
    at testExtend ( /selection/extend.js:86:5)
Pass
assert_equals(Element node <html><head><title>Selection extend() tests</title> <meta..., Element node <html><head><title>Selection extend() tests</title> <meta..., "anchorNode must not change if the node passed to extend() has the same root as the original range")
    at testExtend ( /selection/extend.js:145:9)
Pass
assert_equals(1, 1, "anchorOffset must not change if the node passed to extend() has the same root as the original range")
    at testExtend ( /selection/extend.js:147:9)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "focusNode must be the node passed to extend()")
    at testExtend ( /selection/extend.js:155:5)
Pass
assert_equals(1, 1, "focusOffset must be the offset passed to extend()")
    at testExtend ( /selection/extend.js:157:5)
Pass
assert_not_equals(object "A", object "Selection extend() tests   ", "extend() must replace any existing range with a new one, not mutate the existing one")
    at testExtend ( /selection/extend.js:159:5)
Passextend() forwards with range 15 [document.documentElement, 0, document.documentElement, 1] and point 3 [paras[0].firstChild, 2]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(Element node <html><head><title>Selection extend() tests</title> <meta..., Element node <html><head><title>Selection extend() tests</title> <meta..., "Sanity check: startContainer must be correct")
    at testExtend ( /selection/extend.js:80:5)
Pass
assert_equals(0, 0, "Sanity check: startOffset must be correct")
    at testExtend ( /selection/extend.js:82:5)
Pass
assert_equals(Element node <html><head><title>Selection extend() tests</title> <meta..., Element node <html><head><title>Selection extend() tests</title> <meta..., "Sanity check: endContainer must be correct")
    at testExtend ( /selection/extend.js:84:5)
Pass
assert_equals(1, 1, "Sanity check: endOffset must be correct")
    at testExtend ( /selection/extend.js:86:5)
Pass
assert_equals(Element node <html><head><title>Selection extend() tests</title> <meta..., Element node <html><head><title>Selection extend() tests</title> <meta..., "anchorNode must not change if the node passed to extend() has the same root as the original range")
    at testExtend ( /selection/extend.js:145:9)
Pass
assert_equals(0, 0, "anchorOffset must not change if the node passed to extend() has the same root as the original range")
    at testExtend ( /selection/extend.js:147:9)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "focusNode must be the node passed to extend()")
    at testExtend ( /selection/extend.js:155:5)
Pass
assert_equals(2, 2, "focusOffset must be the offset passed to extend()")
    at testExtend ( /selection/extend.js:157:5)
Pass
assert_not_equals(object "Selection extend() tests   Ä", object "Selection extend() tests   ", "extend() must replace any existing range with a new one, not mutate the existing one")
    at testExtend ( /selection/extend.js:159:5)
Passextend() backwards with range 15 [document.documentElement, 0, document.documentElement, 1] and point 3 [paras[0].firstChild, 2]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(Element node <html><head><title>Selection extend() tests</title> <meta..., Element node <html><head><title>Selection extend() tests</title> <meta..., "Sanity check: startContainer must be correct")
    at testExtend ( /selection/extend.js:80:5)
Pass
assert_equals(0, 0, "Sanity check: startOffset must be correct")
    at testExtend ( /selection/extend.js:82:5)
Pass
assert_equals(Element node <html><head><title>Selection extend() tests</title> <meta..., Element node <html><head><title>Selection extend() tests</title> <meta..., "Sanity check: endContainer must be correct")
    at testExtend ( /selection/extend.js:84:5)
Pass
assert_equals(1, 1, "Sanity check: endOffset must be correct")
    at testExtend ( /selection/extend.js:86:5)
Pass
assert_equals(Element node <html><head><title>Selection extend() tests</title> <meta..., Element node <html><head><title>Selection extend() tests</title> <meta..., "anchorNode must not change if the node passed to extend() has the same root as the original range")
    at testExtend ( /selection/extend.js:145:9)
Pass
assert_equals(1, 1, "anchorOffset must not change if the node passed to extend() has the same root as the original range")
    at testExtend ( /selection/extend.js:147:9)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "focusNode must be the node passed to extend()")
    at testExtend ( /selection/extend.js:155:5)
Pass
assert_equals(2, 2, "focusOffset must be the offset passed to extend()")
    at testExtend ( /selection/extend.js:157:5)
Pass
assert_not_equals(object "Ä", object "Selection extend() tests   ", "extend() must replace any existing range with a new one, not mutate the existing one")
    at testExtend ( /selection/extend.js:159:5)
Passextend() forwards with range 15 [document.documentElement, 0, document.documentElement, 1] and point 4 [paras[0].firstChild, 8]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(Element node <html><head><title>Selection extend() tests</title> <meta..., Element node <html><head><title>Selection extend() tests</title> <meta..., "Sanity check: startContainer must be correct")
    at testExtend ( /selection/extend.js:80:5)
Pass
assert_equals(0, 0, "Sanity check: startOffset must be correct")
    at testExtend ( /selection/extend.js:82:5)
Pass
assert_equals(Element node <html><head><title>Selection extend() tests</title> <meta..., Element node <html><head><title>Selection extend() tests</title> <meta..., "Sanity check: endContainer must be correct")
    at testExtend ( /selection/extend.js:84:5)
Pass
assert_equals(1, 1, "Sanity check: endOffset must be correct")
    at testExtend ( /selection/extend.js:86:5)
Pass
assert_equals(Element node <html><head><title>Selection extend() tests</title> <meta..., Element node <html><head><title>Selection extend() tests</title> <meta..., "anchorNode must not change if the node passed to extend() has the same root as the original range")
    at testExtend ( /selection/extend.js:145:9)
Pass
assert_equals(0, 0, "anchorOffset must not change if the node passed to extend() has the same root as the original range")
    at testExtend ( /selection/extend.js:147:9)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "focusNode must be the node passed to extend()")
    at testExtend ( /selection/extend.js:155:5)
Pass
assert_equals(8, 8, "focusOffset must be the offset passed to extend()")
    at testExtend ( /selection/extend.js:157:5)
Pass
assert_not_equals(object "Selection extend() tests   Äb̈c̈d̈", object "Selection extend() tests   ", "extend() must replace any existing range with a new one, not mutate the existing one")
    at testExtend ( /selection/extend.js:159:5)
Passextend() backwards with range 15 [document.documentElement, 0, document.documentElement, 1] and point 4 [paras[0].firstChild, 8]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(Element node <html><head><title>Selection extend() tests</title> <meta..., Element node <html><head><title>Selection extend() tests</title> <meta..., "Sanity check: startContainer must be correct")
    at testExtend ( /selection/extend.js:80:5)
Pass
assert_equals(0, 0, "Sanity check: startOffset must be correct")
    at testExtend ( /selection/extend.js:82:5)
Pass
assert_equals(Element node <html><head><title>Selection extend() tests</title> <meta..., Element node <html><head><title>Selection extend() tests</title> <meta..., "Sanity check: endContainer must be correct")
    at testExtend ( /selection/extend.js:84:5)
Pass
assert_equals(1, 1, "Sanity check: endOffset must be correct")
    at testExtend ( /selection/extend.js:86:5)
Pass
assert_equals(Element node <html><head><title>Selection extend() tests</title> <meta..., Element node <html><head><title>Selection extend() tests</title> <meta..., "anchorNode must not change if the node passed to extend() has the same root as the original range")
    at testExtend ( /selection/extend.js:145:9)
Pass
assert_equals(1, 1, "anchorOffset must not change if the node passed to extend() has the same root as the original range")
    at testExtend ( /selection/extend.js:147:9)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "focusNode must be the node passed to extend()")
    at testExtend ( /selection/extend.js:155:5)
Pass
assert_equals(8, 8, "focusOffset must be the offset passed to extend()")
    at testExtend ( /selection/extend.js:157:5)
Pass
assert_not_equals(object "Äb̈c̈d̈", object "Selection extend() tests   ", "extend() must replace any existing range with a new one, not mutate the existing one")
    at testExtend ( /selection/extend.js:159:5)
Passextend() forwards with range 15 [document.documentElement, 0, document.documentElement, 1] and point 5 [paras[0].firstChild, 9]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(Element node <html><head><title>Selection extend() tests</title> <meta..., Element node <html><head><title>Selection extend() tests</title> <meta..., "Sanity check: startContainer must be correct")
    at testExtend ( /selection/extend.js:80:5)
Pass
assert_equals(0, 0, "Sanity check: startOffset must be correct")
    at testExtend ( /selection/extend.js:82:5)
Pass
assert_equals(Element node <html><head><title>Selection extend() tests</title> <meta..., Element node <html><head><title>Selection extend() tests</title> <meta..., "Sanity check: endContainer must be correct")
    at testExtend ( /selection/extend.js:84:5)
Pass
assert_equals(1, 1, "Sanity check: endOffset must be correct")
    at testExtend ( /selection/extend.js:86:5)
Pass
assert_equals(Element node <html><head><title>Selection extend() tests</title> <meta..., Element node <html><head><title>Selection extend() tests</title> <meta..., "anchorNode must not change if the node passed to extend() has the same root as the original range")
    at testExtend ( /selection/extend.js:145:9)
Pass
assert_equals(0, 0, "anchorOffset must not change if the node passed to extend() has the same root as the original range")
    at testExtend ( /selection/extend.js:147:9)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "focusNode must be the node passed to extend()")
    at testExtend ( /selection/extend.js:155:5)
Pass
assert_equals(9, 9, "focusOffset must be the offset passed to extend()")
    at testExtend ( /selection/extend.js:157:5)
Pass
assert_not_equals(object "Selection extend() tests   Äb̈c̈d̈e", object "Selection extend() tests   ", "extend() must replace any existing range with a new one, not mutate the existing one")
    at testExtend ( /selection/extend.js:159:5)
Passextend() backwards with range 15 [document.documentElement, 0, document.documentElement, 1] and point 5 [paras[0].firstChild, 9]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(Element node <html><head><title>Selection extend() tests</title> <meta..., Element node <html><head><title>Selection extend() tests</title> <meta..., "Sanity check: startContainer must be correct")
    at testExtend ( /selection/extend.js:80:5)
Pass
assert_equals(0, 0, "Sanity check: startOffset must be correct")
    at testExtend ( /selection/extend.js:82:5)
Pass
assert_equals(Element node <html><head><title>Selection extend() tests</title> <meta..., Element node <html><head><title>Selection extend() tests</title> <meta..., "Sanity check: endContainer must be correct")
    at testExtend ( /selection/extend.js:84:5)
Pass
assert_equals(1, 1, "Sanity check: endOffset must be correct")
    at testExtend ( /selection/extend.js:86:5)
Pass
assert_equals(Element node <html><head><title>Selection extend() tests</title> <meta..., Element node <html><head><title>Selection extend() tests</title> <meta..., "anchorNode must not change if the node passed to extend() has the same root as the original range")
    at testExtend ( /selection/extend.js:145:9)
Pass
assert_equals(1, 1, "anchorOffset must not change if the node passed to extend() has the same root as the original range")
    at testExtend ( /selection/extend.js:147:9)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "focusNode must be the node passed to extend()")
    at testExtend ( /selection/extend.js:155:5)
Pass
assert_equals(9, 9, "focusOffset must be the offset passed to extend()")
    at testExtend ( /selection/extend.js:157:5)
Pass
assert_not_equals(object "Äb̈c̈d̈e", object "Selection extend() tests   ", "extend() must replace any existing range with a new one, not mutate the existing one")
    at testExtend ( /selection/extend.js:159:5)
Passextend() forwards with range 15 [document.documentElement, 0, document.documentElement, 1] and point 6 [paras[0].firstChild, 10]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(Element node <html><head><title>Selection extend() tests</title> <meta..., Element node <html><head><title>Selection extend() tests</title> <meta..., "Sanity check: startContainer must be correct")
    at testExtend ( /selection/extend.js:80:5)
Pass
assert_equals(0, 0, "Sanity check: startOffset must be correct")
    at testExtend ( /selection/extend.js:82:5)
Pass
assert_equals(Element node <html><head><title>Selection extend() tests</title> <meta..., Element node <html><head><title>Selection extend() tests</title> <meta..., "Sanity check: endContainer must be correct")
    at testExtend ( /selection/extend.js:84:5)
Pass
assert_equals(1, 1, "Sanity check: endOffset must be correct")
    at testExtend ( /selection/extend.js:86:5)
Pass
assert_equals(Element node <html><head><title>Selection extend() tests</title> <meta..., Element node <html><head><title>Selection extend() tests</title> <meta..., "anchorNode must not change if the node passed to extend() has the same root as the original range")
    at testExtend ( /selection/extend.js:145:9)
Pass
assert_equals(0, 0, "anchorOffset must not change if the node passed to extend() has the same root as the original range")
    at testExtend ( /selection/extend.js:147:9)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "focusNode must be the node passed to extend()")
    at testExtend ( /selection/extend.js:155:5)
Pass
assert_equals(10, 10, "focusOffset must be the offset passed to extend()")
    at testExtend ( /selection/extend.js:157:5)
Pass
assert_not_equals(object "Selection extend() tests   Äb̈c̈d̈ë", object "Selection extend() tests   ", "extend() must replace any existing range with a new one, not mutate the existing one")
    at testExtend ( /selection/extend.js:159:5)
Passextend() backwards with range 15 [document.documentElement, 0, document.documentElement, 1] and point 6 [paras[0].firstChild, 10]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(Element node <html><head><title>Selection extend() tests</title> <meta..., Element node <html><head><title>Selection extend() tests</title> <meta..., "Sanity check: startContainer must be correct")
    at testExtend ( /selection/extend.js:80:5)
Pass
assert_equals(0, 0, "Sanity check: startOffset must be correct")
    at testExtend ( /selection/extend.js:82:5)
Pass
assert_equals(Element node <html><head><title>Selection extend() tests</title> <meta..., Element node <html><head><title>Selection extend() tests</title> <meta..., "Sanity check: endContainer must be correct")
    at testExtend ( /selection/extend.js:84:5)
Pass
assert_equals(1, 1, "Sanity check: endOffset must be correct")
    at testExtend ( /selection/extend.js:86:5)
Pass
assert_equals(Element node <html><head><title>Selection extend() tests</title> <meta..., Element node <html><head><title>Selection extend() tests</title> <meta..., "anchorNode must not change if the node passed to extend() has the same root as the original range")
    at testExtend ( /selection/extend.js:145:9)
Pass
assert_equals(1, 1, "anchorOffset must not change if the node passed to extend() has the same root as the original range")
    at testExtend ( /selection/extend.js:147:9)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "focusNode must be the node passed to extend()")
    at testExtend ( /selection/extend.js:155:5)
Pass
assert_equals(10, 10, "focusOffset must be the offset passed to extend()")
    at testExtend ( /selection/extend.js:157:5)
Pass
assert_not_equals(object "Äb̈c̈d̈ë", object "Selection extend() tests   ", "extend() must replace any existing range with a new one, not mutate the existing one")
    at testExtend ( /selection/extend.js:159:5)
Passextend() forwards with range 15 [document.documentElement, 0, document.documentElement, 1] and point 7 [paras[0].firstChild, 65535]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(Element node <html><head><title>Selection extend() tests</title> <meta..., Element node <html><head><title>Selection extend() tests</title> <meta..., "Sanity check: startContainer must be correct")
    at testExtend ( /selection/extend.js:80:5)
Pass
assert_equals(0, 0, "Sanity check: startOffset must be correct")
    at testExtend ( /selection/extend.js:82:5)
Pass
assert_equals(Element node <html><head><title>Selection extend() tests</title> <meta..., Element node <html><head><title>Selection extend() tests</title> <meta..., "Sanity check: endContainer must be correct")
    at testExtend ( /selection/extend.js:84:5)
Pass
assert_equals(1, 1, "Sanity check: endOffset must be correct")
    at testExtend ( /selection/extend.js:86:5)
Pass
assert_throws_dom("INDEX_SIZE_ERR", function "function() {             selection.extend(node, offset);         }", "extend() to an offset that's greater than node length (17) must throw IndexSizeError")
    at testExtend ( /selection/extend.js:117:9)
Passextend() backwards with range 15 [document.documentElement, 0, document.documentElement, 1] and point 7 [paras[0].firstChild, 65535]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(Element node <html><head><title>Selection extend() tests</title> <meta..., Element node <html><head><title>Selection extend() tests</title> <meta..., "Sanity check: startContainer must be correct")
    at testExtend ( /selection/extend.js:80:5)
Pass
assert_equals(0, 0, "Sanity check: startOffset must be correct")
    at testExtend ( /selection/extend.js:82:5)
Pass
assert_equals(Element node <html><head><title>Selection extend() tests</title> <meta..., Element node <html><head><title>Selection extend() tests</title> <meta..., "Sanity check: endContainer must be correct")
    at testExtend ( /selection/extend.js:84:5)
Pass
assert_equals(1, 1, "Sanity check: endOffset must be correct")
    at testExtend ( /selection/extend.js:86:5)
Pass
assert_throws_dom("INDEX_SIZE_ERR", function "function() {             selection.extend(node, offset);         }", "extend() to an offset that's greater than node length (17) must throw IndexSizeError")
    at testExtend ( /selection/extend.js:117:9)
Passextend() forwards with range 15 [document.documentElement, 0, document.documentElement, 1] and point 8 [paras[1].firstChild, -1]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(Element node <html><head><title>Selection extend() tests</title> <meta..., Element node <html><head><title>Selection extend() tests</title> <meta..., "Sanity check: startContainer must be correct")
    at testExtend ( /selection/extend.js:80:5)
Pass
assert_equals(0, 0, "Sanity check: startOffset must be correct")
    at testExtend ( /selection/extend.js:82:5)
Pass
assert_equals(Element node <html><head><title>Selection extend() tests</title> <meta..., Element node <html><head><title>Selection extend() tests</title> <meta..., "Sanity check: endContainer must be correct")
    at testExtend ( /selection/extend.js:84:5)
Pass
assert_equals(1, 1, "Sanity check: endOffset must be correct")
    at testExtend ( /selection/extend.js:86:5)
Pass
assert_throws_dom("INDEX_SIZE_ERR", function "function() {             selection.extend(node, offset);         }", "extend() to an offset that's greater than node length (9) must throw IndexSizeError")
    at testExtend ( /selection/extend.js:117:9)
Passextend() backwards with range 15 [document.documentElement, 0, document.documentElement, 1] and point 8 [paras[1].firstChild, -1]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(Element node <html><head><title>Selection extend() tests</title> <meta..., Element node <html><head><title>Selection extend() tests</title> <meta..., "Sanity check: startContainer must be correct")
    at testExtend ( /selection/extend.js:80:5)
Pass
assert_equals(0, 0, "Sanity check: startOffset must be correct")
    at testExtend ( /selection/extend.js:82:5)
Pass
assert_equals(Element node <html><head><title>Selection extend() tests</title> <meta..., Element node <html><head><title>Selection extend() tests</title> <meta..., "Sanity check: endContainer must be correct")
    at testExtend ( /selection/extend.js:84:5)
Pass
assert_equals(1, 1, "Sanity check: endOffset must be correct")
    at testExtend ( /selection/extend.js:86:5)
Pass
assert_throws_dom("INDEX_SIZE_ERR", function "function() {             selection.extend(node, offset);         }", "extend() to an offset that's greater than node length (9) must throw IndexSizeError")
    at testExtend ( /selection/extend.js:117:9)
Passextend() forwards with range 15 [document.documentElement, 0, document.documentElement, 1] and point 9 [paras[1].firstChild, 0]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(Element node <html><head><title>Selection extend() tests</title> <meta..., Element node <html><head><title>Selection extend() tests</title> <meta..., "Sanity check: startContainer must be correct")
    at testExtend ( /selection/extend.js:80:5)
Pass
assert_equals(0, 0, "Sanity check: startOffset must be correct")
    at testExtend ( /selection/extend.js:82:5)
Pass
assert_equals(Element node <html><head><title>Selection extend() tests</title> <meta..., Element node <html><head><title>Selection extend() tests</title> <meta..., "Sanity check: endContainer must be correct")
    at testExtend ( /selection/extend.js:84:5)
Pass
assert_equals(1, 1, "Sanity check: endOffset must be correct")
    at testExtend ( /selection/extend.js:86:5)
Pass
assert_equals(Element node <html><head><title>Selection extend() tests</title> <meta..., Element node <html><head><title>Selection extend() tests</title> <meta..., "anchorNode must not change if the node passed to extend() has the same root as the original range")
    at testExtend ( /selection/extend.js:145:9)
Pass
assert_equals(0, 0, "anchorOffset must not change if the node passed to extend() has the same root as the original range")
    at testExtend ( /selection/extend.js:147:9)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "focusNode must be the node passed to extend()")
    at testExtend ( /selection/extend.js:155:5)
Pass
assert_equals(0, 0, "focusOffset must be the offset passed to extend()")
    at testExtend ( /selection/extend.js:157:5)
Pass
assert_not_equals(object "Selection extend() tests   Äb̈c̈d̈ëf̈g̈ḧ ", object "Selection extend() tests   ", "extend() must replace any existing range with a new one, not mutate the existing one")
    at testExtend ( /selection/extend.js:159:5)
Passextend() backwards with range 15 [document.documentElement, 0, document.documentElement, 1] and point 9 [paras[1].firstChild, 0]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(Element node <html><head><title>Selection extend() tests</title> <meta..., Element node <html><head><title>Selection extend() tests</title> <meta..., "Sanity check: startContainer must be correct")
    at testExtend ( /selection/extend.js:80:5)
Pass
assert_equals(0, 0, "Sanity check: startOffset must be correct")
    at testExtend ( /selection/extend.js:82:5)
Pass
assert_equals(Element node <html><head><title>Selection extend() tests</title> <meta..., Element node <html><head><title>Selection extend() tests</title> <meta..., "Sanity check: endContainer must be correct")
    at testExtend ( /selection/extend.js:84:5)
Pass
assert_equals(1, 1, "Sanity check: endOffset must be correct")
    at testExtend ( /selection/extend.js:86:5)
Pass
assert_equals(Element node <html><head><title>Selection extend() tests</title> <meta..., Element node <html><head><title>Selection extend() tests</title> <meta..., "anchorNode must not change if the node passed to extend() has the same root as the original range")
    at testExtend ( /selection/extend.js:145:9)
Pass
assert_equals(1, 1, "anchorOffset must not change if the node passed to extend() has the same root as the original range")
    at testExtend ( /selection/extend.js:147:9)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "focusNode must be the node passed to extend()")
    at testExtend ( /selection/extend.js:155:5)
Pass
assert_equals(0, 0, "focusOffset must be the offset passed to extend()")
    at testExtend ( /selection/extend.js:157:5)
Pass
assert_not_equals(object "Äb̈c̈d̈ëf̈g̈ḧ ", object "Selection extend() tests   ", "extend() must replace any existing range with a new one, not mutate the existing one")
    at testExtend ( /selection/extend.js:159:5)
Passextend() forwards with range 15 [document.documentElement, 0, document.documentElement, 1] and point 10 [paras[1].firstChild, 1]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(Element node <html><head><title>Selection extend() tests</title> <meta..., Element node <html><head><title>Selection extend() tests</title> <meta..., "Sanity check: startContainer must be correct")
    at testExtend ( /selection/extend.js:80:5)
Pass
assert_equals(0, 0, "Sanity check: startOffset must be correct")
    at testExtend ( /selection/extend.js:82:5)
Pass
assert_equals(Element node <html><head><title>Selection extend() tests</title> <meta..., Element node <html><head><title>Selection extend() tests</title> <meta..., "Sanity check: endContainer must be correct")
    at testExtend ( /selection/extend.js:84:5)
Pass
assert_equals(1, 1, "Sanity check: endOffset must be correct")
    at testExtend ( /selection/extend.js:86:5)
Pass
assert_equals(Element node <html><head><title>Selection extend() tests</title> <meta..., Element node <html><head><title>Selection extend() tests</title> <meta..., "anchorNode must not change if the node passed to extend() has the same root as the original range")
    at testExtend ( /selection/extend.js:145:9)
Pass
assert_equals(0, 0, "anchorOffset must not change if the node passed to extend() has the same root as the original range")
    at testExtend ( /selection/extend.js:147:9)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "focusNode must be the node passed to extend()")
    at testExtend ( /selection/extend.js:155:5)
Pass
assert_equals(1, 1, "focusOffset must be the offset passed to extend()")
    at testExtend ( /selection/extend.js:157:5)
Pass
assert_not_equals(object "Selection extend() tests   Äb̈c̈d̈ëf̈g̈ḧ I", object "Selection extend() tests   ", "extend() must replace any existing range with a new one, not mutate the existing one")
    at testExtend ( /selection/extend.js:159:5)
Passextend() backwards with range 15 [document.documentElement, 0, document.documentElement, 1] and point 10 [paras[1].firstChild, 1]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(Element node <html><head><title>Selection extend() tests</title> <meta..., Element node <html><head><title>Selection extend() tests</title> <meta..., "Sanity check: startContainer must be correct")
    at testExtend ( /selection/extend.js:80:5)
Pass
assert_equals(0, 0, "Sanity check: startOffset must be correct")
    at testExtend ( /selection/extend.js:82:5)
Pass
assert_equals(Element node <html><head><title>Selection extend() tests</title> <meta..., Element node <html><head><title>Selection extend() tests</title> <meta..., "Sanity check: endContainer must be correct")
    at testExtend ( /selection/extend.js:84:5)
Pass
assert_equals(1, 1, "Sanity check: endOffset must be correct")
    at testExtend ( /selection/extend.js:86:5)
Pass
assert_equals(Element node <html><head><title>Selection extend() tests</title> <meta..., Element node <html><head><title>Selection extend() tests</title> <meta..., "anchorNode must not change if the node passed to extend() has the same root as the original range")
    at testExtend ( /selection/extend.js:145:9)
Pass
assert_equals(1, 1, "anchorOffset must not change if the node passed to extend() has the same root as the original range")
    at testExtend ( /selection/extend.js:147:9)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "focusNode must be the node passed to extend()")
    at testExtend ( /selection/extend.js:155:5)
Pass
assert_equals(1, 1, "focusOffset must be the offset passed to extend()")
    at testExtend ( /selection/extend.js:157:5)
Pass
assert_not_equals(object "Äb̈c̈d̈ëf̈g̈ḧ I", object "Selection extend() tests   ", "extend() must replace any existing range with a new one, not mutate the existing one")
    at testExtend ( /selection/extend.js:159:5)
Passextend() forwards with range 15 [document.documentElement, 0, document.documentElement, 1] and point 11 [paras[1].firstChild, 2]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(Element node <html><head><title>Selection extend() tests</title> <meta..., Element node <html><head><title>Selection extend() tests</title> <meta..., "Sanity check: startContainer must be correct")
    at testExtend ( /selection/extend.js:80:5)
Pass
assert_equals(0, 0, "Sanity check: startOffset must be correct")
    at testExtend ( /selection/extend.js:82:5)
Pass
assert_equals(Element node <html><head><title>Selection extend() tests</title> <meta..., Element node <html><head><title>Selection extend() tests</title> <meta..., "Sanity check: endContainer must be correct")
    at testExtend ( /selection/extend.js:84:5)
Pass
assert_equals(1, 1, "Sanity check: endOffset must be correct")
    at testExtend ( /selection/extend.js:86:5)
Pass
assert_equals(Element node <html><head><title>Selection extend() tests</title> <meta..., Element node <html><head><title>Selection extend() tests</title> <meta..., "anchorNode must not change if the node passed to extend() has the same root as the original range")
    at testExtend ( /selection/extend.js:145:9)
Pass
assert_equals(0, 0, "anchorOffset must not change if the node passed to extend() has the same root as the original range")
    at testExtend ( /selection/extend.js:147:9)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "focusNode must be the node passed to extend()")
    at testExtend ( /selection/extend.js:155:5)
Pass
assert_equals(2, 2, "focusOffset must be the offset passed to extend()")
    at testExtend ( /selection/extend.js:157:5)
Pass
assert_not_equals(object "Selection extend() tests   Äb̈c̈d̈ëf̈g̈ḧ Ij", object "Selection extend() tests   ", "extend() must replace any existing range with a new one, not mutate the existing one")
    at testExtend ( /selection/extend.js:159:5)
Passextend() backwards with range 15 [document.documentElement, 0, document.documentElement, 1] and point 11 [paras[1].firstChild, 2]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(Element node <html><head><title>Selection extend() tests</title> <meta..., Element node <html><head><title>Selection extend() tests</title> <meta..., "Sanity check: startContainer must be correct")
    at testExtend ( /selection/extend.js:80:5)
Pass
assert_equals(0, 0, "Sanity check: startOffset must be correct")
    at testExtend ( /selection/extend.js:82:5)
Pass
assert_equals(Element node <html><head><title>Selection extend() tests</title> <meta..., Element node <html><head><title>Selection extend() tests</title> <meta..., "Sanity check: endContainer must be correct")
    at testExtend ( /selection/extend.js:84:5)
Pass
assert_equals(1, 1, "Sanity check: endOffset must be correct")
    at testExtend ( /selection/extend.js:86:5)
Pass
assert_equals(Element node <html><head><title>Selection extend() tests</title> <meta..., Element node <html><head><title>Selection extend() tests</title> <meta..., "anchorNode must not change if the node passed to extend() has the same root as the original range")
    at testExtend ( /selection/extend.js:145:9)
Pass
assert_equals(1, 1, "anchorOffset must not change if the node passed to extend() has the same root as the original range")
    at testExtend ( /selection/extend.js:147:9)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "focusNode must be the node passed to extend()")
    at testExtend ( /selection/extend.js:155:5)
Pass
assert_equals(2, 2, "focusOffset must be the offset passed to extend()")
    at testExtend ( /selection/extend.js:157:5)
Pass
assert_not_equals(object "Äb̈c̈d̈ëf̈g̈ḧ Ij", object "Selection extend() tests   ", "extend() must replace any existing range with a new one, not mutate the existing one")
    at testExtend ( /selection/extend.js:159:5)
Passextend() forwards with range 15 [document.documentElement, 0, document.documentElement, 1] and point 12 [paras[1].firstChild, 8]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(Element node <html><head><title>Selection extend() tests</title> <meta..., Element node <html><head><title>Selection extend() tests</title> <meta..., "Sanity check: startContainer must be correct")
    at testExtend ( /selection/extend.js:80:5)
Pass
assert_equals(0, 0, "Sanity check: startOffset must be correct")
    at testExtend ( /selection/extend.js:82:5)
Pass
assert_equals(Element node <html><head><title>Selection extend() tests</title> <meta..., Element node <html><head><title>Selection extend() tests</title> <meta..., "Sanity check: endContainer must be correct")
    at testExtend ( /selection/extend.js:84:5)
Pass
assert_equals(1, 1, "Sanity check: endOffset must be correct")
    at testExtend ( /selection/extend.js:86:5)
Pass
assert_equals(Element node <html><head><title>Selection extend() tests</title> <meta..., Element node <html><head><title>Selection extend() tests</title> <meta..., "anchorNode must not change if the node passed to extend() has the same root as the original range")
    at testExtend ( /selection/extend.js:145:9)
Pass
assert_equals(0, 0, "anchorOffset must not change if the node passed to extend() has the same root as the original range")
    at testExtend ( /selection/extend.js:147:9)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "focusNode must be the node passed to extend()")
    at testExtend ( /selection/extend.js:155:5)
Pass
assert_equals(8, 8, "focusOffset must be the offset passed to extend()")
    at testExtend ( /selection/extend.js:157:5)
Pass
assert_not_equals(object "Selection extend() tests   Äb̈c̈d̈ëf̈g̈ḧ Ijklmnop", object "Selection extend() tests   ", "extend() must replace any existing range with a new one, not mutate the existing one")
    at testExtend ( /selection/extend.js:159:5)
Passextend() backwards with range 15 [document.documentElement, 0, document.documentElement, 1] and point 12 [paras[1].firstChild, 8]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(Element node <html><head><title>Selection extend() tests</title> <meta..., Element node <html><head><title>Selection extend() tests</title> <meta..., "Sanity check: startContainer must be correct")
    at testExtend ( /selection/extend.js:80:5)
Pass
assert_equals(0, 0, "Sanity check: startOffset must be correct")
    at testExtend ( /selection/extend.js:82:5)
Pass
assert_equals(Element node <html><head><title>Selection extend() tests</title> <meta..., Element node <html><head><title>Selection extend() tests</title> <meta..., "Sanity check: endContainer must be correct")
    at testExtend ( /selection/extend.js:84:5)
Pass
assert_equals(1, 1, "Sanity check: endOffset must be correct")
    at testExtend ( /selection/extend.js:86:5)
Pass
assert_equals(Element node <html><head><title>Selection extend() tests</title> <meta..., Element node <html><head><title>Selection extend() tests</title> <meta..., "anchorNode must not change if the node passed to extend() has the same root as the original range")
    at testExtend ( /selection/extend.js:145:9)
Pass
assert_equals(1, 1, "anchorOffset must not change if the node passed to extend() has the same root as the original range")
    at testExtend ( /selection/extend.js:147:9)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "focusNode must be the node passed to extend()")
    at testExtend ( /selection/extend.js:155:5)
Pass
assert_equals(8, 8, "focusOffset must be the offset passed to extend()")
    at testExtend ( /selection/extend.js:157:5)
Pass
assert_not_equals(object "Äb̈c̈d̈ëf̈g̈ḧ Ijklmnop", object "Selection extend() tests   ", "extend() must replace any existing range with a new one, not mutate the existing one")
    at testExtend ( /selection/extend.js:159:5)
Passextend() forwards with range 15 [document.documentElement, 0, document.documentElement, 1] and point 13 [paras[1].firstChild, 9]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(Element node <html><head><title>Selection extend() tests</title> <meta..., Element node <html><head><title>Selection extend() tests</title> <meta..., "Sanity check: startContainer must be correct")
    at testExtend ( /selection/extend.js:80:5)
Pass
assert_equals(0, 0, "Sanity check: startOffset must be correct")
    at testExtend ( /selection/extend.js:82:5)
Pass
assert_equals(Element node <html><head><title>Selection extend() tests</title> <meta..., Element node <html><head><title>Selection extend() tests</title> <meta..., "Sanity check: endContainer must be correct")
    at testExtend ( /selection/extend.js:84:5)
Pass
assert_equals(1, 1, "Sanity check: endOffset must be correct")
    at testExtend ( /selection/extend.js:86:5)
Pass
assert_equals(Element node <html><head><title>Selection extend() tests</title> <meta..., Element node <html><head><title>Selection extend() tests</title> <meta..., "anchorNode must not change if the node passed to extend() has the same root as the original range")
    at testExtend ( /selection/extend.js:145:9)
Pass
assert_equals(0, 0, "anchorOffset must not change if the node passed to extend() has the same root as the original range")
    at testExtend ( /selection/extend.js:147:9)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "focusNode must be the node passed to extend()")
    at testExtend ( /selection/extend.js:155:5)
Pass
assert_equals(9, 9, "focusOffset must be the offset passed to extend()")
    at testExtend ( /selection/extend.js:157:5)
Pass
assert_not_equals(object "Selection extend() tests   Äb̈c̈d̈ëf̈g̈ḧ Ijklmnop ", object "Selection extend() tests   ", "extend() must replace any existing range with a new one, not mutate the existing one")
    at testExtend ( /selection/extend.js:159:5)
Passextend() backwards with range 15 [document.documentElement, 0, document.documentElement, 1] and point 13 [paras[1].firstChild, 9]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(Element node <html><head><title>Selection extend() tests</title> <meta..., Element node <html><head><title>Selection extend() tests</title> <meta..., "Sanity check: startContainer must be correct")
    at testExtend ( /selection/extend.js:80:5)
Pass
assert_equals(0, 0, "Sanity check: startOffset must be correct")
    at testExtend ( /selection/extend.js:82:5)
Pass
assert_equals(Element node <html><head><title>Selection extend() tests</title> <meta..., Element node <html><head><title>Selection extend() tests</title> <meta..., "Sanity check: endContainer must be correct")
    at testExtend ( /selection/extend.js:84:5)
Pass
assert_equals(1, 1, "Sanity check: endOffset must be correct")
    at testExtend ( /selection/extend.js:86:5)
Pass
assert_equals(Element node <html><head><title>Selection extend() tests</title> <meta..., Element node <html><head><title>Selection extend() tests</title> <meta..., "anchorNode must not change if the node passed to extend() has the same root as the original range")
    at testExtend ( /selection/extend.js:145:9)
Pass
assert_equals(1, 1, "anchorOffset must not change if the node passed to extend() has the same root as the original range")
    at testExtend ( /selection/extend.js:147:9)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "focusNode must be the node passed to extend()")
    at testExtend ( /selection/extend.js:155:5)
Pass
assert_equals(9, 9, "focusOffset must be the offset passed to extend()")
    at testExtend ( /selection/extend.js:157:5)
Pass
assert_not_equals(object "Äb̈c̈d̈ëf̈g̈ḧ Ijklmnop ", object "Selection extend() tests   ", "extend() must replace any existing range with a new one, not mutate the existing one")
    at testExtend ( /selection/extend.js:159:5)
Passextend() forwards with range 15 [document.documentElement, 0, document.documentElement, 1] and point 14 [paras[1].firstChild, 10]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(Element node <html><head><title>Selection extend() tests</title> <meta..., Element node <html><head><title>Selection extend() tests</title> <meta..., "Sanity check: startContainer must be correct")
    at testExtend ( /selection/extend.js:80:5)
Pass
assert_equals(0, 0, "Sanity check: startOffset must be correct")
    at testExtend ( /selection/extend.js:82:5)
Pass
assert_equals(Element node <html><head><title>Selection extend() tests</title> <meta..., Element node <html><head><title>Selection extend() tests</title> <meta..., "Sanity check: endContainer must be correct")
    at testExtend ( /selection/extend.js:84:5)
Pass
assert_equals(1, 1, "Sanity check: endOffset must be correct")
    at testExtend ( /selection/extend.js:86:5)
Pass
assert_throws_dom("INDEX_SIZE_ERR", function "function() {             selection.extend(node, offset);         }", "extend() to an offset that's greater than node length (9) must throw IndexSizeError")
    at testExtend ( /selection/extend.js:117:9)
Passextend() backwards with range 15 [document.documentElement, 0, document.documentElement, 1] and point 14 [paras[1].firstChild, 10]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(Element node <html><head><title>Selection extend() tests</title> <meta..., Element node <html><head><title>Selection extend() tests</title> <meta..., "Sanity check: startContainer must be correct")
    at testExtend ( /selection/extend.js:80:5)
Pass
assert_equals(0, 0, "Sanity check: startOffset must be correct")
    at testExtend ( /selection/extend.js:82:5)
Pass
assert_equals(Element node <html><head><title>Selection extend() tests</title> <meta..., Element node <html><head><title>Selection extend() tests</title> <meta..., "Sanity check: endContainer must be correct")
    at testExtend ( /selection/extend.js:84:5)
Pass
assert_equals(1, 1, "Sanity check: endOffset must be correct")
    at testExtend ( /selection/extend.js:86:5)
Pass
assert_throws_dom("INDEX_SIZE_ERR", function "function() {             selection.extend(node, offset);         }", "extend() to an offset that's greater than node length (9) must throw IndexSizeError")
    at testExtend ( /selection/extend.js:117:9)
Passextend() forwards with range 15 [document.documentElement, 0, document.documentElement, 1] and point 15 [paras[1].firstChild, 65535]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(Element node <html><head><title>Selection extend() tests</title> <meta..., Element node <html><head><title>Selection extend() tests</title> <meta..., "Sanity check: startContainer must be correct")
    at testExtend ( /selection/extend.js:80:5)
Pass
assert_equals(0, 0, "Sanity check: startOffset must be correct")
    at testExtend ( /selection/extend.js:82:5)
Pass
assert_equals(Element node <html><head><title>Selection extend() tests</title> <meta..., Element node <html><head><title>Selection extend() tests</title> <meta..., "Sanity check: endContainer must be correct")
    at testExtend ( /selection/extend.js:84:5)
Pass
assert_equals(1, 1, "Sanity check: endOffset must be correct")
    at testExtend ( /selection/extend.js:86:5)
Pass
assert_throws_dom("INDEX_SIZE_ERR", function "function() {             selection.extend(node, offset);         }", "extend() to an offset that's greater than node length (9) must throw IndexSizeError")
    at testExtend ( /selection/extend.js:117:9)
Passextend() backwards with range 15 [document.documentElement, 0, document.documentElement, 1] and point 15 [paras[1].firstChild, 65535]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(Element node <html><head><title>Selection extend() tests</title> <meta..., Element node <html><head><title>Selection extend() tests</title> <meta..., "Sanity check: startContainer must be correct")
    at testExtend ( /selection/extend.js:80:5)
Pass
assert_equals(0, 0, "Sanity check: startOffset must be correct")
    at testExtend ( /selection/extend.js:82:5)
Pass
assert_equals(Element node <html><head><title>Selection extend() tests</title> <meta..., Element node <html><head><title>Selection extend() tests</title> <meta..., "Sanity check: endContainer must be correct")
    at testExtend ( /selection/extend.js:84:5)
Pass
assert_equals(1, 1, "Sanity check: endOffset must be correct")
    at testExtend ( /selection/extend.js:86:5)
Pass
assert_throws_dom("INDEX_SIZE_ERR", function "function() {             selection.extend(node, offset);         }", "extend() to an offset that's greater than node length (9) must throw IndexSizeError")
    at testExtend ( /selection/extend.js:117:9)
Passextend() forwards with range 15 [document.documentElement, 0, document.documentElement, 1] and point 16 [detachedPara1.firstChild, 0]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(1, 1, "The operation should not add Range")
    at assertSelectionNoChange ( /selection/common.js:976:5)
Pass
assert_equals(Element node <html><head><title>Selection extend() tests</title> <meta..., Element node <html><head><title>Selection extend() tests</title> <meta..., "The operation should not update anchorNode")
    at assertSelectionNoChange ( /selection/common.js:978:5)
Pass
assert_equals(0, 0, "The operation should not update anchorOffset")
    at assertSelectionNoChange ( /selection/common.js:980:5)
Pass
assert_equals(Element node <html><head><title>Selection extend() tests</title> <meta..., Element node <html><head><title>Selection extend() tests</title> <meta..., "The operation should not update focusNode")
    at assertSelectionNoChange ( /selection/common.js:982:5)
Pass
assert_equals(1, 1, "The operation should not update focusOffset")
    at assertSelectionNoChange ( /selection/common.js:984:5)
Pass
assert_equals(object "Selection extend() tests   ", object "Selection extend() tests   ", "The operation should not replace a registered Range")
    at assertSelectionNoChange ( /selection/common.js:988:5)
Passextend() backwards with range 15 [document.documentElement, 0, document.documentElement, 1] and point 16 [detachedPara1.firstChild, 0]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(1, 1, "The operation should not add Range")
    at assertSelectionNoChange ( /selection/common.js:976:5)
Pass
assert_equals(Element node <html><head><title>Selection extend() tests</title> <meta..., Element node <html><head><title>Selection extend() tests</title> <meta..., "The operation should not update anchorNode")
    at assertSelectionNoChange ( /selection/common.js:978:5)
Pass
assert_equals(1, 1, "The operation should not update anchorOffset")
    at assertSelectionNoChange ( /selection/common.js:980:5)
Pass
assert_equals(Element node <html><head><title>Selection extend() tests</title> <meta..., Element node <html><head><title>Selection extend() tests</title> <meta..., "The operation should not update focusNode")
    at assertSelectionNoChange ( /selection/common.js:982:5)
Pass
assert_equals(0, 0, "The operation should not update focusOffset")
    at assertSelectionNoChange ( /selection/common.js:984:5)
Pass
assert_equals(object "Selection extend() tests   ", object "Selection extend() tests   ", "The operation should not replace a registered Range")
    at assertSelectionNoChange ( /selection/common.js:988:5)
Passextend() forwards with range 15 [document.documentElement, 0, document.documentElement, 1] and point 17 [detachedPara1.firstChild, 1]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(1, 1, "The operation should not add Range")
    at assertSelectionNoChange ( /selection/common.js:976:5)
Pass
assert_equals(Element node <html><head><title>Selection extend() tests</title> <meta..., Element node <html><head><title>Selection extend() tests</title> <meta..., "The operation should not update anchorNode")
    at assertSelectionNoChange ( /selection/common.js:978:5)
Pass
assert_equals(0, 0, "The operation should not update anchorOffset")
    at assertSelectionNoChange ( /selection/common.js:980:5)
Pass
assert_equals(Element node <html><head><title>Selection extend() tests</title> <meta..., Element node <html><head><title>Selection extend() tests</title> <meta..., "The operation should not update focusNode")
    at assertSelectionNoChange ( /selection/common.js:982:5)
Pass
assert_equals(1, 1, "The operation should not update focusOffset")
    at assertSelectionNoChange ( /selection/common.js:984:5)
Pass
assert_equals(object "Selection extend() tests   ", object "Selection extend() tests   ", "The operation should not replace a registered Range")
    at assertSelectionNoChange ( /selection/common.js:988:5)
Passextend() backwards with range 15 [document.documentElement, 0, document.documentElement, 1] and point 17 [detachedPara1.firstChild, 1]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(1, 1, "The operation should not add Range")
    at assertSelectionNoChange ( /selection/common.js:976:5)
Pass
assert_equals(Element node <html><head><title>Selection extend() tests</title> <meta..., Element node <html><head><title>Selection extend() tests</title> <meta..., "The operation should not update anchorNode")
    at assertSelectionNoChange ( /selection/common.js:978:5)
Pass
assert_equals(1, 1, "The operation should not update anchorOffset")
    at assertSelectionNoChange ( /selection/common.js:980:5)
Pass
assert_equals(Element node <html><head><title>Selection extend() tests</title> <meta..., Element node <html><head><title>Selection extend() tests</title> <meta..., "The operation should not update focusNode")
    at assertSelectionNoChange ( /selection/common.js:982:5)
Pass
assert_equals(0, 0, "The operation should not update focusOffset")
    at assertSelectionNoChange ( /selection/common.js:984:5)
Pass
assert_equals(object "Selection extend() tests   ", object "Selection extend() tests   ", "The operation should not replace a registered Range")
    at assertSelectionNoChange ( /selection/common.js:988:5)
Passextend() forwards with range 15 [document.documentElement, 0, document.documentElement, 1] and point 18 [detachedPara1.firstChild, 8]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(1, 1, "The operation should not add Range")
    at assertSelectionNoChange ( /selection/common.js:976:5)
Pass
assert_equals(Element node <html><head><title>Selection extend() tests</title> <meta..., Element node <html><head><title>Selection extend() tests</title> <meta..., "The operation should not update anchorNode")
    at assertSelectionNoChange ( /selection/common.js:978:5)
Pass
assert_equals(0, 0, "The operation should not update anchorOffset")
    at assertSelectionNoChange ( /selection/common.js:980:5)
Pass
assert_equals(Element node <html><head><title>Selection extend() tests</title> <meta..., Element node <html><head><title>Selection extend() tests</title> <meta..., "The operation should not update focusNode")
    at assertSelectionNoChange ( /selection/common.js:982:5)
Pass
assert_equals(1, 1, "The operation should not update focusOffset")
    at assertSelectionNoChange ( /selection/common.js:984:5)
Pass
assert_equals(object "Selection extend() tests   ", object "Selection extend() tests   ", "The operation should not replace a registered Range")
    at assertSelectionNoChange ( /selection/common.js:988:5)
Passextend() backwards with range 15 [document.documentElement, 0, document.documentElement, 1] and point 18 [detachedPara1.firstChild, 8]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(1, 1, "The operation should not add Range")
    at assertSelectionNoChange ( /selection/common.js:976:5)
Pass
assert_equals(Element node <html><head><title>Selection extend() tests</title> <meta..., Element node <html><head><title>Selection extend() tests</title> <meta..., "The operation should not update anchorNode")
    at assertSelectionNoChange ( /selection/common.js:978:5)
Pass
assert_equals(1, 1, "The operation should not update anchorOffset")
    at assertSelectionNoChange ( /selection/common.js:980:5)
Pass
assert_equals(Element node <html><head><title>Selection extend() tests</title> <meta..., Element node <html><head><title>Selection extend() tests</title> <meta..., "The operation should not update focusNode")
    at assertSelectionNoChange ( /selection/common.js:982:5)
Pass
assert_equals(0, 0, "The operation should not update focusOffset")
    at assertSelectionNoChange ( /selection/common.js:984:5)
Pass
assert_equals(object "Selection extend() tests   ", object "Selection extend() tests   ", "The operation should not replace a registered Range")
    at assertSelectionNoChange ( /selection/common.js:988:5)
Passextend() forwards with range 15 [document.documentElement, 0, document.documentElement, 1] and point 19 [detachedPara1.firstChild, 9]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(1, 1, "The operation should not add Range")
    at assertSelectionNoChange ( /selection/common.js:976:5)
Pass
assert_equals(Element node <html><head><title>Selection extend() tests</title> <meta..., Element node <html><head><title>Selection extend() tests</title> <meta..., "The operation should not update anchorNode")
    at assertSelectionNoChange ( /selection/common.js:978:5)
Pass
assert_equals(0, 0, "The operation should not update anchorOffset")
    at assertSelectionNoChange ( /selection/common.js:980:5)
Pass
assert_equals(Element node <html><head><title>Selection extend() tests</title> <meta..., Element node <html><head><title>Selection extend() tests</title> <meta..., "The operation should not update focusNode")
    at assertSelectionNoChange ( /selection/common.js:982:5)
Pass
assert_equals(1, 1, "The operation should not update focusOffset")
    at assertSelectionNoChange ( /selection/common.js:984:5)
Pass
assert_equals(object "Selection extend() tests   ", object "Selection extend() tests   ", "The operation should not replace a registered Range")
    at assertSelectionNoChange ( /selection/common.js:988:5)
Passextend() backwards with range 15 [document.documentElement, 0, document.documentElement, 1] and point 19 [detachedPara1.firstChild, 9]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(1, 1, "The operation should not add Range")
    at assertSelectionNoChange ( /selection/common.js:976:5)
Pass
assert_equals(Element node <html><head><title>Selection extend() tests</title> <meta..., Element node <html><head><title>Selection extend() tests</title> <meta..., "The operation should not update anchorNode")
    at assertSelectionNoChange ( /selection/common.js:978:5)
Pass
assert_equals(1, 1, "The operation should not update anchorOffset")
    at assertSelectionNoChange ( /selection/common.js:980:5)
Pass
assert_equals(Element node <html><head><title>Selection extend() tests</title> <meta..., Element node <html><head><title>Selection extend() tests</title> <meta..., "The operation should not update focusNode")
    at assertSelectionNoChange ( /selection/common.js:982:5)
Pass
assert_equals(0, 0, "The operation should not update focusOffset")
    at assertSelectionNoChange ( /selection/common.js:984:5)
Pass
assert_equals(object "Selection extend() tests   ", object "Selection extend() tests   ", "The operation should not replace a registered Range")
    at assertSelectionNoChange ( /selection/common.js:988:5)
Passextend() forwards with range 15 [document.documentElement, 0, document.documentElement, 1] and point 20 [foreignPara1.firstChild, 0]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(1, 1, "The operation should not add Range")
    at assertSelectionNoChange ( /selection/common.js:976:5)
Pass
assert_equals(Element node <html><head><title>Selection extend() tests</title> <meta..., Element node <html><head><title>Selection extend() tests</title> <meta..., "The operation should not update anchorNode")
    at assertSelectionNoChange ( /selection/common.js:978:5)
Pass
assert_equals(0, 0, "The operation should not update anchorOffset")
    at assertSelectionNoChange ( /selection/common.js:980:5)
Pass
assert_equals(Element node <html><head><title>Selection extend() tests</title> <meta..., Element node <html><head><title>Selection extend() tests</title> <meta..., "The operation should not update focusNode")
    at assertSelectionNoChange ( /selection/common.js:982:5)
Pass
assert_equals(1, 1, "The operation should not update focusOffset")
    at assertSelectionNoChange ( /selection/common.js:984:5)
Pass
assert_equals(object "Selection extend() tests   ", object "Selection extend() tests   ", "The operation should not replace a registered Range")
    at assertSelectionNoChange ( /selection/common.js:988:5)
Passextend() backwards with range 15 [document.documentElement, 0, document.documentElement, 1] and point 20 [foreignPara1.firstChild, 0]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(1, 1, "The operation should not add Range")
    at assertSelectionNoChange ( /selection/common.js:976:5)
Pass
assert_equals(Element node <html><head><title>Selection extend() tests</title> <meta..., Element node <html><head><title>Selection extend() tests</title> <meta..., "The operation should not update anchorNode")
    at assertSelectionNoChange ( /selection/common.js:978:5)
Pass
assert_equals(1, 1, "The operation should not update anchorOffset")
    at assertSelectionNoChange ( /selection/common.js:980:5)
Pass
assert_equals(Element node <html><head><title>Selection extend() tests</title> <meta..., Element node <html><head><title>Selection extend() tests</title> <meta..., "The operation should not update focusNode")
    at assertSelectionNoChange ( /selection/common.js:982:5)
Pass
assert_equals(0, 0, "The operation should not update focusOffset")
    at assertSelectionNoChange ( /selection/common.js:984:5)
Pass
assert_equals(object "Selection extend() tests   ", object "Selection extend() tests   ", "The operation should not replace a registered Range")
    at assertSelectionNoChange ( /selection/common.js:988:5)
Passextend() forwards with range 15 [document.documentElement, 0, document.documentElement, 1] and point 21 [foreignPara1.firstChild, 1]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(1, 1, "The operation should not add Range")
    at assertSelectionNoChange ( /selection/common.js:976:5)
Pass
assert_equals(Element node <html><head><title>Selection extend() tests</title> <meta..., Element node <html><head><title>Selection extend() tests</title> <meta..., "The operation should not update anchorNode")
    at assertSelectionNoChange ( /selection/common.js:978:5)
Pass
assert_equals(0, 0, "The operation should not update anchorOffset")
    at assertSelectionNoChange ( /selection/common.js:980:5)
Pass
assert_equals(Element node <html><head><title>Selection extend() tests</title> <meta..., Element node <html><head><title>Selection extend() tests</title> <meta..., "The operation should not update focusNode")
    at assertSelectionNoChange ( /selection/common.js:982:5)
Pass
assert_equals(1, 1, "The operation should not update focusOffset")
    at assertSelectionNoChange ( /selection/common.js:984:5)
Pass
assert_equals(object "Selection extend() tests   ", object "Selection extend() tests   ", "The operation should not replace a registered Range")
    at assertSelectionNoChange ( /selection/common.js:988:5)
Passextend() backwards with range 15 [document.documentElement, 0, document.documentElement, 1] and point 21 [foreignPara1.firstChild, 1]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(1, 1, "The operation should not add Range")
    at assertSelectionNoChange ( /selection/common.js:976:5)
Pass
assert_equals(Element node <html><head><title>Selection extend() tests</title> <meta..., Element node <html><head><title>Selection extend() tests</title> <meta..., "The operation should not update anchorNode")
    at assertSelectionNoChange ( /selection/common.js:978:5)
Pass
assert_equals(1, 1, "The operation should not update anchorOffset")
    at assertSelectionNoChange ( /selection/common.js:980:5)
Pass
assert_equals(Element node <html><head><title>Selection extend() tests</title> <meta..., Element node <html><head><title>Selection extend() tests</title> <meta..., "The operation should not update focusNode")
    at assertSelectionNoChange ( /selection/common.js:982:5)
Pass
assert_equals(0, 0, "The operation should not update focusOffset")
    at assertSelectionNoChange ( /selection/common.js:984:5)
Pass
assert_equals(object "Selection extend() tests   ", object "Selection extend() tests   ", "The operation should not replace a registered Range")
    at assertSelectionNoChange ( /selection/common.js:988:5)
Passextend() forwards with range 15 [document.documentElement, 0, document.documentElement, 1] and point 22 [foreignPara1.firstChild, 8]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(1, 1, "The operation should not add Range")
    at assertSelectionNoChange ( /selection/common.js:976:5)
Pass
assert_equals(Element node <html><head><title>Selection extend() tests</title> <meta..., Element node <html><head><title>Selection extend() tests</title> <meta..., "The operation should not update anchorNode")
    at assertSelectionNoChange ( /selection/common.js:978:5)
Pass
assert_equals(0, 0, "The operation should not update anchorOffset")
    at assertSelectionNoChange ( /selection/common.js:980:5)
Pass
assert_equals(Element node <html><head><title>Selection extend() tests</title> <meta..., Element node <html><head><title>Selection extend() tests</title> <meta..., "The operation should not update focusNode")
    at assertSelectionNoChange ( /selection/common.js:982:5)
Pass
assert_equals(1, 1, "The operation should not update focusOffset")
    at assertSelectionNoChange ( /selection/common.js:984:5)
Pass
assert_equals(object "Selection extend() tests   ", object "Selection extend() tests   ", "The operation should not replace a registered Range")
    at assertSelectionNoChange ( /selection/common.js:988:5)
Passextend() backwards with range 15 [document.documentElement, 0, document.documentElement, 1] and point 22 [foreignPara1.firstChild, 8]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(1, 1, "The operation should not add Range")
    at assertSelectionNoChange ( /selection/common.js:976:5)
Pass
assert_equals(Element node <html><head><title>Selection extend() tests</title> <meta..., Element node <html><head><title>Selection extend() tests</title> <meta..., "The operation should not update anchorNode")
    at assertSelectionNoChange ( /selection/common.js:978:5)
Pass
assert_equals(1, 1, "The operation should not update anchorOffset")
    at assertSelectionNoChange ( /selection/common.js:980:5)
Pass
assert_equals(Element node <html><head><title>Selection extend() tests</title> <meta..., Element node <html><head><title>Selection extend() tests</title> <meta..., "The operation should not update focusNode")
    at assertSelectionNoChange ( /selection/common.js:982:5)
Pass
assert_equals(0, 0, "The operation should not update focusOffset")
    at assertSelectionNoChange ( /selection/common.js:984:5)
Pass
assert_equals(object "Selection extend() tests   ", object "Selection extend() tests   ", "The operation should not replace a registered Range")
    at assertSelectionNoChange ( /selection/common.js:988:5)
Passextend() forwards with range 15 [document.documentElement, 0, document.documentElement, 1] and point 23 [foreignPara1.firstChild, 9]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(1, 1, "The operation should not add Range")
    at assertSelectionNoChange ( /selection/common.js:976:5)
Pass
assert_equals(Element node <html><head><title>Selection extend() tests</title> <meta..., Element node <html><head><title>Selection extend() tests</title> <meta..., "The operation should not update anchorNode")
    at assertSelectionNoChange ( /selection/common.js:978:5)
Pass
assert_equals(0, 0, "The operation should not update anchorOffset")
    at assertSelectionNoChange ( /selection/common.js:980:5)
Pass
assert_equals(Element node <html><head><title>Selection extend() tests</title> <meta..., Element node <html><head><title>Selection extend() tests</title> <meta..., "The operation should not update focusNode")
    at assertSelectionNoChange ( /selection/common.js:982:5)
Pass
assert_equals(1, 1, "The operation should not update focusOffset")
    at assertSelectionNoChange ( /selection/common.js:984:5)
Pass
assert_equals(object "Selection extend() tests   ", object "Selection extend() tests   ", "The operation should not replace a registered Range")
    at assertSelectionNoChange ( /selection/common.js:988:5)
Passextend() backwards with range 15 [document.documentElement, 0, document.documentElement, 1] and point 23 [foreignPara1.firstChild, 9]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(1, 1, "The operation should not add Range")
    at assertSelectionNoChange ( /selection/common.js:976:5)
Pass
assert_equals(Element node <html><head><title>Selection extend() tests</title> <meta..., Element node <html><head><title>Selection extend() tests</title> <meta..., "The operation should not update anchorNode")
    at assertSelectionNoChange ( /selection/common.js:978:5)
Pass
assert_equals(1, 1, "The operation should not update anchorOffset")
    at assertSelectionNoChange ( /selection/common.js:980:5)
Pass
assert_equals(Element node <html><head><title>Selection extend() tests</title> <meta..., Element node <html><head><title>Selection extend() tests</title> <meta..., "The operation should not update focusNode")
    at assertSelectionNoChange ( /selection/common.js:982:5)
Pass
assert_equals(0, 0, "The operation should not update focusOffset")
    at assertSelectionNoChange ( /selection/common.js:984:5)
Pass
assert_equals(object "Selection extend() tests   ", object "Selection extend() tests   ", "The operation should not replace a registered Range")
    at assertSelectionNoChange ( /selection/common.js:988:5)
Passextend() forwards with range 15 [document.documentElement, 0, document.documentElement, 1] and point 24 [document.documentElement, -1]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(Element node <html><head><title>Selection extend() tests</title> <meta..., Element node <html><head><title>Selection extend() tests</title> <meta..., "Sanity check: startContainer must be correct")
    at testExtend ( /selection/extend.js:80:5)
Pass
assert_equals(0, 0, "Sanity check: startOffset must be correct")
    at testExtend ( /selection/extend.js:82:5)
Pass
assert_equals(Element node <html><head><title>Selection extend() tests</title> <meta..., Element node <html><head><title>Selection extend() tests</title> <meta..., "Sanity check: endContainer must be correct")
    at testExtend ( /selection/extend.js:84:5)
Pass
assert_equals(1, 1, "Sanity check: endOffset must be correct")
    at testExtend ( /selection/extend.js:86:5)
Pass
assert_throws_dom("INDEX_SIZE_ERR", function "function() {             selection.extend(node, offset);         }", "extend() to an offset that's greater than node length (2) must throw IndexSizeError")
    at testExtend ( /selection/extend.js:117:9)
Passextend() backwards with range 15 [document.documentElement, 0, document.documentElement, 1] and point 24 [document.documentElement, -1]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(Element node <html><head><title>Selection extend() tests</title> <meta..., Element node <html><head><title>Selection extend() tests</title> <meta..., "Sanity check: startContainer must be correct")
    at testExtend ( /selection/extend.js:80:5)
Pass
assert_equals(0, 0, "Sanity check: startOffset must be correct")
    at testExtend ( /selection/extend.js:82:5)
Pass
assert_equals(Element node <html><head><title>Selection extend() tests</title> <meta..., Element node <html><head><title>Selection extend() tests</title> <meta..., "Sanity check: endContainer must be correct")
    at testExtend ( /selection/extend.js:84:5)
Pass
assert_equals(1, 1, "Sanity check: endOffset must be correct")
    at testExtend ( /selection/extend.js:86:5)
Pass
assert_throws_dom("INDEX_SIZE_ERR", function "function() {             selection.extend(node, offset);         }", "extend() to an offset that's greater than node length (2) must throw IndexSizeError")
    at testExtend ( /selection/extend.js:117:9)
Passextend() forwards with range 15 [document.documentElement, 0, document.documentElement, 1] and point 25 [document.documentElement, 0]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(Element node <html><head><title>Selection extend() tests</title> <meta..., Element node <html><head><title>Selection extend() tests</title> <meta..., "Sanity check: startContainer must be correct")
    at testExtend ( /selection/extend.js:80:5)
Pass
assert_equals(0, 0, "Sanity check: startOffset must be correct")
    at testExtend ( /selection/extend.js:82:5)
Pass
assert_equals(Element node <html><head><title>Selection extend() tests</title> <meta..., Element node <html><head><title>Selection extend() tests</title> <meta..., "Sanity check: endContainer must be correct")
    at testExtend ( /selection/extend.js:84:5)
Pass
assert_equals(1, 1, "Sanity check: endOffset must be correct")
    at testExtend ( /selection/extend.js:86:5)
Pass
assert_equals(Element node <html><head><title>Selection extend() tests</title> <meta..., Element node <html><head><title>Selection extend() tests</title> <meta..., "anchorNode must not change if the node passed to extend() has the same root as the original range")
    at testExtend ( /selection/extend.js:145:9)
Pass
assert_equals(0, 0, "anchorOffset must not change if the node passed to extend() has the same root as the original range")
    at testExtend ( /selection/extend.js:147:9)
Pass
assert_equals(Element node <html><head><title>Selection extend() tests</title> <meta..., Element node <html><head><title>Selection extend() tests</title> <meta..., "focusNode must be the node passed to extend()")
    at testExtend ( /selection/extend.js:155:5)
Pass
assert_equals(0, 0, "focusOffset must be the offset passed to extend()")
    at testExtend ( /selection/extend.js:157:5)
Pass
assert_not_equals(object "", object "Selection extend() tests   ", "extend() must replace any existing range with a new one, not mutate the existing one")
    at testExtend ( /selection/extend.js:159:5)
Passextend() backwards with range 15 [document.documentElement, 0, document.documentElement, 1] and point 25 [document.documentElement, 0]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(Element node <html><head><title>Selection extend() tests</title> <meta..., Element node <html><head><title>Selection extend() tests</title> <meta..., "Sanity check: startContainer must be correct")
    at testExtend ( /selection/extend.js:80:5)
Pass
assert_equals(0, 0, "Sanity check: startOffset must be correct")
    at testExtend ( /selection/extend.js:82:5)
Pass
assert_equals(Element node <html><head><title>Selection extend() tests</title> <meta..., Element node <html><head><title>Selection extend() tests</title> <meta..., "Sanity check: endContainer must be correct")
    at testExtend ( /selection/extend.js:84:5)
Pass
assert_equals(1, 1, "Sanity check: endOffset must be correct")
    at testExtend ( /selection/extend.js:86:5)
Pass
assert_equals(Element node <html><head><title>Selection extend() tests</title> <meta..., Element node <html><head><title>Selection extend() tests</title> <meta..., "anchorNode must not change if the node passed to extend() has the same root as the original range")
    at testExtend ( /selection/extend.js:145:9)
Pass
assert_equals(1, 1, "anchorOffset must not change if the node passed to extend() has the same root as the original range")
    at testExtend ( /selection/extend.js:147:9)
Pass
assert_equals(Element node <html><head><title>Selection extend() tests</title> <meta..., Element node <html><head><title>Selection extend() tests</title> <meta..., "focusNode must be the node passed to extend()")
    at testExtend ( /selection/extend.js:155:5)
Pass
assert_equals(0, 0, "focusOffset must be the offset passed to extend()")
    at testExtend ( /selection/extend.js:157:5)
Pass
assert_not_equals(object "Selection extend() tests   ", object "Selection extend() tests   ", "extend() must replace any existing range with a new one, not mutate the existing one")
    at testExtend ( /selection/extend.js:159:5)
Passextend() forwards with range 15 [document.documentElement, 0, document.documentElement, 1] and point 26 [document.documentElement, 1]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(Element node <html><head><title>Selection extend() tests</title> <meta..., Element node <html><head><title>Selection extend() tests</title> <meta..., "Sanity check: startContainer must be correct")
    at testExtend ( /selection/extend.js:80:5)
Pass
assert_equals(0, 0, "Sanity check: startOffset must be correct")
    at testExtend ( /selection/extend.js:82:5)
Pass
assert_equals(Element node <html><head><title>Selection extend() tests</title> <meta..., Element node <html><head><title>Selection extend() tests</title> <meta..., "Sanity check: endContainer must be correct")
    at testExtend ( /selection/extend.js:84:5)
Pass
assert_equals(1, 1, "Sanity check: endOffset must be correct")
    at testExtend ( /selection/extend.js:86:5)
Pass
assert_equals(Element node <html><head><title>Selection extend() tests</title> <meta..., Element node <html><head><title>Selection extend() tests</title> <meta..., "anchorNode must not change if the node passed to extend() has the same root as the original range")
    at testExtend ( /selection/extend.js:145:9)
Pass
assert_equals(0, 0, "anchorOffset must not change if the node passed to extend() has the same root as the original range")
    at testExtend ( /selection/extend.js:147:9)
Pass
assert_equals(Element node <html><head><title>Selection extend() tests</title> <meta..., Element node <html><head><title>Selection extend() tests</title> <meta..., "focusNode must be the node passed to extend()")
    at testExtend ( /selection/extend.js:155:5)
Pass
assert_equals(1, 1, "focusOffset must be the offset passed to extend()")
    at testExtend ( /selection/extend.js:157:5)
Pass
assert_not_equals(object "Selection extend() tests   ", object "Selection extend() tests   ", "extend() must replace any existing range with a new one, not mutate the existing one")
    at testExtend ( /selection/extend.js:159:5)
Passextend() backwards with range 15 [document.documentElement, 0, document.documentElement, 1] and point 26 [document.documentElement, 1]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(Element node <html><head><title>Selection extend() tests</title> <meta..., Element node <html><head><title>Selection extend() tests</title> <meta..., "Sanity check: startContainer must be correct")
    at testExtend ( /selection/extend.js:80:5)
Pass
assert_equals(0, 0, "Sanity check: startOffset must be correct")
    at testExtend ( /selection/extend.js:82:5)
Pass
assert_equals(Element node <html><head><title>Selection extend() tests</title> <meta..., Element node <html><head><title>Selection extend() tests</title> <meta..., "Sanity check: endContainer must be correct")
    at testExtend ( /selection/extend.js:84:5)
Pass
assert_equals(1, 1, "Sanity check: endOffset must be correct")
    at testExtend ( /selection/extend.js:86:5)
Pass
assert_equals(Element node <html><head><title>Selection extend() tests</title> <meta..., Element node <html><head><title>Selection extend() tests</title> <meta..., "anchorNode must not change if the node passed to extend() has the same root as the original range")
    at testExtend ( /selection/extend.js:145:9)
Pass
assert_equals(1, 1, "anchorOffset must not change if the node passed to extend() has the same root as the original range")
    at testExtend ( /selection/extend.js:147:9)
Pass
assert_equals(Element node <html><head><title>Selection extend() tests</title> <meta..., Element node <html><head><title>Selection extend() tests</title> <meta..., "focusNode must be the node passed to extend()")
    at testExtend ( /selection/extend.js:155:5)
Pass
assert_equals(1, 1, "focusOffset must be the offset passed to extend()")
    at testExtend ( /selection/extend.js:157:5)
Pass
assert_not_equals(object "", object "Selection extend() tests   ", "extend() must replace any existing range with a new one, not mutate the existing one")
    at testExtend ( /selection/extend.js:159:5)
Passextend() forwards with range 15 [document.documentElement, 0, document.documentElement, 1] and point 27 [document.documentElement, 2]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(Element node <html><head><title>Selection extend() tests</title> <meta..., Element node <html><head><title>Selection extend() tests</title> <meta..., "Sanity check: startContainer must be correct")
    at testExtend ( /selection/extend.js:80:5)
Pass
assert_equals(0, 0, "Sanity check: startOffset must be correct")
    at testExtend ( /selection/extend.js:82:5)
Pass
assert_equals(Element node <html><head><title>Selection extend() tests</title> <meta..., Element node <html><head><title>Selection extend() tests</title> <meta..., "Sanity check: endContainer must be correct")
    at testExtend ( /selection/extend.js:84:5)
Pass
assert_equals(1, 1, "Sanity check: endOffset must be correct")
    at testExtend ( /selection/extend.js:86:5)
Pass
assert_equals(Element node <html><head><title>Selection extend() tests</title> <meta..., Element node <html><head><title>Selection extend() tests</title> <meta..., "anchorNode must not change if the node passed to extend() has the same root as the original range")
    at testExtend ( /selection/extend.js:145:9)
Pass
assert_equals(0, 0, "anchorOffset must not change if the node passed to extend() has the same root as the original range")
    at testExtend ( /selection/extend.js:147:9)
Pass
assert_equals(Element node <html><head><title>Selection extend() tests</title> <meta..., Element node <html><head><title>Selection extend() tests</title> <meta..., "focusNode must be the node passed to extend()")
    at testExtend ( /selection/extend.js:155:5)
Pass
assert_equals(2, 2, "focusOffset must be the offset passed to extend()")
    at testExtend ( /selection/extend.js:157:5)
Pass
assert_not_equals(object "Selection extend() tests   Äb̈c̈d̈ëf̈g̈ḧ Ijklmnop QrstuvwxYzabcdefGhijklmn     Running, 1000 complete, 1 remain  "use strict";  testExtendSubSet(0, 20); testDiv.style.display = "none"; ", object "Selection extend() tests   ", "extend() must replace any existing range with a new one, not mutate the existing one")
    at testExtend ( /selection/extend.js:159:5)
Passextend() backwards with range 15 [document.documentElement, 0, document.documentElement, 1] and point 27 [document.documentElement, 2]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(Element node <html><head><title>Selection extend() tests</title> <meta..., Element node <html><head><title>Selection extend() tests</title> <meta..., "Sanity check: startContainer must be correct")
    at testExtend ( /selection/extend.js:80:5)
Pass
assert_equals(0, 0, "Sanity check: startOffset must be correct")
    at testExtend ( /selection/extend.js:82:5)
Pass
assert_equals(Element node <html><head><title>Selection extend() tests</title> <meta..., Element node <html><head><title>Selection extend() tests</title> <meta..., "Sanity check: endContainer must be correct")
    at testExtend ( /selection/extend.js:84:5)
Pass
assert_equals(1, 1, "Sanity check: endOffset must be correct")
    at testExtend ( /selection/extend.js:86:5)
Pass
assert_equals(Element node <html><head><title>Selection extend() tests</title> <meta..., Element node <html><head><title>Selection extend() tests</title> <meta..., "anchorNode must not change if the node passed to extend() has the same root as the original range")
    at testExtend ( /selection/extend.js:145:9)
Pass
assert_equals(1, 1, "anchorOffset must not change if the node passed to extend() has the same root as the original range")
    at testExtend ( /selection/extend.js:147:9)
Pass
assert_equals(Element node <html><head><title>Selection extend() tests</title> <meta..., Element node <html><head><title>Selection extend() tests</title> <meta..., "focusNode must be the node passed to extend()")
    at testExtend ( /selection/extend.js:155:5)
Pass
assert_equals(2, 2, "focusOffset must be the offset passed to extend()")
    at testExtend ( /selection/extend.js:157:5)
Pass
assert_not_equals(object "Äb̈c̈d̈ëf̈g̈ḧ Ijklmnop QrstuvwxYzabcdefGhijklmn     Running, 1000 complete, 1 remain  "use strict";  testExtendSubSet(0, 20); testDiv.style.display = "none"; ", object "Selection extend() tests   ", "extend() must replace any existing range with a new one, not mutate the existing one")
    at testExtend ( /selection/extend.js:159:5)
Passextend() forwards with range 15 [document.documentElement, 0, document.documentElement, 1] and point 28 [document.documentElement, 7]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(Element node <html><head><title>Selection extend() tests</title> <meta..., Element node <html><head><title>Selection extend() tests</title> <meta..., "Sanity check: startContainer must be correct")
    at testExtend ( /selection/extend.js:80:5)
Pass
assert_equals(0, 0, "Sanity check: startOffset must be correct")
    at testExtend ( /selection/extend.js:82:5)
Pass
assert_equals(Element node <html><head><title>Selection extend() tests</title> <meta..., Element node <html><head><title>Selection extend() tests</title> <meta..., "Sanity check: endContainer must be correct")
    at testExtend ( /selection/extend.js:84:5)
Pass
assert_equals(1, 1, "Sanity check: endOffset must be correct")
    at testExtend ( /selection/extend.js:86:5)
Pass
assert_throws_dom("INDEX_SIZE_ERR", function "function() {             selection.extend(node, offset);         }", "extend() to an offset that's greater than node length (2) must throw IndexSizeError")
    at testExtend ( /selection/extend.js:117:9)
Passextend() backwards with range 15 [document.documentElement, 0, document.documentElement, 1] and point 28 [document.documentElement, 7]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(Element node <html><head><title>Selection extend() tests</title> <meta..., Element node <html><head><title>Selection extend() tests</title> <meta..., "Sanity check: startContainer must be correct")
    at testExtend ( /selection/extend.js:80:5)
Pass
assert_equals(0, 0, "Sanity check: startOffset must be correct")
    at testExtend ( /selection/extend.js:82:5)
Pass
assert_equals(Element node <html><head><title>Selection extend() tests</title> <meta..., Element node <html><head><title>Selection extend() tests</title> <meta..., "Sanity check: endContainer must be correct")
    at testExtend ( /selection/extend.js:84:5)
Pass
assert_equals(1, 1, "Sanity check: endOffset must be correct")
    at testExtend ( /selection/extend.js:86:5)
Pass
assert_throws_dom("INDEX_SIZE_ERR", function "function() {             selection.extend(node, offset);         }", "extend() to an offset that's greater than node length (2) must throw IndexSizeError")
    at testExtend ( /selection/extend.js:117:9)
Passextend() forwards with range 15 [document.documentElement, 0, document.documentElement, 1] and point 29 [document.head, 1]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(Element node <html><head><title>Selection extend() tests</title> <meta..., Element node <html><head><title>Selection extend() tests</title> <meta..., "Sanity check: startContainer must be correct")
    at testExtend ( /selection/extend.js:80:5)
Pass
assert_equals(0, 0, "Sanity check: startOffset must be correct")
    at testExtend ( /selection/extend.js:82:5)
Pass
assert_equals(Element node <html><head><title>Selection extend() tests</title> <meta..., Element node <html><head><title>Selection extend() tests</title> <meta..., "Sanity check: endContainer must be correct")
    at testExtend ( /selection/extend.js:84:5)
Pass
assert_equals(1, 1, "Sanity check: endOffset must be correct")
    at testExtend ( /selection/extend.js:86:5)
Pass
assert_equals(Element node <html><head><title>Selection extend() tests</title> <meta..., Element node <html><head><title>Selection extend() tests</title> <meta..., "anchorNode must not change if the node passed to extend() has the same root as the original range")
    at testExtend ( /selection/extend.js:145:9)
Pass
assert_equals(0, 0, "anchorOffset must not change if the node passed to extend() has the same root as the original range")
    at testExtend ( /selection/extend.js:147:9)
Pass
assert_equals(Element node <head><title>Selection extend() tests</title> <meta chars..., Element node <head><title>Selection extend() tests</title> <meta chars..., "focusNode must be the node passed to extend()")
    at testExtend ( /selection/extend.js:155:5)
Pass
assert_equals(1, 1, "focusOffset must be the offset passed to extend()")
    at testExtend ( /selection/extend.js:157:5)
Pass
assert_not_equals(object "Selection extend() tests", object "Selection extend() tests   ", "extend() must replace any existing range with a new one, not mutate the existing one")
    at testExtend ( /selection/extend.js:159:5)
Passextend() backwards with range 15 [document.documentElement, 0, document.documentElement, 1] and point 29 [document.head, 1]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(Element node <html><head><title>Selection extend() tests</title> <meta..., Element node <html><head><title>Selection extend() tests</title> <meta..., "Sanity check: startContainer must be correct")
    at testExtend ( /selection/extend.js:80:5)
Pass
assert_equals(0, 0, "Sanity check: startOffset must be correct")
    at testExtend ( /selection/extend.js:82:5)
Pass
assert_equals(Element node <html><head><title>Selection extend() tests</title> <meta..., Element node <html><head><title>Selection extend() tests</title> <meta..., "Sanity check: endContainer must be correct")
    at testExtend ( /selection/extend.js:84:5)
Pass
assert_equals(1, 1, "Sanity check: endOffset must be correct")
    at testExtend ( /selection/extend.js:86:5)
Pass
assert_equals(Element node <html><head><title>Selection extend() tests</title> <meta..., Element node <html><head><title>Selection extend() tests</title> <meta..., "anchorNode must not change if the node passed to extend() has the same root as the original range")
    at testExtend ( /selection/extend.js:145:9)
Pass
assert_equals(1, 1, "anchorOffset must not change if the node passed to extend() has the same root as the original range")
    at testExtend ( /selection/extend.js:147:9)
Pass
assert_equals(Element node <head><title>Selection extend() tests</title> <meta chars..., Element node <head><title>Selection extend() tests</title> <meta chars..., "focusNode must be the node passed to extend()")
    at testExtend ( /selection/extend.js:155:5)
Pass
assert_equals(1, 1, "focusOffset must be the offset passed to extend()")
    at testExtend ( /selection/extend.js:157:5)
Pass
assert_not_equals(object "   ", object "Selection extend() tests   ", "extend() must replace any existing range with a new one, not mutate the existing one")
    at testExtend ( /selection/extend.js:159:5)
Passextend() forwards with range 15 [document.documentElement, 0, document.documentElement, 1] and point 30 [document.body, 3]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(Element node <html><head><title>Selection extend() tests</title> <meta..., Element node <html><head><title>Selection extend() tests</title> <meta..., "Sanity check: startContainer must be correct")
    at testExtend ( /selection/extend.js:80:5)
Pass
assert_equals(0, 0, "Sanity check: startOffset must be correct")
    at testExtend ( /selection/extend.js:82:5)
Pass
assert_equals(Element node <html><head><title>Selection extend() tests</title> <meta..., Element node <html><head><title>Selection extend() tests</title> <meta..., "Sanity check: endContainer must be correct")
    at testExtend ( /selection/extend.js:84:5)
Pass
assert_equals(1, 1, "Sanity check: endOffset must be correct")
    at testExtend ( /selection/extend.js:86:5)
Pass
assert_equals(Element node <html><head><title>Selection extend() tests</title> <meta..., Element node <html><head><title>Selection extend() tests</title> <meta..., "anchorNode must not change if the node passed to extend() has the same root as the original range")
    at testExtend ( /selection/extend.js:145:9)
Pass
assert_equals(0, 0, "anchorOffset must not change if the node passed to extend() has the same root as the original range")
    at testExtend ( /selection/extend.js:147:9)
Pass
assert_equals(Element node <body><div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ </p><p id..., Element node <body><div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ </p><p id..., "focusNode must be the node passed to extend()")
    at testExtend ( /selection/extend.js:155:5)
Pass
assert_equals(3, 3, "focusOffset must be the offset passed to extend()")
    at testExtend ( /selection/extend.js:157:5)
Pass
assert_not_equals(object "Selection extend() tests   Äb̈c̈d̈ëf̈g̈ḧ Ijklmnop QrstuvwxYzabcdefGhijklmn ", object "Selection extend() tests   ", "extend() must replace any existing range with a new one, not mutate the existing one")
    at testExtend ( /selection/extend.js:159:5)
Passextend() backwards with range 15 [document.documentElement, 0, document.documentElement, 1] and point 30 [document.body, 3]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(Element node <html><head><title>Selection extend() tests</title> <meta..., Element node <html><head><title>Selection extend() tests</title> <meta..., "Sanity check: startContainer must be correct")
    at testExtend ( /selection/extend.js:80:5)
Pass
assert_equals(0, 0, "Sanity check: startOffset must be correct")
    at testExtend ( /selection/extend.js:82:5)
Pass
assert_equals(Element node <html><head><title>Selection extend() tests</title> <meta..., Element node <html><head><title>Selection extend() tests</title> <meta..., "Sanity check: endContainer must be correct")
    at testExtend ( /selection/extend.js:84:5)
Pass
assert_equals(1, 1, "Sanity check: endOffset must be correct")
    at testExtend ( /selection/extend.js:86:5)
Pass
assert_equals(Element node <html><head><title>Selection extend() tests</title> <meta..., Element node <html><head><title>Selection extend() tests</title> <meta..., "anchorNode must not change if the node passed to extend() has the same root as the original range")
    at testExtend ( /selection/extend.js:145:9)
Pass
assert_equals(1, 1, "anchorOffset must not change if the node passed to extend() has the same root as the original range")
    at testExtend ( /selection/extend.js:147:9)
Pass
assert_equals(Element node <body><div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ </p><p id..., Element node <body><div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ </p><p id..., "focusNode must be the node passed to extend()")
    at testExtend ( /selection/extend.js:155:5)
Pass
assert_equals(3, 3, "focusOffset must be the offset passed to extend()")
    at testExtend ( /selection/extend.js:157:5)
Pass
assert_not_equals(object "Äb̈c̈d̈ëf̈g̈ḧ Ijklmnop QrstuvwxYzabcdefGhijklmn ", object "Selection extend() tests   ", "extend() must replace any existing range with a new one, not mutate the existing one")
    at testExtend ( /selection/extend.js:159:5)
Passextend() forwards with range 15 [document.documentElement, 0, document.documentElement, 1] and point 31 [foreignDoc.documentElement, 0]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(1, 1, "The operation should not add Range")
    at assertSelectionNoChange ( /selection/common.js:976:5)
Pass
assert_equals(Element node <html><head><title>Selection extend() tests</title> <meta..., Element node <html><head><title>Selection extend() tests</title> <meta..., "The operation should not update anchorNode")
    at assertSelectionNoChange ( /selection/common.js:978:5)
Pass
assert_equals(0, 0, "The operation should not update anchorOffset")
    at assertSelectionNoChange ( /selection/common.js:980:5)
Pass
assert_equals(Element node <html><head><title>Selection extend() tests</title> <meta..., Element node <html><head><title>Selection extend() tests</title> <meta..., "The operation should not update focusNode")
    at assertSelectionNoChange ( /selection/common.js:982:5)
Pass
assert_equals(1, 1, "The operation should not update focusOffset")
    at assertSelectionNoChange ( /selection/common.js:984:5)
Pass
assert_equals(object "Selection extend() tests   ", object "Selection extend() tests   ", "The operation should not replace a registered Range")
    at assertSelectionNoChange ( /selection/common.js:988:5)
Passextend() backwards with range 15 [document.documentElement, 0, document.documentElement, 1] and point 31 [foreignDoc.documentElement, 0]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(1, 1, "The operation should not add Range")
    at assertSelectionNoChange ( /selection/common.js:976:5)
Pass
assert_equals(Element node <html><head><title>Selection extend() tests</title> <meta..., Element node <html><head><title>Selection extend() tests</title> <meta..., "The operation should not update anchorNode")
    at assertSelectionNoChange ( /selection/common.js:978:5)
Pass
assert_equals(1, 1, "The operation should not update anchorOffset")
    at assertSelectionNoChange ( /selection/common.js:980:5)
Pass
assert_equals(Element node <html><head><title>Selection extend() tests</title> <meta..., Element node <html><head><title>Selection extend() tests</title> <meta..., "The operation should not update focusNode")
    at assertSelectionNoChange ( /selection/common.js:982:5)
Pass
assert_equals(0, 0, "The operation should not update focusOffset")
    at assertSelectionNoChange ( /selection/common.js:984:5)
Pass
assert_equals(object "Selection extend() tests   ", object "Selection extend() tests   ", "The operation should not replace a registered Range")
    at assertSelectionNoChange ( /selection/common.js:988:5)
Passextend() forwards with range 15 [document.documentElement, 0, document.documentElement, 1] and point 32 [foreignDoc.documentElement, 1]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(1, 1, "The operation should not add Range")
    at assertSelectionNoChange ( /selection/common.js:976:5)
Pass
assert_equals(Element node <html><head><title>Selection extend() tests</title> <meta..., Element node <html><head><title>Selection extend() tests</title> <meta..., "The operation should not update anchorNode")
    at assertSelectionNoChange ( /selection/common.js:978:5)
Pass
assert_equals(0, 0, "The operation should not update anchorOffset")
    at assertSelectionNoChange ( /selection/common.js:980:5)
Pass
assert_equals(Element node <html><head><title>Selection extend() tests</title> <meta..., Element node <html><head><title>Selection extend() tests</title> <meta..., "The operation should not update focusNode")
    at assertSelectionNoChange ( /selection/common.js:982:5)
Pass
assert_equals(1, 1, "The operation should not update focusOffset")
    at assertSelectionNoChange ( /selection/common.js:984:5)
Pass
assert_equals(object "Selection extend() tests   ", object "Selection extend() tests   ", "The operation should not replace a registered Range")
    at assertSelectionNoChange ( /selection/common.js:988:5)
Passextend() backwards with range 15 [document.documentElement, 0, document.documentElement, 1] and point 32 [foreignDoc.documentElement, 1]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(1, 1, "The operation should not add Range")
    at assertSelectionNoChange ( /selection/common.js:976:5)
Pass
assert_equals(Element node <html><head><title>Selection extend() tests</title> <meta..., Element node <html><head><title>Selection extend() tests</title> <meta..., "The operation should not update anchorNode")
    at assertSelectionNoChange ( /selection/common.js:978:5)
Pass
assert_equals(1, 1, "The operation should not update anchorOffset")
    at assertSelectionNoChange ( /selection/common.js:980:5)
Pass
assert_equals(Element node <html><head><title>Selection extend() tests</title> <meta..., Element node <html><head><title>Selection extend() tests</title> <meta..., "The operation should not update focusNode")
    at assertSelectionNoChange ( /selection/common.js:982:5)
Pass
assert_equals(0, 0, "The operation should not update focusOffset")
    at assertSelectionNoChange ( /selection/common.js:984:5)
Pass
assert_equals(object "Selection extend() tests   ", object "Selection extend() tests   ", "The operation should not replace a registered Range")
    at assertSelectionNoChange ( /selection/common.js:988:5)
Passextend() forwards with range 15 [document.documentElement, 0, document.documentElement, 1] and point 33 [foreignDoc.head, 0]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(1, 1, "The operation should not add Range")
    at assertSelectionNoChange ( /selection/common.js:976:5)
Pass
assert_equals(Element node <html><head><title>Selection extend() tests</title> <meta..., Element node <html><head><title>Selection extend() tests</title> <meta..., "The operation should not update anchorNode")
    at assertSelectionNoChange ( /selection/common.js:978:5)
Pass
assert_equals(0, 0, "The operation should not update anchorOffset")
    at assertSelectionNoChange ( /selection/common.js:980:5)
Pass
assert_equals(Element node <html><head><title>Selection extend() tests</title> <meta..., Element node <html><head><title>Selection extend() tests</title> <meta..., "The operation should not update focusNode")
    at assertSelectionNoChange ( /selection/common.js:982:5)
Pass
assert_equals(1, 1, "The operation should not update focusOffset")
    at assertSelectionNoChange ( /selection/common.js:984:5)
Pass
assert_equals(object "Selection extend() tests   ", object "Selection extend() tests   ", "The operation should not replace a registered Range")
    at assertSelectionNoChange ( /selection/common.js:988:5)
Passextend() backwards with range 15 [document.documentElement, 0, document.documentElement, 1] and point 33 [foreignDoc.head, 0]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(1, 1, "The operation should not add Range")
    at assertSelectionNoChange ( /selection/common.js:976:5)
Pass
assert_equals(Element node <html><head><title>Selection extend() tests</title> <meta..., Element node <html><head><title>Selection extend() tests</title> <meta..., "The operation should not update anchorNode")
    at assertSelectionNoChange ( /selection/common.js:978:5)
Pass
assert_equals(1, 1, "The operation should not update anchorOffset")
    at assertSelectionNoChange ( /selection/common.js:980:5)
Pass
assert_equals(Element node <html><head><title>Selection extend() tests</title> <meta..., Element node <html><head><title>Selection extend() tests</title> <meta..., "The operation should not update focusNode")
    at assertSelectionNoChange ( /selection/common.js:982:5)
Pass
assert_equals(0, 0, "The operation should not update focusOffset")
    at assertSelectionNoChange ( /selection/common.js:984:5)
Pass
assert_equals(object "Selection extend() tests   ", object "Selection extend() tests   ", "The operation should not replace a registered Range")
    at assertSelectionNoChange ( /selection/common.js:988:5)
Passextend() forwards with range 15 [document.documentElement, 0, document.documentElement, 1] and point 34 [foreignDoc.body, 1]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(1, 1, "The operation should not add Range")
    at assertSelectionNoChange ( /selection/common.js:976:5)
Pass
assert_equals(Element node <html><head><title>Selection extend() tests</title> <meta..., Element node <html><head><title>Selection extend() tests</title> <meta..., "The operation should not update anchorNode")
    at assertSelectionNoChange ( /selection/common.js:978:5)
Pass
assert_equals(0, 0, "The operation should not update anchorOffset")
    at assertSelectionNoChange ( /selection/common.js:980:5)
Pass
assert_equals(Element node <html><head><title>Selection extend() tests</title> <meta..., Element node <html><head><title>Selection extend() tests</title> <meta..., "The operation should not update focusNode")
    at assertSelectionNoChange ( /selection/common.js:982:5)
Pass
assert_equals(1, 1, "The operation should not update focusOffset")
    at assertSelectionNoChange ( /selection/common.js:984:5)
Pass
assert_equals(object "Selection extend() tests   ", object "Selection extend() tests   ", "The operation should not replace a registered Range")
    at assertSelectionNoChange ( /selection/common.js:988:5)
Passextend() backwards with range 15 [document.documentElement, 0, document.documentElement, 1] and point 34 [foreignDoc.body, 1]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(1, 1, "The operation should not add Range")
    at assertSelectionNoChange ( /selection/common.js:976:5)
Pass
assert_equals(Element node <html><head><title>Selection extend() tests</title> <meta..., Element node <html><head><title>Selection extend() tests</title> <meta..., "The operation should not update anchorNode")
    at assertSelectionNoChange ( /selection/common.js:978:5)
Pass
assert_equals(1, 1, "The operation should not update anchorOffset")
    at assertSelectionNoChange ( /selection/common.js:980:5)
Pass
assert_equals(Element node <html><head><title>Selection extend() tests</title> <meta..., Element node <html><head><title>Selection extend() tests</title> <meta..., "The operation should not update focusNode")
    at assertSelectionNoChange ( /selection/common.js:982:5)
Pass
assert_equals(0, 0, "The operation should not update focusOffset")
    at assertSelectionNoChange ( /selection/common.js:984:5)
Pass
assert_equals(object "Selection extend() tests   ", object "Selection extend() tests   ", "The operation should not replace a registered Range")
    at assertSelectionNoChange ( /selection/common.js:988:5)
Passextend() forwards with range 15 [document.documentElement, 0, document.documentElement, 1] and point 35 [paras[0], 0]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(Element node <html><head><title>Selection extend() tests</title> <meta..., Element node <html><head><title>Selection extend() tests</title> <meta..., "Sanity check: startContainer must be correct")
    at testExtend ( /selection/extend.js:80:5)
Pass
assert_equals(0, 0, "Sanity check: startOffset must be correct")
    at testExtend ( /selection/extend.js:82:5)
Pass
assert_equals(Element node <html><head><title>Selection extend() tests</title> <meta..., Element node <html><head><title>Selection extend() tests</title> <meta..., "Sanity check: endContainer must be correct")
    at testExtend ( /selection/extend.js:84:5)
Pass
assert_equals(1, 1, "Sanity check: endOffset must be correct")
    at testExtend ( /selection/extend.js:86:5)
Pass
assert_equals(Element node <html><head><title>Selection extend() tests</title> <meta..., Element node <html><head><title>Selection extend() tests</title> <meta..., "anchorNode must not change if the node passed to extend() has the same root as the original range")
    at testExtend ( /selection/extend.js:145:9)
Pass
assert_equals(0, 0, "anchorOffset must not change if the node passed to extend() has the same root as the original range")
    at testExtend ( /selection/extend.js:147:9)
Pass
assert_equals(Element node <p id="a">Äb̈c̈d̈ëf̈g̈ḧ </p>, Element node <p id="a">Äb̈c̈d̈ëf̈g̈ḧ </p>, "focusNode must be the node passed to extend()")
    at testExtend ( /selection/extend.js:155:5)
Pass
assert_equals(0, 0, "focusOffset must be the offset passed to extend()")
    at testExtend ( /selection/extend.js:157:5)
Pass
assert_not_equals(object "Selection extend() tests   ", object "Selection extend() tests   ", "extend() must replace any existing range with a new one, not mutate the existing one")
    at testExtend ( /selection/extend.js:159:5)
Passextend() backwards with range 15 [document.documentElement, 0, document.documentElement, 1] and point 35 [paras[0], 0]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(Element node <html><head><title>Selection extend() tests</title> <meta..., Element node <html><head><title>Selection extend() tests</title> <meta..., "Sanity check: startContainer must be correct")
    at testExtend ( /selection/extend.js:80:5)
Pass
assert_equals(0, 0, "Sanity check: startOffset must be correct")
    at testExtend ( /selection/extend.js:82:5)
Pass
assert_equals(Element node <html><head><title>Selection extend() tests</title> <meta..., Element node <html><head><title>Selection extend() tests</title> <meta..., "Sanity check: endContainer must be correct")
    at testExtend ( /selection/extend.js:84:5)
Pass
assert_equals(1, 1, "Sanity check: endOffset must be correct")
    at testExtend ( /selection/extend.js:86:5)
Pass
assert_equals(Element node <html><head><title>Selection extend() tests</title> <meta..., Element node <html><head><title>Selection extend() tests</title> <meta..., "anchorNode must not change if the node passed to extend() has the same root as the original range")
    at testExtend ( /selection/extend.js:145:9)
Pass
assert_equals(1, 1, "anchorOffset must not change if the node passed to extend() has the same root as the original range")
    at testExtend ( /selection/extend.js:147:9)
Pass
assert_equals(Element node <p id="a">Äb̈c̈d̈ëf̈g̈ḧ </p>, Element node <p id="a">Äb̈c̈d̈ëf̈g̈ḧ </p>, "focusNode must be the node passed to extend()")
    at testExtend ( /selection/extend.js:155:5)
Pass
assert_equals(0, 0, "focusOffset must be the offset passed to extend()")
    at testExtend ( /selection/extend.js:157:5)
Pass
assert_not_equals(object "", object "Selection extend() tests   ", "extend() must replace any existing range with a new one, not mutate the existing one")
    at testExtend ( /selection/extend.js:159:5)
Passextend() forwards with range 15 [document.documentElement, 0, document.documentElement, 1] and point 36 [paras[0], 1]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(Element node <html><head><title>Selection extend() tests</title> <meta..., Element node <html><head><title>Selection extend() tests</title> <meta..., "Sanity check: startContainer must be correct")
    at testExtend ( /selection/extend.js:80:5)
Pass
assert_equals(0, 0, "Sanity check: startOffset must be correct")
    at testExtend ( /selection/extend.js:82:5)
Pass
assert_equals(Element node <html><head><title>Selection extend() tests</title> <meta..., Element node <html><head><title>Selection extend() tests</title> <meta..., "Sanity check: endContainer must be correct")
    at testExtend ( /selection/extend.js:84:5)
Pass
assert_equals(1, 1, "Sanity check: endOffset must be correct")
    at testExtend ( /selection/extend.js:86:5)
Pass
assert_equals(Element node <html><head><title>Selection extend() tests</title> <meta..., Element node <html><head><title>Selection extend() tests</title> <meta..., "anchorNode must not change if the node passed to extend() has the same root as the original range")
    at testExtend ( /selection/extend.js:145:9)
Pass
assert_equals(0, 0, "anchorOffset must not change if the node passed to extend() has the same root as the original range")
    at testExtend ( /selection/extend.js:147:9)
Pass
assert_equals(Element node <p id="a">Äb̈c̈d̈ëf̈g̈ḧ </p>, Element node <p id="a">Äb̈c̈d̈ëf̈g̈ḧ </p>, "focusNode must be the node passed to extend()")
    at testExtend ( /selection/extend.js:155:5)
Pass
assert_equals(1, 1, "focusOffset must be the offset passed to extend()")
    at testExtend ( /selection/extend.js:157:5)
Pass
assert_not_equals(object "Selection extend() tests   Äb̈c̈d̈ëf̈g̈ḧ ", object "Selection extend() tests   ", "extend() must replace any existing range with a new one, not mutate the existing one")
    at testExtend ( /selection/extend.js:159:5)
Passextend() backwards with range 15 [document.documentElement, 0, document.documentElement, 1] and point 36 [paras[0], 1]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(Element node <html><head><title>Selection extend() tests</title> <meta..., Element node <html><head><title>Selection extend() tests</title> <meta..., "Sanity check: startContainer must be correct")
    at testExtend ( /selection/extend.js:80:5)
Pass
assert_equals(0, 0, "Sanity check: startOffset must be correct")
    at testExtend ( /selection/extend.js:82:5)
Pass
assert_equals(Element node <html><head><title>Selection extend() tests</title> <meta..., Element node <html><head><title>Selection extend() tests</title> <meta..., "Sanity check: endContainer must be correct")
    at testExtend ( /selection/extend.js:84:5)
Pass
assert_equals(1, 1, "Sanity check: endOffset must be correct")
    at testExtend ( /selection/extend.js:86:5)
Pass
assert_equals(Element node <html><head><title>Selection extend() tests</title> <meta..., Element node <html><head><title>Selection extend() tests</title> <meta..., "anchorNode must not change if the node passed to extend() has the same root as the original range")
    at testExtend ( /selection/extend.js:145:9)
Pass
assert_equals(1, 1, "anchorOffset must not change if the node passed to extend() has the same root as the original range")
    at testExtend ( /selection/extend.js:147:9)
Pass
assert_equals(Element node <p id="a">Äb̈c̈d̈ëf̈g̈ḧ </p>, Element node <p id="a">Äb̈c̈d̈ëf̈g̈ḧ </p>, "focusNode must be the node passed to extend()")
    at testExtend ( /selection/extend.js:155:5)
Pass
assert_equals(1, 1, "focusOffset must be the offset passed to extend()")
    at testExtend ( /selection/extend.js:157:5)
Pass
assert_not_equals(object "Äb̈c̈d̈ëf̈g̈ḧ ", object "Selection extend() tests   ", "extend() must replace any existing range with a new one, not mutate the existing one")
    at testExtend ( /selection/extend.js:159:5)
Passextend() forwards with range 15 [document.documentElement, 0, document.documentElement, 1] and point 37 [paras[0], 2]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(Element node <html><head><title>Selection extend() tests</title> <meta..., Element node <html><head><title>Selection extend() tests</title> <meta..., "Sanity check: startContainer must be correct")
    at testExtend ( /selection/extend.js:80:5)
Pass
assert_equals(0, 0, "Sanity check: startOffset must be correct")
    at testExtend ( /selection/extend.js:82:5)
Pass
assert_equals(Element node <html><head><title>Selection extend() tests</title> <meta..., Element node <html><head><title>Selection extend() tests</title> <meta..., "Sanity check: endContainer must be correct")
    at testExtend ( /selection/extend.js:84:5)
Pass
assert_equals(1, 1, "Sanity check: endOffset must be correct")
    at testExtend ( /selection/extend.js:86:5)
Pass
assert_throws_dom("INDEX_SIZE_ERR", function "function() {             selection.extend(node, offset);         }", "extend() to an offset that's greater than node length (1) must throw IndexSizeError")
    at testExtend ( /selection/extend.js:117:9)
Passextend() backwards with range 15 [document.documentElement, 0, document.documentElement, 1] and point 37 [paras[0], 2]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(Element node <html><head><title>Selection extend() tests</title> <meta..., Element node <html><head><title>Selection extend() tests</title> <meta..., "Sanity check: startContainer must be correct")
    at testExtend ( /selection/extend.js:80:5)
Pass
assert_equals(0, 0, "Sanity check: startOffset must be correct")
    at testExtend ( /selection/extend.js:82:5)
Pass
assert_equals(Element node <html><head><title>Selection extend() tests</title> <meta..., Element node <html><head><title>Selection extend() tests</title> <meta..., "Sanity check: endContainer must be correct")
    at testExtend ( /selection/extend.js:84:5)
Pass
assert_equals(1, 1, "Sanity check: endOffset must be correct")
    at testExtend ( /selection/extend.js:86:5)
Pass
assert_throws_dom("INDEX_SIZE_ERR", function "function() {             selection.extend(node, offset);         }", "extend() to an offset that's greater than node length (1) must throw IndexSizeError")
    at testExtend ( /selection/extend.js:117:9)
Passextend() forwards with range 15 [document.documentElement, 0, document.documentElement, 1] and point 38 [paras[1], 0]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(Element node <html><head><title>Selection extend() tests</title> <meta..., Element node <html><head><title>Selection extend() tests</title> <meta..., "Sanity check: startContainer must be correct")
    at testExtend ( /selection/extend.js:80:5)
Pass
assert_equals(0, 0, "Sanity check: startOffset must be correct")
    at testExtend ( /selection/extend.js:82:5)
Pass
assert_equals(Element node <html><head><title>Selection extend() tests</title> <meta..., Element node <html><head><title>Selection extend() tests</title> <meta..., "Sanity check: endContainer must be correct")
    at testExtend ( /selection/extend.js:84:5)
Pass
assert_equals(1, 1, "Sanity check: endOffset must be correct")
    at testExtend ( /selection/extend.js:86:5)
Pass
assert_equals(Element node <html><head><title>Selection extend() tests</title> <meta..., Element node <html><head><title>Selection extend() tests</title> <meta..., "anchorNode must not change if the node passed to extend() has the same root as the original range")
    at testExtend ( /selection/extend.js:145:9)
Pass
assert_equals(0, 0, "anchorOffset must not change if the node passed to extend() has the same root as the original range")
    at testExtend ( /selection/extend.js:147:9)
Pass
assert_equals(Element node <p id="b" style="display:none">Ijklmnop </p>, Element node <p id="b" style="display:none">Ijklmnop </p>, "focusNode must be the node passed to extend()")
    at testExtend ( /selection/extend.js:155:5)
Pass
assert_equals(0, 0, "focusOffset must be the offset passed to extend()")
    at testExtend ( /selection/extend.js:157:5)
Pass
assert_not_equals(object "Selection extend() tests   Äb̈c̈d̈ëf̈g̈ḧ ", object "Selection extend() tests   ", "extend() must replace any existing range with a new one, not mutate the existing one")
    at testExtend ( /selection/extend.js:159:5)
Passextend() backwards with range 15 [document.documentElement, 0, document.documentElement, 1] and point 38 [paras[1], 0]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(Element node <html><head><title>Selection extend() tests</title> <meta..., Element node <html><head><title>Selection extend() tests</title> <meta..., "Sanity check: startContainer must be correct")
    at testExtend ( /selection/extend.js:80:5)
Pass
assert_equals(0, 0, "Sanity check: startOffset must be correct")
    at testExtend ( /selection/extend.js:82:5)
Pass
assert_equals(Element node <html><head><title>Selection extend() tests</title> <meta..., Element node <html><head><title>Selection extend() tests</title> <meta..., "Sanity check: endContainer must be correct")
    at testExtend ( /selection/extend.js:84:5)
Pass
assert_equals(1, 1, "Sanity check: endOffset must be correct")
    at testExtend ( /selection/extend.js:86:5)
Pass
assert_equals(Element node <html><head><title>Selection extend() tests</title> <meta..., Element node <html><head><title>Selection extend() tests</title> <meta..., "anchorNode must not change if the node passed to extend() has the same root as the original range")
    at testExtend ( /selection/extend.js:145:9)
Pass
assert_equals(1, 1, "anchorOffset must not change if the node passed to extend() has the same root as the original range")
    at testExtend ( /selection/extend.js:147:9)
Pass
assert_equals(Element node <p id="b" style="display:none">Ijklmnop </p>, Element node <p id="b" style="display:none">Ijklmnop </p>, "focusNode must be the node passed to extend()")
    at testExtend ( /selection/extend.js:155:5)
Pass
assert_equals(0, 0, "focusOffset must be the offset passed to extend()")
    at testExtend ( /selection/extend.js:157:5)
Pass
assert_not_equals(object "Äb̈c̈d̈ëf̈g̈ḧ ", object "Selection extend() tests   ", "extend() must replace any existing range with a new one, not mutate the existing one")
    at testExtend ( /selection/extend.js:159:5)
Passextend() forwards with range 15 [document.documentElement, 0, document.documentElement, 1] and point 39 [paras[1], 1]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(Element node <html><head><title>Selection extend() tests</title> <meta..., Element node <html><head><title>Selection extend() tests</title> <meta..., "Sanity check: startContainer must be correct")
    at testExtend ( /selection/extend.js:80:5)
Pass
assert_equals(0, 0, "Sanity check: startOffset must be correct")
    at testExtend ( /selection/extend.js:82:5)
Pass
assert_equals(Element node <html><head><title>Selection extend() tests</title> <meta..., Element node <html><head><title>Selection extend() tests</title> <meta..., "Sanity check: endContainer must be correct")
    at testExtend ( /selection/extend.js:84:5)
Pass
assert_equals(1, 1, "Sanity check: endOffset must be correct")
    at testExtend ( /selection/extend.js:86:5)
Pass
assert_equals(Element node <html><head><title>Selection extend() tests</title> <meta..., Element node <html><head><title>Selection extend() tests</title> <meta..., "anchorNode must not change if the node passed to extend() has the same root as the original range")
    at testExtend ( /selection/extend.js:145:9)
Pass
assert_equals(0, 0, "anchorOffset must not change if the node passed to extend() has the same root as the original range")
    at testExtend ( /selection/extend.js:147:9)
Pass
assert_equals(Element node <p id="b" style="display:none">Ijklmnop </p>, Element node <p id="b" style="display:none">Ijklmnop </p>, "focusNode must be the node passed to extend()")
    at testExtend ( /selection/extend.js:155:5)
Pass
assert_equals(1, 1, "focusOffset must be the offset passed to extend()")
    at testExtend ( /selection/extend.js:157:5)
Pass
assert_not_equals(object "Selection extend() tests   Äb̈c̈d̈ëf̈g̈ḧ Ijklmnop ", object "Selection extend() tests   ", "extend() must replace any existing range with a new one, not mutate the existing one")
    at testExtend ( /selection/extend.js:159:5)
Passextend() backwards with range 15 [document.documentElement, 0, document.documentElement, 1] and point 39 [paras[1], 1]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(Element node <html><head><title>Selection extend() tests</title> <meta..., Element node <html><head><title>Selection extend() tests</title> <meta..., "Sanity check: startContainer must be correct")
    at testExtend ( /selection/extend.js:80:5)
Pass
assert_equals(0, 0, "Sanity check: startOffset must be correct")
    at testExtend ( /selection/extend.js:82:5)
Pass
assert_equals(Element node <html><head><title>Selection extend() tests</title> <meta..., Element node <html><head><title>Selection extend() tests</title> <meta..., "Sanity check: endContainer must be correct")
    at testExtend ( /selection/extend.js:84:5)
Pass
assert_equals(1, 1, "Sanity check: endOffset must be correct")
    at testExtend ( /selection/extend.js:86:5)
Pass
assert_equals(Element node <html><head><title>Selection extend() tests</title> <meta..., Element node <html><head><title>Selection extend() tests</title> <meta..., "anchorNode must not change if the node passed to extend() has the same root as the original range")
    at testExtend ( /selection/extend.js:145:9)
Pass
assert_equals(1, 1, "anchorOffset must not change if the node passed to extend() has the same root as the original range")
    at testExtend ( /selection/extend.js:147:9)
Pass
assert_equals(Element node <p id="b" style="display:none">Ijklmnop </p>, Element node <p id="b" style="display:none">Ijklmnop </p>, "focusNode must be the node passed to extend()")
    at testExtend ( /selection/extend.js:155:5)
Pass
assert_equals(1, 1, "focusOffset must be the offset passed to extend()")
    at testExtend ( /selection/extend.js:157:5)
Pass
assert_not_equals(object "Äb̈c̈d̈ëf̈g̈ḧ Ijklmnop ", object "Selection extend() tests   ", "extend() must replace any existing range with a new one, not mutate the existing one")
    at testExtend ( /selection/extend.js:159:5)
Passextend() forwards with range 15 [document.documentElement, 0, document.documentElement, 1] and point 40 [paras[1], 2]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(Element node <html><head><title>Selection extend() tests</title> <meta..., Element node <html><head><title>Selection extend() tests</title> <meta..., "Sanity check: startContainer must be correct")
    at testExtend ( /selection/extend.js:80:5)
Pass
assert_equals(0, 0, "Sanity check: startOffset must be correct")
    at testExtend ( /selection/extend.js:82:5)
Pass
assert_equals(Element node <html><head><title>Selection extend() tests</title> <meta..., Element node <html><head><title>Selection extend() tests</title> <meta..., "Sanity check: endContainer must be correct")
    at testExtend ( /selection/extend.js:84:5)
Pass
assert_equals(1, 1, "Sanity check: endOffset must be correct")
    at testExtend ( /selection/extend.js:86:5)
Pass
assert_throws_dom("INDEX_SIZE_ERR", function "function() {             selection.extend(node, offset);         }", "extend() to an offset that's greater than node length (1) must throw IndexSizeError")
    at testExtend ( /selection/extend.js:117:9)
Passextend() backwards with range 15 [document.documentElement, 0, document.documentElement, 1] and point 40 [paras[1], 2]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(Element node <html><head><title>Selection extend() tests</title> <meta..., Element node <html><head><title>Selection extend() tests</title> <meta..., "Sanity check: startContainer must be correct")
    at testExtend ( /selection/extend.js:80:5)
Pass
assert_equals(0, 0, "Sanity check: startOffset must be correct")
    at testExtend ( /selection/extend.js:82:5)
Pass
assert_equals(Element node <html><head><title>Selection extend() tests</title> <meta..., Element node <html><head><title>Selection extend() tests</title> <meta..., "Sanity check: endContainer must be correct")
    at testExtend ( /selection/extend.js:84:5)
Pass
assert_equals(1, 1, "Sanity check: endOffset must be correct")
    at testExtend ( /selection/extend.js:86:5)
Pass
assert_throws_dom("INDEX_SIZE_ERR", function "function() {             selection.extend(node, offset);         }", "extend() to an offset that's greater than node length (1) must throw IndexSizeError")
    at testExtend ( /selection/extend.js:117:9)
Passextend() forwards with range 15 [document.documentElement, 0, document.documentElement, 1] and point 41 [detachedPara1, 0]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(1, 1, "The operation should not add Range")
    at assertSelectionNoChange ( /selection/common.js:976:5)
Pass
assert_equals(Element node <html><head><title>Selection extend() tests</title> <meta..., Element node <html><head><title>Selection extend() tests</title> <meta..., "The operation should not update anchorNode")
    at assertSelectionNoChange ( /selection/common.js:978:5)
Pass
assert_equals(0, 0, "The operation should not update anchorOffset")
    at assertSelectionNoChange ( /selection/common.js:980:5)
Pass
assert_equals(Element node <html><head><title>Selection extend() tests</title> <meta..., Element node <html><head><title>Selection extend() tests</title> <meta..., "The operation should not update focusNode")
    at assertSelectionNoChange ( /selection/common.js:982:5)
Pass
assert_equals(1, 1, "The operation should not update focusOffset")
    at assertSelectionNoChange ( /selection/common.js:984:5)
Pass
assert_equals(object "Selection extend() tests   ", object "Selection extend() tests   ", "The operation should not replace a registered Range")
    at assertSelectionNoChange ( /selection/common.js:988:5)
Passextend() backwards with range 15 [document.documentElement, 0, document.documentElement, 1] and point 41 [detachedPara1, 0]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(1, 1, "The operation should not add Range")
    at assertSelectionNoChange ( /selection/common.js:976:5)
Pass
assert_equals(Element node <html><head><title>Selection extend() tests</title> <meta..., Element node <html><head><title>Selection extend() tests</title> <meta..., "The operation should not update anchorNode")
    at assertSelectionNoChange ( /selection/common.js:978:5)
Pass
assert_equals(1, 1, "The operation should not update anchorOffset")
    at assertSelectionNoChange ( /selection/common.js:980:5)
Pass
assert_equals(Element node <html><head><title>Selection extend() tests</title> <meta..., Element node <html><head><title>Selection extend() tests</title> <meta..., "The operation should not update focusNode")
    at assertSelectionNoChange ( /selection/common.js:982:5)
Pass
assert_equals(0, 0, "The operation should not update focusOffset")
    at assertSelectionNoChange ( /selection/common.js:984:5)
Pass
assert_equals(object "Selection extend() tests   ", object "Selection extend() tests   ", "The operation should not replace a registered Range")
    at assertSelectionNoChange ( /selection/common.js:988:5)
Passextend() forwards with range 15 [document.documentElement, 0, document.documentElement, 1] and point 42 [detachedPara1, 1]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(1, 1, "The operation should not add Range")
    at assertSelectionNoChange ( /selection/common.js:976:5)
Pass
assert_equals(Element node <html><head><title>Selection extend() tests</title> <meta..., Element node <html><head><title>Selection extend() tests</title> <meta..., "The operation should not update anchorNode")
    at assertSelectionNoChange ( /selection/common.js:978:5)
Pass
assert_equals(0, 0, "The operation should not update anchorOffset")
    at assertSelectionNoChange ( /selection/common.js:980:5)
Pass
assert_equals(Element node <html><head><title>Selection extend() tests</title> <meta..., Element node <html><head><title>Selection extend() tests</title> <meta..., "The operation should not update focusNode")
    at assertSelectionNoChange ( /selection/common.js:982:5)
Pass
assert_equals(1, 1, "The operation should not update focusOffset")
    at assertSelectionNoChange ( /selection/common.js:984:5)
Pass
assert_equals(object "Selection extend() tests   ", object "Selection extend() tests   ", "The operation should not replace a registered Range")
    at assertSelectionNoChange ( /selection/common.js:988:5)
Passextend() backwards with range 15 [document.documentElement, 0, document.documentElement, 1] and point 42 [detachedPara1, 1]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(1, 1, "The operation should not add Range")
    at assertSelectionNoChange ( /selection/common.js:976:5)
Pass
assert_equals(Element node <html><head><title>Selection extend() tests</title> <meta..., Element node <html><head><title>Selection extend() tests</title> <meta..., "The operation should not update anchorNode")
    at assertSelectionNoChange ( /selection/common.js:978:5)
Pass
assert_equals(1, 1, "The operation should not update anchorOffset")
    at assertSelectionNoChange ( /selection/common.js:980:5)
Pass
assert_equals(Element node <html><head><title>Selection extend() tests</title> <meta..., Element node <html><head><title>Selection extend() tests</title> <meta..., "The operation should not update focusNode")
    at assertSelectionNoChange ( /selection/common.js:982:5)
Pass
assert_equals(0, 0, "The operation should not update focusOffset")
    at assertSelectionNoChange ( /selection/common.js:984:5)
Pass
assert_equals(object "Selection extend() tests   ", object "Selection extend() tests   ", "The operation should not replace a registered Range")
    at assertSelectionNoChange ( /selection/common.js:988:5)
Passextend() forwards with range 15 [document.documentElement, 0, document.documentElement, 1] and point 43 [testDiv, 0]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(Element node <html><head><title>Selection extend() tests</title> <meta..., Element node <html><head><title>Selection extend() tests</title> <meta..., "Sanity check: startContainer must be correct")
    at testExtend ( /selection/extend.js:80:5)
Pass
assert_equals(0, 0, "Sanity check: startOffset must be correct")
    at testExtend ( /selection/extend.js:82:5)
Pass
assert_equals(Element node <html><head><title>Selection extend() tests</title> <meta..., Element node <html><head><title>Selection extend() tests</title> <meta..., "Sanity check: endContainer must be correct")
    at testExtend ( /selection/extend.js:84:5)
Pass
assert_equals(1, 1, "Sanity check: endOffset must be correct")
    at testExtend ( /selection/extend.js:86:5)
Pass
assert_equals(Element node <html><head><title>Selection extend() tests</title> <meta..., Element node <html><head><title>Selection extend() tests</title> <meta..., "anchorNode must not change if the node passed to extend() has the same root as the original range")
    at testExtend ( /selection/extend.js:145:9)
Pass
assert_equals(0, 0, "anchorOffset must not change if the node passed to extend() has the same root as the original range")
    at testExtend ( /selection/extend.js:147:9)
Pass
assert_equals(Element node <div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ </p><p id="b" s..., Element node <div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ </p><p id="b" s..., "focusNode must be the node passed to extend()")
    at testExtend ( /selection/extend.js:155:5)
Pass
assert_equals(0, 0, "focusOffset must be the offset passed to extend()")
    at testExtend ( /selection/extend.js:157:5)
Pass
assert_not_equals(object "Selection extend() tests   ", object "Selection extend() tests   ", "extend() must replace any existing range with a new one, not mutate the existing one")
    at testExtend ( /selection/extend.js:159:5)
Passextend() backwards with range 15 [document.documentElement, 0, document.documentElement, 1] and point 43 [testDiv, 0]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(Element node <html><head><title>Selection extend() tests</title> <meta..., Element node <html><head><title>Selection extend() tests</title> <meta..., "Sanity check: startContainer must be correct")
    at testExtend ( /selection/extend.js:80:5)
Pass
assert_equals(0, 0, "Sanity check: startOffset must be correct")
    at testExtend ( /selection/extend.js:82:5)
Pass
assert_equals(Element node <html><head><title>Selection extend() tests</title> <meta..., Element node <html><head><title>Selection extend() tests</title> <meta..., "Sanity check: endContainer must be correct")
    at testExtend ( /selection/extend.js:84:5)
Pass
assert_equals(1, 1, "Sanity check: endOffset must be correct")
    at testExtend ( /selection/extend.js:86:5)
Pass
assert_equals(Element node <html><head><title>Selection extend() tests</title> <meta..., Element node <html><head><title>Selection extend() tests</title> <meta..., "anchorNode must not change if the node passed to extend() has the same root as the original range")
    at testExtend ( /selection/extend.js:145:9)
Pass
assert_equals(1, 1, "anchorOffset must not change if the node passed to extend() has the same root as the original range")
    at testExtend ( /selection/extend.js:147:9)
Pass
assert_equals(Element node <div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ </p><p id="b" s..., Element node <div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ </p><p id="b" s..., "focusNode must be the node passed to extend()")
    at testExtend ( /selection/extend.js:155:5)
Pass
assert_equals(0, 0, "focusOffset must be the offset passed to extend()")
    at testExtend ( /selection/extend.js:157:5)
Pass
assert_not_equals(object "", object "Selection extend() tests   ", "extend() must replace any existing range with a new one, not mutate the existing one")
    at testExtend ( /selection/extend.js:159:5)
Passextend() forwards with range 15 [document.documentElement, 0, document.documentElement, 1] and point 44 [testDiv, 3]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(Element node <html><head><title>Selection extend() tests</title> <meta..., Element node <html><head><title>Selection extend() tests</title> <meta..., "Sanity check: startContainer must be correct")
    at testExtend ( /selection/extend.js:80:5)
Pass
assert_equals(0, 0, "Sanity check: startOffset must be correct")
    at testExtend ( /selection/extend.js:82:5)
Pass
assert_equals(Element node <html><head><title>Selection extend() tests</title> <meta..., Element node <html><head><title>Selection extend() tests</title> <meta..., "Sanity check: endContainer must be correct")
    at testExtend ( /selection/extend.js:84:5)
Pass
assert_equals(1, 1, "Sanity check: endOffset must be correct")
    at testExtend ( /selection/extend.js:86:5)
Pass
assert_equals(Element node <html><head><title>Selection extend() tests</title> <meta..., Element node <html><head><title>Selection extend() tests</title> <meta..., "anchorNode must not change if the node passed to extend() has the same root as the original range")
    at testExtend ( /selection/extend.js:145:9)
Pass
assert_equals(0, 0, "anchorOffset must not change if the node passed to extend() has the same root as the original range")
    at testExtend ( /selection/extend.js:147:9)
Pass
assert_equals(Element node <div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ </p><p id="b" s..., Element node <div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ </p><p id="b" s..., "focusNode must be the node passed to extend()")
    at testExtend ( /selection/extend.js:155:5)
Pass
assert_equals(3, 3, "focusOffset must be the offset passed to extend()")
    at testExtend ( /selection/extend.js:157:5)
Pass
assert_not_equals(object "Selection extend() tests   Äb̈c̈d̈ëf̈g̈ḧ Ijklmnop Qrstuvwx", object "Selection extend() tests   ", "extend() must replace any existing range with a new one, not mutate the existing one")
    at testExtend ( /selection/extend.js:159:5)
Passextend() backwards with range 15 [document.documentElement, 0, document.documentElement, 1] and point 44 [testDiv, 3]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(Element node <html><head><title>Selection extend() tests</title> <meta..., Element node <html><head><title>Selection extend() tests</title> <meta..., "Sanity check: startContainer must be correct")
    at testExtend ( /selection/extend.js:80:5)
Pass
assert_equals(0, 0, "Sanity check: startOffset must be correct")
    at testExtend ( /selection/extend.js:82:5)
Pass
assert_equals(Element node <html><head><title>Selection extend() tests</title> <meta..., Element node <html><head><title>Selection extend() tests</title> <meta..., "Sanity check: endContainer must be correct")
    at testExtend ( /selection/extend.js:84:5)
Pass
assert_equals(1, 1, "Sanity check: endOffset must be correct")
    at testExtend ( /selection/extend.js:86:5)
Pass
assert_equals(Element node <html><head><title>Selection extend() tests</title> <meta..., Element node <html><head><title>Selection extend() tests</title> <meta..., "anchorNode must not change if the node passed to extend() has the same root as the original range")
    at testExtend ( /selection/extend.js:145:9)
Pass
assert_equals(1, 1, "anchorOffset must not change if the node passed to extend() has the same root as the original range")
    at testExtend ( /selection/extend.js:147:9)
Pass
assert_equals(Element node <div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ </p><p id="b" s..., Element node <div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ </p><p id="b" s..., "focusNode must be the node passed to extend()")
    at testExtend ( /selection/extend.js:155:5)
Pass
assert_equals(3, 3, "focusOffset must be the offset passed to extend()")
    at testExtend ( /selection/extend.js:157:5)
Pass
assert_not_equals(object "Äb̈c̈d̈ëf̈g̈ḧ Ijklmnop Qrstuvwx", object "Selection extend() tests   ", "extend() must replace any existing range with a new one, not mutate the existing one")
    at testExtend ( /selection/extend.js:159:5)
Passextend() forwards with range 15 [document.documentElement, 0, document.documentElement, 1] and point 45 [document, -1]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(Element node <html><head><title>Selection extend() tests</title> <meta..., Element node <html><head><title>Selection extend() tests</title> <meta..., "Sanity check: startContainer must be correct")
    at testExtend ( /selection/extend.js:80:5)
Pass
assert_equals(0, 0, "Sanity check: startOffset must be correct")
    at testExtend ( /selection/extend.js:82:5)
Pass
assert_equals(Element node <html><head><title>Selection extend() tests</title> <meta..., Element node <html><head><title>Selection extend() tests</title> <meta..., "Sanity check: endContainer must be correct")
    at testExtend ( /selection/extend.js:84:5)
Pass
assert_equals(1, 1, "Sanity check: endOffset must be correct")
    at testExtend ( /selection/extend.js:86:5)
Pass
assert_throws_dom("INDEX_SIZE_ERR", function "function() {             selection.extend(node, offset);         }", "extend() to an offset that's greater than node length (2) must throw IndexSizeError")
    at testExtend ( /selection/extend.js:117:9)
Passextend() backwards with range 15 [document.documentElement, 0, document.documentElement, 1] and point 45 [document, -1]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(Element node <html><head><title>Selection extend() tests</title> <meta..., Element node <html><head><title>Selection extend() tests</title> <meta..., "Sanity check: startContainer must be correct")
    at testExtend ( /selection/extend.js:80:5)
Pass
assert_equals(0, 0, "Sanity check: startOffset must be correct")
    at testExtend ( /selection/extend.js:82:5)
Pass
assert_equals(Element node <html><head><title>Selection extend() tests</title> <meta..., Element node <html><head><title>Selection extend() tests</title> <meta..., "Sanity check: endContainer must be correct")
    at testExtend ( /selection/extend.js:84:5)
Pass
assert_equals(1, 1, "Sanity check: endOffset must be correct")
    at testExtend ( /selection/extend.js:86:5)
Pass
assert_throws_dom("INDEX_SIZE_ERR", function "function() {             selection.extend(node, offset);         }", "extend() to an offset that's greater than node length (2) must throw IndexSizeError")
    at testExtend ( /selection/extend.js:117:9)
Passextend() forwards with range 15 [document.documentElement, 0, document.documentElement, 1] and point 46 [document, 0]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(Element node <html><head><title>Selection extend() tests</title> <meta..., Element node <html><head><title>Selection extend() tests</title> <meta..., "Sanity check: startContainer must be correct")
    at testExtend ( /selection/extend.js:80:5)
Pass
assert_equals(0, 0, "Sanity check: startOffset must be correct")
    at testExtend ( /selection/extend.js:82:5)
Pass
assert_equals(Element node <html><head><title>Selection extend() tests</title> <meta..., Element node <html><head><title>Selection extend() tests</title> <meta..., "Sanity check: endContainer must be correct")
    at testExtend ( /selection/extend.js:84:5)
Pass
assert_equals(1, 1, "Sanity check: endOffset must be correct")
    at testExtend ( /selection/extend.js:86:5)
Pass
assert_equals(Element node <html><head><title>Selection extend() tests</title> <meta..., Element node <html><head><title>Selection extend() tests</title> <meta..., "anchorNode must not change if the node passed to extend() has the same root as the original range")
    at testExtend ( /selection/extend.js:145:9)
Pass
assert_equals(0, 0, "anchorOffset must not change if the node passed to extend() has the same root as the original range")
    at testExtend ( /selection/extend.js:147:9)
Pass
assert_equals(Document node with 2 children, Document node with 2 children, "focusNode must be the node passed to extend()")
    at testExtend ( /selection/extend.js:155:5)
Pass
assert_equals(0, 0, "focusOffset must be the offset passed to extend()")
    at testExtend ( /selection/extend.js:157:5)
Pass
assert_not_equals(object "", object "Selection extend() tests   ", "extend() must replace any existing range with a new one, not mutate the existing one")
    at testExtend ( /selection/extend.js:159:5)
Passextend() backwards with range 15 [document.documentElement, 0, document.documentElement, 1] and point 46 [document, 0]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(Element node <html><head><title>Selection extend() tests</title> <meta..., Element node <html><head><title>Selection extend() tests</title> <meta..., "Sanity check: startContainer must be correct")
    at testExtend ( /selection/extend.js:80:5)
Pass
assert_equals(0, 0, "Sanity check: startOffset must be correct")
    at testExtend ( /selection/extend.js:82:5)
Pass
assert_equals(Element node <html><head><title>Selection extend() tests</title> <meta..., Element node <html><head><title>Selection extend() tests</title> <meta..., "Sanity check: endContainer must be correct")
    at testExtend ( /selection/extend.js:84:5)
Pass
assert_equals(1, 1, "Sanity check: endOffset must be correct")
    at testExtend ( /selection/extend.js:86:5)
Pass
assert_equals(Element node <html><head><title>Selection extend() tests</title> <meta..., Element node <html><head><title>Selection extend() tests</title> <meta..., "anchorNode must not change if the node passed to extend() has the same root as the original range")
    at testExtend ( /selection/extend.js:145:9)
Pass
assert_equals(1, 1, "anchorOffset must not change if the node passed to extend() has the same root as the original range")
    at testExtend ( /selection/extend.js:147:9)
Pass
assert_equals(Document node with 2 children, Document node with 2 children, "focusNode must be the node passed to extend()")
    at testExtend ( /selection/extend.js:155:5)
Pass
assert_equals(0, 0, "focusOffset must be the offset passed to extend()")
    at testExtend ( /selection/extend.js:157:5)
Pass
assert_not_equals(object "Selection extend() tests   ", object "Selection extend() tests   ", "extend() must replace any existing range with a new one, not mutate the existing one")
    at testExtend ( /selection/extend.js:159:5)
Passextend() forwards with range 15 [document.documentElement, 0, document.documentElement, 1] and point 47 [document, 1]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(Element node <html><head><title>Selection extend() tests</title> <meta..., Element node <html><head><title>Selection extend() tests</title> <meta..., "Sanity check: startContainer must be correct")
    at testExtend ( /selection/extend.js:80:5)
Pass
assert_equals(0, 0, "Sanity check: startOffset must be correct")
    at testExtend ( /selection/extend.js:82:5)
Pass
assert_equals(Element node <html><head><title>Selection extend() tests</title> <meta..., Element node <html><head><title>Selection extend() tests</title> <meta..., "Sanity check: endContainer must be correct")
    at testExtend ( /selection/extend.js:84:5)
Pass
assert_equals(1, 1, "Sanity check: endOffset must be correct")
    at testExtend ( /selection/extend.js:86:5)
Pass
assert_equals(Element node <html><head><title>Selection extend() tests</title> <meta..., Element node <html><head><title>Selection extend() tests</title> <meta..., "anchorNode must not change if the node passed to extend() has the same root as the original range")
    at testExtend ( /selection/extend.js:145:9)
Pass
assert_equals(0, 0, "anchorOffset must not change if the node passed to extend() has the same root as the original range")
    at testExtend ( /selection/extend.js:147:9)
Pass
assert_equals(Document node with 2 children, Document node with 2 children, "focusNode must be the node passed to extend()")
    at testExtend ( /selection/extend.js:155:5)
Pass
assert_equals(1, 1, "focusOffset must be the offset passed to extend()")
    at testExtend ( /selection/extend.js:157:5)
Pass
assert_not_equals(object "", object "Selection extend() tests   ", "extend() must replace any existing range with a new one, not mutate the existing one")
    at testExtend ( /selection/extend.js:159:5)
Passextend() backwards with range 15 [document.documentElement, 0, document.documentElement, 1] and point 47 [document, 1]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(Element node <html><head><title>Selection extend() tests</title> <meta..., Element node <html><head><title>Selection extend() tests</title> <meta..., "Sanity check: startContainer must be correct")
    at testExtend ( /selection/extend.js:80:5)
Pass
assert_equals(0, 0, "Sanity check: startOffset must be correct")
    at testExtend ( /selection/extend.js:82:5)
Pass
assert_equals(Element node <html><head><title>Selection extend() tests</title> <meta..., Element node <html><head><title>Selection extend() tests</title> <meta..., "Sanity check: endContainer must be correct")
    at testExtend ( /selection/extend.js:84:5)
Pass
assert_equals(1, 1, "Sanity check: endOffset must be correct")
    at testExtend ( /selection/extend.js:86:5)
Pass
assert_equals(Element node <html><head><title>Selection extend() tests</title> <meta..., Element node <html><head><title>Selection extend() tests</title> <meta..., "anchorNode must not change if the node passed to extend() has the same root as the original range")
    at testExtend ( /selection/extend.js:145:9)
Pass
assert_equals(1, 1, "anchorOffset must not change if the node passed to extend() has the same root as the original range")
    at testExtend ( /selection/extend.js:147:9)
Pass
assert_equals(Document node with 2 children, Document node with 2 children, "focusNode must be the node passed to extend()")
    at testExtend ( /selection/extend.js:155:5)
Pass
assert_equals(1, 1, "focusOffset must be the offset passed to extend()")
    at testExtend ( /selection/extend.js:157:5)
Pass
assert_not_equals(object "Selection extend() tests   ", object "Selection extend() tests   ", "extend() must replace any existing range with a new one, not mutate the existing one")
    at testExtend ( /selection/extend.js:159:5)
Passextend() forwards with range 15 [document.documentElement, 0, document.documentElement, 1] and point 48 [document, 2]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(Element node <html><head><title>Selection extend() tests</title> <meta..., Element node <html><head><title>Selection extend() tests</title> <meta..., "Sanity check: startContainer must be correct")
    at testExtend ( /selection/extend.js:80:5)
Pass
assert_equals(0, 0, "Sanity check: startOffset must be correct")
    at testExtend ( /selection/extend.js:82:5)
Pass
assert_equals(Element node <html><head><title>Selection extend() tests</title> <meta..., Element node <html><head><title>Selection extend() tests</title> <meta..., "Sanity check: endContainer must be correct")
    at testExtend ( /selection/extend.js:84:5)
Pass
assert_equals(1, 1, "Sanity check: endOffset must be correct")
    at testExtend ( /selection/extend.js:86:5)
Pass
assert_equals(Element node <html><head><title>Selection extend() tests</title> <meta..., Element node <html><head><title>Selection extend() tests</title> <meta..., "anchorNode must not change if the node passed to extend() has the same root as the original range")
    at testExtend ( /selection/extend.js:145:9)
Pass
assert_equals(0, 0, "anchorOffset must not change if the node passed to extend() has the same root as the original range")
    at testExtend ( /selection/extend.js:147:9)
Pass
assert_equals(Document node with 2 children, Document node with 2 children, "focusNode must be the node passed to extend()")
    at testExtend ( /selection/extend.js:155:5)
Pass
assert_equals(2, 2, "focusOffset must be the offset passed to extend()")
    at testExtend ( /selection/extend.js:157:5)
Pass
assert_not_equals(object "Selection extend() tests   Äb̈c̈d̈ëf̈g̈ḧ Ijklmnop QrstuvwxYzabcdefGhijklmn     Running, 1000 complete, 1 remain  "use strict";  testExtendSubSet(0, 20); testDiv.style.display = "none"; ", object "Selection extend() tests   ", "extend() must replace any existing range with a new one, not mutate the existing one")
    at testExtend ( /selection/extend.js:159:5)
Passextend() backwards with range 15 [document.documentElement, 0, document.documentElement, 1] and point 48 [document, 2]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(Element node <html><head><title>Selection extend() tests</title> <meta..., Element node <html><head><title>Selection extend() tests</title> <meta..., "Sanity check: startContainer must be correct")
    at testExtend ( /selection/extend.js:80:5)
Pass
assert_equals(0, 0, "Sanity check: startOffset must be correct")
    at testExtend ( /selection/extend.js:82:5)
Pass
assert_equals(Element node <html><head><title>Selection extend() tests</title> <meta..., Element node <html><head><title>Selection extend() tests</title> <meta..., "Sanity check: endContainer must be correct")
    at testExtend ( /selection/extend.js:84:5)
Pass
assert_equals(1, 1, "Sanity check: endOffset must be correct")
    at testExtend ( /selection/extend.js:86:5)
Pass
assert_equals(Element node <html><head><title>Selection extend() tests</title> <meta..., Element node <html><head><title>Selection extend() tests</title> <meta..., "anchorNode must not change if the node passed to extend() has the same root as the original range")
    at testExtend ( /selection/extend.js:145:9)
Pass
assert_equals(1, 1, "anchorOffset must not change if the node passed to extend() has the same root as the original range")
    at testExtend ( /selection/extend.js:147:9)
Pass
assert_equals(Document node with 2 children, Document node with 2 children, "focusNode must be the node passed to extend()")
    at testExtend ( /selection/extend.js:155:5)
Pass
assert_equals(2, 2, "focusOffset must be the offset passed to extend()")
    at testExtend ( /selection/extend.js:157:5)
Pass
assert_not_equals(object "Äb̈c̈d̈ëf̈g̈ḧ Ijklmnop QrstuvwxYzabcdefGhijklmn     Running, 1000 complete, 1 remain  "use strict";  testExtendSubSet(0, 20); testDiv.style.display = "none"; ", object "Selection extend() tests   ", "extend() must replace any existing range with a new one, not mutate the existing one")
    at testExtend ( /selection/extend.js:159:5)
Passextend() forwards with range 15 [document.documentElement, 0, document.documentElement, 1] and point 49 [document, 3]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(Element node <html><head><title>Selection extend() tests</title> <meta..., Element node <html><head><title>Selection extend() tests</title> <meta..., "Sanity check: startContainer must be correct")
    at testExtend ( /selection/extend.js:80:5)
Pass
assert_equals(0, 0, "Sanity check: startOffset must be correct")
    at testExtend ( /selection/extend.js:82:5)
Pass
assert_equals(Element node <html><head><title>Selection extend() tests</title> <meta..., Element node <html><head><title>Selection extend() tests</title> <meta..., "Sanity check: endContainer must be correct")
    at testExtend ( /selection/extend.js:84:5)
Pass
assert_equals(1, 1, "Sanity check: endOffset must be correct")
    at testExtend ( /selection/extend.js:86:5)
Pass
assert_throws_dom("INDEX_SIZE_ERR", function "function() {             selection.extend(node, offset);         }", "extend() to an offset that's greater than node length (2) must throw IndexSizeError")
    at testExtend ( /selection/extend.js:117:9)
Passextend() backwards with range 15 [document.documentElement, 0, document.documentElement, 1] and point 49 [document, 3]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(Element node <html><head><title>Selection extend() tests</title> <meta..., Element node <html><head><title>Selection extend() tests</title> <meta..., "Sanity check: startContainer must be correct")
    at testExtend ( /selection/extend.js:80:5)
Pass
assert_equals(0, 0, "Sanity check: startOffset must be correct")
    at testExtend ( /selection/extend.js:82:5)
Pass
assert_equals(Element node <html><head><title>Selection extend() tests</title> <meta..., Element node <html><head><title>Selection extend() tests</title> <meta..., "Sanity check: endContainer must be correct")
    at testExtend ( /selection/extend.js:84:5)
Pass
assert_equals(1, 1, "Sanity check: endOffset must be correct")
    at testExtend ( /selection/extend.js:86:5)
Pass
assert_throws_dom("INDEX_SIZE_ERR", function "function() {             selection.extend(node, offset);         }", "extend() to an offset that's greater than node length (2) must throw IndexSizeError")
    at testExtend ( /selection/extend.js:117:9)
Passextend() forwards with range 15 [document.documentElement, 0, document.documentElement, 1] and point 50 [comment, -1]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(Element node <html><head><title>Selection extend() tests</title> <meta..., Element node <html><head><title>Selection extend() tests</title> <meta..., "Sanity check: startContainer must be correct")
    at testExtend ( /selection/extend.js:80:5)
Pass
assert_equals(0, 0, "Sanity check: startOffset must be correct")
    at testExtend ( /selection/extend.js:82:5)
Pass
assert_equals(Element node <html><head><title>Selection extend() tests</title> <meta..., Element node <html><head><title>Selection extend() tests</title> <meta..., "Sanity check: endContainer must be correct")
    at testExtend ( /selection/extend.js:84:5)
Pass
assert_equals(1, 1, "Sanity check: endOffset must be correct")
    at testExtend ( /selection/extend.js:86:5)
Pass
assert_throws_dom("INDEX_SIZE_ERR", function "function() {             selection.extend(node, offset);         }", "extend() to an offset that's greater than node length (14) must throw IndexSizeError")
    at testExtend ( /selection/extend.js:117:9)
Passextend() backwards with range 15 [document.documentElement, 0, document.documentElement, 1] and point 50 [comment, -1]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(Element node <html><head><title>Selection extend() tests</title> <meta..., Element node <html><head><title>Selection extend() tests</title> <meta..., "Sanity check: startContainer must be correct")
    at testExtend ( /selection/extend.js:80:5)
Pass
assert_equals(0, 0, "Sanity check: startOffset must be correct")
    at testExtend ( /selection/extend.js:82:5)
Pass
assert_equals(Element node <html><head><title>Selection extend() tests</title> <meta..., Element node <html><head><title>Selection extend() tests</title> <meta..., "Sanity check: endContainer must be correct")
    at testExtend ( /selection/extend.js:84:5)
Pass
assert_equals(1, 1, "Sanity check: endOffset must be correct")
    at testExtend ( /selection/extend.js:86:5)
Pass
assert_throws_dom("INDEX_SIZE_ERR", function "function() {             selection.extend(node, offset);         }", "extend() to an offset that's greater than node length (14) must throw IndexSizeError")
    at testExtend ( /selection/extend.js:117:9)
Passextend() forwards with range 15 [document.documentElement, 0, document.documentElement, 1] and point 51 [comment, 0]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(Element node <html><head><title>Selection extend() tests</title> <meta..., Element node <html><head><title>Selection extend() tests</title> <meta..., "Sanity check: startContainer must be correct")
    at testExtend ( /selection/extend.js:80:5)
Pass
assert_equals(0, 0, "Sanity check: startOffset must be correct")
    at testExtend ( /selection/extend.js:82:5)
Pass
assert_equals(Element node <html><head><title>Selection extend() tests</title> <meta..., Element node <html><head><title>Selection extend() tests</title> <meta..., "Sanity check: endContainer must be correct")
    at testExtend ( /selection/extend.js:84:5)
Pass
assert_equals(1, 1, "Sanity check: endOffset must be correct")
    at testExtend ( /selection/extend.js:86:5)
Pass
assert_equals(Element node <html><head><title>Selection extend() tests</title> <meta..., Element node <html><head><title>Selection extend() tests</title> <meta..., "anchorNode must not change if the node passed to extend() has the same root as the original range")
    at testExtend ( /selection/extend.js:145:9)
Pass
assert_equals(0, 0, "anchorOffset must not change if the node passed to extend() has the same root as the original range")
    at testExtend ( /selection/extend.js:147:9)
Pass
assert_equals(Comment node <!--Alphabet soup?-->, Comment node <!--Alphabet soup?-->, "focusNode must be the node passed to extend()")
    at testExtend ( /selection/extend.js:155:5)
Pass
assert_equals(0, 0, "focusOffset must be the offset passed to extend()")
    at testExtend ( /selection/extend.js:157:5)
Pass
assert_not_equals(object "Selection extend() tests   Äb̈c̈d̈ëf̈g̈ḧ Ijklmnop QrstuvwxYzabcdefGhijklmn", object "Selection extend() tests   ", "extend() must replace any existing range with a new one, not mutate the existing one")
    at testExtend ( /selection/extend.js:159:5)
Passextend() backwards with range 15 [document.documentElement, 0, document.documentElement, 1] and point 51 [comment, 0]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(Element node <html><head><title>Selection extend() tests</title> <meta..., Element node <html><head><title>Selection extend() tests</title> <meta..., "Sanity check: startContainer must be correct")
    at testExtend ( /selection/extend.js:80:5)
Pass
assert_equals(0, 0, "Sanity check: startOffset must be correct")
    at testExtend ( /selection/extend.js:82:5)
Pass
assert_equals(Element node <html><head><title>Selection extend() tests</title> <meta..., Element node <html><head><title>Selection extend() tests</title> <meta..., "Sanity check: endContainer must be correct")
    at testExtend ( /selection/extend.js:84:5)
Pass
assert_equals(1, 1, "Sanity check: endOffset must be correct")
    at testExtend ( /selection/extend.js:86:5)
Pass
assert_equals(Element node <html><head><title>Selection extend() tests</title> <meta..., Element node <html><head><title>Selection extend() tests</title> <meta..., "anchorNode must not change if the node passed to extend() has the same root as the original range")
    at testExtend ( /selection/extend.js:145:9)
Pass
assert_equals(1, 1, "anchorOffset must not change if the node passed to extend() has the same root as the original range")
    at testExtend ( /selection/extend.js:147:9)
Pass
assert_equals(Comment node <!--Alphabet soup?-->, Comment node <!--Alphabet soup?-->, "focusNode must be the node passed to extend()")
    at testExtend ( /selection/extend.js:155:5)
Pass
assert_equals(0, 0, "focusOffset must be the offset passed to extend()")
    at testExtend ( /selection/extend.js:157:5)
Pass
assert_not_equals(object "Äb̈c̈d̈ëf̈g̈ḧ Ijklmnop QrstuvwxYzabcdefGhijklmn", object "Selection extend() tests   ", "extend() must replace any existing range with a new one, not mutate the existing one")
    at testExtend ( /selection/extend.js:159:5)
Passextend() forwards with range 15 [document.documentElement, 0, document.documentElement, 1] and point 52 [comment, 4]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(Element node <html><head><title>Selection extend() tests</title> <meta..., Element node <html><head><title>Selection extend() tests</title> <meta..., "Sanity check: startContainer must be correct")
    at testExtend ( /selection/extend.js:80:5)
Pass
assert_equals(0, 0, "Sanity check: startOffset must be correct")
    at testExtend ( /selection/extend.js:82:5)
Pass
assert_equals(Element node <html><head><title>Selection extend() tests</title> <meta..., Element node <html><head><title>Selection extend() tests</title> <meta..., "Sanity check: endContainer must be correct")
    at testExtend ( /selection/extend.js:84:5)
Pass
assert_equals(1, 1, "Sanity check: endOffset must be correct")
    at testExtend ( /selection/extend.js:86:5)
Pass
assert_equals(Element node <html><head><title>Selection extend() tests</title> <meta..., Element node <html><head><title>Selection extend() tests</title> <meta..., "anchorNode must not change if the node passed to extend() has the same root as the original range")
    at testExtend ( /selection/extend.js:145:9)
Pass
assert_equals(0, 0, "anchorOffset must not change if the node passed to extend() has the same root as the original range")
    at testExtend ( /selection/extend.js:147:9)
Pass
assert_equals(Comment node <!--Alphabet soup?-->, Comment node <!--Alphabet soup?-->, "focusNode must be the node passed to extend()")
    at testExtend ( /selection/extend.js:155:5)
Pass
assert_equals(4, 4, "focusOffset must be the offset passed to extend()")
    at testExtend ( /selection/extend.js:157:5)
Pass
assert_not_equals(object "Selection extend() tests   Äb̈c̈d̈ëf̈g̈ḧ Ijklmnop QrstuvwxYzabcdefGhijklmn", object "Selection extend() tests   ", "extend() must replace any existing range with a new one, not mutate the existing one")
    at testExtend ( /selection/extend.js:159:5)
Passextend() backwards with range 15 [document.documentElement, 0, document.documentElement, 1] and point 52 [comment, 4]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(Element node <html><head><title>Selection extend() tests</title> <meta..., Element node <html><head><title>Selection extend() tests</title> <meta..., "Sanity check: startContainer must be correct")
    at testExtend ( /selection/extend.js:80:5)
Pass
assert_equals(0, 0, "Sanity check: startOffset must be correct")
    at testExtend ( /selection/extend.js:82:5)
Pass
assert_equals(Element node <html><head><title>Selection extend() tests</title> <meta..., Element node <html><head><title>Selection extend() tests</title> <meta..., "Sanity check: endContainer must be correct")
    at testExtend ( /selection/extend.js:84:5)
Pass
assert_equals(1, 1, "Sanity check: endOffset must be correct")
    at testExtend ( /selection/extend.js:86:5)
Pass
assert_equals(Element node <html><head><title>Selection extend() tests</title> <meta..., Element node <html><head><title>Selection extend() tests</title> <meta..., "anchorNode must not change if the node passed to extend() has the same root as the original range")
    at testExtend ( /selection/extend.js:145:9)
Pass
assert_equals(1, 1, "anchorOffset must not change if the node passed to extend() has the same root as the original range")
    at testExtend ( /selection/extend.js:147:9)
Pass
assert_equals(Comment node <!--Alphabet soup?-->, Comment node <!--Alphabet soup?-->, "focusNode must be the node passed to extend()")
    at testExtend ( /selection/extend.js:155:5)
Pass
assert_equals(4, 4, "focusOffset must be the offset passed to extend()")
    at testExtend ( /selection/extend.js:157:5)
Pass
assert_not_equals(object "Äb̈c̈d̈ëf̈g̈ḧ Ijklmnop QrstuvwxYzabcdefGhijklmn", object "Selection extend() tests   ", "extend() must replace any existing range with a new one, not mutate the existing one")
    at testExtend ( /selection/extend.js:159:5)
Passextend() forwards with range 15 [document.documentElement, 0, document.documentElement, 1] and point 53 [comment, 96]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(Element node <html><head><title>Selection extend() tests</title> <meta..., Element node <html><head><title>Selection extend() tests</title> <meta..., "Sanity check: startContainer must be correct")
    at testExtend ( /selection/extend.js:80:5)
Pass
assert_equals(0, 0, "Sanity check: startOffset must be correct")
    at testExtend ( /selection/extend.js:82:5)
Pass
assert_equals(Element node <html><head><title>Selection extend() tests</title> <meta..., Element node <html><head><title>Selection extend() tests</title> <meta..., "Sanity check: endContainer must be correct")
    at testExtend ( /selection/extend.js:84:5)
Pass
assert_equals(1, 1, "Sanity check: endOffset must be correct")
    at testExtend ( /selection/extend.js:86:5)
Pass
assert_throws_dom("INDEX_SIZE_ERR", function "function() {             selection.extend(node, offset);         }", "extend() to an offset that's greater than node length (14) must throw IndexSizeError")
    at testExtend ( /selection/extend.js:117:9)
Passextend() backwards with range 15 [document.documentElement, 0, document.documentElement, 1] and point 53 [comment, 96]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(Element node <html><head><title>Selection extend() tests</title> <meta..., Element node <html><head><title>Selection extend() tests</title> <meta..., "Sanity check: startContainer must be correct")
    at testExtend ( /selection/extend.js:80:5)
Pass
assert_equals(0, 0, "Sanity check: startOffset must be correct")
    at testExtend ( /selection/extend.js:82:5)
Pass
assert_equals(Element node <html><head><title>Selection extend() tests</title> <meta..., Element node <html><head><title>Selection extend() tests</title> <meta..., "Sanity check: endContainer must be correct")
    at testExtend ( /selection/extend.js:84:5)
Pass
assert_equals(1, 1, "Sanity check: endOffset must be correct")
    at testExtend ( /selection/extend.js:86:5)
Pass
assert_throws_dom("INDEX_SIZE_ERR", function "function() {             selection.extend(node, offset);         }", "extend() to an offset that's greater than node length (14) must throw IndexSizeError")
    at testExtend ( /selection/extend.js:117:9)
Passextend() forwards with range 15 [document.documentElement, 0, document.documentElement, 1] and point 54 [foreignDoc, 0]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(1, 1, "The operation should not add Range")
    at assertSelectionNoChange ( /selection/common.js:976:5)
Pass
assert_equals(Element node <html><head><title>Selection extend() tests</title> <meta..., Element node <html><head><title>Selection extend() tests</title> <meta..., "The operation should not update anchorNode")
    at assertSelectionNoChange ( /selection/common.js:978:5)
Pass
assert_equals(0, 0, "The operation should not update anchorOffset")
    at assertSelectionNoChange ( /selection/common.js:980:5)
Pass
assert_equals(Element node <html><head><title>Selection extend() tests</title> <meta..., Element node <html><head><title>Selection extend() tests</title> <meta..., "The operation should not update focusNode")
    at assertSelectionNoChange ( /selection/common.js:982:5)
Pass
assert_equals(1, 1, "The operation should not update focusOffset")
    at assertSelectionNoChange ( /selection/common.js:984:5)
Pass
assert_equals(object "Selection extend() tests   ", object "Selection extend() tests   ", "The operation should not replace a registered Range")
    at assertSelectionNoChange ( /selection/common.js:988:5)
Passextend() backwards with range 15 [document.documentElement, 0, document.documentElement, 1] and point 54 [foreignDoc, 0]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(1, 1, "The operation should not add Range")
    at assertSelectionNoChange ( /selection/common.js:976:5)
Pass
assert_equals(Element node <html><head><title>Selection extend() tests</title> <meta..., Element node <html><head><title>Selection extend() tests</title> <meta..., "The operation should not update anchorNode")
    at assertSelectionNoChange ( /selection/common.js:978:5)
Pass
assert_equals(1, 1, "The operation should not update anchorOffset")
    at assertSelectionNoChange ( /selection/common.js:980:5)
Pass
assert_equals(Element node <html><head><title>Selection extend() tests</title> <meta..., Element node <html><head><title>Selection extend() tests</title> <meta..., "The operation should not update focusNode")
    at assertSelectionNoChange ( /selection/common.js:982:5)
Pass
assert_equals(0, 0, "The operation should not update focusOffset")
    at assertSelectionNoChange ( /selection/common.js:984:5)
Pass
assert_equals(object "Selection extend() tests   ", object "Selection extend() tests   ", "The operation should not replace a registered Range")
    at assertSelectionNoChange ( /selection/common.js:988:5)
Passextend() forwards with range 15 [document.documentElement, 0, document.documentElement, 1] and point 55 [foreignDoc, 1]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(1, 1, "The operation should not add Range")
    at assertSelectionNoChange ( /selection/common.js:976:5)
Pass
assert_equals(Element node <html><head><title>Selection extend() tests</title> <meta..., Element node <html><head><title>Selection extend() tests</title> <meta..., "The operation should not update anchorNode")
    at assertSelectionNoChange ( /selection/common.js:978:5)
Pass
assert_equals(0, 0, "The operation should not update anchorOffset")
    at assertSelectionNoChange ( /selection/common.js:980:5)
Pass
assert_equals(Element node <html><head><title>Selection extend() tests</title> <meta..., Element node <html><head><title>Selection extend() tests</title> <meta..., "The operation should not update focusNode")
    at assertSelectionNoChange ( /selection/common.js:982:5)
Pass
assert_equals(1, 1, "The operation should not update focusOffset")
    at assertSelectionNoChange ( /selection/common.js:984:5)
Pass
assert_equals(object "Selection extend() tests   ", object "Selection extend() tests   ", "The operation should not replace a registered Range")
    at assertSelectionNoChange ( /selection/common.js:988:5)
Passextend() backwards with range 15 [document.documentElement, 0, document.documentElement, 1] and point 55 [foreignDoc, 1]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(1, 1, "The operation should not add Range")
    at assertSelectionNoChange ( /selection/common.js:976:5)
Pass
assert_equals(Element node <html><head><title>Selection extend() tests</title> <meta..., Element node <html><head><title>Selection extend() tests</title> <meta..., "The operation should not update anchorNode")
    at assertSelectionNoChange ( /selection/common.js:978:5)
Pass
assert_equals(1, 1, "The operation should not update anchorOffset")
    at assertSelectionNoChange ( /selection/common.js:980:5)
Pass
assert_equals(Element node <html><head><title>Selection extend() tests</title> <meta..., Element node <html><head><title>Selection extend() tests</title> <meta..., "The operation should not update focusNode")
    at assertSelectionNoChange ( /selection/common.js:982:5)
Pass
assert_equals(0, 0, "The operation should not update focusOffset")
    at assertSelectionNoChange ( /selection/common.js:984:5)
Pass
assert_equals(object "Selection extend() tests   ", object "Selection extend() tests   ", "The operation should not replace a registered Range")
    at assertSelectionNoChange ( /selection/common.js:988:5)
Passextend() forwards with range 15 [document.documentElement, 0, document.documentElement, 1] and point 56 [foreignComment, 2]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(1, 1, "The operation should not add Range")
    at assertSelectionNoChange ( /selection/common.js:976:5)
Pass
assert_equals(Element node <html><head><title>Selection extend() tests</title> <meta..., Element node <html><head><title>Selection extend() tests</title> <meta..., "The operation should not update anchorNode")
    at assertSelectionNoChange ( /selection/common.js:978:5)
Pass
assert_equals(0, 0, "The operation should not update anchorOffset")
    at assertSelectionNoChange ( /selection/common.js:980:5)
Pass
assert_equals(Element node <html><head><title>Selection extend() tests</title> <meta..., Element node <html><head><title>Selection extend() tests</title> <meta..., "The operation should not update focusNode")
    at assertSelectionNoChange ( /selection/common.js:982:5)
Pass
assert_equals(1, 1, "The operation should not update focusOffset")
    at assertSelectionNoChange ( /selection/common.js:984:5)
Pass
assert_equals(object "Selection extend() tests   ", object "Selection extend() tests   ", "The operation should not replace a registered Range")
    at assertSelectionNoChange ( /selection/common.js:988:5)
Passextend() backwards with range 15 [document.documentElement, 0, document.documentElement, 1] and point 56 [foreignComment, 2]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(1, 1, "The operation should not add Range")
    at assertSelectionNoChange ( /selection/common.js:976:5)
Pass
assert_equals(Element node <html><head><title>Selection extend() tests</title> <meta..., Element node <html><head><title>Selection extend() tests</title> <meta..., "The operation should not update anchorNode")
    at assertSelectionNoChange ( /selection/common.js:978:5)
Pass
assert_equals(1, 1, "The operation should not update anchorOffset")
    at assertSelectionNoChange ( /selection/common.js:980:5)
Pass
assert_equals(Element node <html><head><title>Selection extend() tests</title> <meta..., Element node <html><head><title>Selection extend() tests</title> <meta..., "The operation should not update focusNode")
    at assertSelectionNoChange ( /selection/common.js:982:5)
Pass
assert_equals(0, 0, "The operation should not update focusOffset")
    at assertSelectionNoChange ( /selection/common.js:984:5)
Pass
assert_equals(object "Selection extend() tests   ", object "Selection extend() tests   ", "The operation should not replace a registered Range")
    at assertSelectionNoChange ( /selection/common.js:988:5)
Passextend() forwards with range 15 [document.documentElement, 0, document.documentElement, 1] and point 57 [foreignTextNode, 0]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(1, 1, "The operation should not add Range")
    at assertSelectionNoChange ( /selection/common.js:976:5)
Pass
assert_equals(Element node <html><head><title>Selection extend() tests</title> <meta..., Element node <html><head><title>Selection extend() tests</title> <meta..., "The operation should not update anchorNode")
    at assertSelectionNoChange ( /selection/common.js:978:5)
Pass
assert_equals(0, 0, "The operation should not update anchorOffset")
    at assertSelectionNoChange ( /selection/common.js:980:5)
Pass
assert_equals(Element node <html><head><title>Selection extend() tests</title> <meta..., Element node <html><head><title>Selection extend() tests</title> <meta..., "The operation should not update focusNode")
    at assertSelectionNoChange ( /selection/common.js:982:5)
Pass
assert_equals(1, 1, "The operation should not update focusOffset")
    at assertSelectionNoChange ( /selection/common.js:984:5)
Pass
assert_equals(object "Selection extend() tests   ", object "Selection extend() tests   ", "The operation should not replace a registered Range")
    at assertSelectionNoChange ( /selection/common.js:988:5)
Passextend() backwards with range 15 [document.documentElement, 0, document.documentElement, 1] and point 57 [foreignTextNode, 0]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(1, 1, "The operation should not add Range")
    at assertSelectionNoChange ( /selection/common.js:976:5)
Pass
assert_equals(Element node <html><head><title>Selection extend() tests</title> <meta..., Element node <html><head><title>Selection extend() tests</title> <meta..., "The operation should not update anchorNode")
    at assertSelectionNoChange ( /selection/common.js:978:5)
Pass
assert_equals(1, 1, "The operation should not update anchorOffset")
    at assertSelectionNoChange ( /selection/common.js:980:5)
Pass
assert_equals(Element node <html><head><title>Selection extend() tests</title> <meta..., Element node <html><head><title>Selection extend() tests</title> <meta..., "The operation should not update focusNode")
    at assertSelectionNoChange ( /selection/common.js:982:5)
Pass
assert_equals(0, 0, "The operation should not update focusOffset")
    at assertSelectionNoChange ( /selection/common.js:984:5)
Pass
assert_equals(object "Selection extend() tests   ", object "Selection extend() tests   ", "The operation should not replace a registered Range")
    at assertSelectionNoChange ( /selection/common.js:988:5)
Passextend() forwards with range 15 [document.documentElement, 0, document.documentElement, 1] and point 58 [foreignTextNode, 36]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(1, 1, "The operation should not add Range")
    at assertSelectionNoChange ( /selection/common.js:976:5)
Pass
assert_equals(Element node <html><head><title>Selection extend() tests</title> <meta..., Element node <html><head><title>Selection extend() tests</title> <meta..., "The operation should not update anchorNode")
    at assertSelectionNoChange ( /selection/common.js:978:5)
Pass
assert_equals(0, 0, "The operation should not update anchorOffset")
    at assertSelectionNoChange ( /selection/common.js:980:5)
Pass
assert_equals(Element node <html><head><title>Selection extend() tests</title> <meta..., Element node <html><head><title>Selection extend() tests</title> <meta..., "The operation should not update focusNode")
    at assertSelectionNoChange ( /selection/common.js:982:5)
Pass
assert_equals(1, 1, "The operation should not update focusOffset")
    at assertSelectionNoChange ( /selection/common.js:984:5)
Pass
assert_equals(object "Selection extend() tests   ", object "Selection extend() tests   ", "The operation should not replace a registered Range")
    at assertSelectionNoChange ( /selection/common.js:988:5)
Passextend() backwards with range 15 [document.documentElement, 0, document.documentElement, 1] and point 58 [foreignTextNode, 36]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(1, 1, "The operation should not add Range")
    at assertSelectionNoChange ( /selection/common.js:976:5)
Pass
assert_equals(Element node <html><head><title>Selection extend() tests</title> <meta..., Element node <html><head><title>Selection extend() tests</title> <meta..., "The operation should not update anchorNode")
    at assertSelectionNoChange ( /selection/common.js:978:5)
Pass
assert_equals(1, 1, "The operation should not update anchorOffset")
    at assertSelectionNoChange ( /selection/common.js:980:5)
Pass
assert_equals(Element node <html><head><title>Selection extend() tests</title> <meta..., Element node <html><head><title>Selection extend() tests</title> <meta..., "The operation should not update focusNode")
    at assertSelectionNoChange ( /selection/common.js:982:5)
Pass
assert_equals(0, 0, "The operation should not update focusOffset")
    at assertSelectionNoChange ( /selection/common.js:984:5)
Pass
assert_equals(object "Selection extend() tests   ", object "Selection extend() tests   ", "The operation should not replace a registered Range")
    at assertSelectionNoChange ( /selection/common.js:988:5)
Passextend() forwards with range 15 [document.documentElement, 0, document.documentElement, 1] and point 59 [xmlDoc, -1]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(1, 1, "The operation should not add Range")
    at assertSelectionNoChange ( /selection/common.js:976:5)
Pass
assert_equals(Element node <html><head><title>Selection extend() tests</title> <meta..., Element node <html><head><title>Selection extend() tests</title> <meta..., "The operation should not update anchorNode")
    at assertSelectionNoChange ( /selection/common.js:978:5)
Pass
assert_equals(0, 0, "The operation should not update anchorOffset")
    at assertSelectionNoChange ( /selection/common.js:980:5)
Pass
assert_equals(Element node <html><head><title>Selection extend() tests</title> <meta..., Element node <html><head><title>Selection extend() tests</title> <meta..., "The operation should not update focusNode")
    at assertSelectionNoChange ( /selection/common.js:982:5)
Pass
assert_equals(1, 1, "The operation should not update focusOffset")
    at assertSelectionNoChange ( /selection/common.js:984:5)
Pass
assert_equals(object "Selection extend() tests   ", object "Selection extend() tests   ", "The operation should not replace a registered Range")
    at assertSelectionNoChange ( /selection/common.js:988:5)
Passextend() backwards with range 15 [document.documentElement, 0, document.documentElement, 1] and point 59 [xmlDoc, -1]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(1, 1, "The operation should not add Range")
    at assertSelectionNoChange ( /selection/common.js:976:5)
Pass
assert_equals(Element node <html><head><title>Selection extend() tests</title> <meta..., Element node <html><head><title>Selection extend() tests</title> <meta..., "The operation should not update anchorNode")
    at assertSelectionNoChange ( /selection/common.js:978:5)
Pass
assert_equals(1, 1, "The operation should not update anchorOffset")
    at assertSelectionNoChange ( /selection/common.js:980:5)
Pass
assert_equals(Element node <html><head><title>Selection extend() tests</title> <meta..., Element node <html><head><title>Selection extend() tests</title> <meta..., "The operation should not update focusNode")
    at assertSelectionNoChange ( /selection/common.js:982:5)
Pass
assert_equals(0, 0, "The operation should not update focusOffset")
    at assertSelectionNoChange ( /selection/common.js:984:5)
Pass
assert_equals(object "Selection extend() tests   ", object "Selection extend() tests   ", "The operation should not replace a registered Range")
    at assertSelectionNoChange ( /selection/common.js:988:5)
Passextend() forwards with range 15 [document.documentElement, 0, document.documentElement, 1] and point 60 [xmlDoc, 0]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(1, 1, "The operation should not add Range")
    at assertSelectionNoChange ( /selection/common.js:976:5)
Pass
assert_equals(Element node <html><head><title>Selection extend() tests</title> <meta..., Element node <html><head><title>Selection extend() tests</title> <meta..., "The operation should not update anchorNode")
    at assertSelectionNoChange ( /selection/common.js:978:5)
Pass
assert_equals(0, 0, "The operation should not update anchorOffset")
    at assertSelectionNoChange ( /selection/common.js:980:5)
Pass
assert_equals(Element node <html><head><title>Selection extend() tests</title> <meta..., Element node <html><head><title>Selection extend() tests</title> <meta..., "The operation should not update focusNode")
    at assertSelectionNoChange ( /selection/common.js:982:5)
Pass
assert_equals(1, 1, "The operation should not update focusOffset")
    at assertSelectionNoChange ( /selection/common.js:984:5)
Pass
assert_equals(object "Selection extend() tests   ", object "Selection extend() tests   ", "The operation should not replace a registered Range")
    at assertSelectionNoChange ( /selection/common.js:988:5)
Passextend() backwards with range 15 [document.documentElement, 0, document.documentElement, 1] and point 60 [xmlDoc, 0]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(1, 1, "The operation should not add Range")
    at assertSelectionNoChange ( /selection/common.js:976:5)
Pass
assert_equals(Element node <html><head><title>Selection extend() tests</title> <meta..., Element node <html><head><title>Selection extend() tests</title> <meta..., "The operation should not update anchorNode")
    at assertSelectionNoChange ( /selection/common.js:978:5)
Pass
assert_equals(1, 1, "The operation should not update anchorOffset")
    at assertSelectionNoChange ( /selection/common.js:980:5)
Pass
assert_equals(Element node <html><head><title>Selection extend() tests</title> <meta..., Element node <html><head><title>Selection extend() tests</title> <meta..., "The operation should not update focusNode")
    at assertSelectionNoChange ( /selection/common.js:982:5)
Pass
assert_equals(0, 0, "The operation should not update focusOffset")
    at assertSelectionNoChange ( /selection/common.js:984:5)
Pass
assert_equals(object "Selection extend() tests   ", object "Selection extend() tests   ", "The operation should not replace a registered Range")
    at assertSelectionNoChange ( /selection/common.js:988:5)
Passextend() forwards with range 15 [document.documentElement, 0, document.documentElement, 1] and point 61 [xmlDoc, 1]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(1, 1, "The operation should not add Range")
    at assertSelectionNoChange ( /selection/common.js:976:5)
Pass
assert_equals(Element node <html><head><title>Selection extend() tests</title> <meta..., Element node <html><head><title>Selection extend() tests</title> <meta..., "The operation should not update anchorNode")
    at assertSelectionNoChange ( /selection/common.js:978:5)
Pass
assert_equals(0, 0, "The operation should not update anchorOffset")
    at assertSelectionNoChange ( /selection/common.js:980:5)
Pass
assert_equals(Element node <html><head><title>Selection extend() tests</title> <meta..., Element node <html><head><title>Selection extend() tests</title> <meta..., "The operation should not update focusNode")
    at assertSelectionNoChange ( /selection/common.js:982:5)
Pass
assert_equals(1, 1, "The operation should not update focusOffset")
    at assertSelectionNoChange ( /selection/common.js:984:5)
Pass
assert_equals(object "Selection extend() tests   ", object "Selection extend() tests   ", "The operation should not replace a registered Range")
    at assertSelectionNoChange ( /selection/common.js:988:5)
Passextend() backwards with range 15 [document.documentElement, 0, document.documentElement, 1] and point 61 [xmlDoc, 1]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(1, 1, "The operation should not add Range")
    at assertSelectionNoChange ( /selection/common.js:976:5)
Pass
assert_equals(Element node <html><head><title>Selection extend() tests</title> <meta..., Element node <html><head><title>Selection extend() tests</title> <meta..., "The operation should not update anchorNode")
    at assertSelectionNoChange ( /selection/common.js:978:5)
Pass
assert_equals(1, 1, "The operation should not update anchorOffset")
    at assertSelectionNoChange ( /selection/common.js:980:5)
Pass
assert_equals(Element node <html><head><title>Selection extend() tests</title> <meta..., Element node <html><head><title>Selection extend() tests</title> <meta..., "The operation should not update focusNode")
    at assertSelectionNoChange ( /selection/common.js:982:5)
Pass
assert_equals(0, 0, "The operation should not update focusOffset")
    at assertSelectionNoChange ( /selection/common.js:984:5)
Pass
assert_equals(object "Selection extend() tests   ", object "Selection extend() tests   ", "The operation should not replace a registered Range")
    at assertSelectionNoChange ( /selection/common.js:988:5)
Passextend() forwards with range 15 [document.documentElement, 0, document.documentElement, 1] and point 62 [xmlDoc, 5]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(1, 1, "The operation should not add Range")
    at assertSelectionNoChange ( /selection/common.js:976:5)
Pass
assert_equals(Element node <html><head><title>Selection extend() tests</title> <meta..., Element node <html><head><title>Selection extend() tests</title> <meta..., "The operation should not update anchorNode")
    at assertSelectionNoChange ( /selection/common.js:978:5)
Pass
assert_equals(0, 0, "The operation should not update anchorOffset")
    at assertSelectionNoChange ( /selection/common.js:980:5)
Pass
assert_equals(Element node <html><head><title>Selection extend() tests</title> <meta..., Element node <html><head><title>Selection extend() tests</title> <meta..., "The operation should not update focusNode")
    at assertSelectionNoChange ( /selection/common.js:982:5)
Pass
assert_equals(1, 1, "The operation should not update focusOffset")
    at assertSelectionNoChange ( /selection/common.js:984:5)
Pass
assert_equals(object "Selection extend() tests   ", object "Selection extend() tests   ", "The operation should not replace a registered Range")
    at assertSelectionNoChange ( /selection/common.js:988:5)
Passextend() backwards with range 15 [document.documentElement, 0, document.documentElement, 1] and point 62 [xmlDoc, 5]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(1, 1, "The operation should not add Range")
    at assertSelectionNoChange ( /selection/common.js:976:5)
Pass
assert_equals(Element node <html><head><title>Selection extend() tests</title> <meta..., Element node <html><head><title>Selection extend() tests</title> <meta..., "The operation should not update anchorNode")
    at assertSelectionNoChange ( /selection/common.js:978:5)
Pass
assert_equals(1, 1, "The operation should not update anchorOffset")
    at assertSelectionNoChange ( /selection/common.js:980:5)
Pass
assert_equals(Element node <html><head><title>Selection extend() tests</title> <meta..., Element node <html><head><title>Selection extend() tests</title> <meta..., "The operation should not update focusNode")
    at assertSelectionNoChange ( /selection/common.js:982:5)
Pass
assert_equals(0, 0, "The operation should not update focusOffset")
    at assertSelectionNoChange ( /selection/common.js:984:5)
Pass
assert_equals(object "Selection extend() tests   ", object "Selection extend() tests   ", "The operation should not replace a registered Range")
    at assertSelectionNoChange ( /selection/common.js:988:5)
Passextend() forwards with range 15 [document.documentElement, 0, document.documentElement, 1] and point 63 [xmlComment, 0]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(1, 1, "The operation should not add Range")
    at assertSelectionNoChange ( /selection/common.js:976:5)
Pass
assert_equals(Element node <html><head><title>Selection extend() tests</title> <meta..., Element node <html><head><title>Selection extend() tests</title> <meta..., "The operation should not update anchorNode")
    at assertSelectionNoChange ( /selection/common.js:978:5)
Pass
assert_equals(0, 0, "The operation should not update anchorOffset")
    at assertSelectionNoChange ( /selection/common.js:980:5)
Pass
assert_equals(Element node <html><head><title>Selection extend() tests</title> <meta..., Element node <html><head><title>Selection extend() tests</title> <meta..., "The operation should not update focusNode")
    at assertSelectionNoChange ( /selection/common.js:982:5)
Pass
assert_equals(1, 1, "The operation should not update focusOffset")
    at assertSelectionNoChange ( /selection/common.js:984:5)
Pass
assert_equals(object "Selection extend() tests   ", object "Selection extend() tests   ", "The operation should not replace a registered Range")
    at assertSelectionNoChange ( /selection/common.js:988:5)
Passextend() backwards with range 15 [document.documentElement, 0, document.documentElement, 1] and point 63 [xmlComment, 0]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(1, 1, "The operation should not add Range")
    at assertSelectionNoChange ( /selection/common.js:976:5)
Pass
assert_equals(Element node <html><head><title>Selection extend() tests</title> <meta..., Element node <html><head><title>Selection extend() tests</title> <meta..., "The operation should not update anchorNode")
    at assertSelectionNoChange ( /selection/common.js:978:5)
Pass
assert_equals(1, 1, "The operation should not update anchorOffset")
    at assertSelectionNoChange ( /selection/common.js:980:5)
Pass
assert_equals(Element node <html><head><title>Selection extend() tests</title> <meta..., Element node <html><head><title>Selection extend() tests</title> <meta..., "The operation should not update focusNode")
    at assertSelectionNoChange ( /selection/common.js:982:5)
Pass
assert_equals(0, 0, "The operation should not update focusOffset")
    at assertSelectionNoChange ( /selection/common.js:984:5)
Pass
assert_equals(object "Selection extend() tests   ", object "Selection extend() tests   ", "The operation should not replace a registered Range")
    at assertSelectionNoChange ( /selection/common.js:988:5)
Passextend() forwards with range 15 [document.documentElement, 0, document.documentElement, 1] and point 64 [xmlComment, 4]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(1, 1, "The operation should not add Range")
    at assertSelectionNoChange ( /selection/common.js:976:5)
Pass
assert_equals(Element node <html><head><title>Selection extend() tests</title> <meta..., Element node <html><head><title>Selection extend() tests</title> <meta..., "The operation should not update anchorNode")
    at assertSelectionNoChange ( /selection/common.js:978:5)
Pass
assert_equals(0, 0, "The operation should not update anchorOffset")
    at assertSelectionNoChange ( /selection/common.js:980:5)
Pass
assert_equals(Element node <html><head><title>Selection extend() tests</title> <meta..., Element node <html><head><title>Selection extend() tests</title> <meta..., "The operation should not update focusNode")
    at assertSelectionNoChange ( /selection/common.js:982:5)
Pass
assert_equals(1, 1, "The operation should not update focusOffset")
    at assertSelectionNoChange ( /selection/common.js:984:5)
Pass
assert_equals(object "Selection extend() tests   ", object "Selection extend() tests   ", "The operation should not replace a registered Range")
    at assertSelectionNoChange ( /selection/common.js:988:5)
Passextend() backwards with range 15 [document.documentElement, 0, document.documentElement, 1] and point 64 [xmlComment, 4]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(1, 1, "The operation should not add Range")
    at assertSelectionNoChange ( /selection/common.js:976:5)
Pass
assert_equals(Element node <html><head><title>Selection extend() tests</title> <meta..., Element node <html><head><title>Selection extend() tests</title> <meta..., "The operation should not update anchorNode")
    at assertSelectionNoChange ( /selection/common.js:978:5)
Pass
assert_equals(1, 1, "The operation should not update anchorOffset")
    at assertSelectionNoChange ( /selection/common.js:980:5)
Pass
assert_equals(Element node <html><head><title>Selection extend() tests</title> <meta..., Element node <html><head><title>Selection extend() tests</title> <meta..., "The operation should not update focusNode")
    at assertSelectionNoChange ( /selection/common.js:982:5)
Pass
assert_equals(0, 0, "The operation should not update focusOffset")
    at assertSelectionNoChange ( /selection/common.js:984:5)
Pass
assert_equals(object "Selection extend() tests   ", object "Selection extend() tests   ", "The operation should not replace a registered Range")
    at assertSelectionNoChange ( /selection/common.js:988:5)
Passextend() forwards with range 15 [document.documentElement, 0, document.documentElement, 1] and point 65 [processingInstruction, 0]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(1, 1, "The operation should not add Range")
    at assertSelectionNoChange ( /selection/common.js:976:5)
Pass
assert_equals(Element node <html><head><title>Selection extend() tests</title> <meta..., Element node <html><head><title>Selection extend() tests</title> <meta..., "The operation should not update anchorNode")
    at assertSelectionNoChange ( /selection/common.js:978:5)
Pass
assert_equals(0, 0, "The operation should not update anchorOffset")
    at assertSelectionNoChange ( /selection/common.js:980:5)
Pass
assert_equals(Element node <html><head><title>Selection extend() tests</title> <meta..., Element node <html><head><title>Selection extend() tests</title> <meta..., "The operation should not update focusNode")
    at assertSelectionNoChange ( /selection/common.js:982:5)
Pass
assert_equals(1, 1, "The operation should not update focusOffset")
    at assertSelectionNoChange ( /selection/common.js:984:5)
Pass
assert_equals(object "Selection extend() tests   ", object "Selection extend() tests   ", "The operation should not replace a registered Range")
    at assertSelectionNoChange ( /selection/common.js:988:5)
Passextend() backwards with range 15 [document.documentElement, 0, document.documentElement, 1] and point 65 [processingInstruction, 0]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(1, 1, "The operation should not add Range")
    at assertSelectionNoChange ( /selection/common.js:976:5)
Pass
assert_equals(Element node <html><head><title>Selection extend() tests</title> <meta..., Element node <html><head><title>Selection extend() tests</title> <meta..., "The operation should not update anchorNode")
    at assertSelectionNoChange ( /selection/common.js:978:5)
Pass
assert_equals(1, 1, "The operation should not update anchorOffset")
    at assertSelectionNoChange ( /selection/common.js:980:5)
Pass
assert_equals(Element node <html><head><title>Selection extend() tests</title> <meta..., Element node <html><head><title>Selection extend() tests</title> <meta..., "The operation should not update focusNode")
    at assertSelectionNoChange ( /selection/common.js:982:5)
Pass
assert_equals(0, 0, "The operation should not update focusOffset")
    at assertSelectionNoChange ( /selection/common.js:984:5)
Pass
assert_equals(object "Selection extend() tests   ", object "Selection extend() tests   ", "The operation should not replace a registered Range")
    at assertSelectionNoChange ( /selection/common.js:988:5)
Passextend() forwards with range 15 [document.documentElement, 0, document.documentElement, 1] and point 66 [processingInstruction, 5]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(1, 1, "The operation should not add Range")
    at assertSelectionNoChange ( /selection/common.js:976:5)
Pass
assert_equals(Element node <html><head><title>Selection extend() tests</title> <meta..., Element node <html><head><title>Selection extend() tests</title> <meta..., "The operation should not update anchorNode")
    at assertSelectionNoChange ( /selection/common.js:978:5)
Pass
assert_equals(0, 0, "The operation should not update anchorOffset")
    at assertSelectionNoChange ( /selection/common.js:980:5)
Pass
assert_equals(Element node <html><head><title>Selection extend() tests</title> <meta..., Element node <html><head><title>Selection extend() tests</title> <meta..., "The operation should not update focusNode")
    at assertSelectionNoChange ( /selection/common.js:982:5)
Pass
assert_equals(1, 1, "The operation should not update focusOffset")
    at assertSelectionNoChange ( /selection/common.js:984:5)
Pass
assert_equals(object "Selection extend() tests   ", object "Selection extend() tests   ", "The operation should not replace a registered Range")
    at assertSelectionNoChange ( /selection/common.js:988:5)
Passextend() backwards with range 15 [document.documentElement, 0, document.documentElement, 1] and point 66 [processingInstruction, 5]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(1, 1, "The operation should not add Range")
    at assertSelectionNoChange ( /selection/common.js:976:5)
Pass
assert_equals(Element node <html><head><title>Selection extend() tests</title> <meta..., Element node <html><head><title>Selection extend() tests</title> <meta..., "The operation should not update anchorNode")
    at assertSelectionNoChange ( /selection/common.js:978:5)
Pass
assert_equals(1, 1, "The operation should not update anchorOffset")
    at assertSelectionNoChange ( /selection/common.js:980:5)
Pass
assert_equals(Element node <html><head><title>Selection extend() tests</title> <meta..., Element node <html><head><title>Selection extend() tests</title> <meta..., "The operation should not update focusNode")
    at assertSelectionNoChange ( /selection/common.js:982:5)
Pass
assert_equals(0, 0, "The operation should not update focusOffset")
    at assertSelectionNoChange ( /selection/common.js:984:5)
Pass
assert_equals(object "Selection extend() tests   ", object "Selection extend() tests   ", "The operation should not replace a registered Range")
    at assertSelectionNoChange ( /selection/common.js:988:5)
Passextend() forwards with range 15 [document.documentElement, 0, document.documentElement, 1] and point 67 [processingInstruction, 9]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(1, 1, "The operation should not add Range")
    at assertSelectionNoChange ( /selection/common.js:976:5)
Pass
assert_equals(Element node <html><head><title>Selection extend() tests</title> <meta..., Element node <html><head><title>Selection extend() tests</title> <meta..., "The operation should not update anchorNode")
    at assertSelectionNoChange ( /selection/common.js:978:5)
Pass
assert_equals(0, 0, "The operation should not update anchorOffset")
    at assertSelectionNoChange ( /selection/common.js:980:5)
Pass
assert_equals(Element node <html><head><title>Selection extend() tests</title> <meta..., Element node <html><head><title>Selection extend() tests</title> <meta..., "The operation should not update focusNode")
    at assertSelectionNoChange ( /selection/common.js:982:5)
Pass
assert_equals(1, 1, "The operation should not update focusOffset")
    at assertSelectionNoChange ( /selection/common.js:984:5)
Pass
assert_equals(object "Selection extend() tests   ", object "Selection extend() tests   ", "The operation should not replace a registered Range")
    at assertSelectionNoChange ( /selection/common.js:988:5)
Passextend() backwards with range 15 [document.documentElement, 0, document.documentElement, 1] and point 67 [processingInstruction, 9]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(1, 1, "The operation should not add Range")
    at assertSelectionNoChange ( /selection/common.js:976:5)
Pass
assert_equals(Element node <html><head><title>Selection extend() tests</title> <meta..., Element node <html><head><title>Selection extend() tests</title> <meta..., "The operation should not update anchorNode")
    at assertSelectionNoChange ( /selection/common.js:978:5)
Pass
assert_equals(1, 1, "The operation should not update anchorOffset")
    at assertSelectionNoChange ( /selection/common.js:980:5)
Pass
assert_equals(Element node <html><head><title>Selection extend() tests</title> <meta..., Element node <html><head><title>Selection extend() tests</title> <meta..., "The operation should not update focusNode")
    at assertSelectionNoChange ( /selection/common.js:982:5)
Pass
assert_equals(0, 0, "The operation should not update focusOffset")
    at assertSelectionNoChange ( /selection/common.js:984:5)
Pass
assert_equals(object "Selection extend() tests   ", object "Selection extend() tests   ", "The operation should not replace a registered Range")
    at assertSelectionNoChange ( /selection/common.js:988:5)
Passextend() forwards with range 15 [document.documentElement, 0, document.documentElement, 1] and point 68 [detachedTextNode, 0]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(1, 1, "The operation should not add Range")
    at assertSelectionNoChange ( /selection/common.js:976:5)
Pass
assert_equals(Element node <html><head><title>Selection extend() tests</title> <meta..., Element node <html><head><title>Selection extend() tests</title> <meta..., "The operation should not update anchorNode")
    at assertSelectionNoChange ( /selection/common.js:978:5)
Pass
assert_equals(0, 0, "The operation should not update anchorOffset")
    at assertSelectionNoChange ( /selection/common.js:980:5)
Pass
assert_equals(Element node <html><head><title>Selection extend() tests</title> <meta..., Element node <html><head><title>Selection extend() tests</title> <meta..., "The operation should not update focusNode")
    at assertSelectionNoChange ( /selection/common.js:982:5)
Pass
assert_equals(1, 1, "The operation should not update focusOffset")
    at assertSelectionNoChange ( /selection/common.js:984:5)
Pass
assert_equals(object "Selection extend() tests   ", object "Selection extend() tests   ", "The operation should not replace a registered Range")
    at assertSelectionNoChange ( /selection/common.js:988:5)
Passextend() backwards with range 15 [document.documentElement, 0, document.documentElement, 1] and point 68 [detachedTextNode, 0]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(1, 1, "The operation should not add Range")
    at assertSelectionNoChange ( /selection/common.js:976:5)
Pass
assert_equals(Element node <html><head><title>Selection extend() tests</title> <meta..., Element node <html><head><title>Selection extend() tests</title> <meta..., "The operation should not update anchorNode")
    at assertSelectionNoChange ( /selection/common.js:978:5)
Pass
assert_equals(1, 1, "The operation should not update anchorOffset")
    at assertSelectionNoChange ( /selection/common.js:980:5)
Pass
assert_equals(Element node <html><head><title>Selection extend() tests</title> <meta..., Element node <html><head><title>Selection extend() tests</title> <meta..., "The operation should not update focusNode")
    at assertSelectionNoChange ( /selection/common.js:982:5)
Pass
assert_equals(0, 0, "The operation should not update focusOffset")
    at assertSelectionNoChange ( /selection/common.js:984:5)
Pass
assert_equals(object "Selection extend() tests   ", object "Selection extend() tests   ", "The operation should not replace a registered Range")
    at assertSelectionNoChange ( /selection/common.js:988:5)
Passextend() forwards with range 15 [document.documentElement, 0, document.documentElement, 1] and point 69 [detachedTextNode, 8]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(1, 1, "The operation should not add Range")
    at assertSelectionNoChange ( /selection/common.js:976:5)
Pass
assert_equals(Element node <html><head><title>Selection extend() tests</title> <meta..., Element node <html><head><title>Selection extend() tests</title> <meta..., "The operation should not update anchorNode")
    at assertSelectionNoChange ( /selection/common.js:978:5)
Pass
assert_equals(0, 0, "The operation should not update anchorOffset")
    at assertSelectionNoChange ( /selection/common.js:980:5)
Pass
assert_equals(Element node <html><head><title>Selection extend() tests</title> <meta..., Element node <html><head><title>Selection extend() tests</title> <meta..., "The operation should not update focusNode")
    at assertSelectionNoChange ( /selection/common.js:982:5)
Pass
assert_equals(1, 1, "The operation should not update focusOffset")
    at assertSelectionNoChange ( /selection/common.js:984:5)
Pass
assert_equals(object "Selection extend() tests   ", object "Selection extend() tests   ", "The operation should not replace a registered Range")
    at assertSelectionNoChange ( /selection/common.js:988:5)
Passextend() backwards with range 15 [document.documentElement, 0, document.documentElement, 1] and point 69 [detachedTextNode, 8]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(1, 1, "The operation should not add Range")
    at assertSelectionNoChange ( /selection/common.js:976:5)
Pass
assert_equals(Element node <html><head><title>Selection extend() tests</title> <meta..., Element node <html><head><title>Selection extend() tests</title> <meta..., "The operation should not update anchorNode")
    at assertSelectionNoChange ( /selection/common.js:978:5)
Pass
assert_equals(1, 1, "The operation should not update anchorOffset")
    at assertSelectionNoChange ( /selection/common.js:980:5)
Pass
assert_equals(Element node <html><head><title>Selection extend() tests</title> <meta..., Element node <html><head><title>Selection extend() tests</title> <meta..., "The operation should not update focusNode")
    at assertSelectionNoChange ( /selection/common.js:982:5)
Pass
assert_equals(0, 0, "The operation should not update focusOffset")
    at assertSelectionNoChange ( /selection/common.js:984:5)
Pass
assert_equals(object "Selection extend() tests   ", object "Selection extend() tests   ", "The operation should not replace a registered Range")
    at assertSelectionNoChange ( /selection/common.js:988:5)
Passextend() forwards with range 15 [document.documentElement, 0, document.documentElement, 1] and point 70 [detachedForeignTextNode, 0]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(1, 1, "The operation should not add Range")
    at assertSelectionNoChange ( /selection/common.js:976:5)
Pass
assert_equals(Element node <html><head><title>Selection extend() tests</title> <meta..., Element node <html><head><title>Selection extend() tests</title> <meta..., "The operation should not update anchorNode")
    at assertSelectionNoChange ( /selection/common.js:978:5)
Pass
assert_equals(0, 0, "The operation should not update anchorOffset")
    at assertSelectionNoChange ( /selection/common.js:980:5)
Pass
assert_equals(Element node <html><head><title>Selection extend() tests</title> <meta..., Element node <html><head><title>Selection extend() tests</title> <meta..., "The operation should not update focusNode")
    at assertSelectionNoChange ( /selection/common.js:982:5)
Pass
assert_equals(1, 1, "The operation should not update focusOffset")
    at assertSelectionNoChange ( /selection/common.js:984:5)
Pass
assert_equals(object "Selection extend() tests   ", object "Selection extend() tests   ", "The operation should not replace a registered Range")
    at assertSelectionNoChange ( /selection/common.js:988:5)
Passextend() backwards with range 15 [document.documentElement, 0, document.documentElement, 1] and point 70 [detachedForeignTextNode, 0]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(1, 1, "The operation should not add Range")
    at assertSelectionNoChange ( /selection/common.js:976:5)
Pass
assert_equals(Element node <html><head><title>Selection extend() tests</title> <meta..., Element node <html><head><title>Selection extend() tests</title> <meta..., "The operation should not update anchorNode")
    at assertSelectionNoChange ( /selection/common.js:978:5)
Pass
assert_equals(1, 1, "The operation should not update anchorOffset")
    at assertSelectionNoChange ( /selection/common.js:980:5)
Pass
assert_equals(Element node <html><head><title>Selection extend() tests</title> <meta..., Element node <html><head><title>Selection extend() tests</title> <meta..., "The operation should not update focusNode")
    at assertSelectionNoChange ( /selection/common.js:982:5)
Pass
assert_equals(0, 0, "The operation should not update focusOffset")
    at assertSelectionNoChange ( /selection/common.js:984:5)
Pass
assert_equals(object "Selection extend() tests   ", object "Selection extend() tests   ", "The operation should not replace a registered Range")
    at assertSelectionNoChange ( /selection/common.js:988:5)
Passextend() forwards with range 15 [document.documentElement, 0, document.documentElement, 1] and point 71 [detachedForeignTextNode, 8]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(1, 1, "The operation should not add Range")
    at assertSelectionNoChange ( /selection/common.js:976:5)
Pass
assert_equals(Element node <html><head><title>Selection extend() tests</title> <meta..., Element node <html><head><title>Selection extend() tests</title> <meta..., "The operation should not update anchorNode")
    at assertSelectionNoChange ( /selection/common.js:978:5)
Pass
assert_equals(0, 0, "The operation should not update anchorOffset")
    at assertSelectionNoChange ( /selection/common.js:980:5)
Pass
assert_equals(Element node <html><head><title>Selection extend() tests</title> <meta..., Element node <html><head><title>Selection extend() tests</title> <meta..., "The operation should not update focusNode")
    at assertSelectionNoChange ( /selection/common.js:982:5)
Pass
assert_equals(1, 1, "The operation should not update focusOffset")
    at assertSelectionNoChange ( /selection/common.js:984:5)
Pass
assert_equals(object "Selection extend() tests   ", object "Selection extend() tests   ", "The operation should not replace a registered Range")
    at assertSelectionNoChange ( /selection/common.js:988:5)
Passextend() backwards with range 15 [document.documentElement, 0, document.documentElement, 1] and point 71 [detachedForeignTextNode, 8]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(1, 1, "The operation should not add Range")
    at assertSelectionNoChange ( /selection/common.js:976:5)
Pass
assert_equals(Element node <html><head><title>Selection extend() tests</title> <meta..., Element node <html><head><title>Selection extend() tests</title> <meta..., "The operation should not update anchorNode")
    at assertSelectionNoChange ( /selection/common.js:978:5)
Pass
assert_equals(1, 1, "The operation should not update anchorOffset")
    at assertSelectionNoChange ( /selection/common.js:980:5)
Pass
assert_equals(Element node <html><head><title>Selection extend() tests</title> <meta..., Element node <html><head><title>Selection extend() tests</title> <meta..., "The operation should not update focusNode")
    at assertSelectionNoChange ( /selection/common.js:982:5)
Pass
assert_equals(0, 0, "The operation should not update focusOffset")
    at assertSelectionNoChange ( /selection/common.js:984:5)
Pass
assert_equals(object "Selection extend() tests   ", object "Selection extend() tests   ", "The operation should not replace a registered Range")
    at assertSelectionNoChange ( /selection/common.js:988:5)
Passextend() forwards with range 15 [document.documentElement, 0, document.documentElement, 1] and point 72 [detachedXmlTextNode, 0]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(1, 1, "The operation should not add Range")
    at assertSelectionNoChange ( /selection/common.js:976:5)
Pass
assert_equals(Element node <html><head><title>Selection extend() tests</title> <meta..., Element node <html><head><title>Selection extend() tests</title> <meta..., "The operation should not update anchorNode")
    at assertSelectionNoChange ( /selection/common.js:978:5)
Pass
assert_equals(0, 0, "The operation should not update anchorOffset")
    at assertSelectionNoChange ( /selection/common.js:980:5)
Pass
assert_equals(Element node <html><head><title>Selection extend() tests</title> <meta..., Element node <html><head><title>Selection extend() tests</title> <meta..., "The operation should not update focusNode")
    at assertSelectionNoChange ( /selection/common.js:982:5)
Pass
assert_equals(1, 1, "The operation should not update focusOffset")
    at assertSelectionNoChange ( /selection/common.js:984:5)
Pass
assert_equals(object "Selection extend() tests   ", object "Selection extend() tests   ", "The operation should not replace a registered Range")
    at assertSelectionNoChange ( /selection/common.js:988:5)
Passextend() backwards with range 15 [document.documentElement, 0, document.documentElement, 1] and point 72 [detachedXmlTextNode, 0]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(1, 1, "The operation should not add Range")
    at assertSelectionNoChange ( /selection/common.js:976:5)
Pass
assert_equals(Element node <html><head><title>Selection extend() tests</title> <meta..., Element node <html><head><title>Selection extend() tests</title> <meta..., "The operation should not update anchorNode")
    at assertSelectionNoChange ( /selection/common.js:978:5)
Pass
assert_equals(1, 1, "The operation should not update anchorOffset")
    at assertSelectionNoChange ( /selection/common.js:980:5)
Pass
assert_equals(Element node <html><head><title>Selection extend() tests</title> <meta..., Element node <html><head><title>Selection extend() tests</title> <meta..., "The operation should not update focusNode")
    at assertSelectionNoChange ( /selection/common.js:982:5)
Pass
assert_equals(0, 0, "The operation should not update focusOffset")
    at assertSelectionNoChange ( /selection/common.js:984:5)
Pass
assert_equals(object "Selection extend() tests   ", object "Selection extend() tests   ", "The operation should not replace a registered Range")
    at assertSelectionNoChange ( /selection/common.js:988:5)
Passextend() forwards with range 15 [document.documentElement, 0, document.documentElement, 1] and point 73 [detachedXmlTextNode, 8]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(1, 1, "The operation should not add Range")
    at assertSelectionNoChange ( /selection/common.js:976:5)
Pass
assert_equals(Element node <html><head><title>Selection extend() tests</title> <meta..., Element node <html><head><title>Selection extend() tests</title> <meta..., "The operation should not update anchorNode")
    at assertSelectionNoChange ( /selection/common.js:978:5)
Pass
assert_equals(0, 0, "The operation should not update anchorOffset")
    at assertSelectionNoChange ( /selection/common.js:980:5)
Pass
assert_equals(Element node <html><head><title>Selection extend() tests</title> <meta..., Element node <html><head><title>Selection extend() tests</title> <meta..., "The operation should not update focusNode")
    at assertSelectionNoChange ( /selection/common.js:982:5)
Pass
assert_equals(1, 1, "The operation should not update focusOffset")
    at assertSelectionNoChange ( /selection/common.js:984:5)
Pass
assert_equals(object "Selection extend() tests   ", object "Selection extend() tests   ", "The operation should not replace a registered Range")
    at assertSelectionNoChange ( /selection/common.js:988:5)
Passextend() backwards with range 15 [document.documentElement, 0, document.documentElement, 1] and point 73 [detachedXmlTextNode, 8]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(1, 1, "The operation should not add Range")
    at assertSelectionNoChange ( /selection/common.js:976:5)
Pass
assert_equals(Element node <html><head><title>Selection extend() tests</title> <meta..., Element node <html><head><title>Selection extend() tests</title> <meta..., "The operation should not update anchorNode")
    at assertSelectionNoChange ( /selection/common.js:978:5)
Pass
assert_equals(1, 1, "The operation should not update anchorOffset")
    at assertSelectionNoChange ( /selection/common.js:980:5)
Pass
assert_equals(Element node <html><head><title>Selection extend() tests</title> <meta..., Element node <html><head><title>Selection extend() tests</title> <meta..., "The operation should not update focusNode")
    at assertSelectionNoChange ( /selection/common.js:982:5)
Pass
assert_equals(0, 0, "The operation should not update focusOffset")
    at assertSelectionNoChange ( /selection/common.js:984:5)
Pass
assert_equals(object "Selection extend() tests   ", object "Selection extend() tests   ", "The operation should not replace a registered Range")
    at assertSelectionNoChange ( /selection/common.js:988:5)
Passextend() forwards with range 15 [document.documentElement, 0, document.documentElement, 1] and point 74 [detachedProcessingInstruction, 12]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(1, 1, "The operation should not add Range")
    at assertSelectionNoChange ( /selection/common.js:976:5)
Pass
assert_equals(Element node <html><head><title>Selection extend() tests</title> <meta..., Element node <html><head><title>Selection extend() tests</title> <meta..., "The operation should not update anchorNode")
    at assertSelectionNoChange ( /selection/common.js:978:5)
Pass
assert_equals(0, 0, "The operation should not update anchorOffset")
    at assertSelectionNoChange ( /selection/common.js:980:5)
Pass
assert_equals(Element node <html><head><title>Selection extend() tests</title> <meta..., Element node <html><head><title>Selection extend() tests</title> <meta..., "The operation should not update focusNode")
    at assertSelectionNoChange ( /selection/common.js:982:5)
Pass
assert_equals(1, 1, "The operation should not update focusOffset")
    at assertSelectionNoChange ( /selection/common.js:984:5)
Pass
assert_equals(object "Selection extend() tests   ", object "Selection extend() tests   ", "The operation should not replace a registered Range")
    at assertSelectionNoChange ( /selection/common.js:988:5)
Passextend() backwards with range 15 [document.documentElement, 0, document.documentElement, 1] and point 74 [detachedProcessingInstruction, 12]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(1, 1, "The operation should not add Range")
    at assertSelectionNoChange ( /selection/common.js:976:5)
Pass
assert_equals(Element node <html><head><title>Selection extend() tests</title> <meta..., Element node <html><head><title>Selection extend() tests</title> <meta..., "The operation should not update anchorNode")
    at assertSelectionNoChange ( /selection/common.js:978:5)
Pass
assert_equals(1, 1, "The operation should not update anchorOffset")
    at assertSelectionNoChange ( /selection/common.js:980:5)
Pass
assert_equals(Element node <html><head><title>Selection extend() tests</title> <meta..., Element node <html><head><title>Selection extend() tests</title> <meta..., "The operation should not update focusNode")
    at assertSelectionNoChange ( /selection/common.js:982:5)
Pass
assert_equals(0, 0, "The operation should not update focusOffset")
    at assertSelectionNoChange ( /selection/common.js:984:5)
Pass
assert_equals(object "Selection extend() tests   ", object "Selection extend() tests   ", "The operation should not replace a registered Range")
    at assertSelectionNoChange ( /selection/common.js:988:5)
Passextend() forwards with range 15 [document.documentElement, 0, document.documentElement, 1] and point 75 [detachedComment, 3]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(1, 1, "The operation should not add Range")
    at assertSelectionNoChange ( /selection/common.js:976:5)
Pass
assert_equals(Element node <html><head><title>Selection extend() tests</title> <meta..., Element node <html><head><title>Selection extend() tests</title> <meta..., "The operation should not update anchorNode")
    at assertSelectionNoChange ( /selection/common.js:978:5)
Pass
assert_equals(0, 0, "The operation should not update anchorOffset")
    at assertSelectionNoChange ( /selection/common.js:980:5)
Pass
assert_equals(Element node <html><head><title>Selection extend() tests</title> <meta..., Element node <html><head><title>Selection extend() tests</title> <meta..., "The operation should not update focusNode")
    at assertSelectionNoChange ( /selection/common.js:982:5)
Pass
assert_equals(1, 1, "The operation should not update focusOffset")
    at assertSelectionNoChange ( /selection/common.js:984:5)
Pass
assert_equals(object "Selection extend() tests   ", object "Selection extend() tests   ", "The operation should not replace a registered Range")
    at assertSelectionNoChange ( /selection/common.js:988:5)
Passextend() backwards with range 15 [document.documentElement, 0, document.documentElement, 1] and point 75 [detachedComment, 3]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(1, 1, "The operation should not add Range")
    at assertSelectionNoChange ( /selection/common.js:976:5)
Pass
assert_equals(Element node <html><head><title>Selection extend() tests</title> <meta..., Element node <html><head><title>Selection extend() tests</title> <meta..., "The operation should not update anchorNode")
    at assertSelectionNoChange ( /selection/common.js:978:5)
Pass
assert_equals(1, 1, "The operation should not update anchorOffset")
    at assertSelectionNoChange ( /selection/common.js:980:5)
Pass
assert_equals(Element node <html><head><title>Selection extend() tests</title> <meta..., Element node <html><head><title>Selection extend() tests</title> <meta..., "The operation should not update focusNode")
    at assertSelectionNoChange ( /selection/common.js:982:5)
Pass
assert_equals(0, 0, "The operation should not update focusOffset")
    at assertSelectionNoChange ( /selection/common.js:984:5)
Pass
assert_equals(object "Selection extend() tests   ", object "Selection extend() tests   ", "The operation should not replace a registered Range")
    at assertSelectionNoChange ( /selection/common.js:988:5)
Passextend() forwards with range 15 [document.documentElement, 0, document.documentElement, 1] and point 76 [detachedComment, 5]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(1, 1, "The operation should not add Range")
    at assertSelectionNoChange ( /selection/common.js:976:5)
Pass
assert_equals(Element node <html><head><title>Selection extend() tests</title> <meta..., Element node <html><head><title>Selection extend() tests</title> <meta..., "The operation should not update anchorNode")
    at assertSelectionNoChange ( /selection/common.js:978:5)
Pass
assert_equals(0, 0, "The operation should not update anchorOffset")
    at assertSelectionNoChange ( /selection/common.js:980:5)
Pass
assert_equals(Element node <html><head><title>Selection extend() tests</title> <meta..., Element node <html><head><title>Selection extend() tests</title> <meta..., "The operation should not update focusNode")
    at assertSelectionNoChange ( /selection/common.js:982:5)
Pass
assert_equals(1, 1, "The operation should not update focusOffset")
    at assertSelectionNoChange ( /selection/common.js:984:5)
Pass
assert_equals(object "Selection extend() tests   ", object "Selection extend() tests   ", "The operation should not replace a registered Range")
    at assertSelectionNoChange ( /selection/common.js:988:5)
Passextend() backwards with range 15 [document.documentElement, 0, document.documentElement, 1] and point 76 [detachedComment, 5]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(1, 1, "The operation should not add Range")
    at assertSelectionNoChange ( /selection/common.js:976:5)
Pass
assert_equals(Element node <html><head><title>Selection extend() tests</title> <meta..., Element node <html><head><title>Selection extend() tests</title> <meta..., "The operation should not update anchorNode")
    at assertSelectionNoChange ( /selection/common.js:978:5)
Pass
assert_equals(1, 1, "The operation should not update anchorOffset")
    at assertSelectionNoChange ( /selection/common.js:980:5)
Pass
assert_equals(Element node <html><head><title>Selection extend() tests</title> <meta..., Element node <html><head><title>Selection extend() tests</title> <meta..., "The operation should not update focusNode")
    at assertSelectionNoChange ( /selection/common.js:982:5)
Pass
assert_equals(0, 0, "The operation should not update focusOffset")
    at assertSelectionNoChange ( /selection/common.js:984:5)
Pass
assert_equals(object "Selection extend() tests   ", object "Selection extend() tests   ", "The operation should not replace a registered Range")
    at assertSelectionNoChange ( /selection/common.js:988:5)
Passextend() forwards with range 15 [document.documentElement, 0, document.documentElement, 1] and point 77 [detachedForeignComment, 0]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(1, 1, "The operation should not add Range")
    at assertSelectionNoChange ( /selection/common.js:976:5)
Pass
assert_equals(Element node <html><head><title>Selection extend() tests</title> <meta..., Element node <html><head><title>Selection extend() tests</title> <meta..., "The operation should not update anchorNode")
    at assertSelectionNoChange ( /selection/common.js:978:5)
Pass
assert_equals(0, 0, "The operation should not update anchorOffset")
    at assertSelectionNoChange ( /selection/common.js:980:5)
Pass
assert_equals(Element node <html><head><title>Selection extend() tests</title> <meta..., Element node <html><head><title>Selection extend() tests</title> <meta..., "The operation should not update focusNode")
    at assertSelectionNoChange ( /selection/common.js:982:5)
Pass
assert_equals(1, 1, "The operation should not update focusOffset")
    at assertSelectionNoChange ( /selection/common.js:984:5)
Pass
assert_equals(object "Selection extend() tests   ", object "Selection extend() tests   ", "The operation should not replace a registered Range")
    at assertSelectionNoChange ( /selection/common.js:988:5)
Passextend() backwards with range 15 [document.documentElement, 0, document.documentElement, 1] and point 77 [detachedForeignComment, 0]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(1, 1, "The operation should not add Range")
    at assertSelectionNoChange ( /selection/common.js:976:5)
Pass
assert_equals(Element node <html><head><title>Selection extend() tests</title> <meta..., Element node <html><head><title>Selection extend() tests</title> <meta..., "The operation should not update anchorNode")
    at assertSelectionNoChange ( /selection/common.js:978:5)
Pass
assert_equals(1, 1, "The operation should not update anchorOffset")
    at assertSelectionNoChange ( /selection/common.js:980:5)
Pass
assert_equals(Element node <html><head><title>Selection extend() tests</title> <meta..., Element node <html><head><title>Selection extend() tests</title> <meta..., "The operation should not update focusNode")
    at assertSelectionNoChange ( /selection/common.js:982:5)
Pass
assert_equals(0, 0, "The operation should not update focusOffset")
    at assertSelectionNoChange ( /selection/common.js:984:5)
Pass
assert_equals(object "Selection extend() tests   ", object "Selection extend() tests   ", "The operation should not replace a registered Range")
    at assertSelectionNoChange ( /selection/common.js:988:5)
Passextend() forwards with range 15 [document.documentElement, 0, document.documentElement, 1] and point 78 [detachedForeignComment, 4]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(1, 1, "The operation should not add Range")
    at assertSelectionNoChange ( /selection/common.js:976:5)
Pass
assert_equals(Element node <html><head><title>Selection extend() tests</title> <meta..., Element node <html><head><title>Selection extend() tests</title> <meta..., "The operation should not update anchorNode")
    at assertSelectionNoChange ( /selection/common.js:978:5)
Pass
assert_equals(0, 0, "The operation should not update anchorOffset")
    at assertSelectionNoChange ( /selection/common.js:980:5)
Pass
assert_equals(Element node <html><head><title>Selection extend() tests</title> <meta..., Element node <html><head><title>Selection extend() tests</title> <meta..., "The operation should not update focusNode")
    at assertSelectionNoChange ( /selection/common.js:982:5)
Pass
assert_equals(1, 1, "The operation should not update focusOffset")
    at assertSelectionNoChange ( /selection/common.js:984:5)
Pass
assert_equals(object "Selection extend() tests   ", object "Selection extend() tests   ", "The operation should not replace a registered Range")
    at assertSelectionNoChange ( /selection/common.js:988:5)
Passextend() backwards with range 15 [document.documentElement, 0, document.documentElement, 1] and point 78 [detachedForeignComment, 4]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(1, 1, "The operation should not add Range")
    at assertSelectionNoChange ( /selection/common.js:976:5)
Pass
assert_equals(Element node <html><head><title>Selection extend() tests</title> <meta..., Element node <html><head><title>Selection extend() tests</title> <meta..., "The operation should not update anchorNode")
    at assertSelectionNoChange ( /selection/common.js:978:5)
Pass
assert_equals(1, 1, "The operation should not update anchorOffset")
    at assertSelectionNoChange ( /selection/common.js:980:5)
Pass
assert_equals(Element node <html><head><title>Selection extend() tests</title> <meta..., Element node <html><head><title>Selection extend() tests</title> <meta..., "The operation should not update focusNode")
    at assertSelectionNoChange ( /selection/common.js:982:5)
Pass
assert_equals(0, 0, "The operation should not update focusOffset")
    at assertSelectionNoChange ( /selection/common.js:984:5)
Pass
assert_equals(object "Selection extend() tests   ", object "Selection extend() tests   ", "The operation should not replace a registered Range")
    at assertSelectionNoChange ( /selection/common.js:988:5)
Passextend() forwards with range 15 [document.documentElement, 0, document.documentElement, 1] and point 79 [detachedXmlComment, 2]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(1, 1, "The operation should not add Range")
    at assertSelectionNoChange ( /selection/common.js:976:5)
Pass
assert_equals(Element node <html><head><title>Selection extend() tests</title> <meta..., Element node <html><head><title>Selection extend() tests</title> <meta..., "The operation should not update anchorNode")
    at assertSelectionNoChange ( /selection/common.js:978:5)
Pass
assert_equals(0, 0, "The operation should not update anchorOffset")
    at assertSelectionNoChange ( /selection/common.js:980:5)
Pass
assert_equals(Element node <html><head><title>Selection extend() tests</title> <meta..., Element node <html><head><title>Selection extend() tests</title> <meta..., "The operation should not update focusNode")
    at assertSelectionNoChange ( /selection/common.js:982:5)
Pass
assert_equals(1, 1, "The operation should not update focusOffset")
    at assertSelectionNoChange ( /selection/common.js:984:5)
Pass
assert_equals(object "Selection extend() tests   ", object "Selection extend() tests   ", "The operation should not replace a registered Range")
    at assertSelectionNoChange ( /selection/common.js:988:5)
Passextend() backwards with range 15 [document.documentElement, 0, document.documentElement, 1] and point 79 [detachedXmlComment, 2]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(1, 1, "The operation should not add Range")
    at assertSelectionNoChange ( /selection/common.js:976:5)
Pass
assert_equals(Element node <html><head><title>Selection extend() tests</title> <meta..., Element node <html><head><title>Selection extend() tests</title> <meta..., "The operation should not update anchorNode")
    at assertSelectionNoChange ( /selection/common.js:978:5)
Pass
assert_equals(1, 1, "The operation should not update anchorOffset")
    at assertSelectionNoChange ( /selection/common.js:980:5)
Pass
assert_equals(Element node <html><head><title>Selection extend() tests</title> <meta..., Element node <html><head><title>Selection extend() tests</title> <meta..., "The operation should not update focusNode")
    at assertSelectionNoChange ( /selection/common.js:982:5)
Pass
assert_equals(0, 0, "The operation should not update focusOffset")
    at assertSelectionNoChange ( /selection/common.js:984:5)
Pass
assert_equals(object "Selection extend() tests   ", object "Selection extend() tests   ", "The operation should not replace a registered Range")
    at assertSelectionNoChange ( /selection/common.js:988:5)
Passextend() forwards with range 15 [document.documentElement, 0, document.documentElement, 1] and point 80 [docfrag, 0]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(1, 1, "The operation should not add Range")
    at assertSelectionNoChange ( /selection/common.js:976:5)
Pass
assert_equals(Element node <html><head><title>Selection extend() tests</title> <meta..., Element node <html><head><title>Selection extend() tests</title> <meta..., "The operation should not update anchorNode")
    at assertSelectionNoChange ( /selection/common.js:978:5)
Pass
assert_equals(0, 0, "The operation should not update anchorOffset")
    at assertSelectionNoChange ( /selection/common.js:980:5)
Pass
assert_equals(Element node <html><head><title>Selection extend() tests</title> <meta..., Element node <html><head><title>Selection extend() tests</title> <meta..., "The operation should not update focusNode")
    at assertSelectionNoChange ( /selection/common.js:982:5)
Pass
assert_equals(1, 1, "The operation should not update focusOffset")
    at assertSelectionNoChange ( /selection/common.js:984:5)
Pass
assert_equals(object "Selection extend() tests   ", object "Selection extend() tests   ", "The operation should not replace a registered Range")
    at assertSelectionNoChange ( /selection/common.js:988:5)
Passextend() backwards with range 15 [document.documentElement, 0, document.documentElement, 1] and point 80 [docfrag, 0]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(1, 1, "The operation should not add Range")
    at assertSelectionNoChange ( /selection/common.js:976:5)
Pass
assert_equals(Element node <html><head><title>Selection extend() tests</title> <meta..., Element node <html><head><title>Selection extend() tests</title> <meta..., "The operation should not update anchorNode")
    at assertSelectionNoChange ( /selection/common.js:978:5)
Pass
assert_equals(1, 1, "The operation should not update anchorOffset")
    at assertSelectionNoChange ( /selection/common.js:980:5)
Pass
assert_equals(Element node <html><head><title>Selection extend() tests</title> <meta..., Element node <html><head><title>Selection extend() tests</title> <meta..., "The operation should not update focusNode")
    at assertSelectionNoChange ( /selection/common.js:982:5)
Pass
assert_equals(0, 0, "The operation should not update focusOffset")
    at assertSelectionNoChange ( /selection/common.js:984:5)
Pass
assert_equals(object "Selection extend() tests   ", object "Selection extend() tests   ", "The operation should not replace a registered Range")
    at assertSelectionNoChange ( /selection/common.js:988:5)
Passextend() forwards with range 15 [document.documentElement, 0, document.documentElement, 1] and point 81 [foreignDocfrag, 0]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(1, 1, "The operation should not add Range")
    at assertSelectionNoChange ( /selection/common.js:976:5)
Pass
assert_equals(Element node <html><head><title>Selection extend() tests</title> <meta..., Element node <html><head><title>Selection extend() tests</title> <meta..., "The operation should not update anchorNode")
    at assertSelectionNoChange ( /selection/common.js:978:5)
Pass
assert_equals(0, 0, "The operation should not update anchorOffset")
    at assertSelectionNoChange ( /selection/common.js:980:5)
Pass
assert_equals(Element node <html><head><title>Selection extend() tests</title> <meta..., Element node <html><head><title>Selection extend() tests</title> <meta..., "The operation should not update focusNode")
    at assertSelectionNoChange ( /selection/common.js:982:5)
Pass
assert_equals(1, 1, "The operation should not update focusOffset")
    at assertSelectionNoChange ( /selection/common.js:984:5)
Pass
assert_equals(object "Selection extend() tests   ", object "Selection extend() tests   ", "The operation should not replace a registered Range")
    at assertSelectionNoChange ( /selection/common.js:988:5)
Passextend() backwards with range 15 [document.documentElement, 0, document.documentElement, 1] and point 81 [foreignDocfrag, 0]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(1, 1, "The operation should not add Range")
    at assertSelectionNoChange ( /selection/common.js:976:5)
Pass
assert_equals(Element node <html><head><title>Selection extend() tests</title> <meta..., Element node <html><head><title>Selection extend() tests</title> <meta..., "The operation should not update anchorNode")
    at assertSelectionNoChange ( /selection/common.js:978:5)
Pass
assert_equals(1, 1, "The operation should not update anchorOffset")
    at assertSelectionNoChange ( /selection/common.js:980:5)
Pass
assert_equals(Element node <html><head><title>Selection extend() tests</title> <meta..., Element node <html><head><title>Selection extend() tests</title> <meta..., "The operation should not update focusNode")
    at assertSelectionNoChange ( /selection/common.js:982:5)
Pass
assert_equals(0, 0, "The operation should not update focusOffset")
    at assertSelectionNoChange ( /selection/common.js:984:5)
Pass
assert_equals(object "Selection extend() tests   ", object "Selection extend() tests   ", "The operation should not replace a registered Range")
    at assertSelectionNoChange ( /selection/common.js:988:5)
Passextend() forwards with range 15 [document.documentElement, 0, document.documentElement, 1] and point 82 [xmlDocfrag, 0]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(1, 1, "The operation should not add Range")
    at assertSelectionNoChange ( /selection/common.js:976:5)
Pass
assert_equals(Element node <html><head><title>Selection extend() tests</title> <meta..., Element node <html><head><title>Selection extend() tests</title> <meta..., "The operation should not update anchorNode")
    at assertSelectionNoChange ( /selection/common.js:978:5)
Pass
assert_equals(0, 0, "The operation should not update anchorOffset")
    at assertSelectionNoChange ( /selection/common.js:980:5)
Pass
assert_equals(Element node <html><head><title>Selection extend() tests</title> <meta..., Element node <html><head><title>Selection extend() tests</title> <meta..., "The operation should not update focusNode")
    at assertSelectionNoChange ( /selection/common.js:982:5)
Pass
assert_equals(1, 1, "The operation should not update focusOffset")
    at assertSelectionNoChange ( /selection/common.js:984:5)
Pass
assert_equals(object "Selection extend() tests   ", object "Selection extend() tests   ", "The operation should not replace a registered Range")
    at assertSelectionNoChange ( /selection/common.js:988:5)
Passextend() backwards with range 15 [document.documentElement, 0, document.documentElement, 1] and point 82 [xmlDocfrag, 0]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(1, 1, "The operation should not add Range")
    at assertSelectionNoChange ( /selection/common.js:976:5)
Pass
assert_equals(Element node <html><head><title>Selection extend() tests</title> <meta..., Element node <html><head><title>Selection extend() tests</title> <meta..., "The operation should not update anchorNode")
    at assertSelectionNoChange ( /selection/common.js:978:5)
Pass
assert_equals(1, 1, "The operation should not update anchorOffset")
    at assertSelectionNoChange ( /selection/common.js:980:5)
Pass
assert_equals(Element node <html><head><title>Selection extend() tests</title> <meta..., Element node <html><head><title>Selection extend() tests</title> <meta..., "The operation should not update focusNode")
    at assertSelectionNoChange ( /selection/common.js:982:5)
Pass
assert_equals(0, 0, "The operation should not update focusOffset")
    at assertSelectionNoChange ( /selection/common.js:984:5)
Pass
assert_equals(object "Selection extend() tests   ", object "Selection extend() tests   ", "The operation should not replace a registered Range")
    at assertSelectionNoChange ( /selection/common.js:988:5)
Passextend() forwards with range 15 [document.documentElement, 0, document.documentElement, 1] and point 83 [doctype, 0]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(Element node <html><head><title>Selection extend() tests</title> <meta..., Element node <html><head><title>Selection extend() tests</title> <meta..., "Sanity check: startContainer must be correct")
    at testExtend ( /selection/extend.js:80:5)
Pass
assert_equals(0, 0, "Sanity check: startOffset must be correct")
    at testExtend ( /selection/extend.js:82:5)
Pass
assert_equals(Element node <html><head><title>Selection extend() tests</title> <meta..., Element node <html><head><title>Selection extend() tests</title> <meta..., "Sanity check: endContainer must be correct")
    at testExtend ( /selection/extend.js:84:5)
Pass
assert_equals(1, 1, "Sanity check: endOffset must be correct")
    at testExtend ( /selection/extend.js:86:5)
Pass
assert_throws_dom("INVALID_NODE_TYPE_ERR", function "function() {             selection.extend(node, offset);         }", "extend() to a doctype must throw InvalidNodeTypeError")
    at testExtend ( /selection/extend.js:104:9)
Passextend() backwards with range 15 [document.documentElement, 0, document.documentElement, 1] and point 83 [doctype, 0]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(Element node <html><head><title>Selection extend() tests</title> <meta..., Element node <html><head><title>Selection extend() tests</title> <meta..., "Sanity check: startContainer must be correct")
    at testExtend ( /selection/extend.js:80:5)
Pass
assert_equals(0, 0, "Sanity check: startOffset must be correct")
    at testExtend ( /selection/extend.js:82:5)
Pass
assert_equals(Element node <html><head><title>Selection extend() tests</title> <meta..., Element node <html><head><title>Selection extend() tests</title> <meta..., "Sanity check: endContainer must be correct")
    at testExtend ( /selection/extend.js:84:5)
Pass
assert_equals(1, 1, "Sanity check: endOffset must be correct")
    at testExtend ( /selection/extend.js:86:5)
Pass
assert_throws_dom("INVALID_NODE_TYPE_ERR", function "function() {             selection.extend(node, offset);         }", "extend() to a doctype must throw InvalidNodeTypeError")
    at testExtend ( /selection/extend.js:104:9)
Passextend() forwards with range 15 [document.documentElement, 0, document.documentElement, 1] and point 84 [doctype, -17]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(Element node <html><head><title>Selection extend() tests</title> <meta..., Element node <html><head><title>Selection extend() tests</title> <meta..., "Sanity check: startContainer must be correct")
    at testExtend ( /selection/extend.js:80:5)
Pass
assert_equals(0, 0, "Sanity check: startOffset must be correct")
    at testExtend ( /selection/extend.js:82:5)
Pass
assert_equals(Element node <html><head><title>Selection extend() tests</title> <meta..., Element node <html><head><title>Selection extend() tests</title> <meta..., "Sanity check: endContainer must be correct")
    at testExtend ( /selection/extend.js:84:5)
Pass
assert_equals(1, 1, "Sanity check: endOffset must be correct")
    at testExtend ( /selection/extend.js:86:5)
Pass
assert_throws_dom("INVALID_NODE_TYPE_ERR", function "function() {             selection.extend(node, offset);         }", "extend() to a doctype must throw InvalidNodeTypeError")
    at testExtend ( /selection/extend.js:104:9)
Passextend() backwards with range 15 [document.documentElement, 0, document.documentElement, 1] and point 84 [doctype, -17]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(Element node <html><head><title>Selection extend() tests</title> <meta..., Element node <html><head><title>Selection extend() tests</title> <meta..., "Sanity check: startContainer must be correct")
    at testExtend ( /selection/extend.js:80:5)
Pass
assert_equals(0, 0, "Sanity check: startOffset must be correct")
    at testExtend ( /selection/extend.js:82:5)
Pass
assert_equals(Element node <html><head><title>Selection extend() tests</title> <meta..., Element node <html><head><title>Selection extend() tests</title> <meta..., "Sanity check: endContainer must be correct")
    at testExtend ( /selection/extend.js:84:5)
Pass
assert_equals(1, 1, "Sanity check: endOffset must be correct")
    at testExtend ( /selection/extend.js:86:5)
Pass
assert_throws_dom("INVALID_NODE_TYPE_ERR", function "function() {             selection.extend(node, offset);         }", "extend() to a doctype must throw InvalidNodeTypeError")
    at testExtend ( /selection/extend.js:104:9)
Passextend() forwards with range 15 [document.documentElement, 0, document.documentElement, 1] and point 85 [doctype, 1]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(Element node <html><head><title>Selection extend() tests</title> <meta..., Element node <html><head><title>Selection extend() tests</title> <meta..., "Sanity check: startContainer must be correct")
    at testExtend ( /selection/extend.js:80:5)
Pass
assert_equals(0, 0, "Sanity check: startOffset must be correct")
    at testExtend ( /selection/extend.js:82:5)
Pass
assert_equals(Element node <html><head><title>Selection extend() tests</title> <meta..., Element node <html><head><title>Selection extend() tests</title> <meta..., "Sanity check: endContainer must be correct")
    at testExtend ( /selection/extend.js:84:5)
Pass
assert_equals(1, 1, "Sanity check: endOffset must be correct")
    at testExtend ( /selection/extend.js:86:5)
Pass
assert_throws_dom("INVALID_NODE_TYPE_ERR", function "function() {             selection.extend(node, offset);         }", "extend() to a doctype must throw InvalidNodeTypeError")
    at testExtend ( /selection/extend.js:104:9)
Passextend() backwards with range 15 [document.documentElement, 0, document.documentElement, 1] and point 85 [doctype, 1]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(Element node <html><head><title>Selection extend() tests</title> <meta..., Element node <html><head><title>Selection extend() tests</title> <meta..., "Sanity check: startContainer must be correct")
    at testExtend ( /selection/extend.js:80:5)
Pass
assert_equals(0, 0, "Sanity check: startOffset must be correct")
    at testExtend ( /selection/extend.js:82:5)
Pass
assert_equals(Element node <html><head><title>Selection extend() tests</title> <meta..., Element node <html><head><title>Selection extend() tests</title> <meta..., "Sanity check: endContainer must be correct")
    at testExtend ( /selection/extend.js:84:5)
Pass
assert_equals(1, 1, "Sanity check: endOffset must be correct")
    at testExtend ( /selection/extend.js:86:5)
Pass
assert_throws_dom("INVALID_NODE_TYPE_ERR", function "function() {             selection.extend(node, offset);         }", "extend() to a doctype must throw InvalidNodeTypeError")
    at testExtend ( /selection/extend.js:104:9)
Passextend() forwards with range 15 [document.documentElement, 0, document.documentElement, 1] and point 86 [foreignDoctype, 0]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(1, 1, "The operation should not add Range")
    at assertSelectionNoChange ( /selection/common.js:976:5)
Pass
assert_equals(Element node <html><head><title>Selection extend() tests</title> <meta..., Element node <html><head><title>Selection extend() tests</title> <meta..., "The operation should not update anchorNode")
    at assertSelectionNoChange ( /selection/common.js:978:5)
Pass
assert_equals(0, 0, "The operation should not update anchorOffset")
    at assertSelectionNoChange ( /selection/common.js:980:5)
Pass
assert_equals(Element node <html><head><title>Selection extend() tests</title> <meta..., Element node <html><head><title>Selection extend() tests</title> <meta..., "The operation should not update focusNode")
    at assertSelectionNoChange ( /selection/common.js:982:5)
Pass
assert_equals(1, 1, "The operation should not update focusOffset")
    at assertSelectionNoChange ( /selection/common.js:984:5)
Pass
assert_equals(object "Selection extend() tests   ", object "Selection extend() tests   ", "The operation should not replace a registered Range")
    at assertSelectionNoChange ( /selection/common.js:988:5)
Passextend() backwards with range 15 [document.documentElement, 0, document.documentElement, 1] and point 86 [foreignDoctype, 0]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(1, 1, "The operation should not add Range")
    at assertSelectionNoChange ( /selection/common.js:976:5)
Pass
assert_equals(Element node <html><head><title>Selection extend() tests</title> <meta..., Element node <html><head><title>Selection extend() tests</title> <meta..., "The operation should not update anchorNode")
    at assertSelectionNoChange ( /selection/common.js:978:5)
Pass
assert_equals(1, 1, "The operation should not update anchorOffset")
    at assertSelectionNoChange ( /selection/common.js:980:5)
Pass
assert_equals(Element node <html><head><title>Selection extend() tests</title> <meta..., Element node <html><head><title>Selection extend() tests</title> <meta..., "The operation should not update focusNode")
    at assertSelectionNoChange ( /selection/common.js:982:5)
Pass
assert_equals(0, 0, "The operation should not update focusOffset")
    at assertSelectionNoChange ( /selection/common.js:984:5)
Pass
assert_equals(object "Selection extend() tests   ", object "Selection extend() tests   ", "The operation should not replace a registered Range")
    at assertSelectionNoChange ( /selection/common.js:988:5)
Passextend() forwards with range 15 [document.documentElement, 0, document.documentElement, 1] and point 87 [xmlDoctype, 0]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(1, 1, "The operation should not add Range")
    at assertSelectionNoChange ( /selection/common.js:976:5)
Pass
assert_equals(Element node <html><head><title>Selection extend() tests</title> <meta..., Element node <html><head><title>Selection extend() tests</title> <meta..., "The operation should not update anchorNode")
    at assertSelectionNoChange ( /selection/common.js:978:5)
Pass
assert_equals(0, 0, "The operation should not update anchorOffset")
    at assertSelectionNoChange ( /selection/common.js:980:5)
Pass
assert_equals(Element node <html><head><title>Selection extend() tests</title> <meta..., Element node <html><head><title>Selection extend() tests</title> <meta..., "The operation should not update focusNode")
    at assertSelectionNoChange ( /selection/common.js:982:5)
Pass
assert_equals(1, 1, "The operation should not update focusOffset")
    at assertSelectionNoChange ( /selection/common.js:984:5)
Pass
assert_equals(object "Selection extend() tests   ", object "Selection extend() tests   ", "The operation should not replace a registered Range")
    at assertSelectionNoChange ( /selection/common.js:988:5)
Passextend() backwards with range 15 [document.documentElement, 0, document.documentElement, 1] and point 87 [xmlDoctype, 0]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(1, 1, "The operation should not add Range")
    at assertSelectionNoChange ( /selection/common.js:976:5)
Pass
assert_equals(Element node <html><head><title>Selection extend() tests</title> <meta..., Element node <html><head><title>Selection extend() tests</title> <meta..., "The operation should not update anchorNode")
    at assertSelectionNoChange ( /selection/common.js:978:5)
Pass
assert_equals(1, 1, "The operation should not update anchorOffset")
    at assertSelectionNoChange ( /selection/common.js:980:5)
Pass
assert_equals(Element node <html><head><title>Selection extend() tests</title> <meta..., Element node <html><head><title>Selection extend() tests</title> <meta..., "The operation should not update focusNode")
    at assertSelectionNoChange ( /selection/common.js:982:5)
Pass
assert_equals(0, 0, "The operation should not update focusOffset")
    at assertSelectionNoChange ( /selection/common.js:984:5)
Pass
assert_equals(object "Selection extend() tests   ", object "Selection extend() tests   ", "The operation should not replace a registered Range")
    at assertSelectionNoChange ( /selection/common.js:988:5)
Passextend() forwards with range 16 [document.documentElement, 0, document.documentElement, 2] and point 0 [paras[0].firstChild, -1]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(Element node <html><head><title>Selection extend() tests</title> <meta..., Element node <html><head><title>Selection extend() tests</title> <meta..., "Sanity check: startContainer must be correct")
    at testExtend ( /selection/extend.js:80:5)
Pass
assert_equals(0, 0, "Sanity check: startOffset must be correct")
    at testExtend ( /selection/extend.js:82:5)
Pass
assert_equals(Element node <html><head><title>Selection extend() tests</title> <meta..., Element node <html><head><title>Selection extend() tests</title> <meta..., "Sanity check: endContainer must be correct")
    at testExtend ( /selection/extend.js:84:5)
Pass
assert_equals(2, 2, "Sanity check: endOffset must be correct")
    at testExtend ( /selection/extend.js:86:5)
Pass
assert_throws_dom("INDEX_SIZE_ERR", function "function() {             selection.extend(node, offset);         }", "extend() to an offset that's greater than node length (17) must throw IndexSizeError")
    at testExtend ( /selection/extend.js:117:9)
Passextend() backwards with range 16 [document.documentElement, 0, document.documentElement, 2] and point 0 [paras[0].firstChild, -1]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(Element node <html><head><title>Selection extend() tests</title> <meta..., Element node <html><head><title>Selection extend() tests</title> <meta..., "Sanity check: startContainer must be correct")
    at testExtend ( /selection/extend.js:80:5)
Pass
assert_equals(0, 0, "Sanity check: startOffset must be correct")
    at testExtend ( /selection/extend.js:82:5)
Pass
assert_equals(Element node <html><head><title>Selection extend() tests</title> <meta..., Element node <html><head><title>Selection extend() tests</title> <meta..., "Sanity check: endContainer must be correct")
    at testExtend ( /selection/extend.js:84:5)
Pass
assert_equals(2, 2, "Sanity check: endOffset must be correct")
    at testExtend ( /selection/extend.js:86:5)
Pass
assert_throws_dom("INDEX_SIZE_ERR", function "function() {             selection.extend(node, offset);         }", "extend() to an offset that's greater than node length (17) must throw IndexSizeError")
    at testExtend ( /selection/extend.js:117:9)
Passextend() forwards with range 16 [document.documentElement, 0, document.documentElement, 2] and point 1 [paras[0].firstChild, 0]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(Element node <html><head><title>Selection extend() tests</title> <meta..., Element node <html><head><title>Selection extend() tests</title> <meta..., "Sanity check: startContainer must be correct")
    at testExtend ( /selection/extend.js:80:5)
Pass
assert_equals(0, 0, "Sanity check: startOffset must be correct")
    at testExtend ( /selection/extend.js:82:5)
Pass
assert_equals(Element node <html><head><title>Selection extend() tests</title> <meta..., Element node <html><head><title>Selection extend() tests</title> <meta..., "Sanity check: endContainer must be correct")
    at testExtend ( /selection/extend.js:84:5)
Pass
assert_equals(2, 2, "Sanity check: endOffset must be correct")
    at testExtend ( /selection/extend.js:86:5)
Pass
assert_equals(Element node <html><head><title>Selection extend() tests</title> <meta..., Element node <html><head><title>Selection extend() tests</title> <meta..., "anchorNode must not change if the node passed to extend() has the same root as the original range")
    at testExtend ( /selection/extend.js:145:9)
Pass
assert_equals(0, 0, "anchorOffset must not change if the node passed to extend() has the same root as the original range")
    at testExtend ( /selection/extend.js:147:9)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "focusNode must be the node passed to extend()")
    at testExtend ( /selection/extend.js:155:5)
Pass
assert_equals(0, 0, "focusOffset must be the offset passed to extend()")
    at testExtend ( /selection/extend.js:157:5)
Pass
assert_not_equals(object "Selection extend() tests   ", object "Selection extend() tests   Äb̈c̈d̈ëf̈g̈ḧ Ijklmnop QrstuvwxYzabcdefGhijklmn     Running, 1000 complete, 1 remain  "use strict";  testExtendSubSet(0, 20); testDiv.style.display = "none"; ", "extend() must replace any existing range with a new one, not mutate the existing one")
    at testExtend ( /selection/extend.js:159:5)
Passextend() backwards with range 16 [document.documentElement, 0, document.documentElement, 2] and point 1 [paras[0].firstChild, 0]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(Element node <html><head><title>Selection extend() tests</title> <meta..., Element node <html><head><title>Selection extend() tests</title> <meta..., "Sanity check: startContainer must be correct")
    at testExtend ( /selection/extend.js:80:5)
Pass
assert_equals(0, 0, "Sanity check: startOffset must be correct")
    at testExtend ( /selection/extend.js:82:5)
Pass
assert_equals(Element node <html><head><title>Selection extend() tests</title> <meta..., Element node <html><head><title>Selection extend() tests</title> <meta..., "Sanity check: endContainer must be correct")
    at testExtend ( /selection/extend.js:84:5)
Pass
assert_equals(2, 2, "Sanity check: endOffset must be correct")
    at testExtend ( /selection/extend.js:86:5)
Pass
assert_equals(Element node <html><head><title>Selection extend() tests</title> <meta..., Element node <html><head><title>Selection extend() tests</title> <meta..., "anchorNode must not change if the node passed to extend() has the same root as the original range")
    at testExtend ( /selection/extend.js:145:9)
Pass
assert_equals(2, 2, "anchorOffset must not change if the node passed to extend() has the same root as the original range")
    at testExtend ( /selection/extend.js:147:9)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "focusNode must be the node passed to extend()")
    at testExtend ( /selection/extend.js:155:5)
Pass
assert_equals(0, 0, "focusOffset must be the offset passed to extend()")
    at testExtend ( /selection/extend.js:157:5)
Pass
assert_not_equals(object "Äb̈c̈d̈ëf̈g̈ḧ Ijklmnop QrstuvwxYzabcdefGhijklmn     Running, 1000 complete, 1 remain  "use strict";  testExtendSubSet(0, 20); testDiv.style.display = "none"; ", object "Selection extend() tests   Äb̈c̈d̈ëf̈g̈ḧ Ijklmnop QrstuvwxYzabcdefGhijklmn     Running, 1000 complete, 1 remain  "use strict";  testExtendSubSet(0, 20); testDiv.style.display = "none"; ", "extend() must replace any existing range with a new one, not mutate the existing one")
    at testExtend ( /selection/extend.js:159:5)
Passextend() forwards with range 16 [document.documentElement, 0, document.documentElement, 2] and point 2 [paras[0].firstChild, 1]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(Element node <html><head><title>Selection extend() tests</title> <meta..., Element node <html><head><title>Selection extend() tests</title> <meta..., "Sanity check: startContainer must be correct")
    at testExtend ( /selection/extend.js:80:5)
Pass
assert_equals(0, 0, "Sanity check: startOffset must be correct")
    at testExtend ( /selection/extend.js:82:5)
Pass
assert_equals(Element node <html><head><title>Selection extend() tests</title> <meta..., Element node <html><head><title>Selection extend() tests</title> <meta..., "Sanity check: endContainer must be correct")
    at testExtend ( /selection/extend.js:84:5)
Pass
assert_equals(2, 2, "Sanity check: endOffset must be correct")
    at testExtend ( /selection/extend.js:86:5)
Pass
assert_equals(Element node <html><head><title>Selection extend() tests</title> <meta..., Element node <html><head><title>Selection extend() tests</title> <meta..., "anchorNode must not change if the node passed to extend() has the same root as the original range")
    at testExtend ( /selection/extend.js:145:9)
Pass
assert_equals(0, 0, "anchorOffset must not change if the node passed to extend() has the same root as the original range")
    at testExtend ( /selection/extend.js:147:9)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "focusNode must be the node passed to extend()")
    at testExtend ( /selection/extend.js:155:5)
Pass
assert_equals(1, 1, "focusOffset must be the offset passed to extend()")
    at testExtend ( /selection/extend.js:157:5)
Pass
assert_not_equals(object "Selection extend() tests   A", object "Selection extend() tests   Äb̈c̈d̈ëf̈g̈ḧ Ijklmnop QrstuvwxYzabcdefGhijklmn     Running, 1000 complete, 1 remain  "use strict";  testExtendSubSet(0, 20); testDiv.style.display = "none"; ", "extend() must replace any existing range with a new one, not mutate the existing one")
    at testExtend ( /selection/extend.js:159:5)
Passextend() backwards with range 16 [document.documentElement, 0, document.documentElement, 2] and point 2 [paras[0].firstChild, 1]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(Element node <html><head><title>Selection extend() tests</title> <meta..., Element node <html><head><title>Selection extend() tests</title> <meta..., "Sanity check: startContainer must be correct")
    at testExtend ( /selection/extend.js:80:5)
Pass
assert_equals(0, 0, "Sanity check: startOffset must be correct")
    at testExtend ( /selection/extend.js:82:5)
Pass
assert_equals(Element node <html><head><title>Selection extend() tests</title> <meta..., Element node <html><head><title>Selection extend() tests</title> <meta..., "Sanity check: endContainer must be correct")
    at testExtend ( /selection/extend.js:84:5)
Pass
assert_equals(2, 2, "Sanity check: endOffset must be correct")
    at testExtend ( /selection/extend.js:86:5)
Pass
assert_equals(Element node <html><head><title>Selection extend() tests</title> <meta..., Element node <html><head><title>Selection extend() tests</title> <meta..., "anchorNode must not change if the node passed to extend() has the same root as the original range")
    at testExtend ( /selection/extend.js:145:9)
Pass
assert_equals(2, 2, "anchorOffset must not change if the node passed to extend() has the same root as the original range")
    at testExtend ( /selection/extend.js:147:9)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "focusNode must be the node passed to extend()")
    at testExtend ( /selection/extend.js:155:5)
Pass
assert_equals(1, 1, "focusOffset must be the offset passed to extend()")
    at testExtend ( /selection/extend.js:157:5)
Pass
assert_not_equals(object "̈b̈c̈d̈ëf̈g̈ḧ Ijklmnop QrstuvwxYzabcdefGhijklmn     Running, 1000 complete, 1 remain  "use strict";  testExtendSubSet(0, 20); testDiv.style.display = "none"; ", object "Selection extend() tests   Äb̈c̈d̈ëf̈g̈ḧ Ijklmnop QrstuvwxYzabcdefGhijklmn     Running, 1000 complete, 1 remain  "use strict";  testExtendSubSet(0, 20); testDiv.style.display = "none"; ", "extend() must replace any existing range with a new one, not mutate the existing one")
    at testExtend ( /selection/extend.js:159:5)
Passextend() forwards with range 16 [document.documentElement, 0, document.documentElement, 2] and point 3 [paras[0].firstChild, 2]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(Element node <html><head><title>Selection extend() tests</title> <meta..., Element node <html><head><title>Selection extend() tests</title> <meta..., "Sanity check: startContainer must be correct")
    at testExtend ( /selection/extend.js:80:5)
Pass
assert_equals(0, 0, "Sanity check: startOffset must be correct")
    at testExtend ( /selection/extend.js:82:5)
Pass
assert_equals(Element node <html><head><title>Selection extend() tests</title> <meta..., Element node <html><head><title>Selection extend() tests</title> <meta..., "Sanity check: endContainer must be correct")
    at testExtend ( /selection/extend.js:84:5)
Pass
assert_equals(2, 2, "Sanity check: endOffset must be correct")
    at testExtend ( /selection/extend.js:86:5)
Pass
assert_equals(Element node <html><head><title>Selection extend() tests</title> <meta..., Element node <html><head><title>Selection extend() tests</title> <meta..., "anchorNode must not change if the node passed to extend() has the same root as the original range")
    at testExtend ( /selection/extend.js:145:9)
Pass
assert_equals(0, 0, "anchorOffset must not change if the node passed to extend() has the same root as the original range")
    at testExtend ( /selection/extend.js:147:9)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "focusNode must be the node passed to extend()")
    at testExtend ( /selection/extend.js:155:5)
Pass
assert_equals(2, 2, "focusOffset must be the offset passed to extend()")
    at testExtend ( /selection/extend.js:157:5)
Pass
assert_not_equals(object "Selection extend() tests   Ä", object "Selection extend() tests   Äb̈c̈d̈ëf̈g̈ḧ Ijklmnop QrstuvwxYzabcdefGhijklmn     Running, 1000 complete, 1 remain  "use strict";  testExtendSubSet(0, 20); testDiv.style.display = "none"; ", "extend() must replace any existing range with a new one, not mutate the existing one")
    at testExtend ( /selection/extend.js:159:5)
Passextend() backwards with range 16 [document.documentElement, 0, document.documentElement, 2] and point 3 [paras[0].firstChild, 2]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(Element node <html><head><title>Selection extend() tests</title> <meta..., Element node <html><head><title>Selection extend() tests</title> <meta..., "Sanity check: startContainer must be correct")
    at testExtend ( /selection/extend.js:80:5)
Pass
assert_equals(0, 0, "Sanity check: startOffset must be correct")
    at testExtend ( /selection/extend.js:82:5)
Pass
assert_equals(Element node <html><head><title>Selection extend() tests</title> <meta..., Element node <html><head><title>Selection extend() tests</title> <meta..., "Sanity check: endContainer must be correct")
    at testExtend ( /selection/extend.js:84:5)
Pass
assert_equals(2, 2, "Sanity check: endOffset must be correct")
    at testExtend ( /selection/extend.js:86:5)
Pass
assert_equals(Element node <html><head><title>Selection extend() tests</title> <meta..., Element node <html><head><title>Selection extend() tests</title> <meta..., "anchorNode must not change if the node passed to extend() has the same root as the original range")
    at testExtend ( /selection/extend.js:145:9)
Pass
assert_equals(2, 2, "anchorOffset must not change if the node passed to extend() has the same root as the original range")
    at testExtend ( /selection/extend.js:147:9)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "focusNode must be the node passed to extend()")
    at testExtend ( /selection/extend.js:155:5)
Pass
assert_equals(2, 2, "focusOffset must be the offset passed to extend()")
    at testExtend ( /selection/extend.js:157:5)
Pass
assert_not_equals(object "b̈c̈d̈ëf̈g̈ḧ Ijklmnop QrstuvwxYzabcdefGhijklmn     Running, 1000 complete, 1 remain  "use strict";  testExtendSubSet(0, 20); testDiv.style.display = "none"; ", object "Selection extend() tests   Äb̈c̈d̈ëf̈g̈ḧ Ijklmnop QrstuvwxYzabcdefGhijklmn     Running, 1000 complete, 1 remain  "use strict";  testExtendSubSet(0, 20); testDiv.style.display = "none"; ", "extend() must replace any existing range with a new one, not mutate the existing one")
    at testExtend ( /selection/extend.js:159:5)
Passextend() forwards with range 16 [document.documentElement, 0, document.documentElement, 2] and point 4 [paras[0].firstChild, 8]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(Element node <html><head><title>Selection extend() tests</title> <meta..., Element node <html><head><title>Selection extend() tests</title> <meta..., "Sanity check: startContainer must be correct")
    at testExtend ( /selection/extend.js:80:5)
Pass
assert_equals(0, 0, "Sanity check: startOffset must be correct")
    at testExtend ( /selection/extend.js:82:5)
Pass
assert_equals(Element node <html><head><title>Selection extend() tests</title> <meta..., Element node <html><head><title>Selection extend() tests</title> <meta..., "Sanity check: endContainer must be correct")
    at testExtend ( /selection/extend.js:84:5)
Pass
assert_equals(2, 2, "Sanity check: endOffset must be correct")
    at testExtend ( /selection/extend.js:86:5)
Pass
assert_equals(Element node <html><head><title>Selection extend() tests</title> <meta..., Element node <html><head><title>Selection extend() tests</title> <meta..., "anchorNode must not change if the node passed to extend() has the same root as the original range")
    at testExtend ( /selection/extend.js:145:9)
Pass
assert_equals(0, 0, "anchorOffset must not change if the node passed to extend() has the same root as the original range")
    at testExtend ( /selection/extend.js:147:9)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "focusNode must be the node passed to extend()")
    at testExtend ( /selection/extend.js:155:5)
Pass
assert_equals(8, 8, "focusOffset must be the offset passed to extend()")
    at testExtend ( /selection/extend.js:157:5)
Pass
assert_not_equals(object "Selection extend() tests   Äb̈c̈d̈", object "Selection extend() tests   Äb̈c̈d̈ëf̈g̈ḧ Ijklmnop QrstuvwxYzabcdefGhijklmn     Running, 1000 complete, 1 remain  "use strict";  testExtendSubSet(0, 20); testDiv.style.display = "none"; ", "extend() must replace any existing range with a new one, not mutate the existing one")
    at testExtend ( /selection/extend.js:159:5)
Passextend() backwards with range 16 [document.documentElement, 0, document.documentElement, 2] and point 4 [paras[0].firstChild, 8]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(Element node <html><head><title>Selection extend() tests</title> <meta..., Element node <html><head><title>Selection extend() tests</title> <meta..., "Sanity check: startContainer must be correct")
    at testExtend ( /selection/extend.js:80:5)
Pass
assert_equals(0, 0, "Sanity check: startOffset must be correct")
    at testExtend ( /selection/extend.js:82:5)
Pass
assert_equals(Element node <html><head><title>Selection extend() tests</title> <meta..., Element node <html><head><title>Selection extend() tests</title> <meta..., "Sanity check: endContainer must be correct")
    at testExtend ( /selection/extend.js:84:5)
Pass
assert_equals(2, 2, "Sanity check: endOffset must be correct")
    at testExtend ( /selection/extend.js:86:5)
Pass
assert_equals(Element node <html><head><title>Selection extend() tests</title> <meta..., Element node <html><head><title>Selection extend() tests</title> <meta..., "anchorNode must not change if the node passed to extend() has the same root as the original range")
    at testExtend ( /selection/extend.js:145:9)
Pass
assert_equals(2, 2, "anchorOffset must not change if the node passed to extend() has the same root as the original range")
    at testExtend ( /selection/extend.js:147:9)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "focusNode must be the node passed to extend()")
    at testExtend ( /selection/extend.js:155:5)
Pass
assert_equals(8, 8, "focusOffset must be the offset passed to extend()")
    at testExtend ( /selection/extend.js:157:5)
Pass
assert_not_equals(object "ëf̈g̈ḧ Ijklmnop QrstuvwxYzabcdefGhijklmn     Running, 1000 complete, 1 remain  "use strict";  testExtendSubSet(0, 20); testDiv.style.display = "none"; ", object "Selection extend() tests   Äb̈c̈d̈ëf̈g̈ḧ Ijklmnop QrstuvwxYzabcdefGhijklmn     Running, 1000 complete, 1 remain  "use strict";  testExtendSubSet(0, 20); testDiv.style.display = "none"; ", "extend() must replace any existing range with a new one, not mutate the existing one")
    at testExtend ( /selection/extend.js:159:5)
Passextend() forwards with range 16 [document.documentElement, 0, document.documentElement, 2] and point 5 [paras[0].firstChild, 9]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(Element node <html><head><title>Selection extend() tests</title> <meta..., Element node <html><head><title>Selection extend() tests</title> <meta..., "Sanity check: startContainer must be correct")
    at testExtend ( /selection/extend.js:80:5)
Pass
assert_equals(0, 0, "Sanity check: startOffset must be correct")
    at testExtend ( /selection/extend.js:82:5)
Pass
assert_equals(Element node <html><head><title>Selection extend() tests</title> <meta..., Element node <html><head><title>Selection extend() tests</title> <meta..., "Sanity check: endContainer must be correct")
    at testExtend ( /selection/extend.js:84:5)
Pass
assert_equals(2, 2, "Sanity check: endOffset must be correct")
    at testExtend ( /selection/extend.js:86:5)
Pass
assert_equals(Element node <html><head><title>Selection extend() tests</title> <meta..., Element node <html><head><title>Selection extend() tests</title> <meta..., "anchorNode must not change if the node passed to extend() has the same root as the original range")
    at testExtend ( /selection/extend.js:145:9)
Pass
assert_equals(0, 0, "anchorOffset must not change if the node passed to extend() has the same root as the original range")
    at testExtend ( /selection/extend.js:147:9)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "focusNode must be the node passed to extend()")
    at testExtend ( /selection/extend.js:155:5)
Pass
assert_equals(9, 9, "focusOffset must be the offset passed to extend()")
    at testExtend ( /selection/extend.js:157:5)
Pass
assert_not_equals(object "Selection extend() tests   Äb̈c̈d̈e", object "Selection extend() tests   Äb̈c̈d̈ëf̈g̈ḧ Ijklmnop QrstuvwxYzabcdefGhijklmn     Running, 1000 complete, 1 remain  "use strict";  testExtendSubSet(0, 20); testDiv.style.display = "none"; ", "extend() must replace any existing range with a new one, not mutate the existing one")
    at testExtend ( /selection/extend.js:159:5)
Passextend() backwards with range 16 [document.documentElement, 0, document.documentElement, 2] and point 5 [paras[0].firstChild, 9]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(Element node <html><head><title>Selection extend() tests</title> <meta..., Element node <html><head><title>Selection extend() tests</title> <meta..., "Sanity check: startContainer must be correct")
    at testExtend ( /selection/extend.js:80:5)
Pass
assert_equals(0, 0, "Sanity check: startOffset must be correct")
    at testExtend ( /selection/extend.js:82:5)
Pass
assert_equals(Element node <html><head><title>Selection extend() tests</title> <meta..., Element node <html><head><title>Selection extend() tests</title> <meta..., "Sanity check: endContainer must be correct")
    at testExtend ( /selection/extend.js:84:5)
Pass
assert_equals(2, 2, "Sanity check: endOffset must be correct")
    at testExtend ( /selection/extend.js:86:5)
Pass
assert_equals(Element node <html><head><title>Selection extend() tests</title> <meta..., Element node <html><head><title>Selection extend() tests</title> <meta..., "anchorNode must not change if the node passed to extend() has the same root as the original range")
    at testExtend ( /selection/extend.js:145:9)
Pass
assert_equals(2, 2, "anchorOffset must not change if the node passed to extend() has the same root as the original range")
    at testExtend ( /selection/extend.js:147:9)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "focusNode must be the node passed to extend()")
    at testExtend ( /selection/extend.js:155:5)
Pass
assert_equals(9, 9, "focusOffset must be the offset passed to extend()")
    at testExtend ( /selection/extend.js:157:5)
Pass
assert_not_equals(object "̈f̈g̈ḧ Ijklmnop QrstuvwxYzabcdefGhijklmn     Running, 1000 complete, 1 remain  "use strict";  testExtendSubSet(0, 20); testDiv.style.display = "none"; ", object "Selection extend() tests   Äb̈c̈d̈ëf̈g̈ḧ Ijklmnop QrstuvwxYzabcdefGhijklmn     Running, 1000 complete, 1 remain  "use strict";  testExtendSubSet(0, 20); testDiv.style.display = "none"; ", "extend() must replace any existing range with a new one, not mutate the existing one")
    at testExtend ( /selection/extend.js:159:5)
Passextend() forwards with range 16 [document.documentElement, 0, document.documentElement, 2] and point 6 [paras[0].firstChild, 10]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(Element node <html><head><title>Selection extend() tests</title> <meta..., Element node <html><head><title>Selection extend() tests</title> <meta..., "Sanity check: startContainer must be correct")
    at testExtend ( /selection/extend.js:80:5)
Pass
assert_equals(0, 0, "Sanity check: startOffset must be correct")
    at testExtend ( /selection/extend.js:82:5)
Pass
assert_equals(Element node <html><head><title>Selection extend() tests</title> <meta..., Element node <html><head><title>Selection extend() tests</title> <meta..., "Sanity check: endContainer must be correct")
    at testExtend ( /selection/extend.js:84:5)
Pass
assert_equals(2, 2, "Sanity check: endOffset must be correct")
    at testExtend ( /selection/extend.js:86:5)
Pass
assert_equals(Element node <html><head><title>Selection extend() tests</title> <meta..., Element node <html><head><title>Selection extend() tests</title> <meta..., "anchorNode must not change if the node passed to extend() has the same root as the original range")
    at testExtend ( /selection/extend.js:145:9)
Pass
assert_equals(0, 0, "anchorOffset must not change if the node passed to extend() has the same root as the original range")
    at testExtend ( /selection/extend.js:147:9)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "focusNode must be the node passed to extend()")
    at testExtend ( /selection/extend.js:155:5)
Pass
assert_equals(10, 10, "focusOffset must be the offset passed to extend()")
    at testExtend ( /selection/extend.js:157:5)
Pass
assert_not_equals(object "Selection extend() tests   Äb̈c̈d̈ë", object "Selection extend() tests   Äb̈c̈d̈ëf̈g̈ḧ Ijklmnop QrstuvwxYzabcdefGhijklmn     Running, 1000 complete, 1 remain  "use strict";  testExtendSubSet(0, 20); testDiv.style.display = "none"; ", "extend() must replace any existing range with a new one, not mutate the existing one")
    at testExtend ( /selection/extend.js:159:5)
Passextend() backwards with range 16 [document.documentElement, 0, document.documentElement, 2] and point 6 [paras[0].firstChild, 10]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(Element node <html><head><title>Selection extend() tests</title> <meta..., Element node <html><head><title>Selection extend() tests</title> <meta..., "Sanity check: startContainer must be correct")
    at testExtend ( /selection/extend.js:80:5)
Pass
assert_equals(0, 0, "Sanity check: startOffset must be correct")
    at testExtend ( /selection/extend.js:82:5)
Pass
assert_equals(Element node <html><head><title>Selection extend() tests</title> <meta..., Element node <html><head><title>Selection extend() tests</title> <meta..., "Sanity check: endContainer must be correct")
    at testExtend ( /selection/extend.js:84:5)
Pass
assert_equals(2, 2, "Sanity check: endOffset must be correct")
    at testExtend ( /selection/extend.js:86:5)
Pass
assert_equals(Element node <html><head><title>Selection extend() tests</title> <meta..., Element node <html><head><title>Selection extend() tests</title> <meta..., "anchorNode must not change if the node passed to extend() has the same root as the original range")
    at testExtend ( /selection/extend.js:145:9)
Pass
assert_equals(2, 2, "anchorOffset must not change if the node passed to extend() has the same root as the original range")
    at testExtend ( /selection/extend.js:147:9)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "focusNode must be the node passed to extend()")
    at testExtend ( /selection/extend.js:155:5)
Pass
assert_equals(10, 10, "focusOffset must be the offset passed to extend()")
    at testExtend ( /selection/extend.js:157:5)
Pass
assert_not_equals(object "f̈g̈ḧ Ijklmnop QrstuvwxYzabcdefGhijklmn     Running, 1000 complete, 1 remain  "use strict";  testExtendSubSet(0, 20); testDiv.style.display = "none"; ", object "Selection extend() tests   Äb̈c̈d̈ëf̈g̈ḧ Ijklmnop QrstuvwxYzabcdefGhijklmn     Running, 1000 complete, 1 remain  "use strict";  testExtendSubSet(0, 20); testDiv.style.display = "none"; ", "extend() must replace any existing range with a new one, not mutate the existing one")
    at testExtend ( /selection/extend.js:159:5)
Passextend() forwards with range 16 [document.documentElement, 0, document.documentElement, 2] and point 7 [paras[0].firstChild, 65535]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(Element node <html><head><title>Selection extend() tests</title> <meta..., Element node <html><head><title>Selection extend() tests</title> <meta..., "Sanity check: startContainer must be correct")
    at testExtend ( /selection/extend.js:80:5)
Pass
assert_equals(0, 0, "Sanity check: startOffset must be correct")
    at testExtend ( /selection/extend.js:82:5)
Pass
assert_equals(Element node <html><head><title>Selection extend() tests</title> <meta..., Element node <html><head><title>Selection extend() tests</title> <meta..., "Sanity check: endContainer must be correct")
    at testExtend ( /selection/extend.js:84:5)
Pass
assert_equals(2, 2, "Sanity check: endOffset must be correct")
    at testExtend ( /selection/extend.js:86:5)
Pass
assert_throws_dom("INDEX_SIZE_ERR", function "function() {             selection.extend(node, offset);         }", "extend() to an offset that's greater than node length (17) must throw IndexSizeError")
    at testExtend ( /selection/extend.js:117:9)
Passextend() backwards with range 16 [document.documentElement, 0, document.documentElement, 2] and point 7 [paras[0].firstChild, 65535]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(Element node <html><head><title>Selection extend() tests</title> <meta..., Element node <html><head><title>Selection extend() tests</title> <meta..., "Sanity check: startContainer must be correct")
    at testExtend ( /selection/extend.js:80:5)
Pass
assert_equals(0, 0, "Sanity check: startOffset must be correct")
    at testExtend ( /selection/extend.js:82:5)
Pass
assert_equals(Element node <html><head><title>Selection extend() tests</title> <meta..., Element node <html><head><title>Selection extend() tests</title> <meta..., "Sanity check: endContainer must be correct")
    at testExtend ( /selection/extend.js:84:5)
Pass
assert_equals(2, 2, "Sanity check: endOffset must be correct")
    at testExtend ( /selection/extend.js:86:5)
Pass
assert_throws_dom("INDEX_SIZE_ERR", function "function() {             selection.extend(node, offset);         }", "extend() to an offset that's greater than node length (17) must throw IndexSizeError")
    at testExtend ( /selection/extend.js:117:9)
Passextend() forwards with range 16 [document.documentElement, 0, document.documentElement, 2] and point 8 [paras[1].firstChild, -1]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(Element node <html><head><title>Selection extend() tests</title> <meta..., Element node <html><head><title>Selection extend() tests</title> <meta..., "Sanity check: startContainer must be correct")
    at testExtend ( /selection/extend.js:80:5)
Pass
assert_equals(0, 0, "Sanity check: startOffset must be correct")
    at testExtend ( /selection/extend.js:82:5)
Pass
assert_equals(Element node <html><head><title>Selection extend() tests</title> <meta..., Element node <html><head><title>Selection extend() tests</title> <meta..., "Sanity check: endContainer must be correct")
    at testExtend ( /selection/extend.js:84:5)
Pass
assert_equals(2, 2, "Sanity check: endOffset must be correct")
    at testExtend ( /selection/extend.js:86:5)
Pass
assert_throws_dom("INDEX_SIZE_ERR", function "function() {             selection.extend(node, offset);         }", "extend() to an offset that's greater than node length (9) must throw IndexSizeError")
    at testExtend ( /selection/extend.js:117:9)
Passextend() backwards with range 16 [document.documentElement, 0, document.documentElement, 2] and point 8 [paras[1].firstChild, -1]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(Element node <html><head><title>Selection extend() tests</title> <meta..., Element node <html><head><title>Selection extend() tests</title> <meta..., "Sanity check: startContainer must be correct")
    at testExtend ( /selection/extend.js:80:5)
Pass
assert_equals(0, 0, "Sanity check: startOffset must be correct")
    at testExtend ( /selection/extend.js:82:5)
Pass
assert_equals(Element node <html><head><title>Selection extend() tests</title> <meta..., Element node <html><head><title>Selection extend() tests</title> <meta..., "Sanity check: endContainer must be correct")
    at testExtend ( /selection/extend.js:84:5)
Pass
assert_equals(2, 2, "Sanity check: endOffset must be correct")
    at testExtend ( /selection/extend.js:86:5)
Pass
assert_throws_dom("INDEX_SIZE_ERR", function "function() {             selection.extend(node, offset);         }", "extend() to an offset that's greater than node length (9) must throw IndexSizeError")
    at testExtend ( /selection/extend.js:117:9)
Passextend() forwards with range 16 [document.documentElement, 0, document.documentElement, 2] and point 9 [paras[1].firstChild, 0]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(Element node <html><head><title>Selection extend() tests</title> <meta..., Element node <html><head><title>Selection extend() tests</title> <meta..., "Sanity check: startContainer must be correct")
    at testExtend ( /selection/extend.js:80:5)
Pass
assert_equals(0, 0, "Sanity check: startOffset must be correct")
    at testExtend ( /selection/extend.js:82:5)
Pass
assert_equals(Element node <html><head><title>Selection extend() tests</title> <meta..., Element node <html><head><title>Selection extend() tests</title> <meta..., "Sanity check: endContainer must be correct")
    at testExtend ( /selection/extend.js:84:5)
Pass
assert_equals(2, 2, "Sanity check: endOffset must be correct")
    at testExtend ( /selection/extend.js:86:5)
Pass
assert_equals(Element node <html><head><title>Selection extend() tests</title> <meta..., Element node <html><head><title>Selection extend() tests</title> <meta..., "anchorNode must not change if the node passed to extend() has the same root as the original range")
    at testExtend ( /selection/extend.js:145:9)
Pass
assert_equals(0, 0, "anchorOffset must not change if the node passed to extend() has the same root as the original range")
    at testExtend ( /selection/extend.js:147:9)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "focusNode must be the node passed to extend()")
    at testExtend ( /selection/extend.js:155:5)
Pass
assert_equals(0, 0, "focusOffset must be the offset passed to extend()")
    at testExtend ( /selection/extend.js:157:5)
Pass
assert_not_equals(object "Selection extend() tests   Äb̈c̈d̈ëf̈g̈ḧ ", object "Selection extend() tests   Äb̈c̈d̈ëf̈g̈ḧ Ijklmnop QrstuvwxYzabcdefGhijklmn     Running, 1000 complete, 1 remain  "use strict";  testExtendSubSet(0, 20); testDiv.style.display = "none"; ", "extend() must replace any existing range with a new one, not mutate the existing one")
    at testExtend ( /selection/extend.js:159:5)
Passextend() backwards with range 16 [document.documentElement, 0, document.documentElement, 2] and point 9 [paras[1].firstChild, 0]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(Element node <html><head><title>Selection extend() tests</title> <meta..., Element node <html><head><title>Selection extend() tests</title> <meta..., "Sanity check: startContainer must be correct")
    at testExtend ( /selection/extend.js:80:5)
Pass
assert_equals(0, 0, "Sanity check: startOffset must be correct")
    at testExtend ( /selection/extend.js:82:5)
Pass
assert_equals(Element node <html><head><title>Selection extend() tests</title> <meta..., Element node <html><head><title>Selection extend() tests</title> <meta..., "Sanity check: endContainer must be correct")
    at testExtend ( /selection/extend.js:84:5)
Pass
assert_equals(2, 2, "Sanity check: endOffset must be correct")
    at testExtend ( /selection/extend.js:86:5)
Pass
assert_equals(Element node <html><head><title>Selection extend() tests</title> <meta..., Element node <html><head><title>Selection extend() tests</title> <meta..., "anchorNode must not change if the node passed to extend() has the same root as the original range")
    at testExtend ( /selection/extend.js:145:9)
Pass
assert_equals(2, 2, "anchorOffset must not change if the node passed to extend() has the same root as the original range")
    at testExtend ( /selection/extend.js:147:9)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "focusNode must be the node passed to extend()")
    at testExtend ( /selection/extend.js:155:5)
Pass
assert_equals(0, 0, "focusOffset must be the offset passed to extend()")
    at testExtend ( /selection/extend.js:157:5)
Pass
assert_not_equals(object "Ijklmnop QrstuvwxYzabcdefGhijklmn     Running, 1000 complete, 1 remain  "use strict";  testExtendSubSet(0, 20); testDiv.style.display = "none"; ", object "Selection extend() tests   Äb̈c̈d̈ëf̈g̈ḧ Ijklmnop QrstuvwxYzabcdefGhijklmn     Running, 1000 complete, 1 remain  "use strict";  testExtendSubSet(0, 20); testDiv.style.display = "none"; ", "extend() must replace any existing range with a new one, not mutate the existing one")
    at testExtend ( /selection/extend.js:159:5)
Passextend() forwards with range 16 [document.documentElement, 0, document.documentElement, 2] and point 10 [paras[1].firstChild, 1]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(Element node <html><head><title>Selection extend() tests</title> <meta..., Element node <html><head><title>Selection extend() tests</title> <meta..., "Sanity check: startContainer must be correct")
    at testExtend ( /selection/extend.js:80:5)
Pass
assert_equals(0, 0, "Sanity check: startOffset must be correct")
    at testExtend ( /selection/extend.js:82:5)
Pass
assert_equals(Element node <html><head><title>Selection extend() tests</title> <meta..., Element node <html><head><title>Selection extend() tests</title> <meta..., "Sanity check: endContainer must be correct")
    at testExtend ( /selection/extend.js:84:5)
Pass
assert_equals(2, 2, "Sanity check: endOffset must be correct")
    at testExtend ( /selection/extend.js:86:5)
Pass
assert_equals(Element node <html><head><title>Selection extend() tests</title> <meta..., Element node <html><head><title>Selection extend() tests</title> <meta..., "anchorNode must not change if the node passed to extend() has the same root as the original range")
    at testExtend ( /selection/extend.js:145:9)
Pass
assert_equals(0, 0, "anchorOffset must not change if the node passed to extend() has the same root as the original range")
    at testExtend ( /selection/extend.js:147:9)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "focusNode must be the node passed to extend()")
    at testExtend ( /selection/extend.js:155:5)
Pass
assert_equals(1, 1, "focusOffset must be the offset passed to extend()")
    at testExtend ( /selection/extend.js:157:5)
Pass
assert_not_equals(object "Selection extend() tests   Äb̈c̈d̈ëf̈g̈ḧ I", object "Selection extend() tests   Äb̈c̈d̈ëf̈g̈ḧ Ijklmnop QrstuvwxYzabcdefGhijklmn     Running, 1000 complete, 1 remain  "use strict";  testExtendSubSet(0, 20); testDiv.style.display = "none"; ", "extend() must replace any existing range with a new one, not mutate the existing one")
    at testExtend ( /selection/extend.js:159:5)
Passextend() backwards with range 16 [document.documentElement, 0, document.documentElement, 2] and point 10 [paras[1].firstChild, 1]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(Element node <html><head><title>Selection extend() tests</title> <meta..., Element node <html><head><title>Selection extend() tests</title> <meta..., "Sanity check: startContainer must be correct")
    at testExtend ( /selection/extend.js:80:5)
Pass
assert_equals(0, 0, "Sanity check: startOffset must be correct")
    at testExtend ( /selection/extend.js:82:5)
Pass
assert_equals(Element node <html><head><title>Selection extend() tests</title> <meta..., Element node <html><head><title>Selection extend() tests</title> <meta..., "Sanity check: endContainer must be correct")
    at testExtend ( /selection/extend.js:84:5)
Pass
assert_equals(2, 2, "Sanity check: endOffset must be correct")
    at testExtend ( /selection/extend.js:86:5)
Pass
assert_equals(Element node <html><head><title>Selection extend() tests</title> <meta..., Element node <html><head><title>Selection extend() tests</title> <meta..., "anchorNode must not change if the node passed to extend() has the same root as the original range")
    at testExtend ( /selection/extend.js:145:9)
Pass
assert_equals(2, 2, "anchorOffset must not change if the node passed to extend() has the same root as the original range")
    at testExtend ( /selection/extend.js:147:9)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "focusNode must be the node passed to extend()")
    at testExtend ( /selection/extend.js:155:5)
Pass
assert_equals(1, 1, "focusOffset must be the offset passed to extend()")
    at testExtend ( /selection/extend.js:157:5)
Pass
assert_not_equals(object "jklmnop QrstuvwxYzabcdefGhijklmn     Running, 1000 complete, 1 remain  "use strict";  testExtendSubSet(0, 20); testDiv.style.display = "none"; ", object "Selection extend() tests   Äb̈c̈d̈ëf̈g̈ḧ Ijklmnop QrstuvwxYzabcdefGhijklmn     Running, 1000 complete, 1 remain  "use strict";  testExtendSubSet(0, 20); testDiv.style.display = "none"; ", "extend() must replace any existing range with a new one, not mutate the existing one")
    at testExtend ( /selection/extend.js:159:5)
Passextend() forwards with range 16 [document.documentElement, 0, document.documentElement, 2] and point 11 [paras[1].firstChild, 2]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(Element node <html><head><title>Selection extend() tests</title> <meta..., Element node <html><head><title>Selection extend() tests</title> <meta..., "Sanity check: startContainer must be correct")
    at testExtend ( /selection/extend.js:80:5)
Pass
assert_equals(0, 0, "Sanity check: startOffset must be correct")
    at testExtend ( /selection/extend.js:82:5)
Pass
assert_equals(Element node <html><head><title>Selection extend() tests</title> <meta..., Element node <html><head><title>Selection extend() tests</title> <meta..., "Sanity check: endContainer must be correct")
    at testExtend ( /selection/extend.js:84:5)
Pass
assert_equals(2, 2, "Sanity check: endOffset must be correct")
    at testExtend ( /selection/extend.js:86:5)
Pass
assert_equals(Element node <html><head><title>Selection extend() tests</title> <meta..., Element node <html><head><title>Selection extend() tests</title> <meta..., "anchorNode must not change if the node passed to extend() has the same root as the original range")
    at testExtend ( /selection/extend.js:145:9)
Pass
assert_equals(0, 0, "anchorOffset must not change if the node passed to extend() has the same root as the original range")
    at testExtend ( /selection/extend.js:147:9)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "focusNode must be the node passed to extend()")
    at testExtend ( /selection/extend.js:155:5)
Pass
assert_equals(2, 2, "focusOffset must be the offset passed to extend()")
    at testExtend ( /selection/extend.js:157:5)
Pass
assert_not_equals(object "Selection extend() tests   Äb̈c̈d̈ëf̈g̈ḧ Ij", object "Selection extend() tests   Äb̈c̈d̈ëf̈g̈ḧ Ijklmnop QrstuvwxYzabcdefGhijklmn     Running, 1000 complete, 1 remain  "use strict";  testExtendSubSet(0, 20); testDiv.style.display = "none"; ", "extend() must replace any existing range with a new one, not mutate the existing one")
    at testExtend ( /selection/extend.js:159:5)
Passextend() backwards with range 16 [document.documentElement, 0, document.documentElement, 2] and point 11 [paras[1].firstChild, 2]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(Element node <html><head><title>Selection extend() tests</title> <meta..., Element node <html><head><title>Selection extend() tests</title> <meta..., "Sanity check: startContainer must be correct")
    at testExtend ( /selection/extend.js:80:5)
Pass
assert_equals(0, 0, "Sanity check: startOffset must be correct")
    at testExtend ( /selection/extend.js:82:5)
Pass
assert_equals(Element node <html><head><title>Selection extend() tests</title> <meta..., Element node <html><head><title>Selection extend() tests</title> <meta..., "Sanity check: endContainer must be correct")
    at testExtend ( /selection/extend.js:84:5)
Pass
assert_equals(2, 2, "Sanity check: endOffset must be correct")
    at testExtend ( /selection/extend.js:86:5)
Pass
assert_equals(Element node <html><head><title>Selection extend() tests</title> <meta..., Element node <html><head><title>Selection extend() tests</title> <meta..., "anchorNode must not change if the node passed to extend() has the same root as the original range")
    at testExtend ( /selection/extend.js:145:9)
Pass
assert_equals(2, 2, "anchorOffset must not change if the node passed to extend() has the same root as the original range")
    at testExtend ( /selection/extend.js:147:9)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "focusNode must be the node passed to extend()")
    at testExtend ( /selection/extend.js:155:5)
Pass
assert_equals(2, 2, "focusOffset must be the offset passed to extend()")
    at testExtend ( /selection/extend.js:157:5)
Pass
assert_not_equals(object "klmnop QrstuvwxYzabcdefGhijklmn     Running, 1000 complete, 1 remain  "use strict";  testExtendSubSet(0, 20); testDiv.style.display = "none"; ", object "Selection extend() tests   Äb̈c̈d̈ëf̈g̈ḧ Ijklmnop QrstuvwxYzabcdefGhijklmn     Running, 1000 complete, 1 remain  "use strict";  testExtendSubSet(0, 20); testDiv.style.display = "none"; ", "extend() must replace any existing range with a new one, not mutate the existing one")
    at testExtend ( /selection/extend.js:159:5)
Passextend() forwards with range 16 [document.documentElement, 0, document.documentElement, 2] and point 12 [paras[1].firstChild, 8]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(Element node <html><head><title>Selection extend() tests</title> <meta..., Element node <html><head><title>Selection extend() tests</title> <meta..., "Sanity check: startContainer must be correct")
    at testExtend ( /selection/extend.js:80:5)
Pass
assert_equals(0, 0, "Sanity check: startOffset must be correct")
    at testExtend ( /selection/extend.js:82:5)
Pass
assert_equals(Element node <html><head><title>Selection extend() tests</title> <meta..., Element node <html><head><title>Selection extend() tests</title> <meta..., "Sanity check: endContainer must be correct")
    at testExtend ( /selection/extend.js:84:5)
Pass
assert_equals(2, 2, "Sanity check: endOffset must be correct")
    at testExtend ( /selection/extend.js:86:5)
Pass
assert_equals(Element node <html><head><title>Selection extend() tests</title> <meta..., Element node <html><head><title>Selection extend() tests</title> <meta..., "anchorNode must not change if the node passed to extend() has the same root as the original range")
    at testExtend ( /selection/extend.js:145:9)
Pass
assert_equals(0, 0, "anchorOffset must not change if the node passed to extend() has the same root as the original range")
    at testExtend ( /selection/extend.js:147:9)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "focusNode must be the node passed to extend()")
    at testExtend ( /selection/extend.js:155:5)
Pass
assert_equals(8, 8, "focusOffset must be the offset passed to extend()")
    at testExtend ( /selection/extend.js:157:5)
Pass
assert_not_equals(object "Selection extend() tests   Äb̈c̈d̈ëf̈g̈ḧ Ijklmnop", object "Selection extend() tests   Äb̈c̈d̈ëf̈g̈ḧ Ijklmnop QrstuvwxYzabcdefGhijklmn     Running, 1000 complete, 1 remain  "use strict";  testExtendSubSet(0, 20); testDiv.style.display = "none"; ", "extend() must replace any existing range with a new one, not mutate the existing one")
    at testExtend ( /selection/extend.js:159:5)
Passextend() backwards with range 16 [document.documentElement, 0, document.documentElement, 2] and point 12 [paras[1].firstChild, 8]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(Element node <html><head><title>Selection extend() tests</title> <meta..., Element node <html><head><title>Selection extend() tests</title> <meta..., "Sanity check: startContainer must be correct")
    at testExtend ( /selection/extend.js:80:5)
Pass
assert_equals(0, 0, "Sanity check: startOffset must be correct")
    at testExtend ( /selection/extend.js:82:5)
Pass
assert_equals(Element node <html><head><title>Selection extend() tests</title> <meta..., Element node <html><head><title>Selection extend() tests</title> <meta..., "Sanity check: endContainer must be correct")
    at testExtend ( /selection/extend.js:84:5)
Pass
assert_equals(2, 2, "Sanity check: endOffset must be correct")
    at testExtend ( /selection/extend.js:86:5)
Pass
assert_equals(Element node <html><head><title>Selection extend() tests</title> <meta..., Element node <html><head><title>Selection extend() tests</title> <meta..., "anchorNode must not change if the node passed to extend() has the same root as the original range")
    at testExtend ( /selection/extend.js:145:9)
Pass
assert_equals(2, 2, "anchorOffset must not change if the node passed to extend() has the same root as the original range")
    at testExtend ( /selection/extend.js:147:9)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "focusNode must be the node passed to extend()")
    at testExtend ( /selection/extend.js:155:5)
Pass
assert_equals(8, 8, "focusOffset must be the offset passed to extend()")
    at testExtend ( /selection/extend.js:157:5)
Pass
assert_not_equals(object " QrstuvwxYzabcdefGhijklmn     Running, 1000 complete, 1 remain  "use strict";  testExtendSubSet(0, 20); testDiv.style.display = "none"; ", object "Selection extend() tests   Äb̈c̈d̈ëf̈g̈ḧ Ijklmnop QrstuvwxYzabcdefGhijklmn     Running, 1000 complete, 1 remain  "use strict";  testExtendSubSet(0, 20); testDiv.style.display = "none"; ", "extend() must replace any existing range with a new one, not mutate the existing one")
    at testExtend ( /selection/extend.js:159:5)
Passextend() forwards with range 16 [document.documentElement, 0, document.documentElement, 2] and point 13 [paras[1].firstChild, 9]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(Element node <html><head><title>Selection extend() tests</title> <meta..., Element node <html><head><title>Selection extend() tests</title> <meta..., "Sanity check: startContainer must be correct")
    at testExtend ( /selection/extend.js:80:5)
Pass
assert_equals(0, 0, "Sanity check: startOffset must be correct")
    at testExtend ( /selection/extend.js:82:5)
Pass
assert_equals(Element node <html><head><title>Selection extend() tests</title> <meta..., Element node <html><head><title>Selection extend() tests</title> <meta..., "Sanity check: endContainer must be correct")
    at testExtend ( /selection/extend.js:84:5)
Pass
assert_equals(2, 2, "Sanity check: endOffset must be correct")
    at testExtend ( /selection/extend.js:86:5)
Pass
assert_equals(Element node <html><head><title>Selection extend() tests</title> <meta..., Element node <html><head><title>Selection extend() tests</title> <meta..., "anchorNode must not change if the node passed to extend() has the same root as the original range")
    at testExtend ( /selection/extend.js:145:9)
Pass
assert_equals(0, 0, "anchorOffset must not change if the node passed to extend() has the same root as the original range")
    at testExtend ( /selection/extend.js:147:9)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "focusNode must be the node passed to extend()")
    at testExtend ( /selection/extend.js:155:5)
Pass
assert_equals(9, 9, "focusOffset must be the offset passed to extend()")
    at testExtend ( /selection/extend.js:157:5)
Pass
assert_not_equals(object "Selection extend() tests   Äb̈c̈d̈ëf̈g̈ḧ Ijklmnop ", object "Selection extend() tests   Äb̈c̈d̈ëf̈g̈ḧ Ijklmnop QrstuvwxYzabcdefGhijklmn     Running, 1000 complete, 1 remain  "use strict";  testExtendSubSet(0, 20); testDiv.style.display = "none"; ", "extend() must replace any existing range with a new one, not mutate the existing one")
    at testExtend ( /selection/extend.js:159:5)
Passextend() backwards with range 16 [document.documentElement, 0, document.documentElement, 2] and point 13 [paras[1].firstChild, 9]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(Element node <html><head><title>Selection extend() tests</title> <meta..., Element node <html><head><title>Selection extend() tests</title> <meta..., "Sanity check: startContainer must be correct")
    at testExtend ( /selection/extend.js:80:5)
Pass
assert_equals(0, 0, "Sanity check: startOffset must be correct")
    at testExtend ( /selection/extend.js:82:5)
Pass
assert_equals(Element node <html><head><title>Selection extend() tests</title> <meta..., Element node <html><head><title>Selection extend() tests</title> <meta..., "Sanity check: endContainer must be correct")
    at testExtend ( /selection/extend.js:84:5)
Pass
assert_equals(2, 2, "Sanity check: endOffset must be correct")
    at testExtend ( /selection/extend.js:86:5)
Pass
assert_equals(Element node <html><head><title>Selection extend() tests</title> <meta..., Element node <html><head><title>Selection extend() tests</title> <meta..., "anchorNode must not change if the node passed to extend() has the same root as the original range")
    at testExtend ( /selection/extend.js:145:9)
Pass
assert_equals(2, 2, "anchorOffset must not change if the node passed to extend() has the same root as the original range")
    at testExtend ( /selection/extend.js:147:9)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "focusNode must be the node passed to extend()")
    at testExtend ( /selection/extend.js:155:5)
Pass
assert_equals(9, 9, "focusOffset must be the offset passed to extend()")
    at testExtend ( /selection/extend.js:157:5)
Pass
assert_not_equals(object "QrstuvwxYzabcdefGhijklmn     Running, 1000 complete, 1 remain  "use strict";  testExtendSubSet(0, 20); testDiv.style.display = "none"; ", object "Selection extend() tests   Äb̈c̈d̈ëf̈g̈ḧ Ijklmnop QrstuvwxYzabcdefGhijklmn     Running, 1000 complete, 1 remain  "use strict";  testExtendSubSet(0, 20); testDiv.style.display = "none"; ", "extend() must replace any existing range with a new one, not mutate the existing one")
    at testExtend ( /selection/extend.js:159:5)
Passextend() forwards with range 16 [document.documentElement, 0, document.documentElement, 2] and point 14 [paras[1].firstChild, 10]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(Element node <html><head><title>Selection extend() tests</title> <meta..., Element node <html><head><title>Selection extend() tests</title> <meta..., "Sanity check: startContainer must be correct")
    at testExtend ( /selection/extend.js:80:5)
Pass
assert_equals(0, 0, "Sanity check: startOffset must be correct")
    at testExtend ( /selection/extend.js:82:5)
Pass
assert_equals(Element node <html><head><title>Selection extend() tests</title> <meta..., Element node <html><head><title>Selection extend() tests</title> <meta..., "Sanity check: endContainer must be correct")
    at testExtend ( /selection/extend.js:84:5)
Pass
assert_equals(2, 2, "Sanity check: endOffset must be correct")
    at testExtend ( /selection/extend.js:86:5)
Pass
assert_throws_dom("INDEX_SIZE_ERR", function "function() {             selection.extend(node, offset);         }", "extend() to an offset that's greater than node length (9) must throw IndexSizeError")
    at testExtend ( /selection/extend.js:117:9)
Passextend() backwards with range 16 [document.documentElement, 0, document.documentElement, 2] and point 14 [paras[1].firstChild, 10]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(Element node <html><head><title>Selection extend() tests</title> <meta..., Element node <html><head><title>Selection extend() tests</title> <meta..., "Sanity check: startContainer must be correct")
    at testExtend ( /selection/extend.js:80:5)
Pass
assert_equals(0, 0, "Sanity check: startOffset must be correct")
    at testExtend ( /selection/extend.js:82:5)
Pass
assert_equals(Element node <html><head><title>Selection extend() tests</title> <meta..., Element node <html><head><title>Selection extend() tests</title> <meta..., "Sanity check: endContainer must be correct")
    at testExtend ( /selection/extend.js:84:5)
Pass
assert_equals(2, 2, "Sanity check: endOffset must be correct")
    at testExtend ( /selection/extend.js:86:5)
Pass
assert_throws_dom("INDEX_SIZE_ERR", function "function() {             selection.extend(node, offset);         }", "extend() to an offset that's greater than node length (9) must throw IndexSizeError")
    at testExtend ( /selection/extend.js:117:9)
Passextend() forwards with range 16 [document.documentElement, 0, document.documentElement, 2] and point 15 [paras[1].firstChild, 65535]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(Element node <html><head><title>Selection extend() tests</title> <meta..., Element node <html><head><title>Selection extend() tests</title> <meta..., "Sanity check: startContainer must be correct")
    at testExtend ( /selection/extend.js:80:5)
Pass
assert_equals(0, 0, "Sanity check: startOffset must be correct")
    at testExtend ( /selection/extend.js:82:5)
Pass
assert_equals(Element node <html><head><title>Selection extend() tests</title> <meta..., Element node <html><head><title>Selection extend() tests</title> <meta..., "Sanity check: endContainer must be correct")
    at testExtend ( /selection/extend.js:84:5)
Pass
assert_equals(2, 2, "Sanity check: endOffset must be correct")
    at testExtend ( /selection/extend.js:86:5)
Pass
assert_throws_dom("INDEX_SIZE_ERR", function "function() {             selection.extend(node, offset);         }", "extend() to an offset that's greater than node length (9) must throw IndexSizeError")
    at testExtend ( /selection/extend.js:117:9)
Passextend() backwards with range 16 [document.documentElement, 0, document.documentElement, 2] and point 15 [paras[1].firstChild, 65535]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(Element node <html><head><title>Selection extend() tests</title> <meta..., Element node <html><head><title>Selection extend() tests</title> <meta..., "Sanity check: startContainer must be correct")
    at testExtend ( /selection/extend.js:80:5)
Pass
assert_equals(0, 0, "Sanity check: startOffset must be correct")
    at testExtend ( /selection/extend.js:82:5)
Pass
assert_equals(Element node <html><head><title>Selection extend() tests</title> <meta..., Element node <html><head><title>Selection extend() tests</title> <meta..., "Sanity check: endContainer must be correct")
    at testExtend ( /selection/extend.js:84:5)
Pass
assert_equals(2, 2, "Sanity check: endOffset must be correct")
    at testExtend ( /selection/extend.js:86:5)
Pass
assert_throws_dom("INDEX_SIZE_ERR", function "function() {             selection.extend(node, offset);         }", "extend() to an offset that's greater than node length (9) must throw IndexSizeError")
    at testExtend ( /selection/extend.js:117:9)
Passextend() forwards with range 16 [document.documentElement, 0, document.documentElement, 2] and point 16 [detachedPara1.firstChild, 0]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(1, 1, "The operation should not add Range")
    at assertSelectionNoChange ( /selection/common.js:976:5)
Pass
assert_equals(Element node <html><head><title>Selection extend() tests</title> <meta..., Element node <html><head><title>Selection extend() tests</title> <meta..., "The operation should not update anchorNode")
    at assertSelectionNoChange ( /selection/common.js:978:5)
Pass
assert_equals(0, 0, "The operation should not update anchorOffset")
    at assertSelectionNoChange ( /selection/common.js:980:5)
Pass
assert_equals(Element node <html><head><title>Selection extend() tests</title> <meta..., Element node <html><head><title>Selection extend() tests</title> <meta..., "The operation should not update focusNode")
    at assertSelectionNoChange ( /selection/common.js:982:5)
Pass
assert_equals(2, 2, "The operation should not update focusOffset")
    at assertSelectionNoChange ( /selection/common.js:984:5)
Pass
assert_equals(object "Selection extend() tests   Äb̈c̈d̈ëf̈g̈ḧ Ijklmnop QrstuvwxYzabcdefGhijklmn     Running, 1000 complete, 1 remain  "use strict";  testExtendSubSet(0, 20); testDiv.style.display = "none"; ", object "Selection extend() tests   Äb̈c̈d̈ëf̈g̈ḧ Ijklmnop QrstuvwxYzabcdefGhijklmn     Running, 1000 complete, 1 remain  "use strict";  testExtendSubSet(0, 20); testDiv.style.display = "none"; ", "The operation should not replace a registered Range")
    at assertSelectionNoChange ( /selection/common.js:988:5)
Passextend() backwards with range 16 [document.documentElement, 0, document.documentElement, 2] and point 16 [detachedPara1.firstChild, 0]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(1, 1, "The operation should not add Range")
    at assertSelectionNoChange ( /selection/common.js:976:5)
Pass
assert_equals(Element node <html><head><title>Selection extend() tests</title> <meta..., Element node <html><head><title>Selection extend() tests</title> <meta..., "The operation should not update anchorNode")
    at assertSelectionNoChange ( /selection/common.js:978:5)
Pass
assert_equals(2, 2, "The operation should not update anchorOffset")
    at assertSelectionNoChange ( /selection/common.js:980:5)
Pass
assert_equals(Element node <html><head><title>Selection extend() tests</title> <meta..., Element node <html><head><title>Selection extend() tests</title> <meta..., "The operation should not update focusNode")
    at assertSelectionNoChange ( /selection/common.js:982:5)
Pass
assert_equals(0, 0, "The operation should not update focusOffset")
    at assertSelectionNoChange ( /selection/common.js:984:5)
Pass
assert_equals(object "Selection extend() tests   Äb̈c̈d̈ëf̈g̈ḧ Ijklmnop QrstuvwxYzabcdefGhijklmn     Running, 1000 complete, 1 remain  "use strict";  testExtendSubSet(0, 20); testDiv.style.display = "none"; ", object "Selection extend() tests   Äb̈c̈d̈ëf̈g̈ḧ Ijklmnop QrstuvwxYzabcdefGhijklmn     Running, 1000 complete, 1 remain  "use strict";  testExtendSubSet(0, 20); testDiv.style.display = "none"; ", "The operation should not replace a registered Range")
    at assertSelectionNoChange ( /selection/common.js:988:5)
Passextend() forwards with range 16 [document.documentElement, 0, document.documentElement, 2] and point 17 [detachedPara1.firstChild, 1]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(1, 1, "The operation should not add Range")
    at assertSelectionNoChange ( /selection/common.js:976:5)
Pass
assert_equals(Element node <html><head><title>Selection extend() tests</title> <meta..., Element node <html><head><title>Selection extend() tests</title> <meta..., "The operation should not update anchorNode")
    at assertSelectionNoChange ( /selection/common.js:978:5)
Pass
assert_equals(0, 0, "The operation should not update anchorOffset")
    at assertSelectionNoChange ( /selection/common.js:980:5)
Pass
assert_equals(Element node <html><head><title>Selection extend() tests</title> <meta..., Element node <html><head><title>Selection extend() tests</title> <meta..., "The operation should not update focusNode")
    at assertSelectionNoChange ( /selection/common.js:982:5)
Pass
assert_equals(2, 2, "The operation should not update focusOffset")
    at assertSelectionNoChange ( /selection/common.js:984:5)
Pass
assert_equals(object "Selection extend() tests   Äb̈c̈d̈ëf̈g̈ḧ Ijklmnop QrstuvwxYzabcdefGhijklmn     Running, 1000 complete, 1 remain  "use strict";  testExtendSubSet(0, 20); testDiv.style.display = "none"; ", object "Selection extend() tests   Äb̈c̈d̈ëf̈g̈ḧ Ijklmnop QrstuvwxYzabcdefGhijklmn     Running, 1000 complete, 1 remain  "use strict";  testExtendSubSet(0, 20); testDiv.style.display = "none"; ", "The operation should not replace a registered Range")
    at assertSelectionNoChange ( /selection/common.js:988:5)
Passextend() backwards with range 16 [document.documentElement, 0, document.documentElement, 2] and point 17 [detachedPara1.firstChild, 1]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(1, 1, "The operation should not add Range")
    at assertSelectionNoChange ( /selection/common.js:976:5)
Pass
assert_equals(Element node <html><head><title>Selection extend() tests</title> <meta..., Element node <html><head><title>Selection extend() tests</title> <meta..., "The operation should not update anchorNode")
    at assertSelectionNoChange ( /selection/common.js:978:5)
Pass
assert_equals(2, 2, "The operation should not update anchorOffset")
    at assertSelectionNoChange ( /selection/common.js:980:5)
Pass
assert_equals(Element node <html><head><title>Selection extend() tests</title> <meta..., Element node <html><head><title>Selection extend() tests</title> <meta..., "The operation should not update focusNode")
    at assertSelectionNoChange ( /selection/common.js:982:5)
Pass
assert_equals(0, 0, "The operation should not update focusOffset")
    at assertSelectionNoChange ( /selection/common.js:984:5)
Pass
assert_equals(object "Selection extend() tests   Äb̈c̈d̈ëf̈g̈ḧ Ijklmnop QrstuvwxYzabcdefGhijklmn     Running, 1000 complete, 1 remain  "use strict";  testExtendSubSet(0, 20); testDiv.style.display = "none"; ", object "Selection extend() tests   Äb̈c̈d̈ëf̈g̈ḧ Ijklmnop QrstuvwxYzabcdefGhijklmn     Running, 1000 complete, 1 remain  "use strict";  testExtendSubSet(0, 20); testDiv.style.display = "none"; ", "The operation should not replace a registered Range")
    at assertSelectionNoChange ( /selection/common.js:988:5)
Passextend() forwards with range 16 [document.documentElement, 0, document.documentElement, 2] and point 18 [detachedPara1.firstChild, 8]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(1, 1, "The operation should not add Range")
    at assertSelectionNoChange ( /selection/common.js:976:5)
Pass
assert_equals(Element node <html><head><title>Selection extend() tests</title> <meta..., Element node <html><head><title>Selection extend() tests</title> <meta..., "The operation should not update anchorNode")
    at assertSelectionNoChange ( /selection/common.js:978:5)
Pass
assert_equals(0, 0, "The operation should not update anchorOffset")
    at assertSelectionNoChange ( /selection/common.js:980:5)
Pass
assert_equals(Element node <html><head><title>Selection extend() tests</title> <meta..., Element node <html><head><title>Selection extend() tests</title> <meta..., "The operation should not update focusNode")
    at assertSelectionNoChange ( /selection/common.js:982:5)
Pass
assert_equals(2, 2, "The operation should not update focusOffset")
    at assertSelectionNoChange ( /selection/common.js:984:5)
Pass
assert_equals(object "Selection extend() tests   Äb̈c̈d̈ëf̈g̈ḧ Ijklmnop QrstuvwxYzabcdefGhijklmn     Running, 1000 complete, 1 remain  "use strict";  testExtendSubSet(0, 20); testDiv.style.display = "none"; ", object "Selection extend() tests   Äb̈c̈d̈ëf̈g̈ḧ Ijklmnop QrstuvwxYzabcdefGhijklmn     Running, 1000 complete, 1 remain  "use strict";  testExtendSubSet(0, 20); testDiv.style.display = "none"; ", "The operation should not replace a registered Range")
    at assertSelectionNoChange ( /selection/common.js:988:5)
Passextend() backwards with range 16 [document.documentElement, 0, document.documentElement, 2] and point 18 [detachedPara1.firstChild, 8]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(1, 1, "The operation should not add Range")
    at assertSelectionNoChange ( /selection/common.js:976:5)
Pass
assert_equals(Element node <html><head><title>Selection extend() tests</title> <meta..., Element node <html><head><title>Selection extend() tests</title> <meta..., "The operation should not update anchorNode")
    at assertSelectionNoChange ( /selection/common.js:978:5)
Pass
assert_equals(2, 2, "The operation should not update anchorOffset")
    at assertSelectionNoChange ( /selection/common.js:980:5)
Pass
assert_equals(Element node <html><head><title>Selection extend() tests</title> <meta..., Element node <html><head><title>Selection extend() tests</title> <meta..., "The operation should not update focusNode")
    at assertSelectionNoChange ( /selection/common.js:982:5)
Pass
assert_equals(0, 0, "The operation should not update focusOffset")
    at assertSelectionNoChange ( /selection/common.js:984:5)
Pass
assert_equals(object "Selection extend() tests   Äb̈c̈d̈ëf̈g̈ḧ Ijklmnop QrstuvwxYzabcdefGhijklmn     Running, 1000 complete, 1 remain  "use strict";  testExtendSubSet(0, 20); testDiv.style.display = "none"; ", object "Selection extend() tests   Äb̈c̈d̈ëf̈g̈ḧ Ijklmnop QrstuvwxYzabcdefGhijklmn     Running, 1000 complete, 1 remain  "use strict";  testExtendSubSet(0, 20); testDiv.style.display = "none"; ", "The operation should not replace a registered Range")
    at assertSelectionNoChange ( /selection/common.js:988:5)
Passextend() forwards with range 16 [document.documentElement, 0, document.documentElement, 2] and point 19 [detachedPara1.firstChild, 9]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(1, 1, "The operation should not add Range")
    at assertSelectionNoChange ( /selection/common.js:976:5)
Pass
assert_equals(Element node <html><head><title>Selection extend() tests</title> <meta..., Element node <html><head><title>Selection extend() tests</title> <meta..., "The operation should not update anchorNode")
    at assertSelectionNoChange ( /selection/common.js:978:5)
Pass
assert_equals(0, 0, "The operation should not update anchorOffset")
    at assertSelectionNoChange ( /selection/common.js:980:5)
Pass
assert_equals(Element node <html><head><title>Selection extend() tests</title> <meta..., Element node <html><head><title>Selection extend() tests</title> <meta..., "The operation should not update focusNode")
    at assertSelectionNoChange ( /selection/common.js:982:5)
Pass
assert_equals(2, 2, "The operation should not update focusOffset")
    at assertSelectionNoChange ( /selection/common.js:984:5)
Pass
assert_equals(object "Selection extend() tests   Äb̈c̈d̈ëf̈g̈ḧ Ijklmnop QrstuvwxYzabcdefGhijklmn     Running, 1000 complete, 1 remain  "use strict";  testExtendSubSet(0, 20); testDiv.style.display = "none"; ", object "Selection extend() tests   Äb̈c̈d̈ëf̈g̈ḧ Ijklmnop QrstuvwxYzabcdefGhijklmn     Running, 1000 complete, 1 remain  "use strict";  testExtendSubSet(0, 20); testDiv.style.display = "none"; ", "The operation should not replace a registered Range")
    at assertSelectionNoChange ( /selection/common.js:988:5)
Passextend() backwards with range 16 [document.documentElement, 0, document.documentElement, 2] and point 19 [detachedPara1.firstChild, 9]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(1, 1, "The operation should not add Range")
    at assertSelectionNoChange ( /selection/common.js:976:5)
Pass
assert_equals(Element node <html><head><title>Selection extend() tests</title> <meta..., Element node <html><head><title>Selection extend() tests</title> <meta..., "The operation should not update anchorNode")
    at assertSelectionNoChange ( /selection/common.js:978:5)
Pass
assert_equals(2, 2, "The operation should not update anchorOffset")
    at assertSelectionNoChange ( /selection/common.js:980:5)
Pass
assert_equals(Element node <html><head><title>Selection extend() tests</title> <meta..., Element node <html><head><title>Selection extend() tests</title> <meta..., "The operation should not update focusNode")
    at assertSelectionNoChange ( /selection/common.js:982:5)
Pass
assert_equals(0, 0, "The operation should not update focusOffset")
    at assertSelectionNoChange ( /selection/common.js:984:5)
Pass
assert_equals(object "Selection extend() tests   Äb̈c̈d̈ëf̈g̈ḧ Ijklmnop QrstuvwxYzabcdefGhijklmn     Running, 1000 complete, 1 remain  "use strict";  testExtendSubSet(0, 20); testDiv.style.display = "none"; ", object "Selection extend() tests   Äb̈c̈d̈ëf̈g̈ḧ Ijklmnop QrstuvwxYzabcdefGhijklmn     Running, 1000 complete, 1 remain  "use strict";  testExtendSubSet(0, 20); testDiv.style.display = "none"; ", "The operation should not replace a registered Range")
    at assertSelectionNoChange ( /selection/common.js:988:5)
Passextend() forwards with range 16 [document.documentElement, 0, document.documentElement, 2] and point 20 [foreignPara1.firstChild, 0]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(1, 1, "The operation should not add Range")
    at assertSelectionNoChange ( /selection/common.js:976:5)
Pass
assert_equals(Element node <html><head><title>Selection extend() tests</title> <meta..., Element node <html><head><title>Selection extend() tests</title> <meta..., "The operation should not update anchorNode")
    at assertSelectionNoChange ( /selection/common.js:978:5)
Pass
assert_equals(0, 0, "The operation should not update anchorOffset")
    at assertSelectionNoChange ( /selection/common.js:980:5)
Pass
assert_equals(Element node <html><head><title>Selection extend() tests</title> <meta..., Element node <html><head><title>Selection extend() tests</title> <meta..., "The operation should not update focusNode")
    at assertSelectionNoChange ( /selection/common.js:982:5)
Pass
assert_equals(2, 2, "The operation should not update focusOffset")
    at assertSelectionNoChange ( /selection/common.js:984:5)
Pass
assert_equals(object "Selection extend() tests   Äb̈c̈d̈ëf̈g̈ḧ Ijklmnop QrstuvwxYzabcdefGhijklmn     Running, 1000 complete, 1 remain  "use strict";  testExtendSubSet(0, 20); testDiv.style.display = "none"; ", object "Selection extend() tests   Äb̈c̈d̈ëf̈g̈ḧ Ijklmnop QrstuvwxYzabcdefGhijklmn     Running, 1000 complete, 1 remain  "use strict";  testExtendSubSet(0, 20); testDiv.style.display = "none"; ", "The operation should not replace a registered Range")
    at assertSelectionNoChange ( /selection/common.js:988:5)
Passextend() backwards with range 16 [document.documentElement, 0, document.documentElement, 2] and point 20 [foreignPara1.firstChild, 0]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(1, 1, "The operation should not add Range")
    at assertSelectionNoChange ( /selection/common.js:976:5)
Pass
assert_equals(Element node <html><head><title>Selection extend() tests</title> <meta..., Element node <html><head><title>Selection extend() tests</title> <meta..., "The operation should not update anchorNode")
    at assertSelectionNoChange ( /selection/common.js:978:5)
Pass
assert_equals(2, 2, "The operation should not update anchorOffset")
    at assertSelectionNoChange ( /selection/common.js:980:5)
Pass
assert_equals(Element node <html><head><title>Selection extend() tests</title> <meta..., Element node <html><head><title>Selection extend() tests</title> <meta..., "The operation should not update focusNode")
    at assertSelectionNoChange ( /selection/common.js:982:5)
Pass
assert_equals(0, 0, "The operation should not update focusOffset")
    at assertSelectionNoChange ( /selection/common.js:984:5)
Pass
assert_equals(object "Selection extend() tests   Äb̈c̈d̈ëf̈g̈ḧ Ijklmnop QrstuvwxYzabcdefGhijklmn     Running, 1000 complete, 1 remain  "use strict";  testExtendSubSet(0, 20); testDiv.style.display = "none"; ", object "Selection extend() tests   Äb̈c̈d̈ëf̈g̈ḧ Ijklmnop QrstuvwxYzabcdefGhijklmn     Running, 1000 complete, 1 remain  "use strict";  testExtendSubSet(0, 20); testDiv.style.display = "none"; ", "The operation should not replace a registered Range")
    at assertSelectionNoChange ( /selection/common.js:988:5)
Passextend() forwards with range 16 [document.documentElement, 0, document.documentElement, 2] and point 21 [foreignPara1.firstChild, 1]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(1, 1, "The operation should not add Range")
    at assertSelectionNoChange ( /selection/common.js:976:5)
Pass
assert_equals(Element node <html><head><title>Selection extend() tests</title> <meta..., Element node <html><head><title>Selection extend() tests</title> <meta..., "The operation should not update anchorNode")
    at assertSelectionNoChange ( /selection/common.js:978:5)
Pass
assert_equals(0, 0, "The operation should not update anchorOffset")
    at assertSelectionNoChange ( /selection/common.js:980:5)
Pass
assert_equals(Element node <html><head><title>Selection extend() tests</title> <meta..., Element node <html><head><title>Selection extend() tests</title> <meta..., "The operation should not update focusNode")
    at assertSelectionNoChange ( /selection/common.js:982:5)
Pass
assert_equals(2, 2, "The operation should not update focusOffset")
    at assertSelectionNoChange ( /selection/common.js:984:5)
Pass
assert_equals(object "Selection extend() tests   Äb̈c̈d̈ëf̈g̈ḧ Ijklmnop QrstuvwxYzabcdefGhijklmn     Running, 1000 complete, 1 remain  "use strict";  testExtendSubSet(0, 20); testDiv.style.display = "none"; ", object "Selection extend() tests   Äb̈c̈d̈ëf̈g̈ḧ Ijklmnop QrstuvwxYzabcdefGhijklmn     Running, 1000 complete, 1 remain  "use strict";  testExtendSubSet(0, 20); testDiv.style.display = "none"; ", "The operation should not replace a registered Range")
    at assertSelectionNoChange ( /selection/common.js:988:5)
Passextend() backwards with range 16 [document.documentElement, 0, document.documentElement, 2] and point 21 [foreignPara1.firstChild, 1]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(1, 1, "The operation should not add Range")
    at assertSelectionNoChange ( /selection/common.js:976:5)
Pass
assert_equals(Element node <html><head><title>Selection extend() tests</title> <meta..., Element node <html><head><title>Selection extend() tests</title> <meta..., "The operation should not update anchorNode")
    at assertSelectionNoChange ( /selection/common.js:978:5)
Pass
assert_equals(2, 2, "The operation should not update anchorOffset")
    at assertSelectionNoChange ( /selection/common.js:980:5)
Pass
assert_equals(Element node <html><head><title>Selection extend() tests</title> <meta..., Element node <html><head><title>Selection extend() tests</title> <meta..., "The operation should not update focusNode")
    at assertSelectionNoChange ( /selection/common.js:982:5)
Pass
assert_equals(0, 0, "The operation should not update focusOffset")
    at assertSelectionNoChange ( /selection/common.js:984:5)
Pass
assert_equals(object "Selection extend() tests   Äb̈c̈d̈ëf̈g̈ḧ Ijklmnop QrstuvwxYzabcdefGhijklmn     Running, 1000 complete, 1 remain  "use strict";  testExtendSubSet(0, 20); testDiv.style.display = "none"; ", object "Selection extend() tests   Äb̈c̈d̈ëf̈g̈ḧ Ijklmnop QrstuvwxYzabcdefGhijklmn     Running, 1000 complete, 1 remain  "use strict";  testExtendSubSet(0, 20); testDiv.style.display = "none"; ", "The operation should not replace a registered Range")
    at assertSelectionNoChange ( /selection/common.js:988:5)
Passextend() forwards with range 16 [document.documentElement, 0, document.documentElement, 2] and point 22 [foreignPara1.firstChild, 8]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(1, 1, "The operation should not add Range")
    at assertSelectionNoChange ( /selection/common.js:976:5)
Pass
assert_equals(Element node <html><head><title>Selection extend() tests</title> <meta..., Element node <html><head><title>Selection extend() tests</title> <meta..., "The operation should not update anchorNode")
    at assertSelectionNoChange ( /selection/common.js:978:5)
Pass
assert_equals(0, 0, "The operation should not update anchorOffset")
    at assertSelectionNoChange ( /selection/common.js:980:5)
Pass
assert_equals(Element node <html><head><title>Selection extend() tests</title> <meta..., Element node <html><head><title>Selection extend() tests</title> <meta..., "The operation should not update focusNode")
    at assertSelectionNoChange ( /selection/common.js:982:5)
Pass
assert_equals(2, 2, "The operation should not update focusOffset")
    at assertSelectionNoChange ( /selection/common.js:984:5)
Pass
assert_equals(object "Selection extend() tests   Äb̈c̈d̈ëf̈g̈ḧ Ijklmnop QrstuvwxYzabcdefGhijklmn     Running, 1000 complete, 1 remain  "use strict";  testExtendSubSet(0, 20); testDiv.style.display = "none"; ", object "Selection extend() tests   Äb̈c̈d̈ëf̈g̈ḧ Ijklmnop QrstuvwxYzabcdefGhijklmn     Running, 1000 complete, 1 remain  "use strict";  testExtendSubSet(0, 20); testDiv.style.display = "none"; ", "The operation should not replace a registered Range")
    at assertSelectionNoChange ( /selection/common.js:988:5)
Passextend() backwards with range 16 [document.documentElement, 0, document.documentElement, 2] and point 22 [foreignPara1.firstChild, 8]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(1, 1, "The operation should not add Range")
    at assertSelectionNoChange ( /selection/common.js:976:5)
Pass
assert_equals(Element node <html><head><title>Selection extend() tests</title> <meta..., Element node <html><head><title>Selection extend() tests</title> <meta..., "The operation should not update anchorNode")
    at assertSelectionNoChange ( /selection/common.js:978:5)
Pass
assert_equals(2, 2, "The operation should not update anchorOffset")
    at assertSelectionNoChange ( /selection/common.js:980:5)
Pass
assert_equals(Element node <html><head><title>Selection extend() tests</title> <meta..., Element node <html><head><title>Selection extend() tests</title> <meta..., "The operation should not update focusNode")
    at assertSelectionNoChange ( /selection/common.js:982:5)
Pass
assert_equals(0, 0, "The operation should not update focusOffset")
    at assertSelectionNoChange ( /selection/common.js:984:5)
Pass
assert_equals(object "Selection extend() tests   Äb̈c̈d̈ëf̈g̈ḧ Ijklmnop QrstuvwxYzabcdefGhijklmn     Running, 1000 complete, 1 remain  "use strict";  testExtendSubSet(0, 20); testDiv.style.display = "none"; ", object "Selection extend() tests   Äb̈c̈d̈ëf̈g̈ḧ Ijklmnop QrstuvwxYzabcdefGhijklmn     Running, 1000 complete, 1 remain  "use strict";  testExtendSubSet(0, 20); testDiv.style.display = "none"; ", "The operation should not replace a registered Range")
    at assertSelectionNoChange ( /selection/common.js:988:5)
Passextend() forwards with range 16 [document.documentElement, 0, document.documentElement, 2] and point 23 [foreignPara1.firstChild, 9]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(1, 1, "The operation should not add Range")
    at assertSelectionNoChange ( /selection/common.js:976:5)
Pass
assert_equals(Element node <html><head><title>Selection extend() tests</title> <meta..., Element node <html><head><title>Selection extend() tests</title> <meta..., "The operation should not update anchorNode")
    at assertSelectionNoChange ( /selection/common.js:978:5)
Pass
assert_equals(0, 0, "The operation should not update anchorOffset")
    at assertSelectionNoChange ( /selection/common.js:980:5)
Pass
assert_equals(Element node <html><head><title>Selection extend() tests</title> <meta..., Element node <html><head><title>Selection extend() tests</title> <meta..., "The operation should not update focusNode")
    at assertSelectionNoChange ( /selection/common.js:982:5)
Pass
assert_equals(2, 2, "The operation should not update focusOffset")
    at assertSelectionNoChange ( /selection/common.js:984:5)
Pass
assert_equals(object "Selection extend() tests   Äb̈c̈d̈ëf̈g̈ḧ Ijklmnop QrstuvwxYzabcdefGhijklmn     Running, 1000 complete, 1 remain  "use strict";  testExtendSubSet(0, 20); testDiv.style.display = "none"; ", object "Selection extend() tests   Äb̈c̈d̈ëf̈g̈ḧ Ijklmnop QrstuvwxYzabcdefGhijklmn     Running, 1000 complete, 1 remain  "use strict";  testExtendSubSet(0, 20); testDiv.style.display = "none"; ", "The operation should not replace a registered Range")
    at assertSelectionNoChange ( /selection/common.js:988:5)
Passextend() backwards with range 16 [document.documentElement, 0, document.documentElement, 2] and point 23 [foreignPara1.firstChild, 9]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(1, 1, "The operation should not add Range")
    at assertSelectionNoChange ( /selection/common.js:976:5)
Pass
assert_equals(Element node <html><head><title>Selection extend() tests</title> <meta..., Element node <html><head><title>Selection extend() tests</title> <meta..., "The operation should not update anchorNode")
    at assertSelectionNoChange ( /selection/common.js:978:5)
Pass
assert_equals(2, 2, "The operation should not update anchorOffset")
    at assertSelectionNoChange ( /selection/common.js:980:5)
Pass
assert_equals(Element node <html><head><title>Selection extend() tests</title> <meta..., Element node <html><head><title>Selection extend() tests</title> <meta..., "The operation should not update focusNode")
    at assertSelectionNoChange ( /selection/common.js:982:5)
Pass
assert_equals(0, 0, "The operation should not update focusOffset")
    at assertSelectionNoChange ( /selection/common.js:984:5)
Pass
assert_equals(object "Selection extend() tests   Äb̈c̈d̈ëf̈g̈ḧ Ijklmnop QrstuvwxYzabcdefGhijklmn     Running, 1000 complete, 1 remain  "use strict";  testExtendSubSet(0, 20); testDiv.style.display = "none"; ", object "Selection extend() tests   Äb̈c̈d̈ëf̈g̈ḧ Ijklmnop QrstuvwxYzabcdefGhijklmn     Running, 1000 complete, 1 remain  "use strict";  testExtendSubSet(0, 20); testDiv.style.display = "none"; ", "The operation should not replace a registered Range")
    at assertSelectionNoChange ( /selection/common.js:988:5)
Passextend() forwards with range 16 [document.documentElement, 0, document.documentElement, 2] and point 24 [document.documentElement, -1]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(Element node <html><head><title>Selection extend() tests</title> <meta..., Element node <html><head><title>Selection extend() tests</title> <meta..., "Sanity check: startContainer must be correct")
    at testExtend ( /selection/extend.js:80:5)
Pass
assert_equals(0, 0, "Sanity check: startOffset must be correct")
    at testExtend ( /selection/extend.js:82:5)
Pass
assert_equals(Element node <html><head><title>Selection extend() tests</title> <meta..., Element node <html><head><title>Selection extend() tests</title> <meta..., "Sanity check: endContainer must be correct")
    at testExtend ( /selection/extend.js:84:5)
Pass
assert_equals(2, 2, "Sanity check: endOffset must be correct")
    at testExtend ( /selection/extend.js:86:5)
Pass
assert_throws_dom("INDEX_SIZE_ERR", function "function() {             selection.extend(node, offset);         }", "extend() to an offset that's greater than node length (2) must throw IndexSizeError")
    at testExtend ( /selection/extend.js:117:9)
Passextend() backwards with range 16 [document.documentElement, 0, document.documentElement, 2] and point 24 [document.documentElement, -1]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(Element node <html><head><title>Selection extend() tests</title> <meta..., Element node <html><head><title>Selection extend() tests</title> <meta..., "Sanity check: startContainer must be correct")
    at testExtend ( /selection/extend.js:80:5)
Pass
assert_equals(0, 0, "Sanity check: startOffset must be correct")
    at testExtend ( /selection/extend.js:82:5)
Pass
assert_equals(Element node <html><head><title>Selection extend() tests</title> <meta..., Element node <html><head><title>Selection extend() tests</title> <meta..., "Sanity check: endContainer must be correct")
    at testExtend ( /selection/extend.js:84:5)
Pass
assert_equals(2, 2, "Sanity check: endOffset must be correct")
    at testExtend ( /selection/extend.js:86:5)
Pass
assert_throws_dom("INDEX_SIZE_ERR", function "function() {             selection.extend(node, offset);         }", "extend() to an offset that's greater than node length (2) must throw IndexSizeError")
    at testExtend ( /selection/extend.js:117:9)
Passextend() forwards with range 16 [document.documentElement, 0, document.documentElement, 2] and point 25 [document.documentElement, 0]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(Element node <html><head><title>Selection extend() tests</title> <meta..., Element node <html><head><title>Selection extend() tests</title> <meta..., "Sanity check: startContainer must be correct")
    at testExtend ( /selection/extend.js:80:5)
Pass
assert_equals(0, 0, "Sanity check: startOffset must be correct")
    at testExtend ( /selection/extend.js:82:5)
Pass
assert_equals(Element node <html><head><title>Selection extend() tests</title> <meta..., Element node <html><head><title>Selection extend() tests</title> <meta..., "Sanity check: endContainer must be correct")
    at testExtend ( /selection/extend.js:84:5)
Pass
assert_equals(2, 2, "Sanity check: endOffset must be correct")
    at testExtend ( /selection/extend.js:86:5)
Pass
assert_equals(Element node <html><head><title>Selection extend() tests</title> <meta..., Element node <html><head><title>Selection extend() tests</title> <meta..., "anchorNode must not change if the node passed to extend() has the same root as the original range")
    at testExtend ( /selection/extend.js:145:9)
Pass
assert_equals(0, 0, "anchorOffset must not change if the node passed to extend() has the same root as the original range")
    at testExtend ( /selection/extend.js:147:9)
Pass
assert_equals(Element node <html><head><title>Selection extend() tests</title> <meta..., Element node <html><head><title>Selection extend() tests</title> <meta..., "focusNode must be the node passed to extend()")
    at testExtend ( /selection/extend.js:155:5)
Pass
assert_equals(0, 0, "focusOffset must be the offset passed to extend()")
    at testExtend ( /selection/extend.js:157:5)
Pass
assert_not_equals(object "", object "Selection extend() tests   Äb̈c̈d̈ëf̈g̈ḧ Ijklmnop QrstuvwxYzabcdefGhijklmn     Running, 1000 complete, 1 remain  "use strict";  testExtendSubSet(0, 20); testDiv.style.display = "none"; ", "extend() must replace any existing range with a new one, not mutate the existing one")
    at testExtend ( /selection/extend.js:159:5)
Passextend() backwards with range 16 [document.documentElement, 0, document.documentElement, 2] and point 25 [document.documentElement, 0]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(Element node <html><head><title>Selection extend() tests</title> <meta..., Element node <html><head><title>Selection extend() tests</title> <meta..., "Sanity check: startContainer must be correct")
    at testExtend ( /selection/extend.js:80:5)
Pass
assert_equals(0, 0, "Sanity check: startOffset must be correct")
    at testExtend ( /selection/extend.js:82:5)
Pass
assert_equals(Element node <html><head><title>Selection extend() tests</title> <meta..., Element node <html><head><title>Selection extend() tests</title> <meta..., "Sanity check: endContainer must be correct")
    at testExtend ( /selection/extend.js:84:5)
Pass
assert_equals(2, 2, "Sanity check: endOffset must be correct")
    at testExtend ( /selection/extend.js:86:5)
Pass
assert_equals(Element node <html><head><title>Selection extend() tests</title> <meta..., Element node <html><head><title>Selection extend() tests</title> <meta..., "anchorNode must not change if the node passed to extend() has the same root as the original range")
    at testExtend ( /selection/extend.js:145:9)
Pass
assert_equals(2, 2, "anchorOffset must not change if the node passed to extend() has the same root as the original range")
    at testExtend ( /selection/extend.js:147:9)
Pass
assert_equals(Element node <html><head><title>Selection extend() tests</title> <meta..., Element node <html><head><title>Selection extend() tests</title> <meta..., "focusNode must be the node passed to extend()")
    at testExtend ( /selection/extend.js:155:5)
Pass
assert_equals(0, 0, "focusOffset must be the offset passed to extend()")
    at testExtend ( /selection/extend.js:157:5)
Pass
assert_not_equals(object "Selection extend() tests   Äb̈c̈d̈ëf̈g̈ḧ Ijklmnop QrstuvwxYzabcdefGhijklmn     Running, 1000 complete, 1 remain  "use strict";  testExtendSubSet(0, 20); testDiv.style.display = "none"; ", object "Selection extend() tests   Äb̈c̈d̈ëf̈g̈ḧ Ijklmnop QrstuvwxYzabcdefGhijklmn     Running, 1000 complete, 1 remain  "use strict";  testExtendSubSet(0, 20); testDiv.style.display = "none"; ", "extend() must replace any existing range with a new one, not mutate the existing one")
    at testExtend ( /selection/extend.js:159:5)
Passextend() forwards with range 16 [document.documentElement, 0, document.documentElement, 2] and point 26 [document.documentElement, 1]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(Element node <html><head><title>Selection extend() tests</title> <meta..., Element node <html><head><title>Selection extend() tests</title> <meta..., "Sanity check: startContainer must be correct")
    at testExtend ( /selection/extend.js:80:5)
Pass
assert_equals(0, 0, "Sanity check: startOffset must be correct")
    at testExtend ( /selection/extend.js:82:5)
Pass
assert_equals(Element node <html><head><title>Selection extend() tests</title> <meta..., Element node <html><head><title>Selection extend() tests</title> <meta..., "Sanity check: endContainer must be correct")
    at testExtend ( /selection/extend.js:84:5)
Pass
assert_equals(2, 2, "Sanity check: endOffset must be correct")
    at testExtend ( /selection/extend.js:86:5)
Pass
assert_equals(Element node <html><head><title>Selection extend() tests</title> <meta..., Element node <html><head><title>Selection extend() tests</title> <meta..., "anchorNode must not change if the node passed to extend() has the same root as the original range")
    at testExtend ( /selection/extend.js:145:9)
Pass
assert_equals(0, 0, "anchorOffset must not change if the node passed to extend() has the same root as the original range")
    at testExtend ( /selection/extend.js:147:9)
Pass
assert_equals(Element node <html><head><title>Selection extend() tests</title> <meta..., Element node <html><head><title>Selection extend() tests</title> <meta..., "focusNode must be the node passed to extend()")
    at testExtend ( /selection/extend.js:155:5)
Pass
assert_equals(1, 1, "focusOffset must be the offset passed to extend()")
    at testExtend ( /selection/extend.js:157:5)
Pass
assert_not_equals(object "Selection extend() tests   ", object "Selection extend() tests   Äb̈c̈d̈ëf̈g̈ḧ Ijklmnop QrstuvwxYzabcdefGhijklmn     Running, 1000 complete, 1 remain  "use strict";  testExtendSubSet(0, 20); testDiv.style.display = "none"; ", "extend() must replace any existing range with a new one, not mutate the existing one")
    at testExtend ( /selection/extend.js:159:5)
Passextend() backwards with range 16 [document.documentElement, 0, document.documentElement, 2] and point 26 [document.documentElement, 1]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(Element node <html><head><title>Selection extend() tests</title> <meta..., Element node <html><head><title>Selection extend() tests</title> <meta..., "Sanity check: startContainer must be correct")
    at testExtend ( /selection/extend.js:80:5)
Pass
assert_equals(0, 0, "Sanity check: startOffset must be correct")
    at testExtend ( /selection/extend.js:82:5)
Pass
assert_equals(Element node <html><head><title>Selection extend() tests</title> <meta..., Element node <html><head><title>Selection extend() tests</title> <meta..., "Sanity check: endContainer must be correct")
    at testExtend ( /selection/extend.js:84:5)
Pass
assert_equals(2, 2, "Sanity check: endOffset must be correct")
    at testExtend ( /selection/extend.js:86:5)
Pass
assert_equals(Element node <html><head><title>Selection extend() tests</title> <meta..., Element node <html><head><title>Selection extend() tests</title> <meta..., "anchorNode must not change if the node passed to extend() has the same root as the original range")
    at testExtend ( /selection/extend.js:145:9)
Pass
assert_equals(2, 2, "anchorOffset must not change if the node passed to extend() has the same root as the original range")
    at testExtend ( /selection/extend.js:147:9)
Pass
assert_equals(Element node <html><head><title>Selection extend() tests</title> <meta..., Element node <html><head><title>Selection extend() tests</title> <meta..., "focusNode must be the node passed to extend()")
    at testExtend ( /selection/extend.js:155:5)
Pass
assert_equals(1, 1, "focusOffset must be the offset passed to extend()")
    at testExtend ( /selection/extend.js:157:5)
Pass
assert_not_equals(object "Äb̈c̈d̈ëf̈g̈ḧ Ijklmnop QrstuvwxYzabcdefGhijklmn     Running, 1000 complete, 1 remain  "use strict";  testExtendSubSet(0, 20); testDiv.style.display = "none"; ", object "Selection extend() tests   Äb̈c̈d̈ëf̈g̈ḧ Ijklmnop QrstuvwxYzabcdefGhijklmn     Running, 1000 complete, 1 remain  "use strict";  testExtendSubSet(0, 20); testDiv.style.display = "none"; ", "extend() must replace any existing range with a new one, not mutate the existing one")
    at testExtend ( /selection/extend.js:159:5)
Passextend() forwards with range 16 [document.documentElement, 0, document.documentElement, 2] and point 27 [document.documentElement, 2]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(Element node <html><head><title>Selection extend() tests</title> <meta..., Element node <html><head><title>Selection extend() tests</title> <meta..., "Sanity check: startContainer must be correct")
    at testExtend ( /selection/extend.js:80:5)
Pass
assert_equals(0, 0, "Sanity check: startOffset must be correct")
    at testExtend ( /selection/extend.js:82:5)
Pass
assert_equals(Element node <html><head><title>Selection extend() tests</title> <meta..., Element node <html><head><title>Selection extend() tests</title> <meta..., "Sanity check: endContainer must be correct")
    at testExtend ( /selection/extend.js:84:5)
Pass
assert_equals(2, 2, "Sanity check: endOffset must be correct")
    at testExtend ( /selection/extend.js:86:5)
Pass
assert_equals(Element node <html><head><title>Selection extend() tests</title> <meta..., Element node <html><head><title>Selection extend() tests</title> <meta..., "anchorNode must not change if the node passed to extend() has the same root as the original range")
    at testExtend ( /selection/extend.js:145:9)
Pass
assert_equals(0, 0, "anchorOffset must not change if the node passed to extend() has the same root as the original range")
    at testExtend ( /selection/extend.js:147:9)
Pass
assert_equals(Element node <html><head><title>Selection extend() tests</title> <meta..., Element node <html><head><title>Selection extend() tests</title> <meta..., "focusNode must be the node passed to extend()")
    at testExtend ( /selection/extend.js:155:5)
Pass
assert_equals(2, 2, "focusOffset must be the offset passed to extend()")
    at testExtend ( /selection/extend.js:157:5)
Pass
assert_not_equals(object "Selection extend() tests   Äb̈c̈d̈ëf̈g̈ḧ Ijklmnop QrstuvwxYzabcdefGhijklmn     Running, 1000 complete, 1 remain  "use strict";  testExtendSubSet(0, 20); testDiv.style.display = "none"; ", object "Selection extend() tests   Äb̈c̈d̈ëf̈g̈ḧ Ijklmnop QrstuvwxYzabcdefGhijklmn     Running, 1000 complete, 1 remain  "use strict";  testExtendSubSet(0, 20); testDiv.style.display = "none"; ", "extend() must replace any existing range with a new one, not mutate the existing one")
    at testExtend ( /selection/extend.js:159:5)
Passextend() backwards with range 16 [document.documentElement, 0, document.documentElement, 2] and point 27 [document.documentElement, 2]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(Element node <html><head><title>Selection extend() tests</title> <meta..., Element node <html><head><title>Selection extend() tests</title> <meta..., "Sanity check: startContainer must be correct")
    at testExtend ( /selection/extend.js:80:5)
Pass
assert_equals(0, 0, "Sanity check: startOffset must be correct")
    at testExtend ( /selection/extend.js:82:5)
Pass
assert_equals(Element node <html><head><title>Selection extend() tests</title> <meta..., Element node <html><head><title>Selection extend() tests</title> <meta..., "Sanity check: endContainer must be correct")
    at testExtend ( /selection/extend.js:84:5)
Pass
assert_equals(2, 2, "Sanity check: endOffset must be correct")
    at testExtend ( /selection/extend.js:86:5)
Pass
assert_equals(Element node <html><head><title>Selection extend() tests</title> <meta..., Element node <html><head><title>Selection extend() tests</title> <meta..., "anchorNode must not change if the node passed to extend() has the same root as the original range")
    at testExtend ( /selection/extend.js:145:9)
Pass
assert_equals(2, 2, "anchorOffset must not change if the node passed to extend() has the same root as the original range")
    at testExtend ( /selection/extend.js:147:9)
Pass
assert_equals(Element node <html><head><title>Selection extend() tests</title> <meta..., Element node <html><head><title>Selection extend() tests</title> <meta..., "focusNode must be the node passed to extend()")
    at testExtend ( /selection/extend.js:155:5)
Pass
assert_equals(2, 2, "focusOffset must be the offset passed to extend()")
    at testExtend ( /selection/extend.js:157:5)
Pass
assert_not_equals(object "", object "Selection extend() tests   Äb̈c̈d̈ëf̈g̈ḧ Ijklmnop QrstuvwxYzabcdefGhijklmn     Running, 1000 complete, 1 remain  "use strict";  testExtendSubSet(0, 20); testDiv.style.display = "none"; ", "extend() must replace any existing range with a new one, not mutate the existing one")
    at testExtend ( /selection/extend.js:159:5)
Passextend() forwards with range 16 [document.documentElement, 0, document.documentElement, 2] and point 28 [document.documentElement, 7]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(Element node <html><head><title>Selection extend() tests</title> <meta..., Element node <html><head><title>Selection extend() tests</title> <meta..., "Sanity check: startContainer must be correct")
    at testExtend ( /selection/extend.js:80:5)
Pass
assert_equals(0, 0, "Sanity check: startOffset must be correct")
    at testExtend ( /selection/extend.js:82:5)
Pass
assert_equals(Element node <html><head><title>Selection extend() tests</title> <meta..., Element node <html><head><title>Selection extend() tests</title> <meta..., "Sanity check: endContainer must be correct")
    at testExtend ( /selection/extend.js:84:5)
Pass
assert_equals(2, 2, "Sanity check: endOffset must be correct")
    at testExtend ( /selection/extend.js:86:5)
Pass
assert_throws_dom("INDEX_SIZE_ERR", function "function() {             selection.extend(node, offset);         }", "extend() to an offset that's greater than node length (2) must throw IndexSizeError")
    at testExtend ( /selection/extend.js:117:9)
Passextend() backwards with range 16 [document.documentElement, 0, document.documentElement, 2] and point 28 [document.documentElement, 7]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(Element node <html><head><title>Selection extend() tests</title> <meta..., Element node <html><head><title>Selection extend() tests</title> <meta..., "Sanity check: startContainer must be correct")
    at testExtend ( /selection/extend.js:80:5)
Pass
assert_equals(0, 0, "Sanity check: startOffset must be correct")
    at testExtend ( /selection/extend.js:82:5)
Pass
assert_equals(Element node <html><head><title>Selection extend() tests</title> <meta..., Element node <html><head><title>Selection extend() tests</title> <meta..., "Sanity check: endContainer must be correct")
    at testExtend ( /selection/extend.js:84:5)
Pass
assert_equals(2, 2, "Sanity check: endOffset must be correct")
    at testExtend ( /selection/extend.js:86:5)
Pass
assert_throws_dom("INDEX_SIZE_ERR", function "function() {             selection.extend(node, offset);         }", "extend() to an offset that's greater than node length (2) must throw IndexSizeError")
    at testExtend ( /selection/extend.js:117:9)
Passextend() forwards with range 16 [document.documentElement, 0, document.documentElement, 2] and point 29 [document.head, 1]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(Element node <html><head><title>Selection extend() tests</title> <meta..., Element node <html><head><title>Selection extend() tests</title> <meta..., "Sanity check: startContainer must be correct")
    at testExtend ( /selection/extend.js:80:5)
Pass
assert_equals(0, 0, "Sanity check: startOffset must be correct")
    at testExtend ( /selection/extend.js:82:5)
Pass
assert_equals(Element node <html><head><title>Selection extend() tests</title> <meta..., Element node <html><head><title>Selection extend() tests</title> <meta..., "Sanity check: endContainer must be correct")
    at testExtend ( /selection/extend.js:84:5)
Pass
assert_equals(2, 2, "Sanity check: endOffset must be correct")
    at testExtend ( /selection/extend.js:86:5)
Pass
assert_equals(Element node <html><head><title>Selection extend() tests</title> <meta..., Element node <html><head><title>Selection extend() tests</title> <meta..., "anchorNode must not change if the node passed to extend() has the same root as the original range")
    at testExtend ( /selection/extend.js:145:9)
Pass
assert_equals(0, 0, "anchorOffset must not change if the node passed to extend() has the same root as the original range")
    at testExtend ( /selection/extend.js:147:9)
Pass
assert_equals(Element node <head><title>Selection extend() tests</title> <meta chars..., Element node <head><title>Selection extend() tests</title> <meta chars..., "focusNode must be the node passed to extend()")
    at testExtend ( /selection/extend.js:155:5)
Pass
assert_equals(1, 1, "focusOffset must be the offset passed to extend()")
    at testExtend ( /selection/extend.js:157:5)
Pass
assert_not_equals(object "Selection extend() tests", object "Selection extend() tests   Äb̈c̈d̈ëf̈g̈ḧ Ijklmnop QrstuvwxYzabcdefGhijklmn     Running, 1000 complete, 1 remain  "use strict";  testExtendSubSet(0, 20); testDiv.style.display = "none"; ", "extend() must replace any existing range with a new one, not mutate the existing one")
    at testExtend ( /selection/extend.js:159:5)
Passextend() backwards with range 16 [document.documentElement, 0, document.documentElement, 2] and point 29 [document.head, 1]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(Element node <html><head><title>Selection extend() tests</title> <meta..., Element node <html><head><title>Selection extend() tests</title> <meta..., "Sanity check: startContainer must be correct")
    at testExtend ( /selection/extend.js:80:5)
Pass
assert_equals(0, 0, "Sanity check: startOffset must be correct")
    at testExtend ( /selection/extend.js:82:5)
Pass
assert_equals(Element node <html><head><title>Selection extend() tests</title> <meta..., Element node <html><head><title>Selection extend() tests</title> <meta..., "Sanity check: endContainer must be correct")
    at testExtend ( /selection/extend.js:84:5)
Pass
assert_equals(2, 2, "Sanity check: endOffset must be correct")
    at testExtend ( /selection/extend.js:86:5)
Pass
assert_equals(Element node <html><head><title>Selection extend() tests</title> <meta..., Element node <html><head><title>Selection extend() tests</title> <meta..., "anchorNode must not change if the node passed to extend() has the same root as the original range")
    at testExtend ( /selection/extend.js:145:9)
Pass
assert_equals(2, 2, "anchorOffset must not change if the node passed to extend() has the same root as the original range")
    at testExtend ( /selection/extend.js:147:9)
Pass
assert_equals(Element node <head><title>Selection extend() tests</title> <meta chars..., Element node <head><title>Selection extend() tests</title> <meta chars..., "focusNode must be the node passed to extend()")
    at testExtend ( /selection/extend.js:155:5)
Pass
assert_equals(1, 1, "focusOffset must be the offset passed to extend()")
    at testExtend ( /selection/extend.js:157:5)
Pass
assert_not_equals(object "   Äb̈c̈d̈ëf̈g̈ḧ Ijklmnop QrstuvwxYzabcdefGhijklmn     Running, 1000 complete, 1 remain  "use strict";  testExtendSubSet(0, 20); testDiv.style.display = "none"; ", object "Selection extend() tests   Äb̈c̈d̈ëf̈g̈ḧ Ijklmnop QrstuvwxYzabcdefGhijklmn     Running, 1000 complete, 1 remain  "use strict";  testExtendSubSet(0, 20); testDiv.style.display = "none"; ", "extend() must replace any existing range with a new one, not mutate the existing one")
    at testExtend ( /selection/extend.js:159:5)
Passextend() forwards with range 16 [document.documentElement, 0, document.documentElement, 2] and point 30 [document.body, 3]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(Element node <html><head><title>Selection extend() tests</title> <meta..., Element node <html><head><title>Selection extend() tests</title> <meta..., "Sanity check: startContainer must be correct")
    at testExtend ( /selection/extend.js:80:5)
Pass
assert_equals(0, 0, "Sanity check: startOffset must be correct")
    at testExtend ( /selection/extend.js:82:5)
Pass
assert_equals(Element node <html><head><title>Selection extend() tests</title> <meta..., Element node <html><head><title>Selection extend() tests</title> <meta..., "Sanity check: endContainer must be correct")
    at testExtend ( /selection/extend.js:84:5)
Pass
assert_equals(2, 2, "Sanity check: endOffset must be correct")
    at testExtend ( /selection/extend.js:86:5)
Pass
assert_equals(Element node <html><head><title>Selection extend() tests</title> <meta..., Element node <html><head><title>Selection extend() tests</title> <meta..., "anchorNode must not change if the node passed to extend() has the same root as the original range")
    at testExtend ( /selection/extend.js:145:9)
Pass
assert_equals(0, 0, "anchorOffset must not change if the node passed to extend() has the same root as the original range")
    at testExtend ( /selection/extend.js:147:9)
Pass
assert_equals(Element node <body><div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ </p><p id..., Element node <body><div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ </p><p id..., "focusNode must be the node passed to extend()")
    at testExtend ( /selection/extend.js:155:5)
Pass
assert_equals(3, 3, "focusOffset must be the offset passed to extend()")
    at testExtend ( /selection/extend.js:157:5)
Pass
assert_not_equals(object "Selection extend() tests   Äb̈c̈d̈ëf̈g̈ḧ Ijklmnop QrstuvwxYzabcdefGhijklmn ", object "Selection extend() tests   Äb̈c̈d̈ëf̈g̈ḧ Ijklmnop QrstuvwxYzabcdefGhijklmn     Running, 1000 complete, 1 remain  "use strict";  testExtendSubSet(0, 20); testDiv.style.display = "none"; ", "extend() must replace any existing range with a new one, not mutate the existing one")
    at testExtend ( /selection/extend.js:159:5)
Passextend() backwards with range 16 [document.documentElement, 0, document.documentElement, 2] and point 30 [document.body, 3]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(Element node <html><head><title>Selection extend() tests</title> <meta..., Element node <html><head><title>Selection extend() tests</title> <meta..., "Sanity check: startContainer must be correct")
    at testExtend ( /selection/extend.js:80:5)
Pass
assert_equals(0, 0, "Sanity check: startOffset must be correct")
    at testExtend ( /selection/extend.js:82:5)
Pass
assert_equals(Element node <html><head><title>Selection extend() tests</title> <meta..., Element node <html><head><title>Selection extend() tests</title> <meta..., "Sanity check: endContainer must be correct")
    at testExtend ( /selection/extend.js:84:5)
Pass
assert_equals(2, 2, "Sanity check: endOffset must be correct")
    at testExtend ( /selection/extend.js:86:5)
Pass
assert_equals(Element node <html><head><title>Selection extend() tests</title> <meta..., Element node <html><head><title>Selection extend() tests</title> <meta..., "anchorNode must not change if the node passed to extend() has the same root as the original range")
    at testExtend ( /selection/extend.js:145:9)
Pass
assert_equals(2, 2, "anchorOffset must not change if the node passed to extend() has the same root as the original range")
    at testExtend ( /selection/extend.js:147:9)
Pass
assert_equals(Element node <body><div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ </p><p id..., Element node <body><div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ </p><p id..., "focusNode must be the node passed to extend()")
    at testExtend ( /selection/extend.js:155:5)
Pass
assert_equals(3, 3, "focusOffset must be the offset passed to extend()")
    at testExtend ( /selection/extend.js:157:5)
Pass
assert_not_equals(object "    Running, 1000 complete, 1 remain  "use strict";  testExtendSubSet(0, 20); testDiv.style.display = "none"; ", object "Selection extend() tests   Äb̈c̈d̈ëf̈g̈ḧ Ijklmnop QrstuvwxYzabcdefGhijklmn     Running, 1000 complete, 1 remain  "use strict";  testExtendSubSet(0, 20); testDiv.style.display = "none"; ", "extend() must replace any existing range with a new one, not mutate the existing one")
    at testExtend ( /selection/extend.js:159:5)
Passextend() forwards with range 16 [document.documentElement, 0, document.documentElement, 2] and point 31 [foreignDoc.documentElement, 0]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(1, 1, "The operation should not add Range")
    at assertSelectionNoChange ( /selection/common.js:976:5)
Pass
assert_equals(Element node <html><head><title>Selection extend() tests</title> <meta..., Element node <html><head><title>Selection extend() tests</title> <meta..., "The operation should not update anchorNode")
    at assertSelectionNoChange ( /selection/common.js:978:5)
Pass
assert_equals(0, 0, "The operation should not update anchorOffset")
    at assertSelectionNoChange ( /selection/common.js:980:5)
Pass
assert_equals(Element node <html><head><title>Selection extend() tests</title> <meta..., Element node <html><head><title>Selection extend() tests</title> <meta..., "The operation should not update focusNode")
    at assertSelectionNoChange ( /selection/common.js:982:5)
Pass
assert_equals(2, 2, "The operation should not update focusOffset")
    at assertSelectionNoChange ( /selection/common.js:984:5)
Pass
assert_equals(object "Selection extend() tests   Äb̈c̈d̈ëf̈g̈ḧ Ijklmnop QrstuvwxYzabcdefGhijklmn     Running, 1000 complete, 1 remain  "use strict";  testExtendSubSet(0, 20); testDiv.style.display = "none"; ", object "Selection extend() tests   Äb̈c̈d̈ëf̈g̈ḧ Ijklmnop QrstuvwxYzabcdefGhijklmn     Running, 1000 complete, 1 remain  "use strict";  testExtendSubSet(0, 20); testDiv.style.display = "none"; ", "The operation should not replace a registered Range")
    at assertSelectionNoChange ( /selection/common.js:988:5)
Passextend() backwards with range 16 [document.documentElement, 0, document.documentElement, 2] and point 31 [foreignDoc.documentElement, 0]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(1, 1, "The operation should not add Range")
    at assertSelectionNoChange ( /selection/common.js:976:5)
Pass
assert_equals(Element node <html><head><title>Selection extend() tests</title> <meta..., Element node <html><head><title>Selection extend() tests</title> <meta..., "The operation should not update anchorNode")
    at assertSelectionNoChange ( /selection/common.js:978:5)
Pass
assert_equals(2, 2, "The operation should not update anchorOffset")
    at assertSelectionNoChange ( /selection/common.js:980:5)
Pass
assert_equals(Element node <html><head><title>Selection extend() tests</title> <meta..., Element node <html><head><title>Selection extend() tests</title> <meta..., "The operation should not update focusNode")
    at assertSelectionNoChange ( /selection/common.js:982:5)
Pass
assert_equals(0, 0, "The operation should not update focusOffset")
    at assertSelectionNoChange ( /selection/common.js:984:5)
Pass
assert_equals(object "Selection extend() tests   Äb̈c̈d̈ëf̈g̈ḧ Ijklmnop QrstuvwxYzabcdefGhijklmn     Running, 1000 complete, 1 remain  "use strict";  testExtendSubSet(0, 20); testDiv.style.display = "none"; ", object "Selection extend() tests   Äb̈c̈d̈ëf̈g̈ḧ Ijklmnop QrstuvwxYzabcdefGhijklmn     Running, 1000 complete, 1 remain  "use strict";  testExtendSubSet(0, 20); testDiv.style.display = "none"; ", "The operation should not replace a registered Range")
    at assertSelectionNoChange ( /selection/common.js:988:5)
Passextend() forwards with range 16 [document.documentElement, 0, document.documentElement, 2] and point 32 [foreignDoc.documentElement, 1]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(1, 1, "The operation should not add Range")
    at assertSelectionNoChange ( /selection/common.js:976:5)
Pass
assert_equals(Element node <html><head><title>Selection extend() tests</title> <meta..., Element node <html><head><title>Selection extend() tests</title> <meta..., "The operation should not update anchorNode")
    at assertSelectionNoChange ( /selection/common.js:978:5)
Pass
assert_equals(0, 0, "The operation should not update anchorOffset")
    at assertSelectionNoChange ( /selection/common.js:980:5)
Pass
assert_equals(Element node <html><head><title>Selection extend() tests</title> <meta..., Element node <html><head><title>Selection extend() tests</title> <meta..., "The operation should not update focusNode")
    at assertSelectionNoChange ( /selection/common.js:982:5)
Pass
assert_equals(2, 2, "The operation should not update focusOffset")
    at assertSelectionNoChange ( /selection/common.js:984:5)
Pass
assert_equals(object "Selection extend() tests   Äb̈c̈d̈ëf̈g̈ḧ Ijklmnop QrstuvwxYzabcdefGhijklmn     Running, 1000 complete, 1 remain  "use strict";  testExtendSubSet(0, 20); testDiv.style.display = "none"; ", object "Selection extend() tests   Äb̈c̈d̈ëf̈g̈ḧ Ijklmnop QrstuvwxYzabcdefGhijklmn     Running, 1000 complete, 1 remain  "use strict";  testExtendSubSet(0, 20); testDiv.style.display = "none"; ", "The operation should not replace a registered Range")
    at assertSelectionNoChange ( /selection/common.js:988:5)
Passextend() backwards with range 16 [document.documentElement, 0, document.documentElement, 2] and point 32 [foreignDoc.documentElement, 1]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(1, 1, "The operation should not add Range")
    at assertSelectionNoChange ( /selection/common.js:976:5)
Pass
assert_equals(Element node <html><head><title>Selection extend() tests</title> <meta..., Element node <html><head><title>Selection extend() tests</title> <meta..., "The operation should not update anchorNode")
    at assertSelectionNoChange ( /selection/common.js:978:5)
Pass
assert_equals(2, 2, "The operation should not update anchorOffset")
    at assertSelectionNoChange ( /selection/common.js:980:5)
Pass
assert_equals(Element node <html><head><title>Selection extend() tests</title> <meta..., Element node <html><head><title>Selection extend() tests</title> <meta..., "The operation should not update focusNode")
    at assertSelectionNoChange ( /selection/common.js:982:5)
Pass
assert_equals(0, 0, "The operation should not update focusOffset")
    at assertSelectionNoChange ( /selection/common.js:984:5)
Pass
assert_equals(object "Selection extend() tests   Äb̈c̈d̈ëf̈g̈ḧ Ijklmnop QrstuvwxYzabcdefGhijklmn     Running, 1000 complete, 1 remain  "use strict";  testExtendSubSet(0, 20); testDiv.style.display = "none"; ", object "Selection extend() tests   Äb̈c̈d̈ëf̈g̈ḧ Ijklmnop QrstuvwxYzabcdefGhijklmn     Running, 1000 complete, 1 remain  "use strict";  testExtendSubSet(0, 20); testDiv.style.display = "none"; ", "The operation should not replace a registered Range")
    at assertSelectionNoChange ( /selection/common.js:988:5)
Passextend() forwards with range 16 [document.documentElement, 0, document.documentElement, 2] and point 33 [foreignDoc.head, 0]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(1, 1, "The operation should not add Range")
    at assertSelectionNoChange ( /selection/common.js:976:5)
Pass
assert_equals(Element node <html><head><title>Selection extend() tests</title> <meta..., Element node <html><head><title>Selection extend() tests</title> <meta..., "The operation should not update anchorNode")
    at assertSelectionNoChange ( /selection/common.js:978:5)
Pass
assert_equals(0, 0, "The operation should not update anchorOffset")
    at assertSelectionNoChange ( /selection/common.js:980:5)
Pass
assert_equals(Element node <html><head><title>Selection extend() tests</title> <meta..., Element node <html><head><title>Selection extend() tests</title> <meta..., "The operation should not update focusNode")
    at assertSelectionNoChange ( /selection/common.js:982:5)
Pass
assert_equals(2, 2, "The operation should not update focusOffset")
    at assertSelectionNoChange ( /selection/common.js:984:5)
Pass
assert_equals(object "Selection extend() tests   Äb̈c̈d̈ëf̈g̈ḧ Ijklmnop QrstuvwxYzabcdefGhijklmn     Running, 1000 complete, 1 remain  "use strict";  testExtendSubSet(0, 20); testDiv.style.display = "none"; ", object "Selection extend() tests   Äb̈c̈d̈ëf̈g̈ḧ Ijklmnop QrstuvwxYzabcdefGhijklmn     Running, 1000 complete, 1 remain  "use strict";  testExtendSubSet(0, 20); testDiv.style.display = "none"; ", "The operation should not replace a registered Range")
    at assertSelectionNoChange ( /selection/common.js:988:5)
Passextend() backwards with range 16 [document.documentElement, 0, document.documentElement, 2] and point 33 [foreignDoc.head, 0]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(1, 1, "The operation should not add Range")
    at assertSelectionNoChange ( /selection/common.js:976:5)
Pass
assert_equals(Element node <html><head><title>Selection extend() tests</title> <meta..., Element node <html><head><title>Selection extend() tests</title> <meta..., "The operation should not update anchorNode")
    at assertSelectionNoChange ( /selection/common.js:978:5)
Pass
assert_equals(2, 2, "The operation should not update anchorOffset")
    at assertSelectionNoChange ( /selection/common.js:980:5)
Pass
assert_equals(Element node <html><head><title>Selection extend() tests</title> <meta..., Element node <html><head><title>Selection extend() tests</title> <meta..., "The operation should not update focusNode")
    at assertSelectionNoChange ( /selection/common.js:982:5)
Pass
assert_equals(0, 0, "The operation should not update focusOffset")
    at assertSelectionNoChange ( /selection/common.js:984:5)
Pass
assert_equals(object "Selection extend() tests   Äb̈c̈d̈ëf̈g̈ḧ Ijklmnop QrstuvwxYzabcdefGhijklmn     Running, 1000 complete, 1 remain  "use strict";  testExtendSubSet(0, 20); testDiv.style.display = "none"; ", object "Selection extend() tests   Äb̈c̈d̈ëf̈g̈ḧ Ijklmnop QrstuvwxYzabcdefGhijklmn     Running, 1000 complete, 1 remain  "use strict";  testExtendSubSet(0, 20); testDiv.style.display = "none"; ", "The operation should not replace a registered Range")
    at assertSelectionNoChange ( /selection/common.js:988:5)
Passextend() forwards with range 16 [document.documentElement, 0, document.documentElement, 2] and point 34 [foreignDoc.body, 1]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(1, 1, "The operation should not add Range")
    at assertSelectionNoChange ( /selection/common.js:976:5)
Pass
assert_equals(Element node <html><head><title>Selection extend() tests</title> <meta..., Element node <html><head><title>Selection extend() tests</title> <meta..., "The operation should not update anchorNode")
    at assertSelectionNoChange ( /selection/common.js:978:5)
Pass
assert_equals(0, 0, "The operation should not update anchorOffset")
    at assertSelectionNoChange ( /selection/common.js:980:5)
Pass
assert_equals(Element node <html><head><title>Selection extend() tests</title> <meta..., Element node <html><head><title>Selection extend() tests</title> <meta..., "The operation should not update focusNode")
    at assertSelectionNoChange ( /selection/common.js:982:5)
Pass
assert_equals(2, 2, "The operation should not update focusOffset")
    at assertSelectionNoChange ( /selection/common.js:984:5)
Pass
assert_equals(object "Selection extend() tests   Äb̈c̈d̈ëf̈g̈ḧ Ijklmnop QrstuvwxYzabcdefGhijklmn     Running, 1000 complete, 1 remain  "use strict";  testExtendSubSet(0, 20); testDiv.style.display = "none"; ", object "Selection extend() tests   Äb̈c̈d̈ëf̈g̈ḧ Ijklmnop QrstuvwxYzabcdefGhijklmn     Running, 1000 complete, 1 remain  "use strict";  testExtendSubSet(0, 20); testDiv.style.display = "none"; ", "The operation should not replace a registered Range")
    at assertSelectionNoChange ( /selection/common.js:988:5)
Passextend() backwards with range 16 [document.documentElement, 0, document.documentElement, 2] and point 34 [foreignDoc.body, 1]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(1, 1, "The operation should not add Range")
    at assertSelectionNoChange ( /selection/common.js:976:5)
Pass
assert_equals(Element node <html><head><title>Selection extend() tests</title> <meta..., Element node <html><head><title>Selection extend() tests</title> <meta..., "The operation should not update anchorNode")
    at assertSelectionNoChange ( /selection/common.js:978:5)
Pass
assert_equals(2, 2, "The operation should not update anchorOffset")
    at assertSelectionNoChange ( /selection/common.js:980:5)
Pass
assert_equals(Element node <html><head><title>Selection extend() tests</title> <meta..., Element node <html><head><title>Selection extend() tests</title> <meta..., "The operation should not update focusNode")
    at assertSelectionNoChange ( /selection/common.js:982:5)
Pass
assert_equals(0, 0, "The operation should not update focusOffset")
    at assertSelectionNoChange ( /selection/common.js:984:5)
Pass
assert_equals(object "Selection extend() tests   Äb̈c̈d̈ëf̈g̈ḧ Ijklmnop QrstuvwxYzabcdefGhijklmn     Running, 1000 complete, 1 remain  "use strict";  testExtendSubSet(0, 20); testDiv.style.display = "none"; ", object "Selection extend() tests   Äb̈c̈d̈ëf̈g̈ḧ Ijklmnop QrstuvwxYzabcdefGhijklmn     Running, 1000 complete, 1 remain  "use strict";  testExtendSubSet(0, 20); testDiv.style.display = "none"; ", "The operation should not replace a registered Range")
    at assertSelectionNoChange ( /selection/common.js:988:5)
Passextend() forwards with range 16 [document.documentElement, 0, document.documentElement, 2] and point 35 [paras[0], 0]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(Element node <html><head><title>Selection extend() tests</title> <meta..., Element node <html><head><title>Selection extend() tests</title> <meta..., "Sanity check: startContainer must be correct")
    at testExtend ( /selection/extend.js:80:5)
Pass
assert_equals(0, 0, "Sanity check: startOffset must be correct")
    at testExtend ( /selection/extend.js:82:5)
Pass
assert_equals(Element node <html><head><title>Selection extend() tests</title> <meta..., Element node <html><head><title>Selection extend() tests</title> <meta..., "Sanity check: endContainer must be correct")
    at testExtend ( /selection/extend.js:84:5)
Pass
assert_equals(2, 2, "Sanity check: endOffset must be correct")
    at testExtend ( /selection/extend.js:86:5)
Pass
assert_equals(Element node <html><head><title>Selection extend() tests</title> <meta..., Element node <html><head><title>Selection extend() tests</title> <meta..., "anchorNode must not change if the node passed to extend() has the same root as the original range")
    at testExtend ( /selection/extend.js:145:9)
Pass
assert_equals(0, 0, "anchorOffset must not change if the node passed to extend() has the same root as the original range")
    at testExtend ( /selection/extend.js:147:9)
Pass
assert_equals(Element node <p id="a">Äb̈c̈d̈ëf̈g̈ḧ </p>, Element node <p id="a">Äb̈c̈d̈ëf̈g̈ḧ </p>, "focusNode must be the node passed to extend()")
    at testExtend ( /selection/extend.js:155:5)
Pass
assert_equals(0, 0, "focusOffset must be the offset passed to extend()")
    at testExtend ( /selection/extend.js:157:5)
Pass
assert_not_equals(object "Selection extend() tests   ", object "Selection extend() tests   Äb̈c̈d̈ëf̈g̈ḧ Ijklmnop QrstuvwxYzabcdefGhijklmn     Running, 1000 complete, 1 remain  "use strict";  testExtendSubSet(0, 20); testDiv.style.display = "none"; ", "extend() must replace any existing range with a new one, not mutate the existing one")
    at testExtend ( /selection/extend.js:159:5)
Passextend() backwards with range 16 [document.documentElement, 0, document.documentElement, 2] and point 35 [paras[0], 0]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(Element node <html><head><title>Selection extend() tests</title> <meta..., Element node <html><head><title>Selection extend() tests</title> <meta..., "Sanity check: startContainer must be correct")
    at testExtend ( /selection/extend.js:80:5)
Pass
assert_equals(0, 0, "Sanity check: startOffset must be correct")
    at testExtend ( /selection/extend.js:82:5)
Pass
assert_equals(Element node <html><head><title>Selection extend() tests</title> <meta..., Element node <html><head><title>Selection extend() tests</title> <meta..., "Sanity check: endContainer must be correct")
    at testExtend ( /selection/extend.js:84:5)
Pass
assert_equals(2, 2, "Sanity check: endOffset must be correct")
    at testExtend ( /selection/extend.js:86:5)
Pass
assert_equals(Element node <html><head><title>Selection extend() tests</title> <meta..., Element node <html><head><title>Selection extend() tests</title> <meta..., "anchorNode must not change if the node passed to extend() has the same root as the original range")
    at testExtend ( /selection/extend.js:145:9)
Pass
assert_equals(2, 2, "anchorOffset must not change if the node passed to extend() has the same root as the original range")
    at testExtend ( /selection/extend.js:147:9)
Pass
assert_equals(Element node <p id="a">Äb̈c̈d̈ëf̈g̈ḧ </p>, Element node <p id="a">Äb̈c̈d̈ëf̈g̈ḧ </p>, "focusNode must be the node passed to extend()")
    at testExtend ( /selection/extend.js:155:5)
Pass
assert_equals(0, 0, "focusOffset must be the offset passed to extend()")
    at testExtend ( /selection/extend.js:157:5)
Pass
assert_not_equals(object "Äb̈c̈d̈ëf̈g̈ḧ Ijklmnop QrstuvwxYzabcdefGhijklmn     Running, 1000 complete, 1 remain  "use strict";  testExtendSubSet(0, 20); testDiv.style.display = "none"; ", object "Selection extend() tests   Äb̈c̈d̈ëf̈g̈ḧ Ijklmnop QrstuvwxYzabcdefGhijklmn     Running, 1000 complete, 1 remain  "use strict";  testExtendSubSet(0, 20); testDiv.style.display = "none"; ", "extend() must replace any existing range with a new one, not mutate the existing one")
    at testExtend ( /selection/extend.js:159:5)
Passextend() forwards with range 16 [document.documentElement, 0, document.documentElement, 2] and point 36 [paras[0], 1]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(Element node <html><head><title>Selection extend() tests</title> <meta..., Element node <html><head><title>Selection extend() tests</title> <meta..., "Sanity check: startContainer must be correct")
    at testExtend ( /selection/extend.js:80:5)
Pass
assert_equals(0, 0, "Sanity check: startOffset must be correct")
    at testExtend ( /selection/extend.js:82:5)
Pass
assert_equals(Element node <html><head><title>Selection extend() tests</title> <meta..., Element node <html><head><title>Selection extend() tests</title> <meta..., "Sanity check: endContainer must be correct")
    at testExtend ( /selection/extend.js:84:5)
Pass
assert_equals(2, 2, "Sanity check: endOffset must be correct")
    at testExtend ( /selection/extend.js:86:5)
Pass
assert_equals(Element node <html><head><title>Selection extend() tests</title> <meta..., Element node <html><head><title>Selection extend() tests</title> <meta..., "anchorNode must not change if the node passed to extend() has the same root as the original range")
    at testExtend ( /selection/extend.js:145:9)
Pass
assert_equals(0, 0, "anchorOffset must not change if the node passed to extend() has the same root as the original range")
    at testExtend ( /selection/extend.js:147:9)
Pass
assert_equals(Element node <p id="a">Äb̈c̈d̈ëf̈g̈ḧ </p>, Element node <p id="a">Äb̈c̈d̈ëf̈g̈ḧ </p>, "focusNode must be the node passed to extend()")
    at testExtend ( /selection/extend.js:155:5)
Pass
assert_equals(1, 1, "focusOffset must be the offset passed to extend()")
    at testExtend ( /selection/extend.js:157:5)
Pass
assert_not_equals(object "Selection extend() tests   Äb̈c̈d̈ëf̈g̈ḧ ", object "Selection extend() tests   Äb̈c̈d̈ëf̈g̈ḧ Ijklmnop QrstuvwxYzabcdefGhijklmn     Running, 1000 complete, 1 remain  "use strict";  testExtendSubSet(0, 20); testDiv.style.display = "none"; ", "extend() must replace any existing range with a new one, not mutate the existing one")
    at testExtend ( /selection/extend.js:159:5)
Passextend() backwards with range 16 [document.documentElement, 0, document.documentElement, 2] and point 36 [paras[0], 1]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(Element node <html><head><title>Selection extend() tests</title> <meta..., Element node <html><head><title>Selection extend() tests</title> <meta..., "Sanity check: startContainer must be correct")
    at testExtend ( /selection/extend.js:80:5)
Pass
assert_equals(0, 0, "Sanity check: startOffset must be correct")
    at testExtend ( /selection/extend.js:82:5)
Pass
assert_equals(Element node <html><head><title>Selection extend() tests</title> <meta..., Element node <html><head><title>Selection extend() tests</title> <meta..., "Sanity check: endContainer must be correct")
    at testExtend ( /selection/extend.js:84:5)
Pass
assert_equals(2, 2, "Sanity check: endOffset must be correct")
    at testExtend ( /selection/extend.js:86:5)
Pass
assert_equals(Element node <html><head><title>Selection extend() tests</title> <meta..., Element node <html><head><title>Selection extend() tests</title> <meta..., "anchorNode must not change if the node passed to extend() has the same root as the original range")
    at testExtend ( /selection/extend.js:145:9)
Pass
assert_equals(2, 2, "anchorOffset must not change if the node passed to extend() has the same root as the original range")
    at testExtend ( /selection/extend.js:147:9)
Pass
assert_equals(Element node <p id="a">Äb̈c̈d̈ëf̈g̈ḧ </p>, Element node <p id="a">Äb̈c̈d̈ëf̈g̈ḧ </p>, "focusNode must be the node passed to extend()")
    at testExtend ( /selection/extend.js:155:5)
Pass
assert_equals(1, 1, "focusOffset must be the offset passed to extend()")
    at testExtend ( /selection/extend.js:157:5)
Pass
assert_not_equals(object "Ijklmnop QrstuvwxYzabcdefGhijklmn     Running, 1000 complete, 1 remain  "use strict";  testExtendSubSet(0, 20); testDiv.style.display = "none"; ", object "Selection extend() tests   Äb̈c̈d̈ëf̈g̈ḧ Ijklmnop QrstuvwxYzabcdefGhijklmn     Running, 1000 complete, 1 remain  "use strict";  testExtendSubSet(0, 20); testDiv.style.display = "none"; ", "extend() must replace any existing range with a new one, not mutate the existing one")
    at testExtend ( /selection/extend.js:159:5)
Passextend() forwards with range 16 [document.documentElement, 0, document.documentElement, 2] and point 37 [paras[0], 2]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(Element node <html><head><title>Selection extend() tests</title> <meta..., Element node <html><head><title>Selection extend() tests</title> <meta..., "Sanity check: startContainer must be correct")
    at testExtend ( /selection/extend.js:80:5)
Pass
assert_equals(0, 0, "Sanity check: startOffset must be correct")
    at testExtend ( /selection/extend.js:82:5)
Pass
assert_equals(Element node <html><head><title>Selection extend() tests</title> <meta..., Element node <html><head><title>Selection extend() tests</title> <meta..., "Sanity check: endContainer must be correct")
    at testExtend ( /selection/extend.js:84:5)
Pass
assert_equals(2, 2, "Sanity check: endOffset must be correct")
    at testExtend ( /selection/extend.js:86:5)
Pass
assert_throws_dom("INDEX_SIZE_ERR", function "function() {             selection.extend(node, offset);         }", "extend() to an offset that's greater than node length (1) must throw IndexSizeError")
    at testExtend ( /selection/extend.js:117:9)
Passextend() backwards with range 16 [document.documentElement, 0, document.documentElement, 2] and point 37 [paras[0], 2]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(Element node <html><head><title>Selection extend() tests</title> <meta..., Element node <html><head><title>Selection extend() tests</title> <meta..., "Sanity check: startContainer must be correct")
    at testExtend ( /selection/extend.js:80:5)
Pass
assert_equals(0, 0, "Sanity check: startOffset must be correct")
    at testExtend ( /selection/extend.js:82:5)
Pass
assert_equals(Element node <html><head><title>Selection extend() tests</title> <meta..., Element node <html><head><title>Selection extend() tests</title> <meta..., "Sanity check: endContainer must be correct")
    at testExtend ( /selection/extend.js:84:5)
Pass
assert_equals(2, 2, "Sanity check: endOffset must be correct")
    at testExtend ( /selection/extend.js:86:5)
Pass
assert_throws_dom("INDEX_SIZE_ERR", function "function() {             selection.extend(node, offset);         }", "extend() to an offset that's greater than node length (1) must throw IndexSizeError")
    at testExtend ( /selection/extend.js:117:9)
Passextend() forwards with range 16 [document.documentElement, 0, document.documentElement, 2] and point 38 [paras[1], 0]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(Element node <html><head><title>Selection extend() tests</title> <meta..., Element node <html><head><title>Selection extend() tests</title> <meta..., "Sanity check: startContainer must be correct")
    at testExtend ( /selection/extend.js:80:5)
Pass
assert_equals(0, 0, "Sanity check: startOffset must be correct")
    at testExtend ( /selection/extend.js:82:5)
Pass
assert_equals(Element node <html><head><title>Selection extend() tests</title> <meta..., Element node <html><head><title>Selection extend() tests</title> <meta..., "Sanity check: endContainer must be correct")
    at testExtend ( /selection/extend.js:84:5)
Pass
assert_equals(2, 2, "Sanity check: endOffset must be correct")
    at testExtend ( /selection/extend.js:86:5)
Pass
assert_equals(Element node <html><head><title>Selection extend() tests</title> <meta..., Element node <html><head><title>Selection extend() tests</title> <meta..., "anchorNode must not change if the node passed to extend() has the same root as the original range")
    at testExtend ( /selection/extend.js:145:9)
Pass
assert_equals(0, 0, "anchorOffset must not change if the node passed to extend() has the same root as the original range")
    at testExtend ( /selection/extend.js:147:9)
Pass
assert_equals(Element node <p id="b" style="display:none">Ijklmnop </p>, Element node <p id="b" style="display:none">Ijklmnop </p>, "focusNode must be the node passed to extend()")
    at testExtend ( /selection/extend.js:155:5)
Pass
assert_equals(0, 0, "focusOffset must be the offset passed to extend()")
    at testExtend ( /selection/extend.js:157:5)
Pass
assert_not_equals(object "Selection extend() tests   Äb̈c̈d̈ëf̈g̈ḧ ", object "Selection extend() tests   Äb̈c̈d̈ëf̈g̈ḧ Ijklmnop QrstuvwxYzabcdefGhijklmn     Running, 1000 complete, 1 remain  "use strict";  testExtendSubSet(0, 20); testDiv.style.display = "none"; ", "extend() must replace any existing range with a new one, not mutate the existing one")
    at testExtend ( /selection/extend.js:159:5)
Passextend() backwards with range 16 [document.documentElement, 0, document.documentElement, 2] and point 38 [paras[1], 0]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(Element node <html><head><title>Selection extend() tests</title> <meta..., Element node <html><head><title>Selection extend() tests</title> <meta..., "Sanity check: startContainer must be correct")
    at testExtend ( /selection/extend.js:80:5)
Pass
assert_equals(0, 0, "Sanity check: startOffset must be correct")
    at testExtend ( /selection/extend.js:82:5)
Pass
assert_equals(Element node <html><head><title>Selection extend() tests</title> <meta..., Element node <html><head><title>Selection extend() tests</title> <meta..., "Sanity check: endContainer must be correct")
    at testExtend ( /selection/extend.js:84:5)
Pass
assert_equals(2, 2, "Sanity check: endOffset must be correct")
    at testExtend ( /selection/extend.js:86:5)
Pass
assert_equals(Element node <html><head><title>Selection extend() tests</title> <meta..., Element node <html><head><title>Selection extend() tests</title> <meta..., "anchorNode must not change if the node passed to extend() has the same root as the original range")
    at testExtend ( /selection/extend.js:145:9)
Pass
assert_equals(2, 2, "anchorOffset must not change if the node passed to extend() has the same root as the original range")
    at testExtend ( /selection/extend.js:147:9)
Pass
assert_equals(Element node <p id="b" style="display:none">Ijklmnop </p>, Element node <p id="b" style="display:none">Ijklmnop </p>, "focusNode must be the node passed to extend()")
    at testExtend ( /selection/extend.js:155:5)
Pass
assert_equals(0, 0, "focusOffset must be the offset passed to extend()")
    at testExtend ( /selection/extend.js:157:5)
Pass
assert_not_equals(object "Ijklmnop QrstuvwxYzabcdefGhijklmn     Running, 1000 complete, 1 remain  "use strict";  testExtendSubSet(0, 20); testDiv.style.display = "none"; ", object "Selection extend() tests   Äb̈c̈d̈ëf̈g̈ḧ Ijklmnop QrstuvwxYzabcdefGhijklmn     Running, 1000 complete, 1 remain  "use strict";  testExtendSubSet(0, 20); testDiv.style.display = "none"; ", "extend() must replace any existing range with a new one, not mutate the existing one")
    at testExtend ( /selection/extend.js:159:5)
Passextend() forwards with range 16 [document.documentElement, 0, document.documentElement, 2] and point 39 [paras[1], 1]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(Element node <html><head><title>Selection extend() tests</title> <meta..., Element node <html><head><title>Selection extend() tests</title> <meta..., "Sanity check: startContainer must be correct")
    at testExtend ( /selection/extend.js:80:5)
Pass
assert_equals(0, 0, "Sanity check: startOffset must be correct")
    at testExtend ( /selection/extend.js:82:5)
Pass
assert_equals(Element node <html><head><title>Selection extend() tests</title> <meta..., Element node <html><head><title>Selection extend() tests</title> <meta..., "Sanity check: endContainer must be correct")
    at testExtend ( /selection/extend.js:84:5)
Pass
assert_equals(2, 2, "Sanity check: endOffset must be correct")
    at testExtend ( /selection/extend.js:86:5)
Pass
assert_equals(Element node <html><head><title>Selection extend() tests</title> <meta..., Element node <html><head><title>Selection extend() tests</title> <meta..., "anchorNode must not change if the node passed to extend() has the same root as the original range")
    at testExtend ( /selection/extend.js:145:9)
Pass
assert_equals(0, 0, "anchorOffset must not change if the node passed to extend() has the same root as the original range")
    at testExtend ( /selection/extend.js:147:9)
Pass
assert_equals(Element node <p id="b" style="display:none">Ijklmnop </p>, Element node <p id="b" style="display:none">Ijklmnop </p>, "focusNode must be the node passed to extend()")
    at testExtend ( /selection/extend.js:155:5)
Pass
assert_equals(1, 1, "focusOffset must be the offset passed to extend()")
    at testExtend ( /selection/extend.js:157:5)
Pass
assert_not_equals(object "Selection extend() tests   Äb̈c̈d̈ëf̈g̈ḧ Ijklmnop ", object "Selection extend() tests   Äb̈c̈d̈ëf̈g̈ḧ Ijklmnop QrstuvwxYzabcdefGhijklmn     Running, 1000 complete, 1 remain  "use strict";  testExtendSubSet(0, 20); testDiv.style.display = "none"; ", "extend() must replace any existing range with a new one, not mutate the existing one")
    at testExtend ( /selection/extend.js:159:5)
Passextend() backwards with range 16 [document.documentElement, 0, document.documentElement, 2] and point 39 [paras[1], 1]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(Element node <html><head><title>Selection extend() tests</title> <meta..., Element node <html><head><title>Selection extend() tests</title> <meta..., "Sanity check: startContainer must be correct")
    at testExtend ( /selection/extend.js:80:5)
Pass
assert_equals(0, 0, "Sanity check: startOffset must be correct")
    at testExtend ( /selection/extend.js:82:5)
Pass
assert_equals(Element node <html><head><title>Selection extend() tests</title> <meta..., Element node <html><head><title>Selection extend() tests</title> <meta..., "Sanity check: endContainer must be correct")
    at testExtend ( /selection/extend.js:84:5)
Pass
assert_equals(2, 2, "Sanity check: endOffset must be correct")
    at testExtend ( /selection/extend.js:86:5)
Pass
assert_equals(Element node <html><head><title>Selection extend() tests</title> <meta..., Element node <html><head><title>Selection extend() tests</title> <meta..., "anchorNode must not change if the node passed to extend() has the same root as the original range")
    at testExtend ( /selection/extend.js:145:9)
Pass
assert_equals(2, 2, "anchorOffset must not change if the node passed to extend() has the same root as the original range")
    at testExtend ( /selection/extend.js:147:9)
Pass
assert_equals(Element node <p id="b" style="display:none">Ijklmnop </p>, Element node <p id="b" style="display:none">Ijklmnop </p>, "focusNode must be the node passed to extend()")
    at testExtend ( /selection/extend.js:155:5)
Pass
assert_equals(1, 1, "focusOffset must be the offset passed to extend()")
    at testExtend ( /selection/extend.js:157:5)
Pass
assert_not_equals(object "QrstuvwxYzabcdefGhijklmn     Running, 1000 complete, 1 remain  "use strict";  testExtendSubSet(0, 20); testDiv.style.display = "none"; ", object "Selection extend() tests   Äb̈c̈d̈ëf̈g̈ḧ Ijklmnop QrstuvwxYzabcdefGhijklmn     Running, 1000 complete, 1 remain  "use strict";  testExtendSubSet(0, 20); testDiv.style.display = "none"; ", "extend() must replace any existing range with a new one, not mutate the existing one")
    at testExtend ( /selection/extend.js:159:5)
Passextend() forwards with range 16 [document.documentElement, 0, document.documentElement, 2] and point 40 [paras[1], 2]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(Element node <html><head><title>Selection extend() tests</title> <meta..., Element node <html><head><title>Selection extend() tests</title> <meta..., "Sanity check: startContainer must be correct")
    at testExtend ( /selection/extend.js:80:5)
Pass
assert_equals(0, 0, "Sanity check: startOffset must be correct")
    at testExtend ( /selection/extend.js:82:5)
Pass
assert_equals(Element node <html><head><title>Selection extend() tests</title> <meta..., Element node <html><head><title>Selection extend() tests</title> <meta..., "Sanity check: endContainer must be correct")
    at testExtend ( /selection/extend.js:84:5)
Pass
assert_equals(2, 2, "Sanity check: endOffset must be correct")
    at testExtend ( /selection/extend.js:86:5)
Pass
assert_throws_dom("INDEX_SIZE_ERR", function "function() {             selection.extend(node, offset);         }", "extend() to an offset that's greater than node length (1) must throw IndexSizeError")
    at testExtend ( /selection/extend.js:117:9)
Passextend() backwards with range 16 [document.documentElement, 0, document.documentElement, 2] and point 40 [paras[1], 2]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(Element node <html><head><title>Selection extend() tests</title> <meta..., Element node <html><head><title>Selection extend() tests</title> <meta..., "Sanity check: startContainer must be correct")
    at testExtend ( /selection/extend.js:80:5)
Pass
assert_equals(0, 0, "Sanity check: startOffset must be correct")
    at testExtend ( /selection/extend.js:82:5)
Pass
assert_equals(Element node <html><head><title>Selection extend() tests</title> <meta..., Element node <html><head><title>Selection extend() tests</title> <meta..., "Sanity check: endContainer must be correct")
    at testExtend ( /selection/extend.js:84:5)
Pass
assert_equals(2, 2, "Sanity check: endOffset must be correct")
    at testExtend ( /selection/extend.js:86:5)
Pass
assert_throws_dom("INDEX_SIZE_ERR", function "function() {             selection.extend(node, offset);         }", "extend() to an offset that's greater than node length (1) must throw IndexSizeError")
    at testExtend ( /selection/extend.js:117:9)
Passextend() forwards with range 16 [document.documentElement, 0, document.documentElement, 2] and point 41 [detachedPara1, 0]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(1, 1, "The operation should not add Range")
    at assertSelectionNoChange ( /selection/common.js:976:5)
Pass
assert_equals(Element node <html><head><title>Selection extend() tests</title> <meta..., Element node <html><head><title>Selection extend() tests</title> <meta..., "The operation should not update anchorNode")
    at assertSelectionNoChange ( /selection/common.js:978:5)
Pass
assert_equals(0, 0, "The operation should not update anchorOffset")
    at assertSelectionNoChange ( /selection/common.js:980:5)
Pass
assert_equals(Element node <html><head><title>Selection extend() tests</title> <meta..., Element node <html><head><title>Selection extend() tests</title> <meta..., "The operation should not update focusNode")
    at assertSelectionNoChange ( /selection/common.js:982:5)
Pass
assert_equals(2, 2, "The operation should not update focusOffset")
    at assertSelectionNoChange ( /selection/common.js:984:5)
Pass
assert_equals(object "Selection extend() tests   Äb̈c̈d̈ëf̈g̈ḧ Ijklmnop QrstuvwxYzabcdefGhijklmn     Running, 1000 complete, 1 remain  "use strict";  testExtendSubSet(0, 20); testDiv.style.display = "none"; ", object "Selection extend() tests   Äb̈c̈d̈ëf̈g̈ḧ Ijklmnop QrstuvwxYzabcdefGhijklmn     Running, 1000 complete, 1 remain  "use strict";  testExtendSubSet(0, 20); testDiv.style.display = "none"; ", "The operation should not replace a registered Range")
    at assertSelectionNoChange ( /selection/common.js:988:5)
Passextend() backwards with range 16 [document.documentElement, 0, document.documentElement, 2] and point 41 [detachedPara1, 0]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(1, 1, "The operation should not add Range")
    at assertSelectionNoChange ( /selection/common.js:976:5)
Pass
assert_equals(Element node <html><head><title>Selection extend() tests</title> <meta..., Element node <html><head><title>Selection extend() tests</title> <meta..., "The operation should not update anchorNode")
    at assertSelectionNoChange ( /selection/common.js:978:5)
Pass
assert_equals(2, 2, "The operation should not update anchorOffset")
    at assertSelectionNoChange ( /selection/common.js:980:5)
Pass
assert_equals(Element node <html><head><title>Selection extend() tests</title> <meta..., Element node <html><head><title>Selection extend() tests</title> <meta..., "The operation should not update focusNode")
    at assertSelectionNoChange ( /selection/common.js:982:5)
Pass
assert_equals(0, 0, "The operation should not update focusOffset")
    at assertSelectionNoChange ( /selection/common.js:984:5)
Pass
assert_equals(object "Selection extend() tests   Äb̈c̈d̈ëf̈g̈ḧ Ijklmnop QrstuvwxYzabcdefGhijklmn     Running, 1000 complete, 1 remain  "use strict";  testExtendSubSet(0, 20); testDiv.style.display = "none"; ", object "Selection extend() tests   Äb̈c̈d̈ëf̈g̈ḧ Ijklmnop QrstuvwxYzabcdefGhijklmn     Running, 1000 complete, 1 remain  "use strict";  testExtendSubSet(0, 20); testDiv.style.display = "none"; ", "The operation should not replace a registered Range")
    at assertSelectionNoChange ( /selection/common.js:988:5)
Passextend() forwards with range 16 [document.documentElement, 0, document.documentElement, 2] and point 42 [detachedPara1, 1]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(1, 1, "The operation should not add Range")
    at assertSelectionNoChange ( /selection/common.js:976:5)
Pass
assert_equals(Element node <html><head><title>Selection extend() tests</title> <meta..., Element node <html><head><title>Selection extend() tests</title> <meta..., "The operation should not update anchorNode")
    at assertSelectionNoChange ( /selection/common.js:978:5)
Pass
assert_equals(0, 0, "The operation should not update anchorOffset")
    at assertSelectionNoChange ( /selection/common.js:980:5)
Pass
assert_equals(Element node <html><head><title>Selection extend() tests</title> <meta..., Element node <html><head><title>Selection extend() tests</title> <meta..., "The operation should not update focusNode")
    at assertSelectionNoChange ( /selection/common.js:982:5)
Pass
assert_equals(2, 2, "The operation should not update focusOffset")
    at assertSelectionNoChange ( /selection/common.js:984:5)
Pass
assert_equals(object "Selection extend() tests   Äb̈c̈d̈ëf̈g̈ḧ Ijklmnop QrstuvwxYzabcdefGhijklmn     Running, 1000 complete, 1 remain  "use strict";  testExtendSubSet(0, 20); testDiv.style.display = "none"; ", object "Selection extend() tests   Äb̈c̈d̈ëf̈g̈ḧ Ijklmnop QrstuvwxYzabcdefGhijklmn     Running, 1000 complete, 1 remain  "use strict";  testExtendSubSet(0, 20); testDiv.style.display = "none"; ", "The operation should not replace a registered Range")
    at assertSelectionNoChange ( /selection/common.js:988:5)
Passextend() backwards with range 16 [document.documentElement, 0, document.documentElement, 2] and point 42 [detachedPara1, 1]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(1, 1, "The operation should not add Range")
    at assertSelectionNoChange ( /selection/common.js:976:5)
Pass
assert_equals(Element node <html><head><title>Selection extend() tests</title> <meta..., Element node <html><head><title>Selection extend() tests</title> <meta..., "The operation should not update anchorNode")
    at assertSelectionNoChange ( /selection/common.js:978:5)
Pass
assert_equals(2, 2, "The operation should not update anchorOffset")
    at assertSelectionNoChange ( /selection/common.js:980:5)
Pass
assert_equals(Element node <html><head><title>Selection extend() tests</title> <meta..., Element node <html><head><title>Selection extend() tests</title> <meta..., "The operation should not update focusNode")
    at assertSelectionNoChange ( /selection/common.js:982:5)
Pass
assert_equals(0, 0, "The operation should not update focusOffset")
    at assertSelectionNoChange ( /selection/common.js:984:5)
Pass
assert_equals(object "Selection extend() tests   Äb̈c̈d̈ëf̈g̈ḧ Ijklmnop QrstuvwxYzabcdefGhijklmn     Running, 1000 complete, 1 remain  "use strict";  testExtendSubSet(0, 20); testDiv.style.display = "none"; ", object "Selection extend() tests   Äb̈c̈d̈ëf̈g̈ḧ Ijklmnop QrstuvwxYzabcdefGhijklmn     Running, 1000 complete, 1 remain  "use strict";  testExtendSubSet(0, 20); testDiv.style.display = "none"; ", "The operation should not replace a registered Range")
    at assertSelectionNoChange ( /selection/common.js:988:5)
Passextend() forwards with range 16 [document.documentElement, 0, document.documentElement, 2] and point 43 [testDiv, 0]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(Element node <html><head><title>Selection extend() tests</title> <meta..., Element node <html><head><title>Selection extend() tests</title> <meta..., "Sanity check: startContainer must be correct")
    at testExtend ( /selection/extend.js:80:5)
Pass
assert_equals(0, 0, "Sanity check: startOffset must be correct")
    at testExtend ( /selection/extend.js:82:5)
Pass
assert_equals(Element node <html><head><title>Selection extend() tests</title> <meta..., Element node <html><head><title>Selection extend() tests</title> <meta..., "Sanity check: endContainer must be correct")
    at testExtend ( /selection/extend.js:84:5)
Pass
assert_equals(2, 2, "Sanity check: endOffset must be correct")
    at testExtend ( /selection/extend.js:86:5)
Pass
assert_equals(Element node <html><head><title>Selection extend() tests</title> <meta..., Element node <html><head><title>Selection extend() tests</title> <meta..., "anchorNode must not change if the node passed to extend() has the same root as the original range")
    at testExtend ( /selection/extend.js:145:9)
Pass
assert_equals(0, 0, "anchorOffset must not change if the node passed to extend() has the same root as the original range")
    at testExtend ( /selection/extend.js:147:9)
Pass
assert_equals(Element node <div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ </p><p id="b" s..., Element node <div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ </p><p id="b" s..., "focusNode must be the node passed to extend()")
    at testExtend ( /selection/extend.js:155:5)
Pass
assert_equals(0, 0, "focusOffset must be the offset passed to extend()")
    at testExtend ( /selection/extend.js:157:5)
Pass
assert_not_equals(object "Selection extend() tests   ", object "Selection extend() tests   Äb̈c̈d̈ëf̈g̈ḧ Ijklmnop QrstuvwxYzabcdefGhijklmn     Running, 1000 complete, 1 remain  "use strict";  testExtendSubSet(0, 20); testDiv.style.display = "none"; ", "extend() must replace any existing range with a new one, not mutate the existing one")
    at testExtend ( /selection/extend.js:159:5)
Passextend() backwards with range 16 [document.documentElement, 0, document.documentElement, 2] and point 43 [testDiv, 0]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(Element node <html><head><title>Selection extend() tests</title> <meta..., Element node <html><head><title>Selection extend() tests</title> <meta..., "Sanity check: startContainer must be correct")
    at testExtend ( /selection/extend.js:80:5)
Pass
assert_equals(0, 0, "Sanity check: startOffset must be correct")
    at testExtend ( /selection/extend.js:82:5)
Pass
assert_equals(Element node <html><head><title>Selection extend() tests</title> <meta..., Element node <html><head><title>Selection extend() tests</title> <meta..., "Sanity check: endContainer must be correct")
    at testExtend ( /selection/extend.js:84:5)
Pass
assert_equals(2, 2, "Sanity check: endOffset must be correct")
    at testExtend ( /selection/extend.js:86:5)
Pass
assert_equals(Element node <html><head><title>Selection extend() tests</title> <meta..., Element node <html><head><title>Selection extend() tests</title> <meta..., "anchorNode must not change if the node passed to extend() has the same root as the original range")
    at testExtend ( /selection/extend.js:145:9)
Pass
assert_equals(2, 2, "anchorOffset must not change if the node passed to extend() has the same root as the original range")
    at testExtend ( /selection/extend.js:147:9)
Pass
assert_equals(Element node <div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ </p><p id="b" s..., Element node <div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ </p><p id="b" s..., "focusNode must be the node passed to extend()")
    at testExtend ( /selection/extend.js:155:5)
Pass
assert_equals(0, 0, "focusOffset must be the offset passed to extend()")
    at testExtend ( /selection/extend.js:157:5)
Pass
assert_not_equals(object "Äb̈c̈d̈ëf̈g̈ḧ Ijklmnop QrstuvwxYzabcdefGhijklmn     Running, 1000 complete, 1 remain  "use strict";  testExtendSubSet(0, 20); testDiv.style.display = "none"; ", object "Selection extend() tests   Äb̈c̈d̈ëf̈g̈ḧ Ijklmnop QrstuvwxYzabcdefGhijklmn     Running, 1000 complete, 1 remain  "use strict";  testExtendSubSet(0, 20); testDiv.style.display = "none"; ", "extend() must replace any existing range with a new one, not mutate the existing one")
    at testExtend ( /selection/extend.js:159:5)
Passextend() forwards with range 16 [document.documentElement, 0, document.documentElement, 2] and point 44 [testDiv, 3]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(Element node <html><head><title>Selection extend() tests</title> <meta..., Element node <html><head><title>Selection extend() tests</title> <meta..., "Sanity check: startContainer must be correct")
    at testExtend ( /selection/extend.js:80:5)
Pass
assert_equals(0, 0, "Sanity check: startOffset must be correct")
    at testExtend ( /selection/extend.js:82:5)
Pass
assert_equals(Element node <html><head><title>Selection extend() tests</title> <meta..., Element node <html><head><title>Selection extend() tests</title> <meta..., "Sanity check: endContainer must be correct")
    at testExtend ( /selection/extend.js:84:5)
Pass
assert_equals(2, 2, "Sanity check: endOffset must be correct")
    at testExtend ( /selection/extend.js:86:5)
Pass
assert_equals(Element node <html><head><title>Selection extend() tests</title> <meta..., Element node <html><head><title>Selection extend() tests</title> <meta..., "anchorNode must not change if the node passed to extend() has the same root as the original range")
    at testExtend ( /selection/extend.js:145:9)
Pass
assert_equals(0, 0, "anchorOffset must not change if the node passed to extend() has the same root as the original range")
    at testExtend ( /selection/extend.js:147:9)
Pass
assert_equals(Element node <div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ </p><p id="b" s..., Element node <div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ </p><p id="b" s..., "focusNode must be the node passed to extend()")
    at testExtend ( /selection/extend.js:155:5)
Pass
assert_equals(3, 3, "focusOffset must be the offset passed to extend()")
    at testExtend ( /selection/extend.js:157:5)
Pass
assert_not_equals(object "Selection extend() tests   Äb̈c̈d̈ëf̈g̈ḧ Ijklmnop Qrstuvwx", object "Selection extend() tests   Äb̈c̈d̈ëf̈g̈ḧ Ijklmnop QrstuvwxYzabcdefGhijklmn     Running, 1000 complete, 1 remain  "use strict";  testExtendSubSet(0, 20); testDiv.style.display = "none"; ", "extend() must replace any existing range with a new one, not mutate the existing one")
    at testExtend ( /selection/extend.js:159:5)
Passextend() backwards with range 16 [document.documentElement, 0, document.documentElement, 2] and point 44 [testDiv, 3]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(Element node <html><head><title>Selection extend() tests</title> <meta..., Element node <html><head><title>Selection extend() tests</title> <meta..., "Sanity check: startContainer must be correct")
    at testExtend ( /selection/extend.js:80:5)
Pass
assert_equals(0, 0, "Sanity check: startOffset must be correct")
    at testExtend ( /selection/extend.js:82:5)
Pass
assert_equals(Element node <html><head><title>Selection extend() tests</title> <meta..., Element node <html><head><title>Selection extend() tests</title> <meta..., "Sanity check: endContainer must be correct")
    at testExtend ( /selection/extend.js:84:5)
Pass
assert_equals(2, 2, "Sanity check: endOffset must be correct")
    at testExtend ( /selection/extend.js:86:5)
Pass
assert_equals(Element node <html><head><title>Selection extend() tests</title> <meta..., Element node <html><head><title>Selection extend() tests</title> <meta..., "anchorNode must not change if the node passed to extend() has the same root as the original range")
    at testExtend ( /selection/extend.js:145:9)
Pass
assert_equals(2, 2, "anchorOffset must not change if the node passed to extend() has the same root as the original range")
    at testExtend ( /selection/extend.js:147:9)
Pass
assert_equals(Element node <div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ </p><p id="b" s..., Element node <div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ </p><p id="b" s..., "focusNode must be the node passed to extend()")
    at testExtend ( /selection/extend.js:155:5)
Pass
assert_equals(3, 3, "focusOffset must be the offset passed to extend()")
    at testExtend ( /selection/extend.js:157:5)
Pass
assert_not_equals(object "YzabcdefGhijklmn     Running, 1000 complete, 1 remain  "use strict";  testExtendSubSet(0, 20); testDiv.style.display = "none"; ", object "Selection extend() tests   Äb̈c̈d̈ëf̈g̈ḧ Ijklmnop QrstuvwxYzabcdefGhijklmn     Running, 1000 complete, 1 remain  "use strict";  testExtendSubSet(0, 20); testDiv.style.display = "none"; ", "extend() must replace any existing range with a new one, not mutate the existing one")
    at testExtend ( /selection/extend.js:159:5)
Passextend() forwards with range 16 [document.documentElement, 0, document.documentElement, 2] and point 45 [document, -1]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(Element node <html><head><title>Selection extend() tests</title> <meta..., Element node <html><head><title>Selection extend() tests</title> <meta..., "Sanity check: startContainer must be correct")
    at testExtend ( /selection/extend.js:80:5)
Pass
assert_equals(0, 0, "Sanity check: startOffset must be correct")
    at testExtend ( /selection/extend.js:82:5)
Pass
assert_equals(Element node <html><head><title>Selection extend() tests</title> <meta..., Element node <html><head><title>Selection extend() tests</title> <meta..., "Sanity check: endContainer must be correct")
    at testExtend ( /selection/extend.js:84:5)
Pass
assert_equals(2, 2, "Sanity check: endOffset must be correct")
    at testExtend ( /selection/extend.js:86:5)
Pass
assert_throws_dom("INDEX_SIZE_ERR", function "function() {             selection.extend(node, offset);         }", "extend() to an offset that's greater than node length (2) must throw IndexSizeError")
    at testExtend ( /selection/extend.js:117:9)
Passextend() backwards with range 16 [document.documentElement, 0, document.documentElement, 2] and point 45 [document, -1]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(Element node <html><head><title>Selection extend() tests</title> <meta..., Element node <html><head><title>Selection extend() tests</title> <meta..., "Sanity check: startContainer must be correct")
    at testExtend ( /selection/extend.js:80:5)
Pass
assert_equals(0, 0, "Sanity check: startOffset must be correct")
    at testExtend ( /selection/extend.js:82:5)
Pass
assert_equals(Element node <html><head><title>Selection extend() tests</title> <meta..., Element node <html><head><title>Selection extend() tests</title> <meta..., "Sanity check: endContainer must be correct")
    at testExtend ( /selection/extend.js:84:5)
Pass
assert_equals(2, 2, "Sanity check: endOffset must be correct")
    at testExtend ( /selection/extend.js:86:5)
Pass
assert_throws_dom("INDEX_SIZE_ERR", function "function() {             selection.extend(node, offset);         }", "extend() to an offset that's greater than node length (2) must throw IndexSizeError")
    at testExtend ( /selection/extend.js:117:9)
Passextend() forwards with range 16 [document.documentElement, 0, document.documentElement, 2] and point 46 [document, 0]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(Element node <html><head><title>Selection extend() tests</title> <meta..., Element node <html><head><title>Selection extend() tests</title> <meta..., "Sanity check: startContainer must be correct")
    at testExtend ( /selection/extend.js:80:5)
Pass
assert_equals(0, 0, "Sanity check: startOffset must be correct")
    at testExtend ( /selection/extend.js:82:5)
Pass
assert_equals(Element node <html><head><title>Selection extend() tests</title> <meta..., Element node <html><head><title>Selection extend() tests</title> <meta..., "Sanity check: endContainer must be correct")
    at testExtend ( /selection/extend.js:84:5)
Pass
assert_equals(2, 2, "Sanity check: endOffset must be correct")
    at testExtend ( /selection/extend.js:86:5)
Pass
assert_equals(Element node <html><head><title>Selection extend() tests</title> <meta..., Element node <html><head><title>Selection extend() tests</title> <meta..., "anchorNode must not change if the node passed to extend() has the same root as the original range")
    at testExtend ( /selection/extend.js:145:9)
Pass
assert_equals(0, 0, "anchorOffset must not change if the node passed to extend() has the same root as the original range")
    at testExtend ( /selection/extend.js:147:9)
Pass
assert_equals(Document node with 2 children, Document node with 2 children, "focusNode must be the node passed to extend()")
    at testExtend ( /selection/extend.js:155:5)
Pass
assert_equals(0, 0, "focusOffset must be the offset passed to extend()")
    at testExtend ( /selection/extend.js:157:5)
Pass
assert_not_equals(object "", object "Selection extend() tests   Äb̈c̈d̈ëf̈g̈ḧ Ijklmnop QrstuvwxYzabcdefGhijklmn     Running, 1000 complete, 1 remain  "use strict";  testExtendSubSet(0, 20); testDiv.style.display = "none"; ", "extend() must replace any existing range with a new one, not mutate the existing one")
    at testExtend ( /selection/extend.js:159:5)
Passextend() backwards with range 16 [document.documentElement, 0, document.documentElement, 2] and point 46 [document, 0]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(Element node <html><head><title>Selection extend() tests</title> <meta..., Element node <html><head><title>Selection extend() tests</title> <meta..., "Sanity check: startContainer must be correct")
    at testExtend ( /selection/extend.js:80:5)
Pass
assert_equals(0, 0, "Sanity check: startOffset must be correct")
    at testExtend ( /selection/extend.js:82:5)
Pass
assert_equals(Element node <html><head><title>Selection extend() tests</title> <meta..., Element node <html><head><title>Selection extend() tests</title> <meta..., "Sanity check: endContainer must be correct")
    at testExtend ( /selection/extend.js:84:5)
Pass
assert_equals(2, 2, "Sanity check: endOffset must be correct")
    at testExtend ( /selection/extend.js:86:5)
Pass
assert_equals(Element node <html><head><title>Selection extend() tests</title> <meta..., Element node <html><head><title>Selection extend() tests</title> <meta..., "anchorNode must not change if the node passed to extend() has the same root as the original range")
    at testExtend ( /selection/extend.js:145:9)
Pass
assert_equals(2, 2, "anchorOffset must not change if the node passed to extend() has the same root as the original range")
    at testExtend ( /selection/extend.js:147:9)
Pass
assert_equals(Document node with 2 children, Document node with 2 children, "focusNode must be the node passed to extend()")
    at testExtend ( /selection/extend.js:155:5)
Pass
assert_equals(0, 0, "focusOffset must be the offset passed to extend()")
    at testExtend ( /selection/extend.js:157:5)
Pass
assert_not_equals(object "Selection extend() tests   Äb̈c̈d̈ëf̈g̈ḧ Ijklmnop QrstuvwxYzabcdefGhijklmn     Running, 1000 complete, 1 remain  "use strict";  testExtendSubSet(0, 20); testDiv.style.display = "none"; ", object "Selection extend() tests   Äb̈c̈d̈ëf̈g̈ḧ Ijklmnop QrstuvwxYzabcdefGhijklmn     Running, 1000 complete, 1 remain  "use strict";  testExtendSubSet(0, 20); testDiv.style.display = "none"; ", "extend() must replace any existing range with a new one, not mutate the existing one")
    at testExtend ( /selection/extend.js:159:5)
Passextend() forwards with range 16 [document.documentElement, 0, document.documentElement, 2] and point 47 [document, 1]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(Element node <html><head><title>Selection extend() tests</title> <meta..., Element node <html><head><title>Selection extend() tests</title> <meta..., "Sanity check: startContainer must be correct")
    at testExtend ( /selection/extend.js:80:5)
Pass
assert_equals(0, 0, "Sanity check: startOffset must be correct")
    at testExtend ( /selection/extend.js:82:5)
Pass
assert_equals(Element node <html><head><title>Selection extend() tests</title> <meta..., Element node <html><head><title>Selection extend() tests</title> <meta..., "Sanity check: endContainer must be correct")
    at testExtend ( /selection/extend.js:84:5)
Pass
assert_equals(2, 2, "Sanity check: endOffset must be correct")
    at testExtend ( /selection/extend.js:86:5)
Pass
assert_equals(Element node <html><head><title>Selection extend() tests</title> <meta..., Element node <html><head><title>Selection extend() tests</title> <meta..., "anchorNode must not change if the node passed to extend() has the same root as the original range")
    at testExtend ( /selection/extend.js:145:9)
Pass
assert_equals(0, 0, "anchorOffset must not change if the node passed to extend() has the same root as the original range")
    at testExtend ( /selection/extend.js:147:9)
Pass
assert_equals(Document node with 2 children, Document node with 2 children, "focusNode must be the node passed to extend()")
    at testExtend ( /selection/extend.js:155:5)
Pass
assert_equals(1, 1, "focusOffset must be the offset passed to extend()")
    at testExtend ( /selection/extend.js:157:5)
Pass
assert_not_equals(object "", object "Selection extend() tests   Äb̈c̈d̈ëf̈g̈ḧ Ijklmnop QrstuvwxYzabcdefGhijklmn     Running, 1000 complete, 1 remain  "use strict";  testExtendSubSet(0, 20); testDiv.style.display = "none"; ", "extend() must replace any existing range with a new one, not mutate the existing one")
    at testExtend ( /selection/extend.js:159:5)
Passextend() backwards with range 16 [document.documentElement, 0, document.documentElement, 2] and point 47 [document, 1]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(Element node <html><head><title>Selection extend() tests</title> <meta..., Element node <html><head><title>Selection extend() tests</title> <meta..., "Sanity check: startContainer must be correct")
    at testExtend ( /selection/extend.js:80:5)
Pass
assert_equals(0, 0, "Sanity check: startOffset must be correct")
    at testExtend ( /selection/extend.js:82:5)
Pass
assert_equals(Element node <html><head><title>Selection extend() tests</title> <meta..., Element node <html><head><title>Selection extend() tests</title> <meta..., "Sanity check: endContainer must be correct")
    at testExtend ( /selection/extend.js:84:5)
Pass
assert_equals(2, 2, "Sanity check: endOffset must be correct")
    at testExtend ( /selection/extend.js:86:5)
Pass
assert_equals(Element node <html><head><title>Selection extend() tests</title> <meta..., Element node <html><head><title>Selection extend() tests</title> <meta..., "anchorNode must not change if the node passed to extend() has the same root as the original range")
    at testExtend ( /selection/extend.js:145:9)
Pass
assert_equals(2, 2, "anchorOffset must not change if the node passed to extend() has the same root as the original range")
    at testExtend ( /selection/extend.js:147:9)
Pass
assert_equals(Document node with 2 children, Document node with 2 children, "focusNode must be the node passed to extend()")
    at testExtend ( /selection/extend.js:155:5)
Pass
assert_equals(1, 1, "focusOffset must be the offset passed to extend()")
    at testExtend ( /selection/extend.js:157:5)
Pass
assert_not_equals(object "Selection extend() tests   Äb̈c̈d̈ëf̈g̈ḧ Ijklmnop QrstuvwxYzabcdefGhijklmn     Running, 1000 complete, 1 remain  "use strict";  testExtendSubSet(0, 20); testDiv.style.display = "none"; ", object "Selection extend() tests   Äb̈c̈d̈ëf̈g̈ḧ Ijklmnop QrstuvwxYzabcdefGhijklmn     Running, 1000 complete, 1 remain  "use strict";  testExtendSubSet(0, 20); testDiv.style.display = "none"; ", "extend() must replace any existing range with a new one, not mutate the existing one")
    at testExtend ( /selection/extend.js:159:5)
Passextend() forwards with range 16 [document.documentElement, 0, document.documentElement, 2] and point 48 [document, 2]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(Element node <html><head><title>Selection extend() tests</title> <meta..., Element node <html><head><title>Selection extend() tests</title> <meta..., "Sanity check: startContainer must be correct")
    at testExtend ( /selection/extend.js:80:5)
Pass
assert_equals(0, 0, "Sanity check: startOffset must be correct")
    at testExtend ( /selection/extend.js:82:5)
Pass
assert_equals(Element node <html><head><title>Selection extend() tests</title> <meta..., Element node <html><head><title>Selection extend() tests</title> <meta..., "Sanity check: endContainer must be correct")
    at testExtend ( /selection/extend.js:84:5)
Pass
assert_equals(2, 2, "Sanity check: endOffset must be correct")
    at testExtend ( /selection/extend.js:86:5)
Pass
assert_equals(Element node <html><head><title>Selection extend() tests</title> <meta..., Element node <html><head><title>Selection extend() tests</title> <meta..., "anchorNode must not change if the node passed to extend() has the same root as the original range")
    at testExtend ( /selection/extend.js:145:9)
Pass
assert_equals(0, 0, "anchorOffset must not change if the node passed to extend() has the same root as the original range")
    at testExtend ( /selection/extend.js:147:9)
Pass
assert_equals(Document node with 2 children, Document node with 2 children, "focusNode must be the node passed to extend()")
    at testExtend ( /selection/extend.js:155:5)
Pass
assert_equals(2, 2, "focusOffset must be the offset passed to extend()")
    at testExtend ( /selection/extend.js:157:5)
Pass
assert_not_equals(object "Selection extend() tests   Äb̈c̈d̈ëf̈g̈ḧ Ijklmnop QrstuvwxYzabcdefGhijklmn     Running, 1000 complete, 1 remain  "use strict";  testExtendSubSet(0, 20); testDiv.style.display = "none"; ", object "Selection extend() tests   Äb̈c̈d̈ëf̈g̈ḧ Ijklmnop QrstuvwxYzabcdefGhijklmn     Running, 1000 complete, 1 remain  "use strict";  testExtendSubSet(0, 20); testDiv.style.display = "none"; ", "extend() must replace any existing range with a new one, not mutate the existing one")
    at testExtend ( /selection/extend.js:159:5)
Passextend() backwards with range 16 [document.documentElement, 0, document.documentElement, 2] and point 48 [document, 2]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(Element node <html><head><title>Selection extend() tests</title> <meta..., Element node <html><head><title>Selection extend() tests</title> <meta..., "Sanity check: startContainer must be correct")
    at testExtend ( /selection/extend.js:80:5)
Pass
assert_equals(0, 0, "Sanity check: startOffset must be correct")
    at testExtend ( /selection/extend.js:82:5)
Pass
assert_equals(Element node <html><head><title>Selection extend() tests</title> <meta..., Element node <html><head><title>Selection extend() tests</title> <meta..., "Sanity check: endContainer must be correct")
    at testExtend ( /selection/extend.js:84:5)
Pass
assert_equals(2, 2, "Sanity check: endOffset must be correct")
    at testExtend ( /selection/extend.js:86:5)
Pass
assert_equals(Element node <html><head><title>Selection extend() tests</title> <meta..., Element node <html><head><title>Selection extend() tests</title> <meta..., "anchorNode must not change if the node passed to extend() has the same root as the original range")
    at testExtend ( /selection/extend.js:145:9)
Pass
assert_equals(2, 2, "anchorOffset must not change if the node passed to extend() has the same root as the original range")
    at testExtend ( /selection/extend.js:147:9)
Pass
assert_equals(Document node with 2 children, Document node with 2 children, "focusNode must be the node passed to extend()")
    at testExtend ( /selection/extend.js:155:5)
Pass
assert_equals(2, 2, "focusOffset must be the offset passed to extend()")
    at testExtend ( /selection/extend.js:157:5)
Pass
assert_not_equals(object "", object "Selection extend() tests   Äb̈c̈d̈ëf̈g̈ḧ Ijklmnop QrstuvwxYzabcdefGhijklmn     Running, 1000 complete, 1 remain  "use strict";  testExtendSubSet(0, 20); testDiv.style.display = "none"; ", "extend() must replace any existing range with a new one, not mutate the existing one")
    at testExtend ( /selection/extend.js:159:5)
Passextend() forwards with range 16 [document.documentElement, 0, document.documentElement, 2] and point 49 [document, 3]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(Element node <html><head><title>Selection extend() tests</title> <meta..., Element node <html><head><title>Selection extend() tests</title> <meta..., "Sanity check: startContainer must be correct")
    at testExtend ( /selection/extend.js:80:5)
Pass
assert_equals(0, 0, "Sanity check: startOffset must be correct")
    at testExtend ( /selection/extend.js:82:5)
Pass
assert_equals(Element node <html><head><title>Selection extend() tests</title> <meta..., Element node <html><head><title>Selection extend() tests</title> <meta..., "Sanity check: endContainer must be correct")
    at testExtend ( /selection/extend.js:84:5)
Pass
assert_equals(2, 2, "Sanity check: endOffset must be correct")
    at testExtend ( /selection/extend.js:86:5)
Pass
assert_throws_dom("INDEX_SIZE_ERR", function "function() {             selection.extend(node, offset);         }", "extend() to an offset that's greater than node length (2) must throw IndexSizeError")
    at testExtend ( /selection/extend.js:117:9)
Passextend() backwards with range 16 [document.documentElement, 0, document.documentElement, 2] and point 49 [document, 3]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(Element node <html><head><title>Selection extend() tests</title> <meta..., Element node <html><head><title>Selection extend() tests</title> <meta..., "Sanity check: startContainer must be correct")
    at testExtend ( /selection/extend.js:80:5)
Pass
assert_equals(0, 0, "Sanity check: startOffset must be correct")
    at testExtend ( /selection/extend.js:82:5)
Pass
assert_equals(Element node <html><head><title>Selection extend() tests</title> <meta..., Element node <html><head><title>Selection extend() tests</title> <meta..., "Sanity check: endContainer must be correct")
    at testExtend ( /selection/extend.js:84:5)
Pass
assert_equals(2, 2, "Sanity check: endOffset must be correct")
    at testExtend ( /selection/extend.js:86:5)
Pass
assert_throws_dom("INDEX_SIZE_ERR", function "function() {             selection.extend(node, offset);         }", "extend() to an offset that's greater than node length (2) must throw IndexSizeError")
    at testExtend ( /selection/extend.js:117:9)
Passextend() forwards with range 16 [document.documentElement, 0, document.documentElement, 2] and point 50 [comment, -1]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(Element node <html><head><title>Selection extend() tests</title> <meta..., Element node <html><head><title>Selection extend() tests</title> <meta..., "Sanity check: startContainer must be correct")
    at testExtend ( /selection/extend.js:80:5)
Pass
assert_equals(0, 0, "Sanity check: startOffset must be correct")
    at testExtend ( /selection/extend.js:82:5)
Pass
assert_equals(Element node <html><head><title>Selection extend() tests</title> <meta..., Element node <html><head><title>Selection extend() tests</title> <meta..., "Sanity check: endContainer must be correct")
    at testExtend ( /selection/extend.js:84:5)
Pass
assert_equals(2, 2, "Sanity check: endOffset must be correct")
    at testExtend ( /selection/extend.js:86:5)
Pass
assert_throws_dom("INDEX_SIZE_ERR", function "function() {             selection.extend(node, offset);         }", "extend() to an offset that's greater than node length (14) must throw IndexSizeError")
    at testExtend ( /selection/extend.js:117:9)
Passextend() backwards with range 16 [document.documentElement, 0, document.documentElement, 2] and point 50 [comment, -1]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(Element node <html><head><title>Selection extend() tests</title> <meta..., Element node <html><head><title>Selection extend() tests</title> <meta..., "Sanity check: startContainer must be correct")
    at testExtend ( /selection/extend.js:80:5)
Pass
assert_equals(0, 0, "Sanity check: startOffset must be correct")
    at testExtend ( /selection/extend.js:82:5)
Pass
assert_equals(Element node <html><head><title>Selection extend() tests</title> <meta..., Element node <html><head><title>Selection extend() tests</title> <meta..., "Sanity check: endContainer must be correct")
    at testExtend ( /selection/extend.js:84:5)
Pass
assert_equals(2, 2, "Sanity check: endOffset must be correct")
    at testExtend ( /selection/extend.js:86:5)
Pass
assert_throws_dom("INDEX_SIZE_ERR", function "function() {             selection.extend(node, offset);         }", "extend() to an offset that's greater than node length (14) must throw IndexSizeError")
    at testExtend ( /selection/extend.js:117:9)
Passextend() forwards with range 16 [document.documentElement, 0, document.documentElement, 2] and point 51 [comment, 0]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(Element node <html><head><title>Selection extend() tests</title> <meta..., Element node <html><head><title>Selection extend() tests</title> <meta..., "Sanity check: startContainer must be correct")
    at testExtend ( /selection/extend.js:80:5)
Pass
assert_equals(0, 0, "Sanity check: startOffset must be correct")
    at testExtend ( /selection/extend.js:82:5)
Pass
assert_equals(Element node <html><head><title>Selection extend() tests</title> <meta..., Element node <html><head><title>Selection extend() tests</title> <meta..., "Sanity check: endContainer must be correct")
    at testExtend ( /selection/extend.js:84:5)
Pass
assert_equals(2, 2, "Sanity check: endOffset must be correct")
    at testExtend ( /selection/extend.js:86:5)
Pass
assert_equals(Element node <html><head><title>Selection extend() tests</title> <meta..., Element node <html><head><title>Selection extend() tests</title> <meta..., "anchorNode must not change if the node passed to extend() has the same root as the original range")
    at testExtend ( /selection/extend.js:145:9)
Pass
assert_equals(0, 0, "anchorOffset must not change if the node passed to extend() has the same root as the original range")
    at testExtend ( /selection/extend.js:147:9)
Pass
assert_equals(Comment node <!--Alphabet soup?-->, Comment node <!--Alphabet soup?-->, "focusNode must be the node passed to extend()")
    at testExtend ( /selection/extend.js:155:5)
Pass
assert_equals(0, 0, "focusOffset must be the offset passed to extend()")
    at testExtend ( /selection/extend.js:157:5)
Pass
assert_not_equals(object "Selection extend() tests   Äb̈c̈d̈ëf̈g̈ḧ Ijklmnop QrstuvwxYzabcdefGhijklmn", object "Selection extend() tests   Äb̈c̈d̈ëf̈g̈ḧ Ijklmnop QrstuvwxYzabcdefGhijklmn     Running, 1000 complete, 1 remain  "use strict";  testExtendSubSet(0, 20); testDiv.style.display = "none"; ", "extend() must replace any existing range with a new one, not mutate the existing one")
    at testExtend ( /selection/extend.js:159:5)
Passextend() backwards with range 16 [document.documentElement, 0, document.documentElement, 2] and point 51 [comment, 0]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(Element node <html><head><title>Selection extend() tests</title> <meta..., Element node <html><head><title>Selection extend() tests</title> <meta..., "Sanity check: startContainer must be correct")
    at testExtend ( /selection/extend.js:80:5)
Pass
assert_equals(0, 0, "Sanity check: startOffset must be correct")
    at testExtend ( /selection/extend.js:82:5)
Pass
assert_equals(Element node <html><head><title>Selection extend() tests</title> <meta..., Element node <html><head><title>Selection extend() tests</title> <meta..., "Sanity check: endContainer must be correct")
    at testExtend ( /selection/extend.js:84:5)
Pass
assert_equals(2, 2, "Sanity check: endOffset must be correct")
    at testExtend ( /selection/extend.js:86:5)
Pass
assert_equals(Element node <html><head><title>Selection extend() tests</title> <meta..., Element node <html><head><title>Selection extend() tests</title> <meta..., "anchorNode must not change if the node passed to extend() has the same root as the original range")
    at testExtend ( /selection/extend.js:145:9)
Pass
assert_equals(2, 2, "anchorOffset must not change if the node passed to extend() has the same root as the original range")
    at testExtend ( /selection/extend.js:147:9)
Pass
assert_equals(Comment node <!--Alphabet soup?-->, Comment node <!--Alphabet soup?-->, "focusNode must be the node passed to extend()")
    at testExtend ( /selection/extend.js:155:5)
Pass
assert_equals(0, 0, "focusOffset must be the offset passed to extend()")
    at testExtend ( /selection/extend.js:157:5)
Pass
assert_not_equals(object "     Running, 1000 complete, 1 remain  "use strict";  testExtendSubSet(0, 20); testDiv.style.display = "none"; ", object "Selection extend() tests   Äb̈c̈d̈ëf̈g̈ḧ Ijklmnop QrstuvwxYzabcdefGhijklmn     Running, 1000 complete, 1 remain  "use strict";  testExtendSubSet(0, 20); testDiv.style.display = "none"; ", "extend() must replace any existing range with a new one, not mutate the existing one")
    at testExtend ( /selection/extend.js:159:5)
Passextend() forwards with range 16 [document.documentElement, 0, document.documentElement, 2] and point 52 [comment, 4]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(Element node <html><head><title>Selection extend() tests</title> <meta..., Element node <html><head><title>Selection extend() tests</title> <meta..., "Sanity check: startContainer must be correct")
    at testExtend ( /selection/extend.js:80:5)
Pass
assert_equals(0, 0, "Sanity check: startOffset must be correct")
    at testExtend ( /selection/extend.js:82:5)
Pass
assert_equals(Element node <html><head><title>Selection extend() tests</title> <meta..., Element node <html><head><title>Selection extend() tests</title> <meta..., "Sanity check: endContainer must be correct")
    at testExtend ( /selection/extend.js:84:5)
Pass
assert_equals(2, 2, "Sanity check: endOffset must be correct")
    at testExtend ( /selection/extend.js:86:5)
Pass
assert_equals(Element node <html><head><title>Selection extend() tests</title> <meta..., Element node <html><head><title>Selection extend() tests</title> <meta..., "anchorNode must not change if the node passed to extend() has the same root as the original range")
    at testExtend ( /selection/extend.js:145:9)
Pass
assert_equals(0, 0, "anchorOffset must not change if the node passed to extend() has the same root as the original range")
    at testExtend ( /selection/extend.js:147:9)
Pass
assert_equals(Comment node <!--Alphabet soup?-->, Comment node <!--Alphabet soup?-->, "focusNode must be the node passed to extend()")
    at testExtend ( /selection/extend.js:155:5)
Pass
assert_equals(4, 4, "focusOffset must be the offset passed to extend()")
    at testExtend ( /selection/extend.js:157:5)
Pass
assert_not_equals(object "Selection extend() tests   Äb̈c̈d̈ëf̈g̈ḧ Ijklmnop QrstuvwxYzabcdefGhijklmn", object "Selection extend() tests   Äb̈c̈d̈ëf̈g̈ḧ Ijklmnop QrstuvwxYzabcdefGhijklmn     Running, 1000 complete, 1 remain  "use strict";  testExtendSubSet(0, 20); testDiv.style.display = "none"; ", "extend() must replace any existing range with a new one, not mutate the existing one")
    at testExtend ( /selection/extend.js:159:5)
Passextend() backwards with range 16 [document.documentElement, 0, document.documentElement, 2] and point 52 [comment, 4]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(Element node <html><head><title>Selection extend() tests</title> <meta..., Element node <html><head><title>Selection extend() tests</title> <meta..., "Sanity check: startContainer must be correct")
    at testExtend ( /selection/extend.js:80:5)
Pass
assert_equals(0, 0, "Sanity check: startOffset must be correct")
    at testExtend ( /selection/extend.js:82:5)
Pass
assert_equals(Element node <html><head><title>Selection extend() tests</title> <meta..., Element node <html><head><title>Selection extend() tests</title> <meta..., "Sanity check: endContainer must be correct")
    at testExtend ( /selection/extend.js:84:5)
Pass
assert_equals(2, 2, "Sanity check: endOffset must be correct")
    at testExtend ( /selection/extend.js:86:5)
Pass
assert_equals(Element node <html><head><title>Selection extend() tests</title> <meta..., Element node <html><head><title>Selection extend() tests</title> <meta..., "anchorNode must not change if the node passed to extend() has the same root as the original range")
    at testExtend ( /selection/extend.js:145:9)
Pass
assert_equals(2, 2, "anchorOffset must not change if the node passed to extend() has the same root as the original range")
    at testExtend ( /selection/extend.js:147:9)
Pass
assert_equals(Comment node <!--Alphabet soup?-->, Comment node <!--Alphabet soup?-->, "focusNode must be the node passed to extend()")
    at testExtend ( /selection/extend.js:155:5)
Pass
assert_equals(4, 4, "focusOffset must be the offset passed to extend()")
    at testExtend ( /selection/extend.js:157:5)
Pass
assert_not_equals(object "     Running, 1000 complete, 1 remain  "use strict";  testExtendSubSet(0, 20); testDiv.style.display = "none"; ", object "Selection extend() tests   Äb̈c̈d̈ëf̈g̈ḧ Ijklmnop QrstuvwxYzabcdefGhijklmn     Running, 1000 complete, 1 remain  "use strict";  testExtendSubSet(0, 20); testDiv.style.display = "none"; ", "extend() must replace any existing range with a new one, not mutate the existing one")
    at testExtend ( /selection/extend.js:159:5)
Passextend() forwards with range 16 [document.documentElement, 0, document.documentElement, 2] and point 53 [comment, 96]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(Element node <html><head><title>Selection extend() tests</title> <meta..., Element node <html><head><title>Selection extend() tests</title> <meta..., "Sanity check: startContainer must be correct")
    at testExtend ( /selection/extend.js:80:5)
Pass
assert_equals(0, 0, "Sanity check: startOffset must be correct")
    at testExtend ( /selection/extend.js:82:5)
Pass
assert_equals(Element node <html><head><title>Selection extend() tests</title> <meta..., Element node <html><head><title>Selection extend() tests</title> <meta..., "Sanity check: endContainer must be correct")
    at testExtend ( /selection/extend.js:84:5)
Pass
assert_equals(2, 2, "Sanity check: endOffset must be correct")
    at testExtend ( /selection/extend.js:86:5)
Pass
assert_throws_dom("INDEX_SIZE_ERR", function "function() {             selection.extend(node, offset);         }", "extend() to an offset that's greater than node length (14) must throw IndexSizeError")
    at testExtend ( /selection/extend.js:117:9)
Passextend() backwards with range 16 [document.documentElement, 0, document.documentElement, 2] and point 53 [comment, 96]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(Element node <html><head><title>Selection extend() tests</title> <meta..., Element node <html><head><title>Selection extend() tests</title> <meta..., "Sanity check: startContainer must be correct")
    at testExtend ( /selection/extend.js:80:5)
Pass
assert_equals(0, 0, "Sanity check: startOffset must be correct")
    at testExtend ( /selection/extend.js:82:5)
Pass
assert_equals(Element node <html><head><title>Selection extend() tests</title> <meta..., Element node <html><head><title>Selection extend() tests</title> <meta..., "Sanity check: endContainer must be correct")
    at testExtend ( /selection/extend.js:84:5)
Pass
assert_equals(2, 2, "Sanity check: endOffset must be correct")
    at testExtend ( /selection/extend.js:86:5)
Pass
assert_throws_dom("INDEX_SIZE_ERR", function "function() {             selection.extend(node, offset);         }", "extend() to an offset that's greater than node length (14) must throw IndexSizeError")
    at testExtend ( /selection/extend.js:117:9)
Passextend() forwards with range 16 [document.documentElement, 0, document.documentElement, 2] and point 54 [foreignDoc, 0]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(1, 1, "The operation should not add Range")
    at assertSelectionNoChange ( /selection/common.js:976:5)
Pass
assert_equals(Element node <html><head><title>Selection extend() tests</title> <meta..., Element node <html><head><title>Selection extend() tests</title> <meta..., "The operation should not update anchorNode")
    at assertSelectionNoChange ( /selection/common.js:978:5)
Pass
assert_equals(0, 0, "The operation should not update anchorOffset")
    at assertSelectionNoChange ( /selection/common.js:980:5)
Pass
assert_equals(Element node <html><head><title>Selection extend() tests</title> <meta..., Element node <html><head><title>Selection extend() tests</title> <meta..., "The operation should not update focusNode")
    at assertSelectionNoChange ( /selection/common.js:982:5)
Pass
assert_equals(2, 2, "The operation should not update focusOffset")
    at assertSelectionNoChange ( /selection/common.js:984:5)
Pass
assert_equals(object "Selection extend() tests   Äb̈c̈d̈ëf̈g̈ḧ Ijklmnop QrstuvwxYzabcdefGhijklmn     Running, 1000 complete, 1 remain  "use strict";  testExtendSubSet(0, 20); testDiv.style.display = "none"; ", object "Selection extend() tests   Äb̈c̈d̈ëf̈g̈ḧ Ijklmnop QrstuvwxYzabcdefGhijklmn     Running, 1000 complete, 1 remain  "use strict";  testExtendSubSet(0, 20); testDiv.style.display = "none"; ", "The operation should not replace a registered Range")
    at assertSelectionNoChange ( /selection/common.js:988:5)
Passextend() backwards with range 16 [document.documentElement, 0, document.documentElement, 2] and point 54 [foreignDoc, 0]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(1, 1, "The operation should not add Range")
    at assertSelectionNoChange ( /selection/common.js:976:5)
Pass
assert_equals(Element node <html><head><title>Selection extend() tests</title> <meta..., Element node <html><head><title>Selection extend() tests</title> <meta..., "The operation should not update anchorNode")
    at assertSelectionNoChange ( /selection/common.js:978:5)
Pass
assert_equals(2, 2, "The operation should not update anchorOffset")
    at assertSelectionNoChange ( /selection/common.js:980:5)
Pass
assert_equals(Element node <html><head><title>Selection extend() tests</title> <meta..., Element node <html><head><title>Selection extend() tests</title> <meta..., "The operation should not update focusNode")
    at assertSelectionNoChange ( /selection/common.js:982:5)
Pass
assert_equals(0, 0, "The operation should not update focusOffset")
    at assertSelectionNoChange ( /selection/common.js:984:5)
Pass
assert_equals(object "Selection extend() tests   Äb̈c̈d̈ëf̈g̈ḧ Ijklmnop QrstuvwxYzabcdefGhijklmn     Running, 1000 complete, 1 remain  "use strict";  testExtendSubSet(0, 20); testDiv.style.display = "none"; ", object "Selection extend() tests   Äb̈c̈d̈ëf̈g̈ḧ Ijklmnop QrstuvwxYzabcdefGhijklmn     Running, 1000 complete, 1 remain  "use strict";  testExtendSubSet(0, 20); testDiv.style.display = "none"; ", "The operation should not replace a registered Range")
    at assertSelectionNoChange ( /selection/common.js:988:5)
Passextend() forwards with range 16 [document.documentElement, 0, document.documentElement, 2] and point 55 [foreignDoc, 1]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(1, 1, "The operation should not add Range")
    at assertSelectionNoChange ( /selection/common.js:976:5)
Pass
assert_equals(Element node <html><head><title>Selection extend() tests</title> <meta..., Element node <html><head><title>Selection extend() tests</title> <meta..., "The operation should not update anchorNode")
    at assertSelectionNoChange ( /selection/common.js:978:5)
Pass
assert_equals(0, 0, "The operation should not update anchorOffset")
    at assertSelectionNoChange ( /selection/common.js:980:5)
Pass
assert_equals(Element node <html><head><title>Selection extend() tests</title> <meta..., Element node <html><head><title>Selection extend() tests</title> <meta..., "The operation should not update focusNode")
    at assertSelectionNoChange ( /selection/common.js:982:5)
Pass
assert_equals(2, 2, "The operation should not update focusOffset")
    at assertSelectionNoChange ( /selection/common.js:984:5)
Pass
assert_equals(object "Selection extend() tests   Äb̈c̈d̈ëf̈g̈ḧ Ijklmnop QrstuvwxYzabcdefGhijklmn     Running, 1000 complete, 1 remain  "use strict";  testExtendSubSet(0, 20); testDiv.style.display = "none"; ", object "Selection extend() tests   Äb̈c̈d̈ëf̈g̈ḧ Ijklmnop QrstuvwxYzabcdefGhijklmn     Running, 1000 complete, 1 remain  "use strict";  testExtendSubSet(0, 20); testDiv.style.display = "none"; ", "The operation should not replace a registered Range")
    at assertSelectionNoChange ( /selection/common.js:988:5)
Passextend() backwards with range 16 [document.documentElement, 0, document.documentElement, 2] and point 55 [foreignDoc, 1]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(1, 1, "The operation should not add Range")
    at assertSelectionNoChange ( /selection/common.js:976:5)
Pass
assert_equals(Element node <html><head><title>Selection extend() tests</title> <meta..., Element node <html><head><title>Selection extend() tests</title> <meta..., "The operation should not update anchorNode")
    at assertSelectionNoChange ( /selection/common.js:978:5)
Pass
assert_equals(2, 2, "The operation should not update anchorOffset")
    at assertSelectionNoChange ( /selection/common.js:980:5)
Pass
assert_equals(Element node <html><head><title>Selection extend() tests</title> <meta..., Element node <html><head><title>Selection extend() tests</title> <meta..., "The operation should not update focusNode")
    at assertSelectionNoChange ( /selection/common.js:982:5)
Pass
assert_equals(0, 0, "The operation should not update focusOffset")
    at assertSelectionNoChange ( /selection/common.js:984:5)
Pass
assert_equals(object "Selection extend() tests   Äb̈c̈d̈ëf̈g̈ḧ Ijklmnop QrstuvwxYzabcdefGhijklmn     Running, 1000 complete, 1 remain  "use strict";  testExtendSubSet(0, 20); testDiv.style.display = "none"; ", object "Selection extend() tests   Äb̈c̈d̈ëf̈g̈ḧ Ijklmnop QrstuvwxYzabcdefGhijklmn     Running, 1000 complete, 1 remain  "use strict";  testExtendSubSet(0, 20); testDiv.style.display = "none"; ", "The operation should not replace a registered Range")
    at assertSelectionNoChange ( /selection/common.js:988:5)
Passextend() forwards with range 16 [document.documentElement, 0, document.documentElement, 2] and point 56 [foreignComment, 2]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(1, 1, "The operation should not add Range")
    at assertSelectionNoChange ( /selection/common.js:976:5)
Pass
assert_equals(Element node <html><head><title>Selection extend() tests</title> <meta..., Element node <html><head><title>Selection extend() tests</title> <meta..., "The operation should not update anchorNode")
    at assertSelectionNoChange ( /selection/common.js:978:5)
Pass
assert_equals(0, 0, "The operation should not update anchorOffset")
    at assertSelectionNoChange ( /selection/common.js:980:5)
Pass
assert_equals(Element node <html><head><title>Selection extend() tests</title> <meta..., Element node <html><head><title>Selection extend() tests</title> <meta..., "The operation should not update focusNode")
    at assertSelectionNoChange ( /selection/common.js:982:5)
Pass
assert_equals(2, 2, "The operation should not update focusOffset")
    at assertSelectionNoChange ( /selection/common.js:984:5)
Pass
assert_equals(object "Selection extend() tests   Äb̈c̈d̈ëf̈g̈ḧ Ijklmnop QrstuvwxYzabcdefGhijklmn     Running, 1000 complete, 1 remain  "use strict";  testExtendSubSet(0, 20); testDiv.style.display = "none"; ", object "Selection extend() tests   Äb̈c̈d̈ëf̈g̈ḧ Ijklmnop QrstuvwxYzabcdefGhijklmn     Running, 1000 complete, 1 remain  "use strict";  testExtendSubSet(0, 20); testDiv.style.display = "none"; ", "The operation should not replace a registered Range")
    at assertSelectionNoChange ( /selection/common.js:988:5)
Passextend() backwards with range 16 [document.documentElement, 0, document.documentElement, 2] and point 56 [foreignComment, 2]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(1, 1, "The operation should not add Range")
    at assertSelectionNoChange ( /selection/common.js:976:5)
Pass
assert_equals(Element node <html><head><title>Selection extend() tests</title> <meta..., Element node <html><head><title>Selection extend() tests</title> <meta..., "The operation should not update anchorNode")
    at assertSelectionNoChange ( /selection/common.js:978:5)
Pass
assert_equals(2, 2, "The operation should not update anchorOffset")
    at assertSelectionNoChange ( /selection/common.js:980:5)
Pass
assert_equals(Element node <html><head><title>Selection extend() tests</title> <meta..., Element node <html><head><title>Selection extend() tests</title> <meta..., "The operation should not update focusNode")
    at assertSelectionNoChange ( /selection/common.js:982:5)
Pass
assert_equals(0, 0, "The operation should not update focusOffset")
    at assertSelectionNoChange ( /selection/common.js:984:5)
Pass
assert_equals(object "Selection extend() tests   Äb̈c̈d̈ëf̈g̈ḧ Ijklmnop QrstuvwxYzabcdefGhijklmn     Running, 1000 complete, 1 remain  "use strict";  testExtendSubSet(0, 20); testDiv.style.display = "none"; ", object "Selection extend() tests   Äb̈c̈d̈ëf̈g̈ḧ Ijklmnop QrstuvwxYzabcdefGhijklmn     Running, 1000 complete, 1 remain  "use strict";  testExtendSubSet(0, 20); testDiv.style.display = "none"; ", "The operation should not replace a registered Range")
    at assertSelectionNoChange ( /selection/common.js:988:5)
Passextend() forwards with range 16 [document.documentElement, 0, document.documentElement, 2] and point 57 [foreignTextNode, 0]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(1, 1, "The operation should not add Range")
    at assertSelectionNoChange ( /selection/common.js:976:5)
Pass
assert_equals(Element node <html><head><title>Selection extend() tests</title> <meta..., Element node <html><head><title>Selection extend() tests</title> <meta..., "The operation should not update anchorNode")
    at assertSelectionNoChange ( /selection/common.js:978:5)
Pass
assert_equals(0, 0, "The operation should not update anchorOffset")
    at assertSelectionNoChange ( /selection/common.js:980:5)
Pass
assert_equals(Element node <html><head><title>Selection extend() tests</title> <meta..., Element node <html><head><title>Selection extend() tests</title> <meta..., "The operation should not update focusNode")
    at assertSelectionNoChange ( /selection/common.js:982:5)
Pass
assert_equals(2, 2, "The operation should not update focusOffset")
    at assertSelectionNoChange ( /selection/common.js:984:5)
Pass
assert_equals(object "Selection extend() tests   Äb̈c̈d̈ëf̈g̈ḧ Ijklmnop QrstuvwxYzabcdefGhijklmn     Running, 1000 complete, 1 remain  "use strict";  testExtendSubSet(0, 20); testDiv.style.display = "none"; ", object "Selection extend() tests   Äb̈c̈d̈ëf̈g̈ḧ Ijklmnop QrstuvwxYzabcdefGhijklmn     Running, 1000 complete, 1 remain  "use strict";  testExtendSubSet(0, 20); testDiv.style.display = "none"; ", "The operation should not replace a registered Range")
    at assertSelectionNoChange ( /selection/common.js:988:5)
Passextend() backwards with range 16 [document.documentElement, 0, document.documentElement, 2] and point 57 [foreignTextNode, 0]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(1, 1, "The operation should not add Range")
    at assertSelectionNoChange ( /selection/common.js:976:5)
Pass
assert_equals(Element node <html><head><title>Selection extend() tests</title> <meta..., Element node <html><head><title>Selection extend() tests</title> <meta..., "The operation should not update anchorNode")
    at assertSelectionNoChange ( /selection/common.js:978:5)
Pass
assert_equals(2, 2, "The operation should not update anchorOffset")
    at assertSelectionNoChange ( /selection/common.js:980:5)
Pass
assert_equals(Element node <html><head><title>Selection extend() tests</title> <meta..., Element node <html><head><title>Selection extend() tests</title> <meta..., "The operation should not update focusNode")
    at assertSelectionNoChange ( /selection/common.js:982:5)
Pass
assert_equals(0, 0, "The operation should not update focusOffset")
    at assertSelectionNoChange ( /selection/common.js:984:5)
Pass
assert_equals(object "Selection extend() tests   Äb̈c̈d̈ëf̈g̈ḧ Ijklmnop QrstuvwxYzabcdefGhijklmn     Running, 1000 complete, 1 remain  "use strict";  testExtendSubSet(0, 20); testDiv.style.display = "none"; ", object "Selection extend() tests   Äb̈c̈d̈ëf̈g̈ḧ Ijklmnop QrstuvwxYzabcdefGhijklmn     Running, 1000 complete, 1 remain  "use strict";  testExtendSubSet(0, 20); testDiv.style.display = "none"; ", "The operation should not replace a registered Range")
    at assertSelectionNoChange ( /selection/common.js:988:5)
Passextend() forwards with range 16 [document.documentElement, 0, document.documentElement, 2] and point 58 [foreignTextNode, 36]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(1, 1, "The operation should not add Range")
    at assertSelectionNoChange ( /selection/common.js:976:5)
Pass
assert_equals(Element node <html><head><title>Selection extend() tests</title> <meta..., Element node <html><head><title>Selection extend() tests</title> <meta..., "The operation should not update anchorNode")
    at assertSelectionNoChange ( /selection/common.js:978:5)
Pass
assert_equals(0, 0, "The operation should not update anchorOffset")
    at assertSelectionNoChange ( /selection/common.js:980:5)
Pass
assert_equals(Element node <html><head><title>Selection extend() tests</title> <meta..., Element node <html><head><title>Selection extend() tests</title> <meta..., "The operation should not update focusNode")
    at assertSelectionNoChange ( /selection/common.js:982:5)
Pass
assert_equals(2, 2, "The operation should not update focusOffset")
    at assertSelectionNoChange ( /selection/common.js:984:5)
Pass
assert_equals(object "Selection extend() tests   Äb̈c̈d̈ëf̈g̈ḧ Ijklmnop QrstuvwxYzabcdefGhijklmn     Running, 1000 complete, 1 remain  "use strict";  testExtendSubSet(0, 20); testDiv.style.display = "none"; ", object "Selection extend() tests   Äb̈c̈d̈ëf̈g̈ḧ Ijklmnop QrstuvwxYzabcdefGhijklmn     Running, 1000 complete, 1 remain  "use strict";  testExtendSubSet(0, 20); testDiv.style.display = "none"; ", "The operation should not replace a registered Range")
    at assertSelectionNoChange ( /selection/common.js:988:5)
Passextend() backwards with range 16 [document.documentElement, 0, document.documentElement, 2] and point 58 [foreignTextNode, 36]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(1, 1, "The operation should not add Range")
    at assertSelectionNoChange ( /selection/common.js:976:5)
Pass
assert_equals(Element node <html><head><title>Selection extend() tests</title> <meta..., Element node <html><head><title>Selection extend() tests</title> <meta..., "The operation should not update anchorNode")
    at assertSelectionNoChange ( /selection/common.js:978:5)
Pass
assert_equals(2, 2, "The operation should not update anchorOffset")
    at assertSelectionNoChange ( /selection/common.js:980:5)
Pass
assert_equals(Element node <html><head><title>Selection extend() tests</title> <meta..., Element node <html><head><title>Selection extend() tests</title> <meta..., "The operation should not update focusNode")
    at assertSelectionNoChange ( /selection/common.js:982:5)
Pass
assert_equals(0, 0, "The operation should not update focusOffset")
    at assertSelectionNoChange ( /selection/common.js:984:5)
Pass
assert_equals(object "Selection extend() tests   Äb̈c̈d̈ëf̈g̈ḧ Ijklmnop QrstuvwxYzabcdefGhijklmn     Running, 1000 complete, 1 remain  "use strict";  testExtendSubSet(0, 20); testDiv.style.display = "none"; ", object "Selection extend() tests   Äb̈c̈d̈ëf̈g̈ḧ Ijklmnop QrstuvwxYzabcdefGhijklmn     Running, 1000 complete, 1 remain  "use strict";  testExtendSubSet(0, 20); testDiv.style.display = "none"; ", "The operation should not replace a registered Range")
    at assertSelectionNoChange ( /selection/common.js:988:5)
Passextend() forwards with range 16 [document.documentElement, 0, document.documentElement, 2] and point 59 [xmlDoc, -1]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(1, 1, "The operation should not add Range")
    at assertSelectionNoChange ( /selection/common.js:976:5)
Pass
assert_equals(Element node <html><head><title>Selection extend() tests</title> <meta..., Element node <html><head><title>Selection extend() tests</title> <meta..., "The operation should not update anchorNode")
    at assertSelectionNoChange ( /selection/common.js:978:5)
Pass
assert_equals(0, 0, "The operation should not update anchorOffset")
    at assertSelectionNoChange ( /selection/common.js:980:5)
Pass
assert_equals(Element node <html><head><title>Selection extend() tests</title> <meta..., Element node <html><head><title>Selection extend() tests</title> <meta..., "The operation should not update focusNode")
    at assertSelectionNoChange ( /selection/common.js:982:5)
Pass
assert_equals(2, 2, "The operation should not update focusOffset")
    at assertSelectionNoChange ( /selection/common.js:984:5)
Pass
assert_equals(object "Selection extend() tests   Äb̈c̈d̈ëf̈g̈ḧ Ijklmnop QrstuvwxYzabcdefGhijklmn     Running, 1000 complete, 1 remain  "use strict";  testExtendSubSet(0, 20); testDiv.style.display = "none"; ", object "Selection extend() tests   Äb̈c̈d̈ëf̈g̈ḧ Ijklmnop QrstuvwxYzabcdefGhijklmn     Running, 1000 complete, 1 remain  "use strict";  testExtendSubSet(0, 20); testDiv.style.display = "none"; ", "The operation should not replace a registered Range")
    at assertSelectionNoChange ( /selection/common.js:988:5)
Passextend() backwards with range 16 [document.documentElement, 0, document.documentElement, 2] and point 59 [xmlDoc, -1]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(1, 1, "The operation should not add Range")
    at assertSelectionNoChange ( /selection/common.js:976:5)
Pass
assert_equals(Element node <html><head><title>Selection extend() tests</title> <meta..., Element node <html><head><title>Selection extend() tests</title> <meta..., "The operation should not update anchorNode")
    at assertSelectionNoChange ( /selection/common.js:978:5)
Pass
assert_equals(2, 2, "The operation should not update anchorOffset")
    at assertSelectionNoChange ( /selection/common.js:980:5)
Pass
assert_equals(Element node <html><head><title>Selection extend() tests</title> <meta..., Element node <html><head><title>Selection extend() tests</title> <meta..., "The operation should not update focusNode")
    at assertSelectionNoChange ( /selection/common.js:982:5)
Pass
assert_equals(0, 0, "The operation should not update focusOffset")
    at assertSelectionNoChange ( /selection/common.js:984:5)
Pass
assert_equals(object "Selection extend() tests   Äb̈c̈d̈ëf̈g̈ḧ Ijklmnop QrstuvwxYzabcdefGhijklmn     Running, 1000 complete, 1 remain  "use strict";  testExtendSubSet(0, 20); testDiv.style.display = "none"; ", object "Selection extend() tests   Äb̈c̈d̈ëf̈g̈ḧ Ijklmnop QrstuvwxYzabcdefGhijklmn     Running, 1000 complete, 1 remain  "use strict";  testExtendSubSet(0, 20); testDiv.style.display = "none"; ", "The operation should not replace a registered Range")
    at assertSelectionNoChange ( /selection/common.js:988:5)
Passextend() forwards with range 16 [document.documentElement, 0, document.documentElement, 2] and point 60 [xmlDoc, 0]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(1, 1, "The operation should not add Range")
    at assertSelectionNoChange ( /selection/common.js:976:5)
Pass
assert_equals(Element node <html><head><title>Selection extend() tests</title> <meta..., Element node <html><head><title>Selection extend() tests</title> <meta..., "The operation should not update anchorNode")
    at assertSelectionNoChange ( /selection/common.js:978:5)
Pass
assert_equals(0, 0, "The operation should not update anchorOffset")
    at assertSelectionNoChange ( /selection/common.js:980:5)
Pass
assert_equals(Element node <html><head><title>Selection extend() tests</title> <meta..., Element node <html><head><title>Selection extend() tests</title> <meta..., "The operation should not update focusNode")
    at assertSelectionNoChange ( /selection/common.js:982:5)
Pass
assert_equals(2, 2, "The operation should not update focusOffset")
    at assertSelectionNoChange ( /selection/common.js:984:5)
Pass
assert_equals(object "Selection extend() tests   Äb̈c̈d̈ëf̈g̈ḧ Ijklmnop QrstuvwxYzabcdefGhijklmn     Running, 1000 complete, 1 remain  "use strict";  testExtendSubSet(0, 20); testDiv.style.display = "none"; ", object "Selection extend() tests   Äb̈c̈d̈ëf̈g̈ḧ Ijklmnop QrstuvwxYzabcdefGhijklmn     Running, 1000 complete, 1 remain  "use strict";  testExtendSubSet(0, 20); testDiv.style.display = "none"; ", "The operation should not replace a registered Range")
    at assertSelectionNoChange ( /selection/common.js:988:5)
Passextend() backwards with range 16 [document.documentElement, 0, document.documentElement, 2] and point 60 [xmlDoc, 0]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(1, 1, "The operation should not add Range")
    at assertSelectionNoChange ( /selection/common.js:976:5)
Pass
assert_equals(Element node <html><head><title>Selection extend() tests</title> <meta..., Element node <html><head><title>Selection extend() tests</title> <meta..., "The operation should not update anchorNode")
    at assertSelectionNoChange ( /selection/common.js:978:5)
Pass
assert_equals(2, 2, "The operation should not update anchorOffset")
    at assertSelectionNoChange ( /selection/common.js:980:5)
Pass
assert_equals(Element node <html><head><title>Selection extend() tests</title> <meta..., Element node <html><head><title>Selection extend() tests</title> <meta..., "The operation should not update focusNode")
    at assertSelectionNoChange ( /selection/common.js:982:5)
Pass
assert_equals(0, 0, "The operation should not update focusOffset")
    at assertSelectionNoChange ( /selection/common.js:984:5)
Pass
assert_equals(object "Selection extend() tests   Äb̈c̈d̈ëf̈g̈ḧ Ijklmnop QrstuvwxYzabcdefGhijklmn     Running, 1000 complete, 1 remain  "use strict";  testExtendSubSet(0, 20); testDiv.style.display = "none"; ", object "Selection extend() tests   Äb̈c̈d̈ëf̈g̈ḧ Ijklmnop QrstuvwxYzabcdefGhijklmn     Running, 1000 complete, 1 remain  "use strict";  testExtendSubSet(0, 20); testDiv.style.display = "none"; ", "The operation should not replace a registered Range")
    at assertSelectionNoChange ( /selection/common.js:988:5)
Passextend() forwards with range 16 [document.documentElement, 0, document.documentElement, 2] and point 61 [xmlDoc, 1]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(1, 1, "The operation should not add Range")
    at assertSelectionNoChange ( /selection/common.js:976:5)
Pass
assert_equals(Element node <html><head><title>Selection extend() tests</title> <meta..., Element node <html><head><title>Selection extend() tests</title> <meta..., "The operation should not update anchorNode")
    at assertSelectionNoChange ( /selection/common.js:978:5)
Pass
assert_equals(0, 0, "The operation should not update anchorOffset")
    at assertSelectionNoChange ( /selection/common.js:980:5)
Pass
assert_equals(Element node <html><head><title>Selection extend() tests</title> <meta..., Element node <html><head><title>Selection extend() tests</title> <meta..., "The operation should not update focusNode")
    at assertSelectionNoChange ( /selection/common.js:982:5)
Pass
assert_equals(2, 2, "The operation should not update focusOffset")
    at assertSelectionNoChange ( /selection/common.js:984:5)
Pass
assert_equals(object "Selection extend() tests   Äb̈c̈d̈ëf̈g̈ḧ Ijklmnop QrstuvwxYzabcdefGhijklmn     Running, 1000 complete, 1 remain  "use strict";  testExtendSubSet(0, 20); testDiv.style.display = "none"; ", object "Selection extend() tests   Äb̈c̈d̈ëf̈g̈ḧ Ijklmnop QrstuvwxYzabcdefGhijklmn     Running, 1000 complete, 1 remain  "use strict";  testExtendSubSet(0, 20); testDiv.style.display = "none"; ", "The operation should not replace a registered Range")
    at assertSelectionNoChange ( /selection/common.js:988:5)
Passextend() backwards with range 16 [document.documentElement, 0, document.documentElement, 2] and point 61 [xmlDoc, 1]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(1, 1, "The operation should not add Range")
    at assertSelectionNoChange ( /selection/common.js:976:5)
Pass
assert_equals(Element node <html><head><title>Selection extend() tests</title> <meta..., Element node <html><head><title>Selection extend() tests</title> <meta..., "The operation should not update anchorNode")
    at assertSelectionNoChange ( /selection/common.js:978:5)
Pass
assert_equals(2, 2, "The operation should not update anchorOffset")
    at assertSelectionNoChange ( /selection/common.js:980:5)
Pass
assert_equals(Element node <html><head><title>Selection extend() tests</title> <meta..., Element node <html><head><title>Selection extend() tests</title> <meta..., "The operation should not update focusNode")
    at assertSelectionNoChange ( /selection/common.js:982:5)
Pass
assert_equals(0, 0, "The operation should not update focusOffset")
    at assertSelectionNoChange ( /selection/common.js:984:5)
Pass
assert_equals(object "Selection extend() tests   Äb̈c̈d̈ëf̈g̈ḧ Ijklmnop QrstuvwxYzabcdefGhijklmn     Running, 1000 complete, 1 remain  "use strict";  testExtendSubSet(0, 20); testDiv.style.display = "none"; ", object "Selection extend() tests   Äb̈c̈d̈ëf̈g̈ḧ Ijklmnop QrstuvwxYzabcdefGhijklmn     Running, 1000 complete, 1 remain  "use strict";  testExtendSubSet(0, 20); testDiv.style.display = "none"; ", "The operation should not replace a registered Range")
    at assertSelectionNoChange ( /selection/common.js:988:5)
Passextend() forwards with range 16 [document.documentElement, 0, document.documentElement, 2] and point 62 [xmlDoc, 5]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(1, 1, "The operation should not add Range")
    at assertSelectionNoChange ( /selection/common.js:976:5)
Pass
assert_equals(Element node <html><head><title>Selection extend() tests</title> <meta..., Element node <html><head><title>Selection extend() tests</title> <meta..., "The operation should not update anchorNode")
    at assertSelectionNoChange ( /selection/common.js:978:5)
Pass
assert_equals(0, 0, "The operation should not update anchorOffset")
    at assertSelectionNoChange ( /selection/common.js:980:5)
Pass
assert_equals(Element node <html><head><title>Selection extend() tests</title> <meta..., Element node <html><head><title>Selection extend() tests</title> <meta..., "The operation should not update focusNode")
    at assertSelectionNoChange ( /selection/common.js:982:5)
Pass
assert_equals(2, 2, "The operation should not update focusOffset")
    at assertSelectionNoChange ( /selection/common.js:984:5)
Pass
assert_equals(object "Selection extend() tests   Äb̈c̈d̈ëf̈g̈ḧ Ijklmnop QrstuvwxYzabcdefGhijklmn     Running, 1000 complete, 1 remain  "use strict";  testExtendSubSet(0, 20); testDiv.style.display = "none"; ", object "Selection extend() tests   Äb̈c̈d̈ëf̈g̈ḧ Ijklmnop QrstuvwxYzabcdefGhijklmn     Running, 1000 complete, 1 remain  "use strict";  testExtendSubSet(0, 20); testDiv.style.display = "none"; ", "The operation should not replace a registered Range")
    at assertSelectionNoChange ( /selection/common.js:988:5)
Passextend() backwards with range 16 [document.documentElement, 0, document.documentElement, 2] and point 62 [xmlDoc, 5]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(1, 1, "The operation should not add Range")
    at assertSelectionNoChange ( /selection/common.js:976:5)
Pass
assert_equals(Element node <html><head><title>Selection extend() tests</title> <meta..., Element node <html><head><title>Selection extend() tests</title> <meta..., "The operation should not update anchorNode")
    at assertSelectionNoChange ( /selection/common.js:978:5)
Pass
assert_equals(2, 2, "The operation should not update anchorOffset")
    at assertSelectionNoChange ( /selection/common.js:980:5)
Pass
assert_equals(Element node <html><head><title>Selection extend() tests</title> <meta..., Element node <html><head><title>Selection extend() tests</title> <meta..., "The operation should not update focusNode")
    at assertSelectionNoChange ( /selection/common.js:982:5)
Pass
assert_equals(0, 0, "The operation should not update focusOffset")
    at assertSelectionNoChange ( /selection/common.js:984:5)
Pass
assert_equals(object "Selection extend() tests   Äb̈c̈d̈ëf̈g̈ḧ Ijklmnop QrstuvwxYzabcdefGhijklmn     Running, 1000 complete, 1 remain  "use strict";  testExtendSubSet(0, 20); testDiv.style.display = "none"; ", object "Selection extend() tests   Äb̈c̈d̈ëf̈g̈ḧ Ijklmnop QrstuvwxYzabcdefGhijklmn     Running, 1000 complete, 1 remain  "use strict";  testExtendSubSet(0, 20); testDiv.style.display = "none"; ", "The operation should not replace a registered Range")
    at assertSelectionNoChange ( /selection/common.js:988:5)
Passextend() forwards with range 16 [document.documentElement, 0, document.documentElement, 2] and point 63 [xmlComment, 0]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(1, 1, "The operation should not add Range")
    at assertSelectionNoChange ( /selection/common.js:976:5)
Pass
assert_equals(Element node <html><head><title>Selection extend() tests</title> <meta..., Element node <html><head><title>Selection extend() tests</title> <meta..., "The operation should not update anchorNode")
    at assertSelectionNoChange ( /selection/common.js:978:5)
Pass
assert_equals(0, 0, "The operation should not update anchorOffset")
    at assertSelectionNoChange ( /selection/common.js:980:5)
Pass
assert_equals(Element node <html><head><title>Selection extend() tests</title> <meta..., Element node <html><head><title>Selection extend() tests</title> <meta..., "The operation should not update focusNode")
    at assertSelectionNoChange ( /selection/common.js:982:5)
Pass
assert_equals(2, 2, "The operation should not update focusOffset")
    at assertSelectionNoChange ( /selection/common.js:984:5)
Pass
assert_equals(object "Selection extend() tests   Äb̈c̈d̈ëf̈g̈ḧ Ijklmnop QrstuvwxYzabcdefGhijklmn     Running, 1000 complete, 1 remain  "use strict";  testExtendSubSet(0, 20); testDiv.style.display = "none"; ", object "Selection extend() tests   Äb̈c̈d̈ëf̈g̈ḧ Ijklmnop QrstuvwxYzabcdefGhijklmn     Running, 1000 complete, 1 remain  "use strict";  testExtendSubSet(0, 20); testDiv.style.display = "none"; ", "The operation should not replace a registered Range")
    at assertSelectionNoChange ( /selection/common.js:988:5)
Passextend() backwards with range 16 [document.documentElement, 0, document.documentElement, 2] and point 63 [xmlComment, 0]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(1, 1, "The operation should not add Range")
    at assertSelectionNoChange ( /selection/common.js:976:5)
Pass
assert_equals(Element node <html><head><title>Selection extend() tests</title> <meta..., Element node <html><head><title>Selection extend() tests</title> <meta..., "The operation should not update anchorNode")
    at assertSelectionNoChange ( /selection/common.js:978:5)
Pass
assert_equals(2, 2, "The operation should not update anchorOffset")
    at assertSelectionNoChange ( /selection/common.js:980:5)
Pass
assert_equals(Element node <html><head><title>Selection extend() tests</title> <meta..., Element node <html><head><title>Selection extend() tests</title> <meta..., "The operation should not update focusNode")
    at assertSelectionNoChange ( /selection/common.js:982:5)
Pass
assert_equals(0, 0, "The operation should not update focusOffset")
    at assertSelectionNoChange ( /selection/common.js:984:5)
Pass
assert_equals(object "Selection extend() tests   Äb̈c̈d̈ëf̈g̈ḧ Ijklmnop QrstuvwxYzabcdefGhijklmn     Running, 1000 complete, 1 remain  "use strict";  testExtendSubSet(0, 20); testDiv.style.display = "none"; ", object "Selection extend() tests   Äb̈c̈d̈ëf̈g̈ḧ Ijklmnop QrstuvwxYzabcdefGhijklmn     Running, 1000 complete, 1 remain  "use strict";  testExtendSubSet(0, 20); testDiv.style.display = "none"; ", "The operation should not replace a registered Range")
    at assertSelectionNoChange ( /selection/common.js:988:5)
Passextend() forwards with range 16 [document.documentElement, 0, document.documentElement, 2] and point 64 [xmlComment, 4]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(1, 1, "The operation should not add Range")
    at assertSelectionNoChange ( /selection/common.js:976:5)
Pass
assert_equals(Element node <html><head><title>Selection extend() tests</title> <meta..., Element node <html><head><title>Selection extend() tests</title> <meta..., "The operation should not update anchorNode")
    at assertSelectionNoChange ( /selection/common.js:978:5)
Pass
assert_equals(0, 0, "The operation should not update anchorOffset")
    at assertSelectionNoChange ( /selection/common.js:980:5)
Pass
assert_equals(Element node <html><head><title>Selection extend() tests</title> <meta..., Element node <html><head><title>Selection extend() tests</title> <meta..., "The operation should not update focusNode")
    at assertSelectionNoChange ( /selection/common.js:982:5)
Pass
assert_equals(2, 2, "The operation should not update focusOffset")
    at assertSelectionNoChange ( /selection/common.js:984:5)
Pass
assert_equals(object "Selection extend() tests   Äb̈c̈d̈ëf̈g̈ḧ Ijklmnop QrstuvwxYzabcdefGhijklmn     Running, 1000 complete, 1 remain  "use strict";  testExtendSubSet(0, 20); testDiv.style.display = "none"; ", object "Selection extend() tests   Äb̈c̈d̈ëf̈g̈ḧ Ijklmnop QrstuvwxYzabcdefGhijklmn     Running, 1000 complete, 1 remain  "use strict";  testExtendSubSet(0, 20); testDiv.style.display = "none"; ", "The operation should not replace a registered Range")
    at assertSelectionNoChange ( /selection/common.js:988:5)
Passextend() backwards with range 16 [document.documentElement, 0, document.documentElement, 2] and point 64 [xmlComment, 4]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(1, 1, "The operation should not add Range")
    at assertSelectionNoChange ( /selection/common.js:976:5)
Pass
assert_equals(Element node <html><head><title>Selection extend() tests</title> <meta..., Element node <html><head><title>Selection extend() tests</title> <meta..., "The operation should not update anchorNode")
    at assertSelectionNoChange ( /selection/common.js:978:5)
Pass
assert_equals(2, 2, "The operation should not update anchorOffset")
    at assertSelectionNoChange ( /selection/common.js:980:5)
Pass
assert_equals(Element node <html><head><title>Selection extend() tests</title> <meta..., Element node <html><head><title>Selection extend() tests</title> <meta..., "The operation should not update focusNode")
    at assertSelectionNoChange ( /selection/common.js:982:5)
Pass
assert_equals(0, 0, "The operation should not update focusOffset")
    at assertSelectionNoChange ( /selection/common.js:984:5)
Pass
assert_equals(object "Selection extend() tests   Äb̈c̈d̈ëf̈g̈ḧ Ijklmnop QrstuvwxYzabcdefGhijklmn     Running, 1000 complete, 1 remain  "use strict";  testExtendSubSet(0, 20); testDiv.style.display = "none"; ", object "Selection extend() tests   Äb̈c̈d̈ëf̈g̈ḧ Ijklmnop QrstuvwxYzabcdefGhijklmn     Running, 1000 complete, 1 remain  "use strict";  testExtendSubSet(0, 20); testDiv.style.display = "none"; ", "The operation should not replace a registered Range")
    at assertSelectionNoChange ( /selection/common.js:988:5)
Passextend() forwards with range 16 [document.documentElement, 0, document.documentElement, 2] and point 65 [processingInstruction, 0]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(1, 1, "The operation should not add Range")
    at assertSelectionNoChange ( /selection/common.js:976:5)
Pass
assert_equals(Element node <html><head><title>Selection extend() tests</title> <meta..., Element node <html><head><title>Selection extend() tests</title> <meta..., "The operation should not update anchorNode")
    at assertSelectionNoChange ( /selection/common.js:978:5)
Pass
assert_equals(0, 0, "The operation should not update anchorOffset")
    at assertSelectionNoChange ( /selection/common.js:980:5)
Pass
assert_equals(Element node <html><head><title>Selection extend() tests</title> <meta..., Element node <html><head><title>Selection extend() tests</title> <meta..., "The operation should not update focusNode")
    at assertSelectionNoChange ( /selection/common.js:982:5)
Pass
assert_equals(2, 2, "The operation should not update focusOffset")
    at assertSelectionNoChange ( /selection/common.js:984:5)
Pass
assert_equals(object "Selection extend() tests   Äb̈c̈d̈ëf̈g̈ḧ Ijklmnop QrstuvwxYzabcdefGhijklmn     Running, 1000 complete, 1 remain  "use strict";  testExtendSubSet(0, 20); testDiv.style.display = "none"; ", object "Selection extend() tests   Äb̈c̈d̈ëf̈g̈ḧ Ijklmnop QrstuvwxYzabcdefGhijklmn     Running, 1000 complete, 1 remain  "use strict";  testExtendSubSet(0, 20); testDiv.style.display = "none"; ", "The operation should not replace a registered Range")
    at assertSelectionNoChange ( /selection/common.js:988:5)
Passextend() backwards with range 16 [document.documentElement, 0, document.documentElement, 2] and point 65 [processingInstruction, 0]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(1, 1, "The operation should not add Range")
    at assertSelectionNoChange ( /selection/common.js:976:5)
Pass
assert_equals(Element node <html><head><title>Selection extend() tests</title> <meta..., Element node <html><head><title>Selection extend() tests</title> <meta..., "The operation should not update anchorNode")
    at assertSelectionNoChange ( /selection/common.js:978:5)
Pass
assert_equals(2, 2, "The operation should not update anchorOffset")
    at assertSelectionNoChange ( /selection/common.js:980:5)
Pass
assert_equals(Element node <html><head><title>Selection extend() tests</title> <meta..., Element node <html><head><title>Selection extend() tests</title> <meta..., "The operation should not update focusNode")
    at assertSelectionNoChange ( /selection/common.js:982:5)
Pass
assert_equals(0, 0, "The operation should not update focusOffset")
    at assertSelectionNoChange ( /selection/common.js:984:5)
Pass
assert_equals(object "Selection extend() tests   Äb̈c̈d̈ëf̈g̈ḧ Ijklmnop QrstuvwxYzabcdefGhijklmn     Running, 1000 complete, 1 remain  "use strict";  testExtendSubSet(0, 20); testDiv.style.display = "none"; ", object "Selection extend() tests   Äb̈c̈d̈ëf̈g̈ḧ Ijklmnop QrstuvwxYzabcdefGhijklmn     Running, 1000 complete, 1 remain  "use strict";  testExtendSubSet(0, 20); testDiv.style.display = "none"; ", "The operation should not replace a registered Range")
    at assertSelectionNoChange ( /selection/common.js:988:5)
Passextend() forwards with range 16 [document.documentElement, 0, document.documentElement, 2] and point 66 [processingInstruction, 5]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(1, 1, "The operation should not add Range")
    at assertSelectionNoChange ( /selection/common.js:976:5)
Pass
assert_equals(Element node <html><head><title>Selection extend() tests</title> <meta..., Element node <html><head><title>Selection extend() tests</title> <meta..., "The operation should not update anchorNode")
    at assertSelectionNoChange ( /selection/common.js:978:5)
Pass
assert_equals(0, 0, "The operation should not update anchorOffset")
    at assertSelectionNoChange ( /selection/common.js:980:5)
Pass
assert_equals(Element node <html><head><title>Selection extend() tests</title> <meta..., Element node <html><head><title>Selection extend() tests</title> <meta..., "The operation should not update focusNode")
    at assertSelectionNoChange ( /selection/common.js:982:5)
Pass
assert_equals(2, 2, "The operation should not update focusOffset")
    at assertSelectionNoChange ( /selection/common.js:984:5)
Pass
assert_equals(object "Selection extend() tests   Äb̈c̈d̈ëf̈g̈ḧ Ijklmnop QrstuvwxYzabcdefGhijklmn     Running, 1000 complete, 1 remain  "use strict";  testExtendSubSet(0, 20); testDiv.style.display = "none"; ", object "Selection extend() tests   Äb̈c̈d̈ëf̈g̈ḧ Ijklmnop QrstuvwxYzabcdefGhijklmn     Running, 1000 complete, 1 remain  "use strict";  testExtendSubSet(0, 20); testDiv.style.display = "none"; ", "The operation should not replace a registered Range")
    at assertSelectionNoChange ( /selection/common.js:988:5)
Passextend() backwards with range 16 [document.documentElement, 0, document.documentElement, 2] and point 66 [processingInstruction, 5]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(1, 1, "The operation should not add Range")
    at assertSelectionNoChange ( /selection/common.js:976:5)
Pass
assert_equals(Element node <html><head><title>Selection extend() tests</title> <meta..., Element node <html><head><title>Selection extend() tests</title> <meta..., "The operation should not update anchorNode")
    at assertSelectionNoChange ( /selection/common.js:978:5)
Pass
assert_equals(2, 2, "The operation should not update anchorOffset")
    at assertSelectionNoChange ( /selection/common.js:980:5)
Pass
assert_equals(Element node <html><head><title>Selection extend() tests</title> <meta..., Element node <html><head><title>Selection extend() tests</title> <meta..., "The operation should not update focusNode")
    at assertSelectionNoChange ( /selection/common.js:982:5)
Pass
assert_equals(0, 0, "The operation should not update focusOffset")
    at assertSelectionNoChange ( /selection/common.js:984:5)
Pass
assert_equals(object "Selection extend() tests   Äb̈c̈d̈ëf̈g̈ḧ Ijklmnop QrstuvwxYzabcdefGhijklmn     Running, 1000 complete, 1 remain  "use strict";  testExtendSubSet(0, 20); testDiv.style.display = "none"; ", object "Selection extend() tests   Äb̈c̈d̈ëf̈g̈ḧ Ijklmnop QrstuvwxYzabcdefGhijklmn     Running, 1000 complete, 1 remain  "use strict";  testExtendSubSet(0, 20); testDiv.style.display = "none"; ", "The operation should not replace a registered Range")
    at assertSelectionNoChange ( /selection/common.js:988:5)
Passextend() forwards with range 16 [document.documentElement, 0, document.documentElement, 2] and point 67 [processingInstruction, 9]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(1, 1, "The operation should not add Range")
    at assertSelectionNoChange ( /selection/common.js:976:5)
Pass
assert_equals(Element node <html><head><title>Selection extend() tests</title> <meta..., Element node <html><head><title>Selection extend() tests</title> <meta..., "The operation should not update anchorNode")
    at assertSelectionNoChange ( /selection/common.js:978:5)
Pass
assert_equals(0, 0, "The operation should not update anchorOffset")
    at assertSelectionNoChange ( /selection/common.js:980:5)
Pass
assert_equals(Element node <html><head><title>Selection extend() tests</title> <meta..., Element node <html><head><title>Selection extend() tests</title> <meta..., "The operation should not update focusNode")
    at assertSelectionNoChange ( /selection/common.js:982:5)
Pass
assert_equals(2, 2, "The operation should not update focusOffset")
    at assertSelectionNoChange ( /selection/common.js:984:5)
Pass
assert_equals(object "Selection extend() tests   Äb̈c̈d̈ëf̈g̈ḧ Ijklmnop QrstuvwxYzabcdefGhijklmn     Running, 1000 complete, 1 remain  "use strict";  testExtendSubSet(0, 20); testDiv.style.display = "none"; ", object "Selection extend() tests   Äb̈c̈d̈ëf̈g̈ḧ Ijklmnop QrstuvwxYzabcdefGhijklmn     Running, 1000 complete, 1 remain  "use strict";  testExtendSubSet(0, 20); testDiv.style.display = "none"; ", "The operation should not replace a registered Range")
    at assertSelectionNoChange ( /selection/common.js:988:5)
Passextend() backwards with range 16 [document.documentElement, 0, document.documentElement, 2] and point 67 [processingInstruction, 9]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(1, 1, "The operation should not add Range")
    at assertSelectionNoChange ( /selection/common.js:976:5)
Pass
assert_equals(Element node <html><head><title>Selection extend() tests</title> <meta..., Element node <html><head><title>Selection extend() tests</title> <meta..., "The operation should not update anchorNode")
    at assertSelectionNoChange ( /selection/common.js:978:5)
Pass
assert_equals(2, 2, "The operation should not update anchorOffset")
    at assertSelectionNoChange ( /selection/common.js:980:5)
Pass
assert_equals(Element node <html><head><title>Selection extend() tests</title> <meta..., Element node <html><head><title>Selection extend() tests</title> <meta..., "The operation should not update focusNode")
    at assertSelectionNoChange ( /selection/common.js:982:5)
Pass
assert_equals(0, 0, "The operation should not update focusOffset")
    at assertSelectionNoChange ( /selection/common.js:984:5)
Pass
assert_equals(object "Selection extend() tests   Äb̈c̈d̈ëf̈g̈ḧ Ijklmnop QrstuvwxYzabcdefGhijklmn     Running, 1000 complete, 1 remain  "use strict";  testExtendSubSet(0, 20); testDiv.style.display = "none"; ", object "Selection extend() tests   Äb̈c̈d̈ëf̈g̈ḧ Ijklmnop QrstuvwxYzabcdefGhijklmn     Running, 1000 complete, 1 remain  "use strict";  testExtendSubSet(0, 20); testDiv.style.display = "none"; ", "The operation should not replace a registered Range")
    at assertSelectionNoChange ( /selection/common.js:988:5)
Passextend() forwards with range 16 [document.documentElement, 0, document.documentElement, 2] and point 68 [detachedTextNode, 0]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(1, 1, "The operation should not add Range")
    at assertSelectionNoChange ( /selection/common.js:976:5)
Pass
assert_equals(Element node <html><head><title>Selection extend() tests</title> <meta..., Element node <html><head><title>Selection extend() tests</title> <meta..., "The operation should not update anchorNode")
    at assertSelectionNoChange ( /selection/common.js:978:5)
Pass
assert_equals(0, 0, "The operation should not update anchorOffset")
    at assertSelectionNoChange ( /selection/common.js:980:5)
Pass
assert_equals(Element node <html><head><title>Selection extend() tests</title> <meta..., Element node <html><head><title>Selection extend() tests</title> <meta..., "The operation should not update focusNode")
    at assertSelectionNoChange ( /selection/common.js:982:5)
Pass
assert_equals(2, 2, "The operation should not update focusOffset")
    at assertSelectionNoChange ( /selection/common.js:984:5)
Pass
assert_equals(object "Selection extend() tests   Äb̈c̈d̈ëf̈g̈ḧ Ijklmnop QrstuvwxYzabcdefGhijklmn     Running, 1000 complete, 1 remain  "use strict";  testExtendSubSet(0, 20); testDiv.style.display = "none"; ", object "Selection extend() tests   Äb̈c̈d̈ëf̈g̈ḧ Ijklmnop QrstuvwxYzabcdefGhijklmn     Running, 1000 complete, 1 remain  "use strict";  testExtendSubSet(0, 20); testDiv.style.display = "none"; ", "The operation should not replace a registered Range")
    at assertSelectionNoChange ( /selection/common.js:988:5)
Passextend() backwards with range 16 [document.documentElement, 0, document.documentElement, 2] and point 68 [detachedTextNode, 0]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(1, 1, "The operation should not add Range")
    at assertSelectionNoChange ( /selection/common.js:976:5)
Pass
assert_equals(Element node <html><head><title>Selection extend() tests</title> <meta..., Element node <html><head><title>Selection extend() tests</title> <meta..., "The operation should not update anchorNode")
    at assertSelectionNoChange ( /selection/common.js:978:5)
Pass
assert_equals(2, 2, "The operation should not update anchorOffset")
    at assertSelectionNoChange ( /selection/common.js:980:5)
Pass
assert_equals(Element node <html><head><title>Selection extend() tests</title> <meta..., Element node <html><head><title>Selection extend() tests</title> <meta..., "The operation should not update focusNode")
    at assertSelectionNoChange ( /selection/common.js:982:5)
Pass
assert_equals(0, 0, "The operation should not update focusOffset")
    at assertSelectionNoChange ( /selection/common.js:984:5)
Pass
assert_equals(object "Selection extend() tests   Äb̈c̈d̈ëf̈g̈ḧ Ijklmnop QrstuvwxYzabcdefGhijklmn     Running, 1000 complete, 1 remain  "use strict";  testExtendSubSet(0, 20); testDiv.style.display = "none"; ", object "Selection extend() tests   Äb̈c̈d̈ëf̈g̈ḧ Ijklmnop QrstuvwxYzabcdefGhijklmn     Running, 1000 complete, 1 remain  "use strict";  testExtendSubSet(0, 20); testDiv.style.display = "none"; ", "The operation should not replace a registered Range")
    at assertSelectionNoChange ( /selection/common.js:988:5)
Passextend() forwards with range 16 [document.documentElement, 0, document.documentElement, 2] and point 69 [detachedTextNode, 8]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(1, 1, "The operation should not add Range")
    at assertSelectionNoChange ( /selection/common.js:976:5)
Pass
assert_equals(Element node <html><head><title>Selection extend() tests</title> <meta..., Element node <html><head><title>Selection extend() tests</title> <meta..., "The operation should not update anchorNode")
    at assertSelectionNoChange ( /selection/common.js:978:5)
Pass
assert_equals(0, 0, "The operation should not update anchorOffset")
    at assertSelectionNoChange ( /selection/common.js:980:5)
Pass
assert_equals(Element node <html><head><title>Selection extend() tests</title> <meta..., Element node <html><head><title>Selection extend() tests</title> <meta..., "The operation should not update focusNode")
    at assertSelectionNoChange ( /selection/common.js:982:5)
Pass
assert_equals(2, 2, "The operation should not update focusOffset")
    at assertSelectionNoChange ( /selection/common.js:984:5)
Pass
assert_equals(object "Selection extend() tests   Äb̈c̈d̈ëf̈g̈ḧ Ijklmnop QrstuvwxYzabcdefGhijklmn     Running, 1000 complete, 1 remain  "use strict";  testExtendSubSet(0, 20); testDiv.style.display = "none"; ", object "Selection extend() tests   Äb̈c̈d̈ëf̈g̈ḧ Ijklmnop QrstuvwxYzabcdefGhijklmn     Running, 1000 complete, 1 remain  "use strict";  testExtendSubSet(0, 20); testDiv.style.display = "none"; ", "The operation should not replace a registered Range")
    at assertSelectionNoChange ( /selection/common.js:988:5)
Passextend() backwards with range 16 [document.documentElement, 0, document.documentElement, 2] and point 69 [detachedTextNode, 8]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(1, 1, "The operation should not add Range")
    at assertSelectionNoChange ( /selection/common.js:976:5)
Pass
assert_equals(Element node <html><head><title>Selection extend() tests</title> <meta..., Element node <html><head><title>Selection extend() tests</title> <meta..., "The operation should not update anchorNode")
    at assertSelectionNoChange ( /selection/common.js:978:5)
Pass
assert_equals(2, 2, "The operation should not update anchorOffset")
    at assertSelectionNoChange ( /selection/common.js:980:5)
Pass
assert_equals(Element node <html><head><title>Selection extend() tests</title> <meta..., Element node <html><head><title>Selection extend() tests</title> <meta..., "The operation should not update focusNode")
    at assertSelectionNoChange ( /selection/common.js:982:5)
Pass
assert_equals(0, 0, "The operation should not update focusOffset")
    at assertSelectionNoChange ( /selection/common.js:984:5)
Pass
assert_equals(object "Selection extend() tests   Äb̈c̈d̈ëf̈g̈ḧ Ijklmnop QrstuvwxYzabcdefGhijklmn     Running, 1000 complete, 1 remain  "use strict";  testExtendSubSet(0, 20); testDiv.style.display = "none"; ", object "Selection extend() tests   Äb̈c̈d̈ëf̈g̈ḧ Ijklmnop QrstuvwxYzabcdefGhijklmn     Running, 1000 complete, 1 remain  "use strict";  testExtendSubSet(0, 20); testDiv.style.display = "none"; ", "The operation should not replace a registered Range")
    at assertSelectionNoChange ( /selection/common.js:988:5)
Passextend() forwards with range 16 [document.documentElement, 0, document.documentElement, 2] and point 70 [detachedForeignTextNode, 0]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(1, 1, "The operation should not add Range")
    at assertSelectionNoChange ( /selection/common.js:976:5)
Pass
assert_equals(Element node <html><head><title>Selection extend() tests</title> <meta..., Element node <html><head><title>Selection extend() tests</title> <meta..., "The operation should not update anchorNode")
    at assertSelectionNoChange ( /selection/common.js:978:5)
Pass
assert_equals(0, 0, "The operation should not update anchorOffset")
    at assertSelectionNoChange ( /selection/common.js:980:5)
Pass
assert_equals(Element node <html><head><title>Selection extend() tests</title> <meta..., Element node <html><head><title>Selection extend() tests</title> <meta..., "The operation should not update focusNode")
    at assertSelectionNoChange ( /selection/common.js:982:5)
Pass
assert_equals(2, 2, "The operation should not update focusOffset")
    at assertSelectionNoChange ( /selection/common.js:984:5)
Pass
assert_equals(object "Selection extend() tests   Äb̈c̈d̈ëf̈g̈ḧ Ijklmnop QrstuvwxYzabcdefGhijklmn     Running, 1000 complete, 1 remain  "use strict";  testExtendSubSet(0, 20); testDiv.style.display = "none"; ", object "Selection extend() tests   Äb̈c̈d̈ëf̈g̈ḧ Ijklmnop QrstuvwxYzabcdefGhijklmn     Running, 1000 complete, 1 remain  "use strict";  testExtendSubSet(0, 20); testDiv.style.display = "none"; ", "The operation should not replace a registered Range")
    at assertSelectionNoChange ( /selection/common.js:988:5)
Passextend() backwards with range 16 [document.documentElement, 0, document.documentElement, 2] and point 70 [detachedForeignTextNode, 0]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(1, 1, "The operation should not add Range")
    at assertSelectionNoChange ( /selection/common.js:976:5)
Pass
assert_equals(Element node <html><head><title>Selection extend() tests</title> <meta..., Element node <html><head><title>Selection extend() tests</title> <meta..., "The operation should not update anchorNode")
    at assertSelectionNoChange ( /selection/common.js:978:5)
Pass
assert_equals(2, 2, "The operation should not update anchorOffset")
    at assertSelectionNoChange ( /selection/common.js:980:5)
Pass
assert_equals(Element node <html><head><title>Selection extend() tests</title> <meta..., Element node <html><head><title>Selection extend() tests</title> <meta..., "The operation should not update focusNode")
    at assertSelectionNoChange ( /selection/common.js:982:5)
Pass
assert_equals(0, 0, "The operation should not update focusOffset")
    at assertSelectionNoChange ( /selection/common.js:984:5)
Pass
assert_equals(object "Selection extend() tests   Äb̈c̈d̈ëf̈g̈ḧ Ijklmnop QrstuvwxYzabcdefGhijklmn     Running, 1000 complete, 1 remain  "use strict";  testExtendSubSet(0, 20); testDiv.style.display = "none"; ", object "Selection extend() tests   Äb̈c̈d̈ëf̈g̈ḧ Ijklmnop QrstuvwxYzabcdefGhijklmn     Running, 1000 complete, 1 remain  "use strict";  testExtendSubSet(0, 20); testDiv.style.display = "none"; ", "The operation should not replace a registered Range")
    at assertSelectionNoChange ( /selection/common.js:988:5)
Passextend() forwards with range 16 [document.documentElement, 0, document.documentElement, 2] and point 71 [detachedForeignTextNode, 8]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(1, 1, "The operation should not add Range")
    at assertSelectionNoChange ( /selection/common.js:976:5)
Pass
assert_equals(Element node <html><head><title>Selection extend() tests</title> <meta..., Element node <html><head><title>Selection extend() tests</title> <meta..., "The operation should not update anchorNode")
    at assertSelectionNoChange ( /selection/common.js:978:5)
Pass
assert_equals(0, 0, "The operation should not update anchorOffset")
    at assertSelectionNoChange ( /selection/common.js:980:5)
Pass
assert_equals(Element node <html><head><title>Selection extend() tests</title> <meta..., Element node <html><head><title>Selection extend() tests</title> <meta..., "The operation should not update focusNode")
    at assertSelectionNoChange ( /selection/common.js:982:5)
Pass
assert_equals(2, 2, "The operation should not update focusOffset")
    at assertSelectionNoChange ( /selection/common.js:984:5)
Pass
assert_equals(object "Selection extend() tests   Äb̈c̈d̈ëf̈g̈ḧ Ijklmnop QrstuvwxYzabcdefGhijklmn     Running, 1000 complete, 1 remain  "use strict";  testExtendSubSet(0, 20); testDiv.style.display = "none"; ", object "Selection extend() tests   Äb̈c̈d̈ëf̈g̈ḧ Ijklmnop QrstuvwxYzabcdefGhijklmn     Running, 1000 complete, 1 remain  "use strict";  testExtendSubSet(0, 20); testDiv.style.display = "none"; ", "The operation should not replace a registered Range")
    at assertSelectionNoChange ( /selection/common.js:988:5)
Passextend() backwards with range 16 [document.documentElement, 0, document.documentElement, 2] and point 71 [detachedForeignTextNode, 8]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(1, 1, "The operation should not add Range")
    at assertSelectionNoChange ( /selection/common.js:976:5)
Pass
assert_equals(Element node <html><head><title>Selection extend() tests</title> <meta..., Element node <html><head><title>Selection extend() tests</title> <meta..., "The operation should not update anchorNode")
    at assertSelectionNoChange ( /selection/common.js:978:5)
Pass
assert_equals(2, 2, "The operation should not update anchorOffset")
    at assertSelectionNoChange ( /selection/common.js:980:5)
Pass
assert_equals(Element node <html><head><title>Selection extend() tests</title> <meta..., Element node <html><head><title>Selection extend() tests</title> <meta..., "The operation should not update focusNode")
    at assertSelectionNoChange ( /selection/common.js:982:5)
Pass
assert_equals(0, 0, "The operation should not update focusOffset")
    at assertSelectionNoChange ( /selection/common.js:984:5)
Pass
assert_equals(object "Selection extend() tests   Äb̈c̈d̈ëf̈g̈ḧ Ijklmnop QrstuvwxYzabcdefGhijklmn     Running, 1000 complete, 1 remain  "use strict";  testExtendSubSet(0, 20); testDiv.style.display = "none"; ", object "Selection extend() tests   Äb̈c̈d̈ëf̈g̈ḧ Ijklmnop QrstuvwxYzabcdefGhijklmn     Running, 1000 complete, 1 remain  "use strict";  testExtendSubSet(0, 20); testDiv.style.display = "none"; ", "The operation should not replace a registered Range")
    at assertSelectionNoChange ( /selection/common.js:988:5)
Passextend() forwards with range 16 [document.documentElement, 0, document.documentElement, 2] and point 72 [detachedXmlTextNode, 0]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(1, 1, "The operation should not add Range")
    at assertSelectionNoChange ( /selection/common.js:976:5)
Pass
assert_equals(Element node <html><head><title>Selection extend() tests</title> <meta..., Element node <html><head><title>Selection extend() tests</title> <meta..., "The operation should not update anchorNode")
    at assertSelectionNoChange ( /selection/common.js:978:5)
Pass
assert_equals(0, 0, "The operation should not update anchorOffset")
    at assertSelectionNoChange ( /selection/common.js:980:5)
Pass
assert_equals(Element node <html><head><title>Selection extend() tests</title> <meta..., Element node <html><head><title>Selection extend() tests</title> <meta..., "The operation should not update focusNode")
    at assertSelectionNoChange ( /selection/common.js:982:5)
Pass
assert_equals(2, 2, "The operation should not update focusOffset")
    at assertSelectionNoChange ( /selection/common.js:984:5)
Pass
assert_equals(object "Selection extend() tests   Äb̈c̈d̈ëf̈g̈ḧ Ijklmnop QrstuvwxYzabcdefGhijklmn     Running, 1000 complete, 1 remain  "use strict";  testExtendSubSet(0, 20); testDiv.style.display = "none"; ", object "Selection extend() tests   Äb̈c̈d̈ëf̈g̈ḧ Ijklmnop QrstuvwxYzabcdefGhijklmn     Running, 1000 complete, 1 remain  "use strict";  testExtendSubSet(0, 20); testDiv.style.display = "none"; ", "The operation should not replace a registered Range")
    at assertSelectionNoChange ( /selection/common.js:988:5)
Passextend() backwards with range 16 [document.documentElement, 0, document.documentElement, 2] and point 72 [detachedXmlTextNode, 0]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(1, 1, "The operation should not add Range")
    at assertSelectionNoChange ( /selection/common.js:976:5)
Pass
assert_equals(Element node <html><head><title>Selection extend() tests</title> <meta..., Element node <html><head><title>Selection extend() tests</title> <meta..., "The operation should not update anchorNode")
    at assertSelectionNoChange ( /selection/common.js:978:5)
Pass
assert_equals(2, 2, "The operation should not update anchorOffset")
    at assertSelectionNoChange ( /selection/common.js:980:5)
Pass
assert_equals(Element node <html><head><title>Selection extend() tests</title> <meta..., Element node <html><head><title>Selection extend() tests</title> <meta..., "The operation should not update focusNode")
    at assertSelectionNoChange ( /selection/common.js:982:5)
Pass
assert_equals(0, 0, "The operation should not update focusOffset")
    at assertSelectionNoChange ( /selection/common.js:984:5)
Pass
assert_equals(object "Selection extend() tests   Äb̈c̈d̈ëf̈g̈ḧ Ijklmnop QrstuvwxYzabcdefGhijklmn     Running, 1000 complete, 1 remain  "use strict";  testExtendSubSet(0, 20); testDiv.style.display = "none"; ", object "Selection extend() tests   Äb̈c̈d̈ëf̈g̈ḧ Ijklmnop QrstuvwxYzabcdefGhijklmn     Running, 1000 complete, 1 remain  "use strict";  testExtendSubSet(0, 20); testDiv.style.display = "none"; ", "The operation should not replace a registered Range")
    at assertSelectionNoChange ( /selection/common.js:988:5)
Passextend() forwards with range 16 [document.documentElement, 0, document.documentElement, 2] and point 73 [detachedXmlTextNode, 8]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(1, 1, "The operation should not add Range")
    at assertSelectionNoChange ( /selection/common.js:976:5)
Pass
assert_equals(Element node <html><head><title>Selection extend() tests</title> <meta..., Element node <html><head><title>Selection extend() tests</title> <meta..., "The operation should not update anchorNode")
    at assertSelectionNoChange ( /selection/common.js:978:5)
Pass
assert_equals(0, 0, "The operation should not update anchorOffset")
    at assertSelectionNoChange ( /selection/common.js:980:5)
Pass
assert_equals(Element node <html><head><title>Selection extend() tests</title> <meta..., Element node <html><head><title>Selection extend() tests</title> <meta..., "The operation should not update focusNode")
    at assertSelectionNoChange ( /selection/common.js:982:5)
Pass
assert_equals(2, 2, "The operation should not update focusOffset")
    at assertSelectionNoChange ( /selection/common.js:984:5)
Pass
assert_equals(object "Selection extend() tests   Äb̈c̈d̈ëf̈g̈ḧ Ijklmnop QrstuvwxYzabcdefGhijklmn     Running, 1000 complete, 1 remain  "use strict";  testExtendSubSet(0, 20); testDiv.style.display = "none"; ", object "Selection extend() tests   Äb̈c̈d̈ëf̈g̈ḧ Ijklmnop QrstuvwxYzabcdefGhijklmn     Running, 1000 complete, 1 remain  "use strict";  testExtendSubSet(0, 20); testDiv.style.display = "none"; ", "The operation should not replace a registered Range")
    at assertSelectionNoChange ( /selection/common.js:988:5)
Passextend() backwards with range 16 [document.documentElement, 0, document.documentElement, 2] and point 73 [detachedXmlTextNode, 8]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(1, 1, "The operation should not add Range")
    at assertSelectionNoChange ( /selection/common.js:976:5)
Pass
assert_equals(Element node <html><head><title>Selection extend() tests</title> <meta..., Element node <html><head><title>Selection extend() tests</title> <meta..., "The operation should not update anchorNode")
    at assertSelectionNoChange ( /selection/common.js:978:5)
Pass
assert_equals(2, 2, "The operation should not update anchorOffset")
    at assertSelectionNoChange ( /selection/common.js:980:5)
Pass
assert_equals(Element node <html><head><title>Selection extend() tests</title> <meta..., Element node <html><head><title>Selection extend() tests</title> <meta..., "The operation should not update focusNode")
    at assertSelectionNoChange ( /selection/common.js:982:5)
Pass
assert_equals(0, 0, "The operation should not update focusOffset")
    at assertSelectionNoChange ( /selection/common.js:984:5)
Pass
assert_equals(object "Selection extend() tests   Äb̈c̈d̈ëf̈g̈ḧ Ijklmnop QrstuvwxYzabcdefGhijklmn     Running, 1000 complete, 1 remain  "use strict";  testExtendSubSet(0, 20); testDiv.style.display = "none"; ", object "Selection extend() tests   Äb̈c̈d̈ëf̈g̈ḧ Ijklmnop QrstuvwxYzabcdefGhijklmn     Running, 1000 complete, 1 remain  "use strict";  testExtendSubSet(0, 20); testDiv.style.display = "none"; ", "The operation should not replace a registered Range")
    at assertSelectionNoChange ( /selection/common.js:988:5)
Passextend() forwards with range 16 [document.documentElement, 0, document.documentElement, 2] and point 74 [detachedProcessingInstruction, 12]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(1, 1, "The operation should not add Range")
    at assertSelectionNoChange ( /selection/common.js:976:5)
Pass
assert_equals(Element node <html><head><title>Selection extend() tests</title> <meta..., Element node <html><head><title>Selection extend() tests</title> <meta..., "The operation should not update anchorNode")
    at assertSelectionNoChange ( /selection/common.js:978:5)
Pass
assert_equals(0, 0, "The operation should not update anchorOffset")
    at assertSelectionNoChange ( /selection/common.js:980:5)
Pass
assert_equals(Element node <html><head><title>Selection extend() tests</title> <meta..., Element node <html><head><title>Selection extend() tests</title> <meta..., "The operation should not update focusNode")
    at assertSelectionNoChange ( /selection/common.js:982:5)
Pass
assert_equals(2, 2, "The operation should not update focusOffset")
    at assertSelectionNoChange ( /selection/common.js:984:5)
Pass
assert_equals(object "Selection extend() tests   Äb̈c̈d̈ëf̈g̈ḧ Ijklmnop QrstuvwxYzabcdefGhijklmn     Running, 1000 complete, 1 remain  "use strict";  testExtendSubSet(0, 20); testDiv.style.display = "none"; ", object "Selection extend() tests   Äb̈c̈d̈ëf̈g̈ḧ Ijklmnop QrstuvwxYzabcdefGhijklmn     Running, 1000 complete, 1 remain  "use strict";  testExtendSubSet(0, 20); testDiv.style.display = "none"; ", "The operation should not replace a registered Range")
    at assertSelectionNoChange ( /selection/common.js:988:5)
Passextend() backwards with range 16 [document.documentElement, 0, document.documentElement, 2] and point 74 [detachedProcessingInstruction, 12]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(1, 1, "The operation should not add Range")
    at assertSelectionNoChange ( /selection/common.js:976:5)
Pass
assert_equals(Element node <html><head><title>Selection extend() tests</title> <meta..., Element node <html><head><title>Selection extend() tests</title> <meta..., "The operation should not update anchorNode")
    at assertSelectionNoChange ( /selection/common.js:978:5)
Pass
assert_equals(2, 2, "The operation should not update anchorOffset")
    at assertSelectionNoChange ( /selection/common.js:980:5)
Pass
assert_equals(Element node <html><head><title>Selection extend() tests</title> <meta..., Element node <html><head><title>Selection extend() tests</title> <meta..., "The operation should not update focusNode")
    at assertSelectionNoChange ( /selection/common.js:982:5)
Pass
assert_equals(0, 0, "The operation should not update focusOffset")
    at assertSelectionNoChange ( /selection/common.js:984:5)
Pass
assert_equals(object "Selection extend() tests   Äb̈c̈d̈ëf̈g̈ḧ Ijklmnop QrstuvwxYzabcdefGhijklmn     Running, 1000 complete, 1 remain  "use strict";  testExtendSubSet(0, 20); testDiv.style.display = "none"; ", object "Selection extend() tests   Äb̈c̈d̈ëf̈g̈ḧ Ijklmnop QrstuvwxYzabcdefGhijklmn     Running, 1000 complete, 1 remain  "use strict";  testExtendSubSet(0, 20); testDiv.style.display = "none"; ", "The operation should not replace a registered Range")
    at assertSelectionNoChange ( /selection/common.js:988:5)
Passextend() forwards with range 16 [document.documentElement, 0, document.documentElement, 2] and point 75 [detachedComment, 3]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(1, 1, "The operation should not add Range")
    at assertSelectionNoChange ( /selection/common.js:976:5)
Pass
assert_equals(Element node <html><head><title>Selection extend() tests</title> <meta..., Element node <html><head><title>Selection extend() tests</title> <meta..., "The operation should not update anchorNode")
    at assertSelectionNoChange ( /selection/common.js:978:5)
Pass
assert_equals(0, 0, "The operation should not update anchorOffset")
    at assertSelectionNoChange ( /selection/common.js:980:5)
Pass
assert_equals(Element node <html><head><title>Selection extend() tests</title> <meta..., Element node <html><head><title>Selection extend() tests</title> <meta..., "The operation should not update focusNode")
    at assertSelectionNoChange ( /selection/common.js:982:5)
Pass
assert_equals(2, 2, "The operation should not update focusOffset")
    at assertSelectionNoChange ( /selection/common.js:984:5)
Pass
assert_equals(object "Selection extend() tests   Äb̈c̈d̈ëf̈g̈ḧ Ijklmnop QrstuvwxYzabcdefGhijklmn     Running, 1000 complete, 1 remain  "use strict";  testExtendSubSet(0, 20); testDiv.style.display = "none"; ", object "Selection extend() tests   Äb̈c̈d̈ëf̈g̈ḧ Ijklmnop QrstuvwxYzabcdefGhijklmn     Running, 1000 complete, 1 remain  "use strict";  testExtendSubSet(0, 20); testDiv.style.display = "none"; ", "The operation should not replace a registered Range")
    at assertSelectionNoChange ( /selection/common.js:988:5)
Passextend() backwards with range 16 [document.documentElement, 0, document.documentElement, 2] and point 75 [detachedComment, 3]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(1, 1, "The operation should not add Range")
    at assertSelectionNoChange ( /selection/common.js:976:5)
Pass
assert_equals(Element node <html><head><title>Selection extend() tests</title> <meta..., Element node <html><head><title>Selection extend() tests</title> <meta..., "The operation should not update anchorNode")
    at assertSelectionNoChange ( /selection/common.js:978:5)
Pass
assert_equals(2, 2, "The operation should not update anchorOffset")
    at assertSelectionNoChange ( /selection/common.js:980:5)
Pass
assert_equals(Element node <html><head><title>Selection extend() tests</title> <meta..., Element node <html><head><title>Selection extend() tests</title> <meta..., "The operation should not update focusNode")
    at assertSelectionNoChange ( /selection/common.js:982:5)
Pass
assert_equals(0, 0, "The operation should not update focusOffset")
    at assertSelectionNoChange ( /selection/common.js:984:5)
Pass
assert_equals(object "Selection extend() tests   Äb̈c̈d̈ëf̈g̈ḧ Ijklmnop QrstuvwxYzabcdefGhijklmn     Running, 1000 complete, 1 remain  "use strict";  testExtendSubSet(0, 20); testDiv.style.display = "none"; ", object "Selection extend() tests   Äb̈c̈d̈ëf̈g̈ḧ Ijklmnop QrstuvwxYzabcdefGhijklmn     Running, 1000 complete, 1 remain  "use strict";  testExtendSubSet(0, 20); testDiv.style.display = "none"; ", "The operation should not replace a registered Range")
    at assertSelectionNoChange ( /selection/common.js:988:5)
Passextend() forwards with range 16 [document.documentElement, 0, document.documentElement, 2] and point 76 [detachedComment, 5]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(1, 1, "The operation should not add Range")
    at assertSelectionNoChange ( /selection/common.js:976:5)
Pass
assert_equals(Element node <html><head><title>Selection extend() tests</title> <meta..., Element node <html><head><title>Selection extend() tests</title> <meta..., "The operation should not update anchorNode")
    at assertSelectionNoChange ( /selection/common.js:978:5)
Pass
assert_equals(0, 0, "The operation should not update anchorOffset")
    at assertSelectionNoChange ( /selection/common.js:980:5)
Pass
assert_equals(Element node <html><head><title>Selection extend() tests</title> <meta..., Element node <html><head><title>Selection extend() tests</title> <meta..., "The operation should not update focusNode")
    at assertSelectionNoChange ( /selection/common.js:982:5)
Pass
assert_equals(2, 2, "The operation should not update focusOffset")
    at assertSelectionNoChange ( /selection/common.js:984:5)
Pass
assert_equals(object "Selection extend() tests   Äb̈c̈d̈ëf̈g̈ḧ Ijklmnop QrstuvwxYzabcdefGhijklmn     Running, 1000 complete, 1 remain  "use strict";  testExtendSubSet(0, 20); testDiv.style.display = "none"; ", object "Selection extend() tests   Äb̈c̈d̈ëf̈g̈ḧ Ijklmnop QrstuvwxYzabcdefGhijklmn     Running, 1000 complete, 1 remain  "use strict";  testExtendSubSet(0, 20); testDiv.style.display = "none"; ", "The operation should not replace a registered Range")
    at assertSelectionNoChange ( /selection/common.js:988:5)
Passextend() backwards with range 16 [document.documentElement, 0, document.documentElement, 2] and point 76 [detachedComment, 5]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(1, 1, "The operation should not add Range")
    at assertSelectionNoChange ( /selection/common.js:976:5)
Pass
assert_equals(Element node <html><head><title>Selection extend() tests</title> <meta..., Element node <html><head><title>Selection extend() tests</title> <meta..., "The operation should not update anchorNode")
    at assertSelectionNoChange ( /selection/common.js:978:5)
Pass
assert_equals(2, 2, "The operation should not update anchorOffset")
    at assertSelectionNoChange ( /selection/common.js:980:5)
Pass
assert_equals(Element node <html><head><title>Selection extend() tests</title> <meta..., Element node <html><head><title>Selection extend() tests</title> <meta..., "The operation should not update focusNode")
    at assertSelectionNoChange ( /selection/common.js:982:5)
Pass
assert_equals(0, 0, "The operation should not update focusOffset")
    at assertSelectionNoChange ( /selection/common.js:984:5)
Pass
assert_equals(object "Selection extend() tests   Äb̈c̈d̈ëf̈g̈ḧ Ijklmnop QrstuvwxYzabcdefGhijklmn     Running, 1000 complete, 1 remain  "use strict";  testExtendSubSet(0, 20); testDiv.style.display = "none"; ", object "Selection extend() tests   Äb̈c̈d̈ëf̈g̈ḧ Ijklmnop QrstuvwxYzabcdefGhijklmn     Running, 1000 complete, 1 remain  "use strict";  testExtendSubSet(0, 20); testDiv.style.display = "none"; ", "The operation should not replace a registered Range")
    at assertSelectionNoChange ( /selection/common.js:988:5)
Passextend() forwards with range 16 [document.documentElement, 0, document.documentElement, 2] and point 77 [detachedForeignComment, 0]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(1, 1, "The operation should not add Range")
    at assertSelectionNoChange ( /selection/common.js:976:5)
Pass
assert_equals(Element node <html><head><title>Selection extend() tests</title> <meta..., Element node <html><head><title>Selection extend() tests</title> <meta..., "The operation should not update anchorNode")
    at assertSelectionNoChange ( /selection/common.js:978:5)
Pass
assert_equals(0, 0, "The operation should not update anchorOffset")
    at assertSelectionNoChange ( /selection/common.js:980:5)
Pass
assert_equals(Element node <html><head><title>Selection extend() tests</title> <meta..., Element node <html><head><title>Selection extend() tests</title> <meta..., "The operation should not update focusNode")
    at assertSelectionNoChange ( /selection/common.js:982:5)
Pass
assert_equals(2, 2, "The operation should not update focusOffset")
    at assertSelectionNoChange ( /selection/common.js:984:5)
Pass
assert_equals(object "Selection extend() tests   Äb̈c̈d̈ëf̈g̈ḧ Ijklmnop QrstuvwxYzabcdefGhijklmn     Running, 1000 complete, 1 remain  "use strict";  testExtendSubSet(0, 20); testDiv.style.display = "none"; ", object "Selection extend() tests   Äb̈c̈d̈ëf̈g̈ḧ Ijklmnop QrstuvwxYzabcdefGhijklmn     Running, 1000 complete, 1 remain  "use strict";  testExtendSubSet(0, 20); testDiv.style.display = "none"; ", "The operation should not replace a registered Range")
    at assertSelectionNoChange ( /selection/common.js:988:5)
Passextend() backwards with range 16 [document.documentElement, 0, document.documentElement, 2] and point 77 [detachedForeignComment, 0]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(1, 1, "The operation should not add Range")
    at assertSelectionNoChange ( /selection/common.js:976:5)
Pass
assert_equals(Element node <html><head><title>Selection extend() tests</title> <meta..., Element node <html><head><title>Selection extend() tests</title> <meta..., "The operation should not update anchorNode")
    at assertSelectionNoChange ( /selection/common.js:978:5)
Pass
assert_equals(2, 2, "The operation should not update anchorOffset")
    at assertSelectionNoChange ( /selection/common.js:980:5)
Pass
assert_equals(Element node <html><head><title>Selection extend() tests</title> <meta..., Element node <html><head><title>Selection extend() tests</title> <meta..., "The operation should not update focusNode")
    at assertSelectionNoChange ( /selection/common.js:982:5)
Pass
assert_equals(0, 0, "The operation should not update focusOffset")
    at assertSelectionNoChange ( /selection/common.js:984:5)
Pass
assert_equals(object "Selection extend() tests   Äb̈c̈d̈ëf̈g̈ḧ Ijklmnop QrstuvwxYzabcdefGhijklmn     Running, 1000 complete, 1 remain  "use strict";  testExtendSubSet(0, 20); testDiv.style.display = "none"; ", object "Selection extend() tests   Äb̈c̈d̈ëf̈g̈ḧ Ijklmnop QrstuvwxYzabcdefGhijklmn     Running, 1000 complete, 1 remain  "use strict";  testExtendSubSet(0, 20); testDiv.style.display = "none"; ", "The operation should not replace a registered Range")
    at assertSelectionNoChange ( /selection/common.js:988:5)
Passextend() forwards with range 16 [document.documentElement, 0, document.documentElement, 2] and point 78 [detachedForeignComment, 4]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(1, 1, "The operation should not add Range")
    at assertSelectionNoChange ( /selection/common.js:976:5)
Pass
assert_equals(Element node <html><head><title>Selection extend() tests</title> <meta..., Element node <html><head><title>Selection extend() tests</title> <meta..., "The operation should not update anchorNode")
    at assertSelectionNoChange ( /selection/common.js:978:5)
Pass
assert_equals(0, 0, "The operation should not update anchorOffset")
    at assertSelectionNoChange ( /selection/common.js:980:5)
Pass
assert_equals(Element node <html><head><title>Selection extend() tests</title> <meta..., Element node <html><head><title>Selection extend() tests</title> <meta..., "The operation should not update focusNode")
    at assertSelectionNoChange ( /selection/common.js:982:5)
Pass
assert_equals(2, 2, "The operation should not update focusOffset")
    at assertSelectionNoChange ( /selection/common.js:984:5)
Pass
assert_equals(object "Selection extend() tests   Äb̈c̈d̈ëf̈g̈ḧ Ijklmnop QrstuvwxYzabcdefGhijklmn     Running, 1000 complete, 1 remain  "use strict";  testExtendSubSet(0, 20); testDiv.style.display = "none"; ", object "Selection extend() tests   Äb̈c̈d̈ëf̈g̈ḧ Ijklmnop QrstuvwxYzabcdefGhijklmn     Running, 1000 complete, 1 remain  "use strict";  testExtendSubSet(0, 20); testDiv.style.display = "none"; ", "The operation should not replace a registered Range")
    at assertSelectionNoChange ( /selection/common.js:988:5)
Passextend() backwards with range 16 [document.documentElement, 0, document.documentElement, 2] and point 78 [detachedForeignComment, 4]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(1, 1, "The operation should not add Range")
    at assertSelectionNoChange ( /selection/common.js:976:5)
Pass
assert_equals(Element node <html><head><title>Selection extend() tests</title> <meta..., Element node <html><head><title>Selection extend() tests</title> <meta..., "The operation should not update anchorNode")
    at assertSelectionNoChange ( /selection/common.js:978:5)
Pass
assert_equals(2, 2, "The operation should not update anchorOffset")
    at assertSelectionNoChange ( /selection/common.js:980:5)
Pass
assert_equals(Element node <html><head><title>Selection extend() tests</title> <meta..., Element node <html><head><title>Selection extend() tests</title> <meta..., "The operation should not update focusNode")
    at assertSelectionNoChange ( /selection/common.js:982:5)
Pass
assert_equals(0, 0, "The operation should not update focusOffset")
    at assertSelectionNoChange ( /selection/common.js:984:5)
Pass
assert_equals(object "Selection extend() tests   Äb̈c̈d̈ëf̈g̈ḧ Ijklmnop QrstuvwxYzabcdefGhijklmn     Running, 1000 complete, 1 remain  "use strict";  testExtendSubSet(0, 20); testDiv.style.display = "none"; ", object "Selection extend() tests   Äb̈c̈d̈ëf̈g̈ḧ Ijklmnop QrstuvwxYzabcdefGhijklmn     Running, 1000 complete, 1 remain  "use strict";  testExtendSubSet(0, 20); testDiv.style.display = "none"; ", "The operation should not replace a registered Range")
    at assertSelectionNoChange ( /selection/common.js:988:5)
Passextend() forwards with range 16 [document.documentElement, 0, document.documentElement, 2] and point 79 [detachedXmlComment, 2]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(1, 1, "The operation should not add Range")
    at assertSelectionNoChange ( /selection/common.js:976:5)
Pass
assert_equals(Element node <html><head><title>Selection extend() tests</title> <meta..., Element node <html><head><title>Selection extend() tests</title> <meta..., "The operation should not update anchorNode")
    at assertSelectionNoChange ( /selection/common.js:978:5)
Pass
assert_equals(0, 0, "The operation should not update anchorOffset")
    at assertSelectionNoChange ( /selection/common.js:980:5)
Pass
assert_equals(Element node <html><head><title>Selection extend() tests</title> <meta..., Element node <html><head><title>Selection extend() tests</title> <meta..., "The operation should not update focusNode")
    at assertSelectionNoChange ( /selection/common.js:982:5)
Pass
assert_equals(2, 2, "The operation should not update focusOffset")
    at assertSelectionNoChange ( /selection/common.js:984:5)
Pass
assert_equals(object "Selection extend() tests   Äb̈c̈d̈ëf̈g̈ḧ Ijklmnop QrstuvwxYzabcdefGhijklmn     Running, 1000 complete, 1 remain  "use strict";  testExtendSubSet(0, 20); testDiv.style.display = "none"; ", object "Selection extend() tests   Äb̈c̈d̈ëf̈g̈ḧ Ijklmnop QrstuvwxYzabcdefGhijklmn     Running, 1000 complete, 1 remain  "use strict";  testExtendSubSet(0, 20); testDiv.style.display = "none"; ", "The operation should not replace a registered Range")
    at assertSelectionNoChange ( /selection/common.js:988:5)
Passextend() backwards with range 16 [document.documentElement, 0, document.documentElement, 2] and point 79 [detachedXmlComment, 2]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(1, 1, "The operation should not add Range")
    at assertSelectionNoChange ( /selection/common.js:976:5)
Pass
assert_equals(Element node <html><head><title>Selection extend() tests</title> <meta..., Element node <html><head><title>Selection extend() tests</title> <meta..., "The operation should not update anchorNode")
    at assertSelectionNoChange ( /selection/common.js:978:5)
Pass
assert_equals(2, 2, "The operation should not update anchorOffset")
    at assertSelectionNoChange ( /selection/common.js:980:5)
Pass
assert_equals(Element node <html><head><title>Selection extend() tests</title> <meta..., Element node <html><head><title>Selection extend() tests</title> <meta..., "The operation should not update focusNode")
    at assertSelectionNoChange ( /selection/common.js:982:5)
Pass
assert_equals(0, 0, "The operation should not update focusOffset")
    at assertSelectionNoChange ( /selection/common.js:984:5)
Pass
assert_equals(object "Selection extend() tests   Äb̈c̈d̈ëf̈g̈ḧ Ijklmnop QrstuvwxYzabcdefGhijklmn     Running, 1000 complete, 1 remain  "use strict";  testExtendSubSet(0, 20); testDiv.style.display = "none"; ", object "Selection extend() tests   Äb̈c̈d̈ëf̈g̈ḧ Ijklmnop QrstuvwxYzabcdefGhijklmn     Running, 1000 complete, 1 remain  "use strict";  testExtendSubSet(0, 20); testDiv.style.display = "none"; ", "The operation should not replace a registered Range")
    at assertSelectionNoChange ( /selection/common.js:988:5)
Passextend() forwards with range 16 [document.documentElement, 0, document.documentElement, 2] and point 80 [docfrag, 0]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(1, 1, "The operation should not add Range")
    at assertSelectionNoChange ( /selection/common.js:976:5)
Pass
assert_equals(Element node <html><head><title>Selection extend() tests</title> <meta..., Element node <html><head><title>Selection extend() tests</title> <meta..., "The operation should not update anchorNode")
    at assertSelectionNoChange ( /selection/common.js:978:5)
Pass
assert_equals(0, 0, "The operation should not update anchorOffset")
    at assertSelectionNoChange ( /selection/common.js:980:5)
Pass
assert_equals(Element node <html><head><title>Selection extend() tests</title> <meta..., Element node <html><head><title>Selection extend() tests</title> <meta..., "The operation should not update focusNode")
    at assertSelectionNoChange ( /selection/common.js:982:5)
Pass
assert_equals(2, 2, "The operation should not update focusOffset")
    at assertSelectionNoChange ( /selection/common.js:984:5)
Pass
assert_equals(object "Selection extend() tests   Äb̈c̈d̈ëf̈g̈ḧ Ijklmnop QrstuvwxYzabcdefGhijklmn     Running, 1000 complete, 1 remain  "use strict";  testExtendSubSet(0, 20); testDiv.style.display = "none"; ", object "Selection extend() tests   Äb̈c̈d̈ëf̈g̈ḧ Ijklmnop QrstuvwxYzabcdefGhijklmn     Running, 1000 complete, 1 remain  "use strict";  testExtendSubSet(0, 20); testDiv.style.display = "none"; ", "The operation should not replace a registered Range")
    at assertSelectionNoChange ( /selection/common.js:988:5)
Passextend() backwards with range 16 [document.documentElement, 0, document.documentElement, 2] and point 80 [docfrag, 0]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(1, 1, "The operation should not add Range")
    at assertSelectionNoChange ( /selection/common.js:976:5)
Pass
assert_equals(Element node <html><head><title>Selection extend() tests</title> <meta..., Element node <html><head><title>Selection extend() tests</title> <meta..., "The operation should not update anchorNode")
    at assertSelectionNoChange ( /selection/common.js:978:5)
Pass
assert_equals(2, 2, "The operation should not update anchorOffset")
    at assertSelectionNoChange ( /selection/common.js:980:5)
Pass
assert_equals(Element node <html><head><title>Selection extend() tests</title> <meta..., Element node <html><head><title>Selection extend() tests</title> <meta..., "The operation should not update focusNode")
    at assertSelectionNoChange ( /selection/common.js:982:5)
Pass
assert_equals(0, 0, "The operation should not update focusOffset")
    at assertSelectionNoChange ( /selection/common.js:984:5)
Pass
assert_equals(object "Selection extend() tests   Äb̈c̈d̈ëf̈g̈ḧ Ijklmnop QrstuvwxYzabcdefGhijklmn     Running, 1000 complete, 1 remain  "use strict";  testExtendSubSet(0, 20); testDiv.style.display = "none"; ", object "Selection extend() tests   Äb̈c̈d̈ëf̈g̈ḧ Ijklmnop QrstuvwxYzabcdefGhijklmn     Running, 1000 complete, 1 remain  "use strict";  testExtendSubSet(0, 20); testDiv.style.display = "none"; ", "The operation should not replace a registered Range")
    at assertSelectionNoChange ( /selection/common.js:988:5)
Passextend() forwards with range 16 [document.documentElement, 0, document.documentElement, 2] and point 81 [foreignDocfrag, 0]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(1, 1, "The operation should not add Range")
    at assertSelectionNoChange ( /selection/common.js:976:5)
Pass
assert_equals(Element node <html><head><title>Selection extend() tests</title> <meta..., Element node <html><head><title>Selection extend() tests</title> <meta..., "The operation should not update anchorNode")
    at assertSelectionNoChange ( /selection/common.js:978:5)
Pass
assert_equals(0, 0, "The operation should not update anchorOffset")
    at assertSelectionNoChange ( /selection/common.js:980:5)
Pass
assert_equals(Element node <html><head><title>Selection extend() tests</title> <meta..., Element node <html><head><title>Selection extend() tests</title> <meta..., "The operation should not update focusNode")
    at assertSelectionNoChange ( /selection/common.js:982:5)
Pass
assert_equals(2, 2, "The operation should not update focusOffset")
    at assertSelectionNoChange ( /selection/common.js:984:5)
Pass
assert_equals(object "Selection extend() tests   Äb̈c̈d̈ëf̈g̈ḧ Ijklmnop QrstuvwxYzabcdefGhijklmn     Running, 1000 complete, 1 remain  "use strict";  testExtendSubSet(0, 20); testDiv.style.display = "none"; ", object "Selection extend() tests   Äb̈c̈d̈ëf̈g̈ḧ Ijklmnop QrstuvwxYzabcdefGhijklmn     Running, 1000 complete, 1 remain  "use strict";  testExtendSubSet(0, 20); testDiv.style.display = "none"; ", "The operation should not replace a registered Range")
    at assertSelectionNoChange ( /selection/common.js:988:5)
Passextend() backwards with range 16 [document.documentElement, 0, document.documentElement, 2] and point 81 [foreignDocfrag, 0]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(1, 1, "The operation should not add Range")
    at assertSelectionNoChange ( /selection/common.js:976:5)
Pass
assert_equals(Element node <html><head><title>Selection extend() tests</title> <meta..., Element node <html><head><title>Selection extend() tests</title> <meta..., "The operation should not update anchorNode")
    at assertSelectionNoChange ( /selection/common.js:978:5)
Pass
assert_equals(2, 2, "The operation should not update anchorOffset")
    at assertSelectionNoChange ( /selection/common.js:980:5)
Pass
assert_equals(Element node <html><head><title>Selection extend() tests</title> <meta..., Element node <html><head><title>Selection extend() tests</title> <meta..., "The operation should not update focusNode")
    at assertSelectionNoChange ( /selection/common.js:982:5)
Pass
assert_equals(0, 0, "The operation should not update focusOffset")
    at assertSelectionNoChange ( /selection/common.js:984:5)
Pass
assert_equals(object "Selection extend() tests   Äb̈c̈d̈ëf̈g̈ḧ Ijklmnop QrstuvwxYzabcdefGhijklmn     Running, 1000 complete, 1 remain  "use strict";  testExtendSubSet(0, 20); testDiv.style.display = "none"; ", object "Selection extend() tests   Äb̈c̈d̈ëf̈g̈ḧ Ijklmnop QrstuvwxYzabcdefGhijklmn     Running, 1000 complete, 1 remain  "use strict";  testExtendSubSet(0, 20); testDiv.style.display = "none"; ", "The operation should not replace a registered Range")
    at assertSelectionNoChange ( /selection/common.js:988:5)
Passextend() forwards with range 16 [document.documentElement, 0, document.documentElement, 2] and point 82 [xmlDocfrag, 0]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(1, 1, "The operation should not add Range")
    at assertSelectionNoChange ( /selection/common.js:976:5)
Pass
assert_equals(Element node <html><head><title>Selection extend() tests</title> <meta..., Element node <html><head><title>Selection extend() tests</title> <meta..., "The operation should not update anchorNode")
    at assertSelectionNoChange ( /selection/common.js:978:5)
Pass
assert_equals(0, 0, "The operation should not update anchorOffset")
    at assertSelectionNoChange ( /selection/common.js:980:5)
Pass
assert_equals(Element node <html><head><title>Selection extend() tests</title> <meta..., Element node <html><head><title>Selection extend() tests</title> <meta..., "The operation should not update focusNode")
    at assertSelectionNoChange ( /selection/common.js:982:5)
Pass
assert_equals(2, 2, "The operation should not update focusOffset")
    at assertSelectionNoChange ( /selection/common.js:984:5)
Pass
assert_equals(object "Selection extend() tests   Äb̈c̈d̈ëf̈g̈ḧ Ijklmnop QrstuvwxYzabcdefGhijklmn     Running, 1000 complete, 1 remain  "use strict";  testExtendSubSet(0, 20); testDiv.style.display = "none"; ", object "Selection extend() tests   Äb̈c̈d̈ëf̈g̈ḧ Ijklmnop QrstuvwxYzabcdefGhijklmn     Running, 1000 complete, 1 remain  "use strict";  testExtendSubSet(0, 20); testDiv.style.display = "none"; ", "The operation should not replace a registered Range")
    at assertSelectionNoChange ( /selection/common.js:988:5)
Passextend() backwards with range 16 [document.documentElement, 0, document.documentElement, 2] and point 82 [xmlDocfrag, 0]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(1, 1, "The operation should not add Range")
    at assertSelectionNoChange ( /selection/common.js:976:5)
Pass
assert_equals(Element node <html><head><title>Selection extend() tests</title> <meta..., Element node <html><head><title>Selection extend() tests</title> <meta..., "The operation should not update anchorNode")
    at assertSelectionNoChange ( /selection/common.js:978:5)
Pass
assert_equals(2, 2, "The operation should not update anchorOffset")
    at assertSelectionNoChange ( /selection/common.js:980:5)
Pass
assert_equals(Element node <html><head><title>Selection extend() tests</title> <meta..., Element node <html><head><title>Selection extend() tests</title> <meta..., "The operation should not update focusNode")
    at assertSelectionNoChange ( /selection/common.js:982:5)
Pass
assert_equals(0, 0, "The operation should not update focusOffset")
    at assertSelectionNoChange ( /selection/common.js:984:5)
Pass
assert_equals(object "Selection extend() tests   Äb̈c̈d̈ëf̈g̈ḧ Ijklmnop QrstuvwxYzabcdefGhijklmn     Running, 1000 complete, 1 remain  "use strict";  testExtendSubSet(0, 20); testDiv.style.display = "none"; ", object "Selection extend() tests   Äb̈c̈d̈ëf̈g̈ḧ Ijklmnop QrstuvwxYzabcdefGhijklmn     Running, 1000 complete, 1 remain  "use strict";  testExtendSubSet(0, 20); testDiv.style.display = "none"; ", "The operation should not replace a registered Range")
    at assertSelectionNoChange ( /selection/common.js:988:5)
Passextend() forwards with range 16 [document.documentElement, 0, document.documentElement, 2] and point 83 [doctype, 0]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(Element node <html><head><title>Selection extend() tests</title> <meta..., Element node <html><head><title>Selection extend() tests</title> <meta..., "Sanity check: startContainer must be correct")
    at testExtend ( /selection/extend.js:80:5)
Pass
assert_equals(0, 0, "Sanity check: startOffset must be correct")
    at testExtend ( /selection/extend.js:82:5)
Pass
assert_equals(Element node <html><head><title>Selection extend() tests</title> <meta..., Element node <html><head><title>Selection extend() tests</title> <meta..., "Sanity check: endContainer must be correct")
    at testExtend ( /selection/extend.js:84:5)
Pass
assert_equals(2, 2, "Sanity check: endOffset must be correct")
    at testExtend ( /selection/extend.js:86:5)
Pass
assert_throws_dom("INVALID_NODE_TYPE_ERR", function "function() {             selection.extend(node, offset);         }", "extend() to a doctype must throw InvalidNodeTypeError")
    at testExtend ( /selection/extend.js:104:9)
Passextend() backwards with range 16 [document.documentElement, 0, document.documentElement, 2] and point 83 [doctype, 0]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(Element node <html><head><title>Selection extend() tests</title> <meta..., Element node <html><head><title>Selection extend() tests</title> <meta..., "Sanity check: startContainer must be correct")
    at testExtend ( /selection/extend.js:80:5)
Pass
assert_equals(0, 0, "Sanity check: startOffset must be correct")
    at testExtend ( /selection/extend.js:82:5)
Pass
assert_equals(Element node <html><head><title>Selection extend() tests</title> <meta..., Element node <html><head><title>Selection extend() tests</title> <meta..., "Sanity check: endContainer must be correct")
    at testExtend ( /selection/extend.js:84:5)
Pass
assert_equals(2, 2, "Sanity check: endOffset must be correct")
    at testExtend ( /selection/extend.js:86:5)
Pass
assert_throws_dom("INVALID_NODE_TYPE_ERR", function "function() {             selection.extend(node, offset);         }", "extend() to a doctype must throw InvalidNodeTypeError")
    at testExtend ( /selection/extend.js:104:9)
Passextend() forwards with range 16 [document.documentElement, 0, document.documentElement, 2] and point 84 [doctype, -17]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(Element node <html><head><title>Selection extend() tests</title> <meta..., Element node <html><head><title>Selection extend() tests</title> <meta..., "Sanity check: startContainer must be correct")
    at testExtend ( /selection/extend.js:80:5)
Pass
assert_equals(0, 0, "Sanity check: startOffset must be correct")
    at testExtend ( /selection/extend.js:82:5)
Pass
assert_equals(Element node <html><head><title>Selection extend() tests</title> <meta..., Element node <html><head><title>Selection extend() tests</title> <meta..., "Sanity check: endContainer must be correct")
    at testExtend ( /selection/extend.js:84:5)
Pass
assert_equals(2, 2, "Sanity check: endOffset must be correct")
    at testExtend ( /selection/extend.js:86:5)
Pass
assert_throws_dom("INVALID_NODE_TYPE_ERR", function "function() {             selection.extend(node, offset);         }", "extend() to a doctype must throw InvalidNodeTypeError")
    at testExtend ( /selection/extend.js:104:9)
Passextend() backwards with range 16 [document.documentElement, 0, document.documentElement, 2] and point 84 [doctype, -17]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(Element node <html><head><title>Selection extend() tests</title> <meta..., Element node <html><head><title>Selection extend() tests</title> <meta..., "Sanity check: startContainer must be correct")
    at testExtend ( /selection/extend.js:80:5)
Pass
assert_equals(0, 0, "Sanity check: startOffset must be correct")
    at testExtend ( /selection/extend.js:82:5)
Pass
assert_equals(Element node <html><head><title>Selection extend() tests</title> <meta..., Element node <html><head><title>Selection extend() tests</title> <meta..., "Sanity check: endContainer must be correct")
    at testExtend ( /selection/extend.js:84:5)
Pass
assert_equals(2, 2, "Sanity check: endOffset must be correct")
    at testExtend ( /selection/extend.js:86:5)
Pass
assert_throws_dom("INVALID_NODE_TYPE_ERR", function "function() {             selection.extend(node, offset);         }", "extend() to a doctype must throw InvalidNodeTypeError")
    at testExtend ( /selection/extend.js:104:9)
Passextend() forwards with range 16 [document.documentElement, 0, document.documentElement, 2] and point 85 [doctype, 1]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(Element node <html><head><title>Selection extend() tests</title> <meta..., Element node <html><head><title>Selection extend() tests</title> <meta..., "Sanity check: startContainer must be correct")
    at testExtend ( /selection/extend.js:80:5)
Pass
assert_equals(0, 0, "Sanity check: startOffset must be correct")
    at testExtend ( /selection/extend.js:82:5)
Pass
assert_equals(Element node <html><head><title>Selection extend() tests</title> <meta..., Element node <html><head><title>Selection extend() tests</title> <meta..., "Sanity check: endContainer must be correct")
    at testExtend ( /selection/extend.js:84:5)
Pass
assert_equals(2, 2, "Sanity check: endOffset must be correct")
    at testExtend ( /selection/extend.js:86:5)
Pass
assert_throws_dom("INVALID_NODE_TYPE_ERR", function "function() {             selection.extend(node, offset);         }", "extend() to a doctype must throw InvalidNodeTypeError")
    at testExtend ( /selection/extend.js:104:9)
Passextend() backwards with range 16 [document.documentElement, 0, document.documentElement, 2] and point 85 [doctype, 1]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(Element node <html><head><title>Selection extend() tests</title> <meta..., Element node <html><head><title>Selection extend() tests</title> <meta..., "Sanity check: startContainer must be correct")
    at testExtend ( /selection/extend.js:80:5)
Pass
assert_equals(0, 0, "Sanity check: startOffset must be correct")
    at testExtend ( /selection/extend.js:82:5)
Pass
assert_equals(Element node <html><head><title>Selection extend() tests</title> <meta..., Element node <html><head><title>Selection extend() tests</title> <meta..., "Sanity check: endContainer must be correct")
    at testExtend ( /selection/extend.js:84:5)
Pass
assert_equals(2, 2, "Sanity check: endOffset must be correct")
    at testExtend ( /selection/extend.js:86:5)
Pass
assert_throws_dom("INVALID_NODE_TYPE_ERR", function "function() {             selection.extend(node, offset);         }", "extend() to a doctype must throw InvalidNodeTypeError")
    at testExtend ( /selection/extend.js:104:9)
Passextend() forwards with range 16 [document.documentElement, 0, document.documentElement, 2] and point 86 [foreignDoctype, 0]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(1, 1, "The operation should not add Range")
    at assertSelectionNoChange ( /selection/common.js:976:5)
Pass
assert_equals(Element node <html><head><title>Selection extend() tests</title> <meta..., Element node <html><head><title>Selection extend() tests</title> <meta..., "The operation should not update anchorNode")
    at assertSelectionNoChange ( /selection/common.js:978:5)
Pass
assert_equals(0, 0, "The operation should not update anchorOffset")
    at assertSelectionNoChange ( /selection/common.js:980:5)
Pass
assert_equals(Element node <html><head><title>Selection extend() tests</title> <meta..., Element node <html><head><title>Selection extend() tests</title> <meta..., "The operation should not update focusNode")
    at assertSelectionNoChange ( /selection/common.js:982:5)
Pass
assert_equals(2, 2, "The operation should not update focusOffset")
    at assertSelectionNoChange ( /selection/common.js:984:5)
Pass
assert_equals(object "Selection extend() tests   Äb̈c̈d̈ëf̈g̈ḧ Ijklmnop QrstuvwxYzabcdefGhijklmn     Running, 1000 complete, 1 remain  "use strict";  testExtendSubSet(0, 20); testDiv.style.display = "none"; ", object "Selection extend() tests   Äb̈c̈d̈ëf̈g̈ḧ Ijklmnop QrstuvwxYzabcdefGhijklmn     Running, 1000 complete, 1 remain  "use strict";  testExtendSubSet(0, 20); testDiv.style.display = "none"; ", "The operation should not replace a registered Range")
    at assertSelectionNoChange ( /selection/common.js:988:5)
Passextend() backwards with range 16 [document.documentElement, 0, document.documentElement, 2] and point 86 [foreignDoctype, 0]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(1, 1, "The operation should not add Range")
    at assertSelectionNoChange ( /selection/common.js:976:5)
Pass
assert_equals(Element node <html><head><title>Selection extend() tests</title> <meta..., Element node <html><head><title>Selection extend() tests</title> <meta..., "The operation should not update anchorNode")
    at assertSelectionNoChange ( /selection/common.js:978:5)
Pass
assert_equals(2, 2, "The operation should not update anchorOffset")
    at assertSelectionNoChange ( /selection/common.js:980:5)
Pass
assert_equals(Element node <html><head><title>Selection extend() tests</title> <meta..., Element node <html><head><title>Selection extend() tests</title> <meta..., "The operation should not update focusNode")
    at assertSelectionNoChange ( /selection/common.js:982:5)
Pass
assert_equals(0, 0, "The operation should not update focusOffset")
    at assertSelectionNoChange ( /selection/common.js:984:5)
Pass
assert_equals(object "Selection extend() tests   Äb̈c̈d̈ëf̈g̈ḧ Ijklmnop QrstuvwxYzabcdefGhijklmn     Running, 1000 complete, 1 remain  "use strict";  testExtendSubSet(0, 20); testDiv.style.display = "none"; ", object "Selection extend() tests   Äb̈c̈d̈ëf̈g̈ḧ Ijklmnop QrstuvwxYzabcdefGhijklmn     Running, 1000 complete, 1 remain  "use strict";  testExtendSubSet(0, 20); testDiv.style.display = "none"; ", "The operation should not replace a registered Range")
    at assertSelectionNoChange ( /selection/common.js:988:5)
Passextend() forwards with range 16 [document.documentElement, 0, document.documentElement, 2] and point 87 [xmlDoctype, 0]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(1, 1, "The operation should not add Range")
    at assertSelectionNoChange ( /selection/common.js:976:5)
Pass
assert_equals(Element node <html><head><title>Selection extend() tests</title> <meta..., Element node <html><head><title>Selection extend() tests</title> <meta..., "The operation should not update anchorNode")
    at assertSelectionNoChange ( /selection/common.js:978:5)
Pass
assert_equals(0, 0, "The operation should not update anchorOffset")
    at assertSelectionNoChange ( /selection/common.js:980:5)
Pass
assert_equals(Element node <html><head><title>Selection extend() tests</title> <meta..., Element node <html><head><title>Selection extend() tests</title> <meta..., "The operation should not update focusNode")
    at assertSelectionNoChange ( /selection/common.js:982:5)
Pass
assert_equals(2, 2, "The operation should not update focusOffset")
    at assertSelectionNoChange ( /selection/common.js:984:5)
Pass
assert_equals(object "Selection extend() tests   Äb̈c̈d̈ëf̈g̈ḧ Ijklmnop QrstuvwxYzabcdefGhijklmn     Running, 1000 complete, 1 remain  "use strict";  testExtendSubSet(0, 20); testDiv.style.display = "none"; ", object "Selection extend() tests   Äb̈c̈d̈ëf̈g̈ḧ Ijklmnop QrstuvwxYzabcdefGhijklmn     Running, 1000 complete, 1 remain  "use strict";  testExtendSubSet(0, 20); testDiv.style.display = "none"; ", "The operation should not replace a registered Range")
    at assertSelectionNoChange ( /selection/common.js:988:5)
Passextend() backwards with range 16 [document.documentElement, 0, document.documentElement, 2] and point 87 [xmlDoctype, 0]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(1, 1, "The operation should not add Range")
    at assertSelectionNoChange ( /selection/common.js:976:5)
Pass
assert_equals(Element node <html><head><title>Selection extend() tests</title> <meta..., Element node <html><head><title>Selection extend() tests</title> <meta..., "The operation should not update anchorNode")
    at assertSelectionNoChange ( /selection/common.js:978:5)
Pass
assert_equals(2, 2, "The operation should not update anchorOffset")
    at assertSelectionNoChange ( /selection/common.js:980:5)
Pass
assert_equals(Element node <html><head><title>Selection extend() tests</title> <meta..., Element node <html><head><title>Selection extend() tests</title> <meta..., "The operation should not update focusNode")
    at assertSelectionNoChange ( /selection/common.js:982:5)
Pass
assert_equals(0, 0, "The operation should not update focusOffset")
    at assertSelectionNoChange ( /selection/common.js:984:5)
Pass
assert_equals(object "Selection extend() tests   Äb̈c̈d̈ëf̈g̈ḧ Ijklmnop QrstuvwxYzabcdefGhijklmn     Running, 1000 complete, 1 remain  "use strict";  testExtendSubSet(0, 20); testDiv.style.display = "none"; ", object "Selection extend() tests   Äb̈c̈d̈ëf̈g̈ḧ Ijklmnop QrstuvwxYzabcdefGhijklmn     Running, 1000 complete, 1 remain  "use strict";  testExtendSubSet(0, 20); testDiv.style.display = "none"; ", "The operation should not replace a registered Range")
    at assertSelectionNoChange ( /selection/common.js:988:5)
Passextend() forwards with range 17 [document.documentElement, 1, document.documentElement, 2] and point 0 [paras[0].firstChild, -1]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(Element node <html><head><title>Selection extend() tests</title> <meta..., Element node <html><head><title>Selection extend() tests</title> <meta..., "Sanity check: startContainer must be correct")
    at testExtend ( /selection/extend.js:80:5)
Pass
assert_equals(1, 1, "Sanity check: startOffset must be correct")
    at testExtend ( /selection/extend.js:82:5)
Pass
assert_equals(Element node <html><head><title>Selection extend() tests</title> <meta..., Element node <html><head><title>Selection extend() tests</title> <meta..., "Sanity check: endContainer must be correct")
    at testExtend ( /selection/extend.js:84:5)
Pass
assert_equals(2, 2, "Sanity check: endOffset must be correct")
    at testExtend ( /selection/extend.js:86:5)
Pass
assert_throws_dom("INDEX_SIZE_ERR", function "function() {             selection.extend(node, offset);         }", "extend() to an offset that's greater than node length (17) must throw IndexSizeError")
    at testExtend ( /selection/extend.js:117:9)
Passextend() backwards with range 17 [document.documentElement, 1, document.documentElement, 2] and point 0 [paras[0].firstChild, -1]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(Element node <html><head><title>Selection extend() tests</title> <meta..., Element node <html><head><title>Selection extend() tests</title> <meta..., "Sanity check: startContainer must be correct")
    at testExtend ( /selection/extend.js:80:5)
Pass
assert_equals(1, 1, "Sanity check: startOffset must be correct")
    at testExtend ( /selection/extend.js:82:5)
Pass
assert_equals(Element node <html><head><title>Selection extend() tests</title> <meta..., Element node <html><head><title>Selection extend() tests</title> <meta..., "Sanity check: endContainer must be correct")
    at testExtend ( /selection/extend.js:84:5)
Pass
assert_equals(2, 2, "Sanity check: endOffset must be correct")
    at testExtend ( /selection/extend.js:86:5)
Pass
assert_throws_dom("INDEX_SIZE_ERR", function "function() {             selection.extend(node, offset);         }", "extend() to an offset that's greater than node length (17) must throw IndexSizeError")
    at testExtend ( /selection/extend.js:117:9)
Passextend() forwards with range 17 [document.documentElement, 1, document.documentElement, 2] and point 1 [paras[0].firstChild, 0]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(Element node <html><head><title>Selection extend() tests</title> <meta..., Element node <html><head><title>Selection extend() tests</title> <meta..., "Sanity check: startContainer must be correct")
    at testExtend ( /selection/extend.js:80:5)
Pass
assert_equals(1, 1, "Sanity check: startOffset must be correct")
    at testExtend ( /selection/extend.js:82:5)
Pass
assert_equals(Element node <html><head><title>Selection extend() tests</title> <meta..., Element node <html><head><title>Selection extend() tests</title> <meta..., "Sanity check: endContainer must be correct")
    at testExtend ( /selection/extend.js:84:5)
Pass
assert_equals(2, 2, "Sanity check: endOffset must be correct")
    at testExtend ( /selection/extend.js:86:5)
Pass
assert_equals(Element node <html><head><title>Selection extend() tests</title> <meta..., Element node <html><head><title>Selection extend() tests</title> <meta..., "anchorNode must not change if the node passed to extend() has the same root as the original range")
    at testExtend ( /selection/extend.js:145:9)
Pass
assert_equals(1, 1, "anchorOffset must not change if the node passed to extend() has the same root as the original range")
    at testExtend ( /selection/extend.js:147:9)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "focusNode must be the node passed to extend()")
    at testExtend ( /selection/extend.js:155:5)
Pass
assert_equals(0, 0, "focusOffset must be the offset passed to extend()")
    at testExtend ( /selection/extend.js:157:5)
Pass
assert_not_equals(object "", object "Äb̈c̈d̈ëf̈g̈ḧ Ijklmnop QrstuvwxYzabcdefGhijklmn     Running, 1000 complete, 1 remain  "use strict";  testExtendSubSet(0, 20); testDiv.style.display = "none"; ", "extend() must replace any existing range with a new one, not mutate the existing one")
    at testExtend ( /selection/extend.js:159:5)
Passextend() backwards with range 17 [document.documentElement, 1, document.documentElement, 2] and point 1 [paras[0].firstChild, 0]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(Element node <html><head><title>Selection extend() tests</title> <meta..., Element node <html><head><title>Selection extend() tests</title> <meta..., "Sanity check: startContainer must be correct")
    at testExtend ( /selection/extend.js:80:5)
Pass
assert_equals(1, 1, "Sanity check: startOffset must be correct")
    at testExtend ( /selection/extend.js:82:5)
Pass
assert_equals(Element node <html><head><title>Selection extend() tests</title> <meta..., Element node <html><head><title>Selection extend() tests</title> <meta..., "Sanity check: endContainer must be correct")
    at testExtend ( /selection/extend.js:84:5)
Pass
assert_equals(2, 2, "Sanity check: endOffset must be correct")
    at testExtend ( /selection/extend.js:86:5)
Pass
assert_equals(Element node <html><head><title>Selection extend() tests</title> <meta..., Element node <html><head><title>Selection extend() tests</title> <meta..., "anchorNode must not change if the node passed to extend() has the same root as the original range")
    at testExtend ( /selection/extend.js:145:9)
Pass
assert_equals(2, 2, "anchorOffset must not change if the node passed to extend() has the same root as the original range")
    at testExtend ( /selection/extend.js:147:9)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "focusNode must be the node passed to extend()")
    at testExtend ( /selection/extend.js:155:5)
Pass
assert_equals(0, 0, "focusOffset must be the offset passed to extend()")
    at testExtend ( /selection/extend.js:157:5)
Pass
assert_not_equals(object "Äb̈c̈d̈ëf̈g̈ḧ Ijklmnop QrstuvwxYzabcdefGhijklmn     Running, 1000 complete, 1 remain  "use strict";  testExtendSubSet(0, 20); testDiv.style.display = "none"; ", object "Äb̈c̈d̈ëf̈g̈ḧ Ijklmnop QrstuvwxYzabcdefGhijklmn     Running, 1000 complete, 1 remain  "use strict";  testExtendSubSet(0, 20); testDiv.style.display = "none"; ", "extend() must replace any existing range with a new one, not mutate the existing one")
    at testExtend ( /selection/extend.js:159:5)
Passextend() forwards with range 17 [document.documentElement, 1, document.documentElement, 2] and point 2 [paras[0].firstChild, 1]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(Element node <html><head><title>Selection extend() tests</title> <meta..., Element node <html><head><title>Selection extend() tests</title> <meta..., "Sanity check: startContainer must be correct")
    at testExtend ( /selection/extend.js:80:5)
Pass
assert_equals(1, 1, "Sanity check: startOffset must be correct")
    at testExtend ( /selection/extend.js:82:5)
Pass
assert_equals(Element node <html><head><title>Selection extend() tests</title> <meta..., Element node <html><head><title>Selection extend() tests</title> <meta..., "Sanity check: endContainer must be correct")
    at testExtend ( /selection/extend.js:84:5)
Pass
assert_equals(2, 2, "Sanity check: endOffset must be correct")
    at testExtend ( /selection/extend.js:86:5)
Pass
assert_equals(Element node <html><head><title>Selection extend() tests</title> <meta..., Element node <html><head><title>Selection extend() tests</title> <meta..., "anchorNode must not change if the node passed to extend() has the same root as the original range")
    at testExtend ( /selection/extend.js:145:9)
Pass
assert_equals(1, 1, "anchorOffset must not change if the node passed to extend() has the same root as the original range")
    at testExtend ( /selection/extend.js:147:9)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "focusNode must be the node passed to extend()")
    at testExtend ( /selection/extend.js:155:5)
Pass
assert_equals(1, 1, "focusOffset must be the offset passed to extend()")
    at testExtend ( /selection/extend.js:157:5)
Pass
assert_not_equals(object "A", object "Äb̈c̈d̈ëf̈g̈ḧ Ijklmnop QrstuvwxYzabcdefGhijklmn     Running, 1000 complete, 1 remain  "use strict";  testExtendSubSet(0, 20); testDiv.style.display = "none"; ", "extend() must replace any existing range with a new one, not mutate the existing one")
    at testExtend ( /selection/extend.js:159:5)
Passextend() backwards with range 17 [document.documentElement, 1, document.documentElement, 2] and point 2 [paras[0].firstChild, 1]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(Element node <html><head><title>Selection extend() tests</title> <meta..., Element node <html><head><title>Selection extend() tests</title> <meta..., "Sanity check: startContainer must be correct")
    at testExtend ( /selection/extend.js:80:5)
Pass
assert_equals(1, 1, "Sanity check: startOffset must be correct")
    at testExtend ( /selection/extend.js:82:5)
Pass
assert_equals(Element node <html><head><title>Selection extend() tests</title> <meta..., Element node <html><head><title>Selection extend() tests</title> <meta..., "Sanity check: endContainer must be correct")
    at testExtend ( /selection/extend.js:84:5)
Pass
assert_equals(2, 2, "Sanity check: endOffset must be correct")
    at testExtend ( /selection/extend.js:86:5)
Pass
assert_equals(Element node <html><head><title>Selection extend() tests</title> <meta..., Element node <html><head><title>Selection extend() tests</title> <meta..., "anchorNode must not change if the node passed to extend() has the same root as the original range")
    at testExtend ( /selection/extend.js:145:9)
Pass
assert_equals(2, 2, "anchorOffset must not change if the node passed to extend() has the same root as the original range")
    at testExtend ( /selection/extend.js:147:9)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "focusNode must be the node passed to extend()")
    at testExtend ( /selection/extend.js:155:5)
Pass
assert_equals(1, 1, "focusOffset must be the offset passed to extend()")
    at testExtend ( /selection/extend.js:157:5)
Pass
assert_not_equals(object "̈b̈c̈d̈ëf̈g̈ḧ Ijklmnop QrstuvwxYzabcdefGhijklmn     Running, 1000 complete, 1 remain  "use strict";  testExtendSubSet(0, 20); testDiv.style.display = "none"; ", object "Äb̈c̈d̈ëf̈g̈ḧ Ijklmnop QrstuvwxYzabcdefGhijklmn     Running, 1000 complete, 1 remain  "use strict";  testExtendSubSet(0, 20); testDiv.style.display = "none"; ", "extend() must replace any existing range with a new one, not mutate the existing one")
    at testExtend ( /selection/extend.js:159:5)
Passextend() forwards with range 17 [document.documentElement, 1, document.documentElement, 2] and point 3 [paras[0].firstChild, 2]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(Element node <html><head><title>Selection extend() tests</title> <meta..., Element node <html><head><title>Selection extend() tests</title> <meta..., "Sanity check: startContainer must be correct")
    at testExtend ( /selection/extend.js:80:5)
Pass
assert_equals(1, 1, "Sanity check: startOffset must be correct")
    at testExtend ( /selection/extend.js:82:5)
Pass
assert_equals(Element node <html><head><title>Selection extend() tests</title> <meta..., Element node <html><head><title>Selection extend() tests</title> <meta..., "Sanity check: endContainer must be correct")
    at testExtend ( /selection/extend.js:84:5)
Pass
assert_equals(2, 2, "Sanity check: endOffset must be correct")
    at testExtend ( /selection/extend.js:86:5)
Pass
assert_equals(Element node <html><head><title>Selection extend() tests</title> <meta..., Element node <html><head><title>Selection extend() tests</title> <meta..., "anchorNode must not change if the node passed to extend() has the same root as the original range")
    at testExtend ( /selection/extend.js:145:9)
Pass
assert_equals(1, 1, "anchorOffset must not change if the node passed to extend() has the same root as the original range")
    at testExtend ( /selection/extend.js:147:9)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "focusNode must be the node passed to extend()")
    at testExtend ( /selection/extend.js:155:5)
Pass
assert_equals(2, 2, "focusOffset must be the offset passed to extend()")
    at testExtend ( /selection/extend.js:157:5)
Pass
assert_not_equals(object "Ä", object "Äb̈c̈d̈ëf̈g̈ḧ Ijklmnop QrstuvwxYzabcdefGhijklmn     Running, 1000 complete, 1 remain  "use strict";  testExtendSubSet(0, 20); testDiv.style.display = "none"; ", "extend() must replace any existing range with a new one, not mutate the existing one")
    at testExtend ( /selection/extend.js:159:5)
Passextend() backwards with range 17 [document.documentElement, 1, document.documentElement, 2] and point 3 [paras[0].firstChild, 2]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(Element node <html><head><title>Selection extend() tests</title> <meta..., Element node <html><head><title>Selection extend() tests</title> <meta..., "Sanity check: startContainer must be correct")
    at testExtend ( /selection/extend.js:80:5)
Pass
assert_equals(1, 1, "Sanity check: startOffset must be correct")
    at testExtend ( /selection/extend.js:82:5)
Pass
assert_equals(Element node <html><head><title>Selection extend() tests</title> <meta..., Element node <html><head><title>Selection extend() tests</title> <meta..., "Sanity check: endContainer must be correct")
    at testExtend ( /selection/extend.js:84:5)
Pass
assert_equals(2, 2, "Sanity check: endOffset must be correct")
    at testExtend ( /selection/extend.js:86:5)
Pass
assert_equals(Element node <html><head><title>Selection extend() tests</title> <meta..., Element node <html><head><title>Selection extend() tests</title> <meta..., "anchorNode must not change if the node passed to extend() has the same root as the original range")
    at testExtend ( /selection/extend.js:145:9)
Pass
assert_equals(2, 2, "anchorOffset must not change if the node passed to extend() has the same root as the original range")
    at testExtend ( /selection/extend.js:147:9)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "focusNode must be the node passed to extend()")
    at testExtend ( /selection/extend.js:155:5)
Pass
assert_equals(2, 2, "focusOffset must be the offset passed to extend()")
    at testExtend ( /selection/extend.js:157:5)
Pass
assert_not_equals(object "b̈c̈d̈ëf̈g̈ḧ Ijklmnop QrstuvwxYzabcdefGhijklmn     Running, 1000 complete, 1 remain  "use strict";  testExtendSubSet(0, 20); testDiv.style.display = "none"; ", object "Äb̈c̈d̈ëf̈g̈ḧ Ijklmnop QrstuvwxYzabcdefGhijklmn     Running, 1000 complete, 1 remain  "use strict";  testExtendSubSet(0, 20); testDiv.style.display = "none"; ", "extend() must replace any existing range with a new one, not mutate the existing one")
    at testExtend ( /selection/extend.js:159:5)
Passextend() forwards with range 17 [document.documentElement, 1, document.documentElement, 2] and point 4 [paras[0].firstChild, 8]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(Element node <html><head><title>Selection extend() tests</title> <meta..., Element node <html><head><title>Selection extend() tests</title> <meta..., "Sanity check: startContainer must be correct")
    at testExtend ( /selection/extend.js:80:5)
Pass
assert_equals(1, 1, "Sanity check: startOffset must be correct")
    at testExtend ( /selection/extend.js:82:5)
Pass
assert_equals(Element node <html><head><title>Selection extend() tests</title> <meta..., Element node <html><head><title>Selection extend() tests</title> <meta..., "Sanity check: endContainer must be correct")
    at testExtend ( /selection/extend.js:84:5)
Pass
assert_equals(2, 2, "Sanity check: endOffset must be correct")
    at testExtend ( /selection/extend.js:86:5)
Pass
assert_equals(Element node <html><head><title>Selection extend() tests</title> <meta..., Element node <html><head><title>Selection extend() tests</title> <meta..., "anchorNode must not change if the node passed to extend() has the same root as the original range")
    at testExtend ( /selection/extend.js:145:9)
Pass
assert_equals(1, 1, "anchorOffset must not change if the node passed to extend() has the same root as the original range")
    at testExtend ( /selection/extend.js:147:9)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "focusNode must be the node passed to extend()")
    at testExtend ( /selection/extend.js:155:5)
Pass
assert_equals(8, 8, "focusOffset must be the offset passed to extend()")
    at testExtend ( /selection/extend.js:157:5)
Pass
assert_not_equals(object "Äb̈c̈d̈", object "Äb̈c̈d̈ëf̈g̈ḧ Ijklmnop QrstuvwxYzabcdefGhijklmn     Running, 1000 complete, 1 remain  "use strict";  testExtendSubSet(0, 20); testDiv.style.display = "none"; ", "extend() must replace any existing range with a new one, not mutate the existing one")
    at testExtend ( /selection/extend.js:159:5)
Passextend() backwards with range 17 [document.documentElement, 1, document.documentElement, 2] and point 4 [paras[0].firstChild, 8]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(Element node <html><head><title>Selection extend() tests</title> <meta..., Element node <html><head><title>Selection extend() tests</title> <meta..., "Sanity check: startContainer must be correct")
    at testExtend ( /selection/extend.js:80:5)
Pass
assert_equals(1, 1, "Sanity check: startOffset must be correct")
    at testExtend ( /selection/extend.js:82:5)
Pass
assert_equals(Element node <html><head><title>Selection extend() tests</title> <meta..., Element node <html><head><title>Selection extend() tests</title> <meta..., "Sanity check: endContainer must be correct")
    at testExtend ( /selection/extend.js:84:5)
Pass
assert_equals(2, 2, "Sanity check: endOffset must be correct")
    at testExtend ( /selection/extend.js:86:5)
Pass
assert_equals(Element node <html><head><title>Selection extend() tests</title> <meta..., Element node <html><head><title>Selection extend() tests</title> <meta..., "anchorNode must not change if the node passed to extend() has the same root as the original range")
    at testExtend ( /selection/extend.js:145:9)
Pass
assert_equals(2, 2, "anchorOffset must not change if the node passed to extend() has the same root as the original range")
    at testExtend ( /selection/extend.js:147:9)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "focusNode must be the node passed to extend()")
    at testExtend ( /selection/extend.js:155:5)
Pass
assert_equals(8, 8, "focusOffset must be the offset passed to extend()")
    at testExtend ( /selection/extend.js:157:5)
Pass
assert_not_equals(object "ëf̈g̈ḧ Ijklmnop QrstuvwxYzabcdefGhijklmn     Running, 1000 complete, 1 remain  "use strict";  testExtendSubSet(0, 20); testDiv.style.display = "none"; ", object "Äb̈c̈d̈ëf̈g̈ḧ Ijklmnop QrstuvwxYzabcdefGhijklmn     Running, 1000 complete, 1 remain  "use strict";  testExtendSubSet(0, 20); testDiv.style.display = "none"; ", "extend() must replace any existing range with a new one, not mutate the existing one")
    at testExtend ( /selection/extend.js:159:5)
Passextend() forwards with range 17 [document.documentElement, 1, document.documentElement, 2] and point 5 [paras[0].firstChild, 9]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(Element node <html><head><title>Selection extend() tests</title> <meta..., Element node <html><head><title>Selection extend() tests</title> <meta..., "Sanity check: startContainer must be correct")
    at testExtend ( /selection/extend.js:80:5)
Pass
assert_equals(1, 1, "Sanity check: startOffset must be correct")
    at testExtend ( /selection/extend.js:82:5)
Pass
assert_equals(Element node <html><head><title>Selection extend() tests</title> <meta..., Element node <html><head><title>Selection extend() tests</title> <meta..., "Sanity check: endContainer must be correct")
    at testExtend ( /selection/extend.js:84:5)
Pass
assert_equals(2, 2, "Sanity check: endOffset must be correct")
    at testExtend ( /selection/extend.js:86:5)
Pass
assert_equals(Element node <html><head><title>Selection extend() tests</title> <meta..., Element node <html><head><title>Selection extend() tests</title> <meta..., "anchorNode must not change if the node passed to extend() has the same root as the original range")
    at testExtend ( /selection/extend.js:145:9)
Pass
assert_equals(1, 1, "anchorOffset must not change if the node passed to extend() has the same root as the original range")
    at testExtend ( /selection/extend.js:147:9)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "focusNode must be the node passed to extend()")
    at testExtend ( /selection/extend.js:155:5)
Pass
assert_equals(9, 9, "focusOffset must be the offset passed to extend()")
    at testExtend ( /selection/extend.js:157:5)
Pass
assert_not_equals(object "Äb̈c̈d̈e", object "Äb̈c̈d̈ëf̈g̈ḧ Ijklmnop QrstuvwxYzabcdefGhijklmn     Running, 1000 complete, 1 remain  "use strict";  testExtendSubSet(0, 20); testDiv.style.display = "none"; ", "extend() must replace any existing range with a new one, not mutate the existing one")
    at testExtend ( /selection/extend.js:159:5)
Passextend() backwards with range 17 [document.documentElement, 1, document.documentElement, 2] and point 5 [paras[0].firstChild, 9]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(Element node <html><head><title>Selection extend() tests</title> <meta..., Element node <html><head><title>Selection extend() tests</title> <meta..., "Sanity check: startContainer must be correct")
    at testExtend ( /selection/extend.js:80:5)
Pass
assert_equals(1, 1, "Sanity check: startOffset must be correct")
    at testExtend ( /selection/extend.js:82:5)
Pass
assert_equals(Element node <html><head><title>Selection extend() tests</title> <meta..., Element node <html><head><title>Selection extend() tests</title> <meta..., "Sanity check: endContainer must be correct")
    at testExtend ( /selection/extend.js:84:5)
Pass
assert_equals(2, 2, "Sanity check: endOffset must be correct")
    at testExtend ( /selection/extend.js:86:5)
Pass
assert_equals(Element node <html><head><title>Selection extend() tests</title> <meta..., Element node <html><head><title>Selection extend() tests</title> <meta..., "anchorNode must not change if the node passed to extend() has the same root as the original range")
    at testExtend ( /selection/extend.js:145:9)
Pass
assert_equals(2, 2, "anchorOffset must not change if the node passed to extend() has the same root as the original range")
    at testExtend ( /selection/extend.js:147:9)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "focusNode must be the node passed to extend()")
    at testExtend ( /selection/extend.js:155:5)
Pass
assert_equals(9, 9, "focusOffset must be the offset passed to extend()")
    at testExtend ( /selection/extend.js:157:5)
Pass
assert_not_equals(object "̈f̈g̈ḧ Ijklmnop QrstuvwxYzabcdefGhijklmn     Running, 1000 complete, 1 remain  "use strict";  testExtendSubSet(0, 20); testDiv.style.display = "none"; ", object "Äb̈c̈d̈ëf̈g̈ḧ Ijklmnop QrstuvwxYzabcdefGhijklmn     Running, 1000 complete, 1 remain  "use strict";  testExtendSubSet(0, 20); testDiv.style.display = "none"; ", "extend() must replace any existing range with a new one, not mutate the existing one")
    at testExtend ( /selection/extend.js:159:5)
Passextend() forwards with range 17 [document.documentElement, 1, document.documentElement, 2] and point 6 [paras[0].firstChild, 10]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(Element node <html><head><title>Selection extend() tests</title> <meta..., Element node <html><head><title>Selection extend() tests</title> <meta..., "Sanity check: startContainer must be correct")
    at testExtend ( /selection/extend.js:80:5)
Pass
assert_equals(1, 1, "Sanity check: startOffset must be correct")
    at testExtend ( /selection/extend.js:82:5)
Pass
assert_equals(Element node <html><head><title>Selection extend() tests</title> <meta..., Element node <html><head><title>Selection extend() tests</title> <meta..., "Sanity check: endContainer must be correct")
    at testExtend ( /selection/extend.js:84:5)
Pass
assert_equals(2, 2, "Sanity check: endOffset must be correct")
    at testExtend ( /selection/extend.js:86:5)
Pass
assert_equals(Element node <html><head><title>Selection extend() tests</title> <meta..., Element node <html><head><title>Selection extend() tests</title> <meta..., "anchorNode must not change if the node passed to extend() has the same root as the original range")
    at testExtend ( /selection/extend.js:145:9)
Pass
assert_equals(1, 1, "anchorOffset must not change if the node passed to extend() has the same root as the original range")
    at testExtend ( /selection/extend.js:147:9)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "focusNode must be the node passed to extend()")
    at testExtend ( /selection/extend.js:155:5)
Pass
assert_equals(10, 10, "focusOffset must be the offset passed to extend()")
    at testExtend ( /selection/extend.js:157:5)
Pass
assert_not_equals(object "Äb̈c̈d̈ë", object "Äb̈c̈d̈ëf̈g̈ḧ Ijklmnop QrstuvwxYzabcdefGhijklmn     Running, 1000 complete, 1 remain  "use strict";  testExtendSubSet(0, 20); testDiv.style.display = "none"; ", "extend() must replace any existing range with a new one, not mutate the existing one")
    at testExtend ( /selection/extend.js:159:5)
Passextend() backwards with range 17 [document.documentElement, 1, document.documentElement, 2] and point 6 [paras[0].firstChild, 10]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(Element node <html><head><title>Selection extend() tests</title> <meta..., Element node <html><head><title>Selection extend() tests</title> <meta..., "Sanity check: startContainer must be correct")
    at testExtend ( /selection/extend.js:80:5)
Pass
assert_equals(1, 1, "Sanity check: startOffset must be correct")
    at testExtend ( /selection/extend.js:82:5)
Pass
assert_equals(Element node <html><head><title>Selection extend() tests</title> <meta..., Element node <html><head><title>Selection extend() tests</title> <meta..., "Sanity check: endContainer must be correct")
    at testExtend ( /selection/extend.js:84:5)
Pass
assert_equals(2, 2, "Sanity check: endOffset must be correct")
    at testExtend ( /selection/extend.js:86:5)
Pass
assert_equals(Element node <html><head><title>Selection extend() tests</title> <meta..., Element node <html><head><title>Selection extend() tests</title> <meta..., "anchorNode must not change if the node passed to extend() has the same root as the original range")
    at testExtend ( /selection/extend.js:145:9)
Pass
assert_equals(2, 2, "anchorOffset must not change if the node passed to extend() has the same root as the original range")
    at testExtend ( /selection/extend.js:147:9)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "focusNode must be the node passed to extend()")
    at testExtend ( /selection/extend.js:155:5)
Pass
assert_equals(10, 10, "focusOffset must be the offset passed to extend()")
    at testExtend ( /selection/extend.js:157:5)
Pass
assert_not_equals(object "f̈g̈ḧ Ijklmnop QrstuvwxYzabcdefGhijklmn     Running, 1000 complete, 1 remain  "use strict";  testExtendSubSet(0, 20); testDiv.style.display = "none"; ", object "Äb̈c̈d̈ëf̈g̈ḧ Ijklmnop QrstuvwxYzabcdefGhijklmn     Running, 1000 complete, 1 remain  "use strict";  testExtendSubSet(0, 20); testDiv.style.display = "none"; ", "extend() must replace any existing range with a new one, not mutate the existing one")
    at testExtend ( /selection/extend.js:159:5)
Passextend() forwards with range 17 [document.documentElement, 1, document.documentElement, 2] and point 7 [paras[0].firstChild, 65535]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(Element node <html><head><title>Selection extend() tests</title> <meta..., Element node <html><head><title>Selection extend() tests</title> <meta..., "Sanity check: startContainer must be correct")
    at testExtend ( /selection/extend.js:80:5)
Pass
assert_equals(1, 1, "Sanity check: startOffset must be correct")
    at testExtend ( /selection/extend.js:82:5)
Pass
assert_equals(Element node <html><head><title>Selection extend() tests</title> <meta..., Element node <html><head><title>Selection extend() tests</title> <meta..., "Sanity check: endContainer must be correct")
    at testExtend ( /selection/extend.js:84:5)
Pass
assert_equals(2, 2, "Sanity check: endOffset must be correct")
    at testExtend ( /selection/extend.js:86:5)
Pass
assert_throws_dom("INDEX_SIZE_ERR", function "function() {             selection.extend(node, offset);         }", "extend() to an offset that's greater than node length (17) must throw IndexSizeError")
    at testExtend ( /selection/extend.js:117:9)
Passextend() backwards with range 17 [document.documentElement, 1, document.documentElement, 2] and point 7 [paras[0].firstChild, 65535]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(Element node <html><head><title>Selection extend() tests</title> <meta..., Element node <html><head><title>Selection extend() tests</title> <meta..., "Sanity check: startContainer must be correct")
    at testExtend ( /selection/extend.js:80:5)
Pass
assert_equals(1, 1, "Sanity check: startOffset must be correct")
    at testExtend ( /selection/extend.js:82:5)
Pass
assert_equals(Element node <html><head><title>Selection extend() tests</title> <meta..., Element node <html><head><title>Selection extend() tests</title> <meta..., "Sanity check: endContainer must be correct")
    at testExtend ( /selection/extend.js:84:5)
Pass
assert_equals(2, 2, "Sanity check: endOffset must be correct")
    at testExtend ( /selection/extend.js:86:5)
Pass
assert_throws_dom("INDEX_SIZE_ERR", function "function() {             selection.extend(node, offset);         }", "extend() to an offset that's greater than node length (17) must throw IndexSizeError")
    at testExtend ( /selection/extend.js:117:9)
Passextend() forwards with range 17 [document.documentElement, 1, document.documentElement, 2] and point 8 [paras[1].firstChild, -1]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(Element node <html><head><title>Selection extend() tests</title> <meta..., Element node <html><head><title>Selection extend() tests</title> <meta..., "Sanity check: startContainer must be correct")
    at testExtend ( /selection/extend.js:80:5)
Pass
assert_equals(1, 1, "Sanity check: startOffset must be correct")
    at testExtend ( /selection/extend.js:82:5)
Pass
assert_equals(Element node <html><head><title>Selection extend() tests</title> <meta..., Element node <html><head><title>Selection extend() tests</title> <meta..., "Sanity check: endContainer must be correct")
    at testExtend ( /selection/extend.js:84:5)
Pass
assert_equals(2, 2, "Sanity check: endOffset must be correct")
    at testExtend ( /selection/extend.js:86:5)
Pass
assert_throws_dom("INDEX_SIZE_ERR", function "function() {             selection.extend(node, offset);         }", "extend() to an offset that's greater than node length (9) must throw IndexSizeError")
    at testExtend ( /selection/extend.js:117:9)
Passextend() backwards with range 17 [document.documentElement, 1, document.documentElement, 2] and point 8 [paras[1].firstChild, -1]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(Element node <html><head><title>Selection extend() tests</title> <meta..., Element node <html><head><title>Selection extend() tests</title> <meta..., "Sanity check: startContainer must be correct")
    at testExtend ( /selection/extend.js:80:5)
Pass
assert_equals(1, 1, "Sanity check: startOffset must be correct")
    at testExtend ( /selection/extend.js:82:5)
Pass
assert_equals(Element node <html><head><title>Selection extend() tests</title> <meta..., Element node <html><head><title>Selection extend() tests</title> <meta..., "Sanity check: endContainer must be correct")
    at testExtend ( /selection/extend.js:84:5)
Pass
assert_equals(2, 2, "Sanity check: endOffset must be correct")
    at testExtend ( /selection/extend.js:86:5)
Pass
assert_throws_dom("INDEX_SIZE_ERR", function "function() {             selection.extend(node, offset);         }", "extend() to an offset that's greater than node length (9) must throw IndexSizeError")
    at testExtend ( /selection/extend.js:117:9)
Passextend() forwards with range 17 [document.documentElement, 1, document.documentElement, 2] and point 9 [paras[1].firstChild, 0]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(Element node <html><head><title>Selection extend() tests</title> <meta..., Element node <html><head><title>Selection extend() tests</title> <meta..., "Sanity check: startContainer must be correct")
    at testExtend ( /selection/extend.js:80:5)
Pass
assert_equals(1, 1, "Sanity check: startOffset must be correct")
    at testExtend ( /selection/extend.js:82:5)
Pass
assert_equals(Element node <html><head><title>Selection extend() tests</title> <meta..., Element node <html><head><title>Selection extend() tests</title> <meta..., "Sanity check: endContainer must be correct")
    at testExtend ( /selection/extend.js:84:5)
Pass
assert_equals(2, 2, "Sanity check: endOffset must be correct")
    at testExtend ( /selection/extend.js:86:5)
Pass
assert_equals(Element node <html><head><title>Selection extend() tests</title> <meta..., Element node <html><head><title>Selection extend() tests</title> <meta..., "anchorNode must not change if the node passed to extend() has the same root as the original range")
    at testExtend ( /selection/extend.js:145:9)
Pass
assert_equals(1, 1, "anchorOffset must not change if the node passed to extend() has the same root as the original range")
    at testExtend ( /selection/extend.js:147:9)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "focusNode must be the node passed to extend()")
    at testExtend ( /selection/extend.js:155:5)
Pass
assert_equals(0, 0, "focusOffset must be the offset passed to extend()")
    at testExtend ( /selection/extend.js:157:5)
Pass
assert_not_equals(object "Äb̈c̈d̈ëf̈g̈ḧ ", object "Äb̈c̈d̈ëf̈g̈ḧ Ijklmnop QrstuvwxYzabcdefGhijklmn     Running, 1000 complete, 1 remain  "use strict";  testExtendSubSet(0, 20); testDiv.style.display = "none"; ", "extend() must replace any existing range with a new one, not mutate the existing one")
    at testExtend ( /selection/extend.js:159:5)
Passextend() backwards with range 17 [document.documentElement, 1, document.documentElement, 2] and point 9 [paras[1].firstChild, 0]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(Element node <html><head><title>Selection extend() tests</title> <meta..., Element node <html><head><title>Selection extend() tests</title> <meta..., "Sanity check: startContainer must be correct")
    at testExtend ( /selection/extend.js:80:5)
Pass
assert_equals(1, 1, "Sanity check: startOffset must be correct")
    at testExtend ( /selection/extend.js:82:5)
Pass
assert_equals(Element node <html><head><title>Selection extend() tests</title> <meta..., Element node <html><head><title>Selection extend() tests</title> <meta..., "Sanity check: endContainer must be correct")
    at testExtend ( /selection/extend.js:84:5)
Pass
assert_equals(2, 2, "Sanity check: endOffset must be correct")
    at testExtend ( /selection/extend.js:86:5)
Pass
assert_equals(Element node <html><head><title>Selection extend() tests</title> <meta..., Element node <html><head><title>Selection extend() tests</title> <meta..., "anchorNode must not change if the node passed to extend() has the same root as the original range")
    at testExtend ( /selection/extend.js:145:9)
Pass
assert_equals(2, 2, "anchorOffset must not change if the node passed to extend() has the same root as the original range")
    at testExtend ( /selection/extend.js:147:9)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "focusNode must be the node passed to extend()")
    at testExtend ( /selection/extend.js:155:5)
Pass
assert_equals(0, 0, "focusOffset must be the offset passed to extend()")
    at testExtend ( /selection/extend.js:157:5)
Pass
assert_not_equals(object "Ijklmnop QrstuvwxYzabcdefGhijklmn     Running, 1000 complete, 1 remain  "use strict";  testExtendSubSet(0, 20); testDiv.style.display = "none"; ", object "Äb̈c̈d̈ëf̈g̈ḧ Ijklmnop QrstuvwxYzabcdefGhijklmn     Running, 1000 complete, 1 remain  "use strict";  testExtendSubSet(0, 20); testDiv.style.display = "none"; ", "extend() must replace any existing range with a new one, not mutate the existing one")
    at testExtend ( /selection/extend.js:159:5)
Passextend() forwards with range 17 [document.documentElement, 1, document.documentElement, 2] and point 10 [paras[1].firstChild, 1]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(Element node <html><head><title>Selection extend() tests</title> <meta..., Element node <html><head><title>Selection extend() tests</title> <meta..., "Sanity check: startContainer must be correct")
    at testExtend ( /selection/extend.js:80:5)
Pass
assert_equals(1, 1, "Sanity check: startOffset must be correct")
    at testExtend ( /selection/extend.js:82:5)
Pass
assert_equals(Element node <html><head><title>Selection extend() tests</title> <meta..., Element node <html><head><title>Selection extend() tests</title> <meta..., "Sanity check: endContainer must be correct")
    at testExtend ( /selection/extend.js:84:5)
Pass
assert_equals(2, 2, "Sanity check: endOffset must be correct")
    at testExtend ( /selection/extend.js:86:5)
Pass
assert_equals(Element node <html><head><title>Selection extend() tests</title> <meta..., Element node <html><head><title>Selection extend() tests</title> <meta..., "anchorNode must not change if the node passed to extend() has the same root as the original range")
    at testExtend ( /selection/extend.js:145:9)
Pass
assert_equals(1, 1, "anchorOffset must not change if the node passed to extend() has the same root as the original range")
    at testExtend ( /selection/extend.js:147:9)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "focusNode must be the node passed to extend()")
    at testExtend ( /selection/extend.js:155:5)
Pass
assert_equals(1, 1, "focusOffset must be the offset passed to extend()")
    at testExtend ( /selection/extend.js:157:5)
Pass
assert_not_equals(object "Äb̈c̈d̈ëf̈g̈ḧ I", object "Äb̈c̈d̈ëf̈g̈ḧ Ijklmnop QrstuvwxYzabcdefGhijklmn     Running, 1000 complete, 1 remain  "use strict";  testExtendSubSet(0, 20); testDiv.style.display = "none"; ", "extend() must replace any existing range with a new one, not mutate the existing one")
    at testExtend ( /selection/extend.js:159:5)
Passextend() backwards with range 17 [document.documentElement, 1, document.documentElement, 2] and point 10 [paras[1].firstChild, 1]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(Element node <html><head><title>Selection extend() tests</title> <meta..., Element node <html><head><title>Selection extend() tests</title> <meta..., "Sanity check: startContainer must be correct")
    at testExtend ( /selection/extend.js:80:5)
Pass
assert_equals(1, 1, "Sanity check: startOffset must be correct")
    at testExtend ( /selection/extend.js:82:5)
Pass
assert_equals(Element node <html><head><title>Selection extend() tests</title> <meta..., Element node <html><head><title>Selection extend() tests</title> <meta..., "Sanity check: endContainer must be correct")
    at testExtend ( /selection/extend.js:84:5)
Pass
assert_equals(2, 2, "Sanity check: endOffset must be correct")
    at testExtend ( /selection/extend.js:86:5)
Pass
assert_equals(Element node <html><head><title>Selection extend() tests</title> <meta..., Element node <html><head><title>Selection extend() tests</title> <meta..., "anchorNode must not change if the node passed to extend() has the same root as the original range")
    at testExtend ( /selection/extend.js:145:9)
Pass
assert_equals(2, 2, "anchorOffset must not change if the node passed to extend() has the same root as the original range")
    at testExtend ( /selection/extend.js:147:9)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "focusNode must be the node passed to extend()")
    at testExtend ( /selection/extend.js:155:5)
Pass
assert_equals(1, 1, "focusOffset must be the offset passed to extend()")
    at testExtend ( /selection/extend.js:157:5)
Pass
assert_not_equals(object "jklmnop QrstuvwxYzabcdefGhijklmn     Running, 1000 complete, 1 remain  "use strict";  testExtendSubSet(0, 20); testDiv.style.display = "none"; ", object "Äb̈c̈d̈ëf̈g̈ḧ Ijklmnop QrstuvwxYzabcdefGhijklmn     Running, 1000 complete, 1 remain  "use strict";  testExtendSubSet(0, 20); testDiv.style.display = "none"; ", "extend() must replace any existing range with a new one, not mutate the existing one")
    at testExtend ( /selection/extend.js:159:5)
Passextend() forwards with range 17 [document.documentElement, 1, document.documentElement, 2] and point 11 [paras[1].firstChild, 2]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(Element node <html><head><title>Selection extend() tests</title> <meta..., Element node <html><head><title>Selection extend() tests</title> <meta..., "Sanity check: startContainer must be correct")
    at testExtend ( /selection/extend.js:80:5)
Pass
assert_equals(1, 1, "Sanity check: startOffset must be correct")
    at testExtend ( /selection/extend.js:82:5)
Pass
assert_equals(Element node <html><head><title>Selection extend() tests</title> <meta..., Element node <html><head><title>Selection extend() tests</title> <meta..., "Sanity check: endContainer must be correct")
    at testExtend ( /selection/extend.js:84:5)
Pass
assert_equals(2, 2, "Sanity check: endOffset must be correct")
    at testExtend ( /selection/extend.js:86:5)
Pass
assert_equals(Element node <html><head><title>Selection extend() tests</title> <meta..., Element node <html><head><title>Selection extend() tests</title> <meta..., "anchorNode must not change if the node passed to extend() has the same root as the original range")
    at testExtend ( /selection/extend.js:145:9)
Pass
assert_equals(1, 1, "anchorOffset must not change if the node passed to extend() has the same root as the original range")
    at testExtend ( /selection/extend.js:147:9)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "focusNode must be the node passed to extend()")
    at testExtend ( /selection/extend.js:155:5)
Pass
assert_equals(2, 2, "focusOffset must be the offset passed to extend()")
    at testExtend ( /selection/extend.js:157:5)
Pass
assert_not_equals(object "Äb̈c̈d̈ëf̈g̈ḧ Ij", object "Äb̈c̈d̈ëf̈g̈ḧ Ijklmnop QrstuvwxYzabcdefGhijklmn     Running, 1000 complete, 1 remain  "use strict";  testExtendSubSet(0, 20); testDiv.style.display = "none"; ", "extend() must replace any existing range with a new one, not mutate the existing one")
    at testExtend ( /selection/extend.js:159:5)
Passextend() backwards with range 17 [document.documentElement, 1, document.documentElement, 2] and point 11 [paras[1].firstChild, 2]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(Element node <html><head><title>Selection extend() tests</title> <meta..., Element node <html><head><title>Selection extend() tests</title> <meta..., "Sanity check: startContainer must be correct")
    at testExtend ( /selection/extend.js:80:5)
Pass
assert_equals(1, 1, "Sanity check: startOffset must be correct")
    at testExtend ( /selection/extend.js:82:5)
Pass
assert_equals(Element node <html><head><title>Selection extend() tests</title> <meta..., Element node <html><head><title>Selection extend() tests</title> <meta..., "Sanity check: endContainer must be correct")
    at testExtend ( /selection/extend.js:84:5)
Pass
assert_equals(2, 2, "Sanity check: endOffset must be correct")
    at testExtend ( /selection/extend.js:86:5)
Pass
assert_equals(Element node <html><head><title>Selection extend() tests</title> <meta..., Element node <html><head><title>Selection extend() tests</title> <meta..., "anchorNode must not change if the node passed to extend() has the same root as the original range")
    at testExtend ( /selection/extend.js:145:9)
Pass
assert_equals(2, 2, "anchorOffset must not change if the node passed to extend() has the same root as the original range")
    at testExtend ( /selection/extend.js:147:9)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "focusNode must be the node passed to extend()")
    at testExtend ( /selection/extend.js:155:5)
Pass
assert_equals(2, 2, "focusOffset must be the offset passed to extend()")
    at testExtend ( /selection/extend.js:157:5)
Pass
assert_not_equals(object "klmnop QrstuvwxYzabcdefGhijklmn     Running, 1000 complete, 1 remain  "use strict";  testExtendSubSet(0, 20); testDiv.style.display = "none"; ", object "Äb̈c̈d̈ëf̈g̈ḧ Ijklmnop QrstuvwxYzabcdefGhijklmn     Running, 1000 complete, 1 remain  "use strict";  testExtendSubSet(0, 20); testDiv.style.display = "none"; ", "extend() must replace any existing range with a new one, not mutate the existing one")
    at testExtend ( /selection/extend.js:159:5)
Passextend() forwards with range 17 [document.documentElement, 1, document.documentElement, 2] and point 12 [paras[1].firstChild, 8]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(Element node <html><head><title>Selection extend() tests</title> <meta..., Element node <html><head><title>Selection extend() tests</title> <meta..., "Sanity check: startContainer must be correct")
    at testExtend ( /selection/extend.js:80:5)
Pass
assert_equals(1, 1, "Sanity check: startOffset must be correct")
    at testExtend ( /selection/extend.js:82:5)
Pass
assert_equals(Element node <html><head><title>Selection extend() tests</title> <meta..., Element node <html><head><title>Selection extend() tests</title> <meta..., "Sanity check: endContainer must be correct")
    at testExtend ( /selection/extend.js:84:5)
Pass
assert_equals(2, 2, "Sanity check: endOffset must be correct")
    at testExtend ( /selection/extend.js:86:5)
Pass
assert_equals(Element node <html><head><title>Selection extend() tests</title> <meta..., Element node <html><head><title>Selection extend() tests</title> <meta..., "anchorNode must not change if the node passed to extend() has the same root as the original range")
    at testExtend ( /selection/extend.js:145:9)
Pass
assert_equals(1, 1, "anchorOffset must not change if the node passed to extend() has the same root as the original range")
    at testExtend ( /selection/extend.js:147:9)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "focusNode must be the node passed to extend()")
    at testExtend ( /selection/extend.js:155:5)
Pass
assert_equals(8, 8, "focusOffset must be the offset passed to extend()")
    at testExtend ( /selection/extend.js:157:5)
Pass
assert_not_equals(object "Äb̈c̈d̈ëf̈g̈ḧ Ijklmnop", object "Äb̈c̈d̈ëf̈g̈ḧ Ijklmnop QrstuvwxYzabcdefGhijklmn     Running, 1000 complete, 1 remain  "use strict";  testExtendSubSet(0, 20); testDiv.style.display = "none"; ", "extend() must replace any existing range with a new one, not mutate the existing one")
    at testExtend ( /selection/extend.js:159:5)
Passextend() backwards with range 17 [document.documentElement, 1, document.documentElement, 2] and point 12 [paras[1].firstChild, 8]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(Element node <html><head><title>Selection extend() tests</title> <meta..., Element node <html><head><title>Selection extend() tests</title> <meta..., "Sanity check: startContainer must be correct")
    at testExtend ( /selection/extend.js:80:5)
Pass
assert_equals(1, 1, "Sanity check: startOffset must be correct")
    at testExtend ( /selection/extend.js:82:5)
Pass
assert_equals(Element node <html><head><title>Selection extend() tests</title> <meta..., Element node <html><head><title>Selection extend() tests</title> <meta..., "Sanity check: endContainer must be correct")
    at testExtend ( /selection/extend.js:84:5)
Pass
assert_equals(2, 2, "Sanity check: endOffset must be correct")
    at testExtend ( /selection/extend.js:86:5)
Pass
assert_equals(Element node <html><head><title>Selection extend() tests</title> <meta..., Element node <html><head><title>Selection extend() tests</title> <meta..., "anchorNode must not change if the node passed to extend() has the same root as the original range")
    at testExtend ( /selection/extend.js:145:9)
Pass
assert_equals(2, 2, "anchorOffset must not change if the node passed to extend() has the same root as the original range")
    at testExtend ( /selection/extend.js:147:9)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "focusNode must be the node passed to extend()")
    at testExtend ( /selection/extend.js:155:5)
Pass
assert_equals(8, 8, "focusOffset must be the offset passed to extend()")
    at testExtend ( /selection/extend.js:157:5)
Pass
assert_not_equals(object " QrstuvwxYzabcdefGhijklmn     Running, 1000 complete, 1 remain  "use strict";  testExtendSubSet(0, 20); testDiv.style.display = "none"; ", object "Äb̈c̈d̈ëf̈g̈ḧ Ijklmnop QrstuvwxYzabcdefGhijklmn     Running, 1000 complete, 1 remain  "use strict";  testExtendSubSet(0, 20); testDiv.style.display = "none"; ", "extend() must replace any existing range with a new one, not mutate the existing one")
    at testExtend ( /selection/extend.js:159:5)
Passextend() forwards with range 17 [document.documentElement, 1, document.documentElement, 2] and point 13 [paras[1].firstChild, 9]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(Element node <html><head><title>Selection extend() tests</title> <meta..., Element node <html><head><title>Selection extend() tests</title> <meta..., "Sanity check: startContainer must be correct")
    at testExtend ( /selection/extend.js:80:5)
Pass
assert_equals(1, 1, "Sanity check: startOffset must be correct")
    at testExtend ( /selection/extend.js:82:5)
Pass
assert_equals(Element node <html><head><title>Selection extend() tests</title> <meta..., Element node <html><head><title>Selection extend() tests</title> <meta..., "Sanity check: endContainer must be correct")
    at testExtend ( /selection/extend.js:84:5)
Pass
assert_equals(2, 2, "Sanity check: endOffset must be correct")
    at testExtend ( /selection/extend.js:86:5)
Pass
assert_equals(Element node <html><head><title>Selection extend() tests</title> <meta..., Element node <html><head><title>Selection extend() tests</title> <meta..., "anchorNode must not change if the node passed to extend() has the same root as the original range")
    at testExtend ( /selection/extend.js:145:9)
Pass
assert_equals(1, 1, "anchorOffset must not change if the node passed to extend() has the same root as the original range")
    at testExtend ( /selection/extend.js:147:9)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "focusNode must be the node passed to extend()")
    at testExtend ( /selection/extend.js:155:5)
Pass
assert_equals(9, 9, "focusOffset must be the offset passed to extend()")
    at testExtend ( /selection/extend.js:157:5)
Pass
assert_not_equals(object "Äb̈c̈d̈ëf̈g̈ḧ Ijklmnop ", object "Äb̈c̈d̈ëf̈g̈ḧ Ijklmnop QrstuvwxYzabcdefGhijklmn     Running, 1000 complete, 1 remain  "use strict";  testExtendSubSet(0, 20); testDiv.style.display = "none"; ", "extend() must replace any existing range with a new one, not mutate the existing one")
    at testExtend ( /selection/extend.js:159:5)
Passextend() backwards with range 17 [document.documentElement, 1, document.documentElement, 2] and point 13 [paras[1].firstChild, 9]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(Element node <html><head><title>Selection extend() tests</title> <meta..., Element node <html><head><title>Selection extend() tests</title> <meta..., "Sanity check: startContainer must be correct")
    at testExtend ( /selection/extend.js:80:5)
Pass
assert_equals(1, 1, "Sanity check: startOffset must be correct")
    at testExtend ( /selection/extend.js:82:5)
Pass
assert_equals(Element node <html><head><title>Selection extend() tests</title> <meta..., Element node <html><head><title>Selection extend() tests</title> <meta..., "Sanity check: endContainer must be correct")
    at testExtend ( /selection/extend.js:84:5)
Pass
assert_equals(2, 2, "Sanity check: endOffset must be correct")
    at testExtend ( /selection/extend.js:86:5)
Pass
assert_equals(Element node <html><head><title>Selection extend() tests</title> <meta..., Element node <html><head><title>Selection extend() tests</title> <meta..., "anchorNode must not change if the node passed to extend() has the same root as the original range")
    at testExtend ( /selection/extend.js:145:9)
Pass
assert_equals(2, 2, "anchorOffset must not change if the node passed to extend() has the same root as the original range")
    at testExtend ( /selection/extend.js:147:9)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "focusNode must be the node passed to extend()")
    at testExtend ( /selection/extend.js:155:5)
Pass
assert_equals(9, 9, "focusOffset must be the offset passed to extend()")
    at testExtend ( /selection/extend.js:157:5)
Pass
assert_not_equals(object "QrstuvwxYzabcdefGhijklmn     Running, 1000 complete, 1 remain  "use strict";  testExtendSubSet(0, 20); testDiv.style.display = "none"; ", object "Äb̈c̈d̈ëf̈g̈ḧ Ijklmnop QrstuvwxYzabcdefGhijklmn     Running, 1000 complete, 1 remain  "use strict";  testExtendSubSet(0, 20); testDiv.style.display = "none"; ", "extend() must replace any existing range with a new one, not mutate the existing one")
    at testExtend ( /selection/extend.js:159:5)
Passextend() forwards with range 17 [document.documentElement, 1, document.documentElement, 2] and point 14 [paras[1].firstChild, 10]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(Element node <html><head><title>Selection extend() tests</title> <meta..., Element node <html><head><title>Selection extend() tests</title> <meta..., "Sanity check: startContainer must be correct")
    at testExtend ( /selection/extend.js:80:5)
Pass
assert_equals(1, 1, "Sanity check: startOffset must be correct")
    at testExtend ( /selection/extend.js:82:5)
Pass
assert_equals(Element node <html><head><title>Selection extend() tests</title> <meta..., Element node <html><head><title>Selection extend() tests</title> <meta..., "Sanity check: endContainer must be correct")
    at testExtend ( /selection/extend.js:84:5)
Pass
assert_equals(2, 2, "Sanity check: endOffset must be correct")
    at testExtend ( /selection/extend.js:86:5)
Pass
assert_throws_dom("INDEX_SIZE_ERR", function "function() {             selection.extend(node, offset);         }", "extend() to an offset that's greater than node length (9) must throw IndexSizeError")
    at testExtend ( /selection/extend.js:117:9)
Passextend() backwards with range 17 [document.documentElement, 1, document.documentElement, 2] and point 14 [paras[1].firstChild, 10]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(Element node <html><head><title>Selection extend() tests</title> <meta..., Element node <html><head><title>Selection extend() tests</title> <meta..., "Sanity check: startContainer must be correct")
    at testExtend ( /selection/extend.js:80:5)
Pass
assert_equals(1, 1, "Sanity check: startOffset must be correct")
    at testExtend ( /selection/extend.js:82:5)
Pass
assert_equals(Element node <html><head><title>Selection extend() tests</title> <meta..., Element node <html><head><title>Selection extend() tests</title> <meta..., "Sanity check: endContainer must be correct")
    at testExtend ( /selection/extend.js:84:5)
Pass
assert_equals(2, 2, "Sanity check: endOffset must be correct")
    at testExtend ( /selection/extend.js:86:5)
Pass
assert_throws_dom("INDEX_SIZE_ERR", function "function() {             selection.extend(node, offset);         }", "extend() to an offset that's greater than node length (9) must throw IndexSizeError")
    at testExtend ( /selection/extend.js:117:9)
Passextend() forwards with range 17 [document.documentElement, 1, document.documentElement, 2] and point 15 [paras[1].firstChild, 65535]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(Element node <html><head><title>Selection extend() tests</title> <meta..., Element node <html><head><title>Selection extend() tests</title> <meta..., "Sanity check: startContainer must be correct")
    at testExtend ( /selection/extend.js:80:5)
Pass
assert_equals(1, 1, "Sanity check: startOffset must be correct")
    at testExtend ( /selection/extend.js:82:5)
Pass
assert_equals(Element node <html><head><title>Selection extend() tests</title> <meta..., Element node <html><head><title>Selection extend() tests</title> <meta..., "Sanity check: endContainer must be correct")
    at testExtend ( /selection/extend.js:84:5)
Pass
assert_equals(2, 2, "Sanity check: endOffset must be correct")
    at testExtend ( /selection/extend.js:86:5)
Pass
assert_throws_dom("INDEX_SIZE_ERR", function "function() {             selection.extend(node, offset);         }", "extend() to an offset that's greater than node length (9) must throw IndexSizeError")
    at testExtend ( /selection/extend.js:117:9)
Passextend() backwards with range 17 [document.documentElement, 1, document.documentElement, 2] and point 15 [paras[1].firstChild, 65535]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(Element node <html><head><title>Selection extend() tests</title> <meta..., Element node <html><head><title>Selection extend() tests</title> <meta..., "Sanity check: startContainer must be correct")
    at testExtend ( /selection/extend.js:80:5)
Pass
assert_equals(1, 1, "Sanity check: startOffset must be correct")
    at testExtend ( /selection/extend.js:82:5)
Pass
assert_equals(Element node <html><head><title>Selection extend() tests</title> <meta..., Element node <html><head><title>Selection extend() tests</title> <meta..., "Sanity check: endContainer must be correct")
    at testExtend ( /selection/extend.js:84:5)
Pass
assert_equals(2, 2, "Sanity check: endOffset must be correct")
    at testExtend ( /selection/extend.js:86:5)
Pass
assert_throws_dom("INDEX_SIZE_ERR", function "function() {             selection.extend(node, offset);         }", "extend() to an offset that's greater than node length (9) must throw IndexSizeError")
    at testExtend ( /selection/extend.js:117:9)
Passextend() forwards with range 17 [document.documentElement, 1, document.documentElement, 2] and point 16 [detachedPara1.firstChild, 0]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(1, 1, "The operation should not add Range")
    at assertSelectionNoChange ( /selection/common.js:976:5)
Pass
assert_equals(Element node <html><head><title>Selection extend() tests</title> <meta..., Element node <html><head><title>Selection extend() tests</title> <meta..., "The operation should not update anchorNode")
    at assertSelectionNoChange ( /selection/common.js:978:5)
Pass
assert_equals(1, 1, "The operation should not update anchorOffset")
    at assertSelectionNoChange ( /selection/common.js:980:5)
Pass
assert_equals(Element node <html><head><title>Selection extend() tests</title> <meta..., Element node <html><head><title>Selection extend() tests</title> <meta..., "The operation should not update focusNode")
    at assertSelectionNoChange ( /selection/common.js:982:5)
Pass
assert_equals(2, 2, "The operation should not update focusOffset")
    at assertSelectionNoChange ( /selection/common.js:984:5)
Pass
assert_equals(object "Äb̈c̈d̈ëf̈g̈ḧ Ijklmnop QrstuvwxYzabcdefGhijklmn     Running, 1000 complete, 1 remain  "use strict";  testExtendSubSet(0, 20); testDiv.style.display = "none"; ", object "Äb̈c̈d̈ëf̈g̈ḧ Ijklmnop QrstuvwxYzabcdefGhijklmn     Running, 1000 complete, 1 remain  "use strict";  testExtendSubSet(0, 20); testDiv.style.display = "none"; ", "The operation should not replace a registered Range")
    at assertSelectionNoChange ( /selection/common.js:988:5)
Passextend() backwards with range 17 [document.documentElement, 1, document.documentElement, 2] and point 16 [detachedPara1.firstChild, 0]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(1, 1, "The operation should not add Range")
    at assertSelectionNoChange ( /selection/common.js:976:5)
Pass
assert_equals(Element node <html><head><title>Selection extend() tests</title> <meta..., Element node <html><head><title>Selection extend() tests</title> <meta..., "The operation should not update anchorNode")
    at assertSelectionNoChange ( /selection/common.js:978:5)
Pass
assert_equals(2, 2, "The operation should not update anchorOffset")
    at assertSelectionNoChange ( /selection/common.js:980:5)
Pass
assert_equals(Element node <html><head><title>Selection extend() tests</title> <meta..., Element node <html><head><title>Selection extend() tests</title> <meta..., "The operation should not update focusNode")
    at assertSelectionNoChange ( /selection/common.js:982:5)
Pass
assert_equals(1, 1, "The operation should not update focusOffset")
    at assertSelectionNoChange ( /selection/common.js:984:5)
Pass
assert_equals(object "Äb̈c̈d̈ëf̈g̈ḧ Ijklmnop QrstuvwxYzabcdefGhijklmn     Running, 1000 complete, 1 remain  "use strict";  testExtendSubSet(0, 20); testDiv.style.display = "none"; ", object "Äb̈c̈d̈ëf̈g̈ḧ Ijklmnop QrstuvwxYzabcdefGhijklmn     Running, 1000 complete, 1 remain  "use strict";  testExtendSubSet(0, 20); testDiv.style.display = "none"; ", "The operation should not replace a registered Range")
    at assertSelectionNoChange ( /selection/common.js:988:5)
Passextend() forwards with range 17 [document.documentElement, 1, document.documentElement, 2] and point 17 [detachedPara1.firstChild, 1]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(1, 1, "The operation should not add Range")
    at assertSelectionNoChange ( /selection/common.js:976:5)
Pass
assert_equals(Element node <html><head><title>Selection extend() tests</title> <meta..., Element node <html><head><title>Selection extend() tests</title> <meta..., "The operation should not update anchorNode")
    at assertSelectionNoChange ( /selection/common.js:978:5)
Pass
assert_equals(1, 1, "The operation should not update anchorOffset")
    at assertSelectionNoChange ( /selection/common.js:980:5)
Pass
assert_equals(Element node <html><head><title>Selection extend() tests</title> <meta..., Element node <html><head><title>Selection extend() tests</title> <meta..., "The operation should not update focusNode")
    at assertSelectionNoChange ( /selection/common.js:982:5)
Pass
assert_equals(2, 2, "The operation should not update focusOffset")
    at assertSelectionNoChange ( /selection/common.js:984:5)
Pass
assert_equals(object "Äb̈c̈d̈ëf̈g̈ḧ Ijklmnop QrstuvwxYzabcdefGhijklmn     Running, 1000 complete, 1 remain  "use strict";  testExtendSubSet(0, 20); testDiv.style.display = "none"; ", object "Äb̈c̈d̈ëf̈g̈ḧ Ijklmnop QrstuvwxYzabcdefGhijklmn     Running, 1000 complete, 1 remain  "use strict";  testExtendSubSet(0, 20); testDiv.style.display = "none"; ", "The operation should not replace a registered Range")
    at assertSelectionNoChange ( /selection/common.js:988:5)
Passextend() backwards with range 17 [document.documentElement, 1, document.documentElement, 2] and point 17 [detachedPara1.firstChild, 1]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(1, 1, "The operation should not add Range")
    at assertSelectionNoChange ( /selection/common.js:976:5)
Pass
assert_equals(Element node <html><head><title>Selection extend() tests</title> <meta..., Element node <html><head><title>Selection extend() tests</title> <meta..., "The operation should not update anchorNode")
    at assertSelectionNoChange ( /selection/common.js:978:5)
Pass
assert_equals(2, 2, "The operation should not update anchorOffset")
    at assertSelectionNoChange ( /selection/common.js:980:5)
Pass
assert_equals(Element node <html><head><title>Selection extend() tests</title> <meta..., Element node <html><head><title>Selection extend() tests</title> <meta..., "The operation should not update focusNode")
    at assertSelectionNoChange ( /selection/common.js:982:5)
Pass
assert_equals(1, 1, "The operation should not update focusOffset")
    at assertSelectionNoChange ( /selection/common.js:984:5)
Pass
assert_equals(object "Äb̈c̈d̈ëf̈g̈ḧ Ijklmnop QrstuvwxYzabcdefGhijklmn     Running, 1000 complete, 1 remain  "use strict";  testExtendSubSet(0, 20); testDiv.style.display = "none"; ", object "Äb̈c̈d̈ëf̈g̈ḧ Ijklmnop QrstuvwxYzabcdefGhijklmn     Running, 1000 complete, 1 remain  "use strict";  testExtendSubSet(0, 20); testDiv.style.display = "none"; ", "The operation should not replace a registered Range")
    at assertSelectionNoChange ( /selection/common.js:988:5)
Passextend() forwards with range 17 [document.documentElement, 1, document.documentElement, 2] and point 18 [detachedPara1.firstChild, 8]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(1, 1, "The operation should not add Range")
    at assertSelectionNoChange ( /selection/common.js:976:5)
Pass
assert_equals(Element node <html><head><title>Selection extend() tests</title> <meta..., Element node <html><head><title>Selection extend() tests</title> <meta..., "The operation should not update anchorNode")
    at assertSelectionNoChange ( /selection/common.js:978:5)
Pass
assert_equals(1, 1, "The operation should not update anchorOffset")
    at assertSelectionNoChange ( /selection/common.js:980:5)
Pass
assert_equals(Element node <html><head><title>Selection extend() tests</title> <meta..., Element node <html><head><title>Selection extend() tests</title> <meta..., "The operation should not update focusNode")
    at assertSelectionNoChange ( /selection/common.js:982:5)
Pass
assert_equals(2, 2, "The operation should not update focusOffset")
    at assertSelectionNoChange ( /selection/common.js:984:5)
Pass
assert_equals(object "Äb̈c̈d̈ëf̈g̈ḧ Ijklmnop QrstuvwxYzabcdefGhijklmn     Running, 1000 complete, 1 remain  "use strict";  testExtendSubSet(0, 20); testDiv.style.display = "none"; ", object "Äb̈c̈d̈ëf̈g̈ḧ Ijklmnop QrstuvwxYzabcdefGhijklmn     Running, 1000 complete, 1 remain  "use strict";  testExtendSubSet(0, 20); testDiv.style.display = "none"; ", "The operation should not replace a registered Range")
    at assertSelectionNoChange ( /selection/common.js:988:5)
Passextend() backwards with range 17 [document.documentElement, 1, document.documentElement, 2] and point 18 [detachedPara1.firstChild, 8]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(1, 1, "The operation should not add Range")
    at assertSelectionNoChange ( /selection/common.js:976:5)
Pass
assert_equals(Element node <html><head><title>Selection extend() tests</title> <meta..., Element node <html><head><title>Selection extend() tests</title> <meta..., "The operation should not update anchorNode")
    at assertSelectionNoChange ( /selection/common.js:978:5)
Pass
assert_equals(2, 2, "The operation should not update anchorOffset")
    at assertSelectionNoChange ( /selection/common.js:980:5)
Pass
assert_equals(Element node <html><head><title>Selection extend() tests</title> <meta..., Element node <html><head><title>Selection extend() tests</title> <meta..., "The operation should not update focusNode")
    at assertSelectionNoChange ( /selection/common.js:982:5)
Pass
assert_equals(1, 1, "The operation should not update focusOffset")
    at assertSelectionNoChange ( /selection/common.js:984:5)
Pass
assert_equals(object "Äb̈c̈d̈ëf̈g̈ḧ Ijklmnop QrstuvwxYzabcdefGhijklmn     Running, 1000 complete, 1 remain  "use strict";  testExtendSubSet(0, 20); testDiv.style.display = "none"; ", object "Äb̈c̈d̈ëf̈g̈ḧ Ijklmnop QrstuvwxYzabcdefGhijklmn     Running, 1000 complete, 1 remain  "use strict";  testExtendSubSet(0, 20); testDiv.style.display = "none"; ", "The operation should not replace a registered Range")
    at assertSelectionNoChange ( /selection/common.js:988:5)
Passextend() forwards with range 17 [document.documentElement, 1, document.documentElement, 2] and point 19 [detachedPara1.firstChild, 9]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(1, 1, "The operation should not add Range")
    at assertSelectionNoChange ( /selection/common.js:976:5)
Pass
assert_equals(Element node <html><head><title>Selection extend() tests</title> <meta..., Element node <html><head><title>Selection extend() tests</title> <meta..., "The operation should not update anchorNode")
    at assertSelectionNoChange ( /selection/common.js:978:5)
Pass
assert_equals(1, 1, "The operation should not update anchorOffset")
    at assertSelectionNoChange ( /selection/common.js:980:5)
Pass
assert_equals(Element node <html><head><title>Selection extend() tests</title> <meta..., Element node <html><head><title>Selection extend() tests</title> <meta..., "The operation should not update focusNode")
    at assertSelectionNoChange ( /selection/common.js:982:5)
Pass
assert_equals(2, 2, "The operation should not update focusOffset")
    at assertSelectionNoChange ( /selection/common.js:984:5)
Pass
assert_equals(object "Äb̈c̈d̈ëf̈g̈ḧ Ijklmnop QrstuvwxYzabcdefGhijklmn     Running, 1000 complete, 1 remain  "use strict";  testExtendSubSet(0, 20); testDiv.style.display = "none"; ", object "Äb̈c̈d̈ëf̈g̈ḧ Ijklmnop QrstuvwxYzabcdefGhijklmn     Running, 1000 complete, 1 remain  "use strict";  testExtendSubSet(0, 20); testDiv.style.display = "none"; ", "The operation should not replace a registered Range")
    at assertSelectionNoChange ( /selection/common.js:988:5)
Passextend() backwards with range 17 [document.documentElement, 1, document.documentElement, 2] and point 19 [detachedPara1.firstChild, 9]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(1, 1, "The operation should not add Range")
    at assertSelectionNoChange ( /selection/common.js:976:5)
Pass
assert_equals(Element node <html><head><title>Selection extend() tests</title> <meta..., Element node <html><head><title>Selection extend() tests</title> <meta..., "The operation should not update anchorNode")
    at assertSelectionNoChange ( /selection/common.js:978:5)
Pass
assert_equals(2, 2, "The operation should not update anchorOffset")
    at assertSelectionNoChange ( /selection/common.js:980:5)
Pass
assert_equals(Element node <html><head><title>Selection extend() tests</title> <meta..., Element node <html><head><title>Selection extend() tests</title> <meta..., "The operation should not update focusNode")
    at assertSelectionNoChange ( /selection/common.js:982:5)
Pass
assert_equals(1, 1, "The operation should not update focusOffset")
    at assertSelectionNoChange ( /selection/common.js:984:5)
Pass
assert_equals(object "Äb̈c̈d̈ëf̈g̈ḧ Ijklmnop QrstuvwxYzabcdefGhijklmn     Running, 1000 complete, 1 remain  "use strict";  testExtendSubSet(0, 20); testDiv.style.display = "none"; ", object "Äb̈c̈d̈ëf̈g̈ḧ Ijklmnop QrstuvwxYzabcdefGhijklmn     Running, 1000 complete, 1 remain  "use strict";  testExtendSubSet(0, 20); testDiv.style.display = "none"; ", "The operation should not replace a registered Range")
    at assertSelectionNoChange ( /selection/common.js:988:5)
Passextend() forwards with range 17 [document.documentElement, 1, document.documentElement, 2] and point 20 [foreignPara1.firstChild, 0]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(1, 1, "The operation should not add Range")
    at assertSelectionNoChange ( /selection/common.js:976:5)
Pass
assert_equals(Element node <html><head><title>Selection extend() tests</title> <meta..., Element node <html><head><title>Selection extend() tests</title> <meta..., "The operation should not update anchorNode")
    at assertSelectionNoChange ( /selection/common.js:978:5)
Pass
assert_equals(1, 1, "The operation should not update anchorOffset")
    at assertSelectionNoChange ( /selection/common.js:980:5)
Pass
assert_equals(Element node <html><head><title>Selection extend() tests</title> <meta..., Element node <html><head><title>Selection extend() tests</title> <meta..., "The operation should not update focusNode")
    at assertSelectionNoChange ( /selection/common.js:982:5)
Pass
assert_equals(2, 2, "The operation should not update focusOffset")
    at assertSelectionNoChange ( /selection/common.js:984:5)
Pass
assert_equals(object "Äb̈c̈d̈ëf̈g̈ḧ Ijklmnop QrstuvwxYzabcdefGhijklmn     Running, 1000 complete, 1 remain  "use strict";  testExtendSubSet(0, 20); testDiv.style.display = "none"; ", object "Äb̈c̈d̈ëf̈g̈ḧ Ijklmnop QrstuvwxYzabcdefGhijklmn     Running, 1000 complete, 1 remain  "use strict";  testExtendSubSet(0, 20); testDiv.style.display = "none"; ", "The operation should not replace a registered Range")
    at assertSelectionNoChange ( /selection/common.js:988:5)
Passextend() backwards with range 17 [document.documentElement, 1, document.documentElement, 2] and point 20 [foreignPara1.firstChild, 0]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(1, 1, "The operation should not add Range")
    at assertSelectionNoChange ( /selection/common.js:976:5)
Pass
assert_equals(Element node <html><head><title>Selection extend() tests</title> <meta..., Element node <html><head><title>Selection extend() tests</title> <meta..., "The operation should not update anchorNode")
    at assertSelectionNoChange ( /selection/common.js:978:5)
Pass
assert_equals(2, 2, "The operation should not update anchorOffset")
    at assertSelectionNoChange ( /selection/common.js:980:5)
Pass
assert_equals(Element node <html><head><title>Selection extend() tests</title> <meta..., Element node <html><head><title>Selection extend() tests</title> <meta..., "The operation should not update focusNode")
    at assertSelectionNoChange ( /selection/common.js:982:5)
Pass
assert_equals(1, 1, "The operation should not update focusOffset")
    at assertSelectionNoChange ( /selection/common.js:984:5)
Pass
assert_equals(object "Äb̈c̈d̈ëf̈g̈ḧ Ijklmnop QrstuvwxYzabcdefGhijklmn     Running, 1000 complete, 1 remain  "use strict";  testExtendSubSet(0, 20); testDiv.style.display = "none"; ", object "Äb̈c̈d̈ëf̈g̈ḧ Ijklmnop QrstuvwxYzabcdefGhijklmn     Running, 1000 complete, 1 remain  "use strict";  testExtendSubSet(0, 20); testDiv.style.display = "none"; ", "The operation should not replace a registered Range")
    at assertSelectionNoChange ( /selection/common.js:988:5)
Passextend() forwards with range 17 [document.documentElement, 1, document.documentElement, 2] and point 21 [foreignPara1.firstChild, 1]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(1, 1, "The operation should not add Range")
    at assertSelectionNoChange ( /selection/common.js:976:5)
Pass
assert_equals(Element node <html><head><title>Selection extend() tests</title> <meta..., Element node <html><head><title>Selection extend() tests</title> <meta..., "The operation should not update anchorNode")
    at assertSelectionNoChange ( /selection/common.js:978:5)
Pass
assert_equals(1, 1, "The operation should not update anchorOffset")
    at assertSelectionNoChange ( /selection/common.js:980:5)
Pass
assert_equals(Element node <html><head><title>Selection extend() tests</title> <meta..., Element node <html><head><title>Selection extend() tests</title> <meta..., "The operation should not update focusNode")
    at assertSelectionNoChange ( /selection/common.js:982:5)
Pass
assert_equals(2, 2, "The operation should not update focusOffset")
    at assertSelectionNoChange ( /selection/common.js:984:5)
Pass
assert_equals(object "Äb̈c̈d̈ëf̈g̈ḧ Ijklmnop QrstuvwxYzabcdefGhijklmn     Running, 1000 complete, 1 remain  "use strict";  testExtendSubSet(0, 20); testDiv.style.display = "none"; ", object "Äb̈c̈d̈ëf̈g̈ḧ Ijklmnop QrstuvwxYzabcdefGhijklmn     Running, 1000 complete, 1 remain  "use strict";  testExtendSubSet(0, 20); testDiv.style.display = "none"; ", "The operation should not replace a registered Range")
    at assertSelectionNoChange ( /selection/common.js:988:5)
Passextend() backwards with range 17 [document.documentElement, 1, document.documentElement, 2] and point 21 [foreignPara1.firstChild, 1]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(1, 1, "The operation should not add Range")
    at assertSelectionNoChange ( /selection/common.js:976:5)
Pass
assert_equals(Element node <html><head><title>Selection extend() tests</title> <meta..., Element node <html><head><title>Selection extend() tests</title> <meta..., "The operation should not update anchorNode")
    at assertSelectionNoChange ( /selection/common.js:978:5)
Pass
assert_equals(2, 2, "The operation should not update anchorOffset")
    at assertSelectionNoChange ( /selection/common.js:980:5)
Pass
assert_equals(Element node <html><head><title>Selection extend() tests</title> <meta..., Element node <html><head><title>Selection extend() tests</title> <meta..., "The operation should not update focusNode")
    at assertSelectionNoChange ( /selection/common.js:982:5)
Pass
assert_equals(1, 1, "The operation should not update focusOffset")
    at assertSelectionNoChange ( /selection/common.js:984:5)
Pass
assert_equals(object "Äb̈c̈d̈ëf̈g̈ḧ Ijklmnop QrstuvwxYzabcdefGhijklmn     Running, 1000 complete, 1 remain  "use strict";  testExtendSubSet(0, 20); testDiv.style.display = "none"; ", object "Äb̈c̈d̈ëf̈g̈ḧ Ijklmnop QrstuvwxYzabcdefGhijklmn     Running, 1000 complete, 1 remain  "use strict";  testExtendSubSet(0, 20); testDiv.style.display = "none"; ", "The operation should not replace a registered Range")
    at assertSelectionNoChange ( /selection/common.js:988:5)
Passextend() forwards with range 17 [document.documentElement, 1, document.documentElement, 2] and point 22 [foreignPara1.firstChild, 8]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(1, 1, "The operation should not add Range")
    at assertSelectionNoChange ( /selection/common.js:976:5)
Pass
assert_equals(Element node <html><head><title>Selection extend() tests</title> <meta..., Element node <html><head><title>Selection extend() tests</title> <meta..., "The operation should not update anchorNode")
    at assertSelectionNoChange ( /selection/common.js:978:5)
Pass
assert_equals(1, 1, "The operation should not update anchorOffset")
    at assertSelectionNoChange ( /selection/common.js:980:5)
Pass
assert_equals(Element node <html><head><title>Selection extend() tests</title> <meta..., Element node <html><head><title>Selection extend() tests</title> <meta..., "The operation should not update focusNode")
    at assertSelectionNoChange ( /selection/common.js:982:5)
Pass
assert_equals(2, 2, "The operation should not update focusOffset")
    at assertSelectionNoChange ( /selection/common.js:984:5)
Pass
assert_equals(object "Äb̈c̈d̈ëf̈g̈ḧ Ijklmnop QrstuvwxYzabcdefGhijklmn     Running, 1000 complete, 1 remain  "use strict";  testExtendSubSet(0, 20); testDiv.style.display = "none"; ", object "Äb̈c̈d̈ëf̈g̈ḧ Ijklmnop QrstuvwxYzabcdefGhijklmn     Running, 1000 complete, 1 remain  "use strict";  testExtendSubSet(0, 20); testDiv.style.display = "none"; ", "The operation should not replace a registered Range")
    at assertSelectionNoChange ( /selection/common.js:988:5)
Passextend() backwards with range 17 [document.documentElement, 1, document.documentElement, 2] and point 22 [foreignPara1.firstChild, 8]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(1, 1, "The operation should not add Range")
    at assertSelectionNoChange ( /selection/common.js:976:5)
Pass
assert_equals(Element node <html><head><title>Selection extend() tests</title> <meta..., Element node <html><head><title>Selection extend() tests</title> <meta..., "The operation should not update anchorNode")
    at assertSelectionNoChange ( /selection/common.js:978:5)
Pass
assert_equals(2, 2, "The operation should not update anchorOffset")
    at assertSelectionNoChange ( /selection/common.js:980:5)
Pass
assert_equals(Element node <html><head><title>Selection extend() tests</title> <meta..., Element node <html><head><title>Selection extend() tests</title> <meta..., "The operation should not update focusNode")
    at assertSelectionNoChange ( /selection/common.js:982:5)
Pass
assert_equals(1, 1, "The operation should not update focusOffset")
    at assertSelectionNoChange ( /selection/common.js:984:5)
Pass
assert_equals(object "Äb̈c̈d̈ëf̈g̈ḧ Ijklmnop QrstuvwxYzabcdefGhijklmn     Running, 1000 complete, 1 remain  "use strict";  testExtendSubSet(0, 20); testDiv.style.display = "none"; ", object "Äb̈c̈d̈ëf̈g̈ḧ Ijklmnop QrstuvwxYzabcdefGhijklmn     Running, 1000 complete, 1 remain  "use strict";  testExtendSubSet(0, 20); testDiv.style.display = "none"; ", "The operation should not replace a registered Range")
    at assertSelectionNoChange ( /selection/common.js:988:5)
Passextend() forwards with range 17 [document.documentElement, 1, document.documentElement, 2] and point 23 [foreignPara1.firstChild, 9]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(1, 1, "The operation should not add Range")
    at assertSelectionNoChange ( /selection/common.js:976:5)
Pass
assert_equals(Element node <html><head><title>Selection extend() tests</title> <meta..., Element node <html><head><title>Selection extend() tests</title> <meta..., "The operation should not update anchorNode")
    at assertSelectionNoChange ( /selection/common.js:978:5)
Pass
assert_equals(1, 1, "The operation should not update anchorOffset")
    at assertSelectionNoChange ( /selection/common.js:980:5)
Pass
assert_equals(Element node <html><head><title>Selection extend() tests</title> <meta..., Element node <html><head><title>Selection extend() tests</title> <meta..., "The operation should not update focusNode")
    at assertSelectionNoChange ( /selection/common.js:982:5)
Pass
assert_equals(2, 2, "The operation should not update focusOffset")
    at assertSelectionNoChange ( /selection/common.js:984:5)
Pass
assert_equals(object "Äb̈c̈d̈ëf̈g̈ḧ Ijklmnop QrstuvwxYzabcdefGhijklmn     Running, 1000 complete, 1 remain  "use strict";  testExtendSubSet(0, 20); testDiv.style.display = "none"; ", object "Äb̈c̈d̈ëf̈g̈ḧ Ijklmnop QrstuvwxYzabcdefGhijklmn     Running, 1000 complete, 1 remain  "use strict";  testExtendSubSet(0, 20); testDiv.style.display = "none"; ", "The operation should not replace a registered Range")
    at assertSelectionNoChange ( /selection/common.js:988:5)
Passextend() backwards with range 17 [document.documentElement, 1, document.documentElement, 2] and point 23 [foreignPara1.firstChild, 9]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(1, 1, "The operation should not add Range")
    at assertSelectionNoChange ( /selection/common.js:976:5)
Pass
assert_equals(Element node <html><head><title>Selection extend() tests</title> <meta..., Element node <html><head><title>Selection extend() tests</title> <meta..., "The operation should not update anchorNode")
    at assertSelectionNoChange ( /selection/common.js:978:5)
Pass
assert_equals(2, 2, "The operation should not update anchorOffset")
    at assertSelectionNoChange ( /selection/common.js:980:5)
Pass
assert_equals(Element node <html><head><title>Selection extend() tests</title> <meta..., Element node <html><head><title>Selection extend() tests</title> <meta..., "The operation should not update focusNode")
    at assertSelectionNoChange ( /selection/common.js:982:5)
Pass
assert_equals(1, 1, "The operation should not update focusOffset")
    at assertSelectionNoChange ( /selection/common.js:984:5)
Pass
assert_equals(object "Äb̈c̈d̈ëf̈g̈ḧ Ijklmnop QrstuvwxYzabcdefGhijklmn     Running, 1000 complete, 1 remain  "use strict";  testExtendSubSet(0, 20); testDiv.style.display = "none"; ", object "Äb̈c̈d̈ëf̈g̈ḧ Ijklmnop QrstuvwxYzabcdefGhijklmn     Running, 1000 complete, 1 remain  "use strict";  testExtendSubSet(0, 20); testDiv.style.display = "none"; ", "The operation should not replace a registered Range")
    at assertSelectionNoChange ( /selection/common.js:988:5)
Passextend() forwards with range 17 [document.documentElement, 1, document.documentElement, 2] and point 24 [document.documentElement, -1]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(Element node <html><head><title>Selection extend() tests</title> <meta..., Element node <html><head><title>Selection extend() tests</title> <meta..., "Sanity check: startContainer must be correct")
    at testExtend ( /selection/extend.js:80:5)
Pass
assert_equals(1, 1, "Sanity check: startOffset must be correct")
    at testExtend ( /selection/extend.js:82:5)
Pass
assert_equals(Element node <html><head><title>Selection extend() tests</title> <meta..., Element node <html><head><title>Selection extend() tests</title> <meta..., "Sanity check: endContainer must be correct")
    at testExtend ( /selection/extend.js:84:5)
Pass
assert_equals(2, 2, "Sanity check: endOffset must be correct")
    at testExtend ( /selection/extend.js:86:5)
Pass
assert_throws_dom("INDEX_SIZE_ERR", function "function() {             selection.extend(node, offset);         }", "extend() to an offset that's greater than node length (2) must throw IndexSizeError")
    at testExtend ( /selection/extend.js:117:9)
Passextend() backwards with range 17 [document.documentElement, 1, document.documentElement, 2] and point 24 [document.documentElement, -1]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(Element node <html><head><title>Selection extend() tests</title> <meta..., Element node <html><head><title>Selection extend() tests</title> <meta..., "Sanity check: startContainer must be correct")
    at testExtend ( /selection/extend.js:80:5)
Pass
assert_equals(1, 1, "Sanity check: startOffset must be correct")
    at testExtend ( /selection/extend.js:82:5)
Pass
assert_equals(Element node <html><head><title>Selection extend() tests</title> <meta..., Element node <html><head><title>Selection extend() tests</title> <meta..., "Sanity check: endContainer must be correct")
    at testExtend ( /selection/extend.js:84:5)
Pass
assert_equals(2, 2, "Sanity check: endOffset must be correct")
    at testExtend ( /selection/extend.js:86:5)
Pass
assert_throws_dom("INDEX_SIZE_ERR", function "function() {             selection.extend(node, offset);         }", "extend() to an offset that's greater than node length (2) must throw IndexSizeError")
    at testExtend ( /selection/extend.js:117:9)
Passextend() forwards with range 17 [document.documentElement, 1, document.documentElement, 2] and point 25 [document.documentElement, 0]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(Element node <html><head><title>Selection extend() tests</title> <meta..., Element node <html><head><title>Selection extend() tests</title> <meta..., "Sanity check: startContainer must be correct")
    at testExtend ( /selection/extend.js:80:5)
Pass
assert_equals(1, 1, "Sanity check: startOffset must be correct")
    at testExtend ( /selection/extend.js:82:5)
Pass
assert_equals(Element node <html><head><title>Selection extend() tests</title> <meta..., Element node <html><head><title>Selection extend() tests</title> <meta..., "Sanity check: endContainer must be correct")
    at testExtend ( /selection/extend.js:84:5)
Pass
assert_equals(2, 2, "Sanity check: endOffset must be correct")
    at testExtend ( /selection/extend.js:86:5)
Pass
assert_equals(Element node <html><head><title>Selection extend() tests</title> <meta..., Element node <html><head><title>Selection extend() tests</title> <meta..., "anchorNode must not change if the node passed to extend() has the same root as the original range")
    at testExtend ( /selection/extend.js:145:9)
Pass
assert_equals(1, 1, "anchorOffset must not change if the node passed to extend() has the same root as the original range")
    at testExtend ( /selection/extend.js:147:9)
Pass
assert_equals(Element node <html><head><title>Selection extend() tests</title> <meta..., Element node <html><head><title>Selection extend() tests</title> <meta..., "focusNode must be the node passed to extend()")
    at testExtend ( /selection/extend.js:155:5)
Pass
assert_equals(0, 0, "focusOffset must be the offset passed to extend()")
    at testExtend ( /selection/extend.js:157:5)
Pass
assert_not_equals(object "Selection extend() tests   ", object "Äb̈c̈d̈ëf̈g̈ḧ Ijklmnop QrstuvwxYzabcdefGhijklmn     Running, 1000 complete, 1 remain  "use strict";  testExtendSubSet(0, 20); testDiv.style.display = "none"; ", "extend() must replace any existing range with a new one, not mutate the existing one")
    at testExtend ( /selection/extend.js:159:5)
Passextend() backwards with range 17 [document.documentElement, 1, document.documentElement, 2] and point 25 [document.documentElement, 0]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(Element node <html><head><title>Selection extend() tests</title> <meta..., Element node <html><head><title>Selection extend() tests</title> <meta..., "Sanity check: startContainer must be correct")
    at testExtend ( /selection/extend.js:80:5)
Pass
assert_equals(1, 1, "Sanity check: startOffset must be correct")
    at testExtend ( /selection/extend.js:82:5)
Pass
assert_equals(Element node <html><head><title>Selection extend() tests</title> <meta..., Element node <html><head><title>Selection extend() tests</title> <meta..., "Sanity check: endContainer must be correct")
    at testExtend ( /selection/extend.js:84:5)
Pass
assert_equals(2, 2, "Sanity check: endOffset must be correct")
    at testExtend ( /selection/extend.js:86:5)
Pass
assert_equals(Element node <html><head><title>Selection extend() tests</title> <meta..., Element node <html><head><title>Selection extend() tests</title> <meta..., "anchorNode must not change if the node passed to extend() has the same root as the original range")
    at testExtend ( /selection/extend.js:145:9)
Pass
assert_equals(2, 2, "anchorOffset must not change if the node passed to extend() has the same root as the original range")
    at testExtend ( /selection/extend.js:147:9)
Pass
assert_equals(Element node <html><head><title>Selection extend() tests</title> <meta..., Element node <html><head><title>Selection extend() tests</title> <meta..., "focusNode must be the node passed to extend()")
    at testExtend ( /selection/extend.js:155:5)
Pass
assert_equals(0, 0, "focusOffset must be the offset passed to extend()")
    at testExtend ( /selection/extend.js:157:5)
Pass
assert_not_equals(object "Selection extend() tests   Äb̈c̈d̈ëf̈g̈ḧ Ijklmnop QrstuvwxYzabcdefGhijklmn     Running, 1000 complete, 1 remain  "use strict";  testExtendSubSet(0, 20); testDiv.style.display = "none"; ", object "Äb̈c̈d̈ëf̈g̈ḧ Ijklmnop QrstuvwxYzabcdefGhijklmn     Running, 1000 complete, 1 remain  "use strict";  testExtendSubSet(0, 20); testDiv.style.display = "none"; ", "extend() must replace any existing range with a new one, not mutate the existing one")
    at testExtend ( /selection/extend.js:159:5)
Passextend() forwards with range 17 [document.documentElement, 1, document.documentElement, 2] and point 26 [document.documentElement, 1]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(Element node <html><head><title>Selection extend() tests</title> <meta..., Element node <html><head><title>Selection extend() tests</title> <meta..., "Sanity check: startContainer must be correct")
    at testExtend ( /selection/extend.js:80:5)
Pass
assert_equals(1, 1, "Sanity check: startOffset must be correct")
    at testExtend ( /selection/extend.js:82:5)
Pass
assert_equals(Element node <html><head><title>Selection extend() tests</title> <meta..., Element node <html><head><title>Selection extend() tests</title> <meta..., "Sanity check: endContainer must be correct")
    at testExtend ( /selection/extend.js:84:5)
Pass
assert_equals(2, 2, "Sanity check: endOffset must be correct")
    at testExtend ( /selection/extend.js:86:5)
Pass
assert_equals(Element node <html><head><title>Selection extend() tests</title> <meta..., Element node <html><head><title>Selection extend() tests</title> <meta..., "anchorNode must not change if the node passed to extend() has the same root as the original range")
    at testExtend ( /selection/extend.js:145:9)
Pass
assert_equals(1, 1, "anchorOffset must not change if the node passed to extend() has the same root as the original range")
    at testExtend ( /selection/extend.js:147:9)
Pass
assert_equals(Element node <html><head><title>Selection extend() tests</title> <meta..., Element node <html><head><title>Selection extend() tests</title> <meta..., "focusNode must be the node passed to extend()")
    at testExtend ( /selection/extend.js:155:5)
Pass
assert_equals(1, 1, "focusOffset must be the offset passed to extend()")
    at testExtend ( /selection/extend.js:157:5)
Pass
assert_not_equals(object "", object "Äb̈c̈d̈ëf̈g̈ḧ Ijklmnop QrstuvwxYzabcdefGhijklmn     Running, 1000 complete, 1 remain  "use strict";  testExtendSubSet(0, 20); testDiv.style.display = "none"; ", "extend() must replace any existing range with a new one, not mutate the existing one")
    at testExtend ( /selection/extend.js:159:5)
Passextend() backwards with range 17 [document.documentElement, 1, document.documentElement, 2] and point 26 [document.documentElement, 1]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(Element node <html><head><title>Selection extend() tests</title> <meta..., Element node <html><head><title>Selection extend() tests</title> <meta..., "Sanity check: startContainer must be correct")
    at testExtend ( /selection/extend.js:80:5)
Pass
assert_equals(1, 1, "Sanity check: startOffset must be correct")
    at testExtend ( /selection/extend.js:82:5)
Pass
assert_equals(Element node <html><head><title>Selection extend() tests</title> <meta..., Element node <html><head><title>Selection extend() tests</title> <meta..., "Sanity check: endContainer must be correct")
    at testExtend ( /selection/extend.js:84:5)
Pass
assert_equals(2, 2, "Sanity check: endOffset must be correct")
    at testExtend ( /selection/extend.js:86:5)
Pass
assert_equals(Element node <html><head><title>Selection extend() tests</title> <meta..., Element node <html><head><title>Selection extend() tests</title> <meta..., "anchorNode must not change if the node passed to extend() has the same root as the original range")
    at testExtend ( /selection/extend.js:145:9)
Pass
assert_equals(2, 2, "anchorOffset must not change if the node passed to extend() has the same root as the original range")
    at testExtend ( /selection/extend.js:147:9)
Pass
assert_equals(Element node <html><head><title>Selection extend() tests</title> <meta..., Element node <html><head><title>Selection extend() tests</title> <meta..., "focusNode must be the node passed to extend()")
    at testExtend ( /selection/extend.js:155:5)
Pass
assert_equals(1, 1, "focusOffset must be the offset passed to extend()")
    at testExtend ( /selection/extend.js:157:5)
Pass
assert_not_equals(object "Äb̈c̈d̈ëf̈g̈ḧ Ijklmnop QrstuvwxYzabcdefGhijklmn     Running, 1000 complete, 1 remain  "use strict";  testExtendSubSet(0, 20); testDiv.style.display = "none"; ", object "Äb̈c̈d̈ëf̈g̈ḧ Ijklmnop QrstuvwxYzabcdefGhijklmn     Running, 1000 complete, 1 remain  "use strict";  testExtendSubSet(0, 20); testDiv.style.display = "none"; ", "extend() must replace any existing range with a new one, not mutate the existing one")
    at testExtend ( /selection/extend.js:159:5)
Passextend() forwards with range 17 [document.documentElement, 1, document.documentElement, 2] and point 27 [document.documentElement, 2]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(Element node <html><head><title>Selection extend() tests</title> <meta..., Element node <html><head><title>Selection extend() tests</title> <meta..., "Sanity check: startContainer must be correct")
    at testExtend ( /selection/extend.js:80:5)
Pass
assert_equals(1, 1, "Sanity check: startOffset must be correct")
    at testExtend ( /selection/extend.js:82:5)
Pass
assert_equals(Element node <html><head><title>Selection extend() tests</title> <meta..., Element node <html><head><title>Selection extend() tests</title> <meta..., "Sanity check: endContainer must be correct")
    at testExtend ( /selection/extend.js:84:5)
Pass
assert_equals(2, 2, "Sanity check: endOffset must be correct")
    at testExtend ( /selection/extend.js:86:5)
Pass
assert_equals(Element node <html><head><title>Selection extend() tests</title> <meta..., Element node <html><head><title>Selection extend() tests</title> <meta..., "anchorNode must not change if the node passed to extend() has the same root as the original range")
    at testExtend ( /selection/extend.js:145:9)
Pass
assert_equals(1, 1, "anchorOffset must not change if the node passed to extend() has the same root as the original range")
    at testExtend ( /selection/extend.js:147:9)
Pass
assert_equals(Element node <html><head><title>Selection extend() tests</title> <meta..., Element node <html><head><title>Selection extend() tests</title> <meta..., "focusNode must be the node passed to extend()")
    at testExtend ( /selection/extend.js:155:5)
Pass
assert_equals(2, 2, "focusOffset must be the offset passed to extend()")
    at testExtend ( /selection/extend.js:157:5)
Pass
assert_not_equals(object "Äb̈c̈d̈ëf̈g̈ḧ Ijklmnop QrstuvwxYzabcdefGhijklmn     Running, 1000 complete, 1 remain  "use strict";  testExtendSubSet(0, 20); testDiv.style.display = "none"; ", object "Äb̈c̈d̈ëf̈g̈ḧ Ijklmnop QrstuvwxYzabcdefGhijklmn     Running, 1000 complete, 1 remain  "use strict";  testExtendSubSet(0, 20); testDiv.style.display = "none"; ", "extend() must replace any existing range with a new one, not mutate the existing one")
    at testExtend ( /selection/extend.js:159:5)
Passextend() backwards with range 17 [document.documentElement, 1, document.documentElement, 2] and point 27 [document.documentElement, 2]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(Element node <html><head><title>Selection extend() tests</title> <meta..., Element node <html><head><title>Selection extend() tests</title> <meta..., "Sanity check: startContainer must be correct")
    at testExtend ( /selection/extend.js:80:5)
Pass
assert_equals(1, 1, "Sanity check: startOffset must be correct")
    at testExtend ( /selection/extend.js:82:5)
Pass
assert_equals(Element node <html><head><title>Selection extend() tests</title> <meta..., Element node <html><head><title>Selection extend() tests</title> <meta..., "Sanity check: endContainer must be correct")
    at testExtend ( /selection/extend.js:84:5)
Pass
assert_equals(2, 2, "Sanity check: endOffset must be correct")
    at testExtend ( /selection/extend.js:86:5)
Pass
assert_equals(Element node <html><head><title>Selection extend() tests</title> <meta..., Element node <html><head><title>Selection extend() tests</title> <meta..., "anchorNode must not change if the node passed to extend() has the same root as the original range")
    at testExtend ( /selection/extend.js:145:9)
Pass
assert_equals(2, 2, "anchorOffset must not change if the node passed to extend() has the same root as the original range")
    at testExtend ( /selection/extend.js:147:9)
Pass
assert_equals(Element node <html><head><title>Selection extend() tests</title> <meta..., Element node <html><head><title>Selection extend() tests</title> <meta..., "focusNode must be the node passed to extend()")
    at testExtend ( /selection/extend.js:155:5)
Pass
assert_equals(2, 2, "focusOffset must be the offset passed to extend()")
    at testExtend ( /selection/extend.js:157:5)
Pass
assert_not_equals(object "", object "Äb̈c̈d̈ëf̈g̈ḧ Ijklmnop QrstuvwxYzabcdefGhijklmn     Running, 1000 complete, 1 remain  "use strict";  testExtendSubSet(0, 20); testDiv.style.display = "none"; ", "extend() must replace any existing range with a new one, not mutate the existing one")
    at testExtend ( /selection/extend.js:159:5)
Passextend() forwards with range 17 [document.documentElement, 1, document.documentElement, 2] and point 28 [document.documentElement, 7]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(Element node <html><head><title>Selection extend() tests</title> <meta..., Element node <html><head><title>Selection extend() tests</title> <meta..., "Sanity check: startContainer must be correct")
    at testExtend ( /selection/extend.js:80:5)
Pass
assert_equals(1, 1, "Sanity check: startOffset must be correct")
    at testExtend ( /selection/extend.js:82:5)
Pass
assert_equals(Element node <html><head><title>Selection extend() tests</title> <meta..., Element node <html><head><title>Selection extend() tests</title> <meta..., "Sanity check: endContainer must be correct")
    at testExtend ( /selection/extend.js:84:5)
Pass
assert_equals(2, 2, "Sanity check: endOffset must be correct")
    at testExtend ( /selection/extend.js:86:5)
Pass
assert_throws_dom("INDEX_SIZE_ERR", function "function() {             selection.extend(node, offset);         }", "extend() to an offset that's greater than node length (2) must throw IndexSizeError")
    at testExtend ( /selection/extend.js:117:9)
Passextend() backwards with range 17 [document.documentElement, 1, document.documentElement, 2] and point 28 [document.documentElement, 7]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(Element node <html><head><title>Selection extend() tests</title> <meta..., Element node <html><head><title>Selection extend() tests</title> <meta..., "Sanity check: startContainer must be correct")
    at testExtend ( /selection/extend.js:80:5)
Pass
assert_equals(1, 1, "Sanity check: startOffset must be correct")
    at testExtend ( /selection/extend.js:82:5)
Pass
assert_equals(Element node <html><head><title>Selection extend() tests</title> <meta..., Element node <html><head><title>Selection extend() tests</title> <meta..., "Sanity check: endContainer must be correct")
    at testExtend ( /selection/extend.js:84:5)
Pass
assert_equals(2, 2, "Sanity check: endOffset must be correct")
    at testExtend ( /selection/extend.js:86:5)
Pass
assert_throws_dom("INDEX_SIZE_ERR", function "function() {             selection.extend(node, offset);         }", "extend() to an offset that's greater than node length (2) must throw IndexSizeError")
    at testExtend ( /selection/extend.js:117:9)
Passextend() forwards with range 17 [document.documentElement, 1, document.documentElement, 2] and point 29 [document.head, 1]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(Element node <html><head><title>Selection extend() tests</title> <meta..., Element node <html><head><title>Selection extend() tests</title> <meta..., "Sanity check: startContainer must be correct")
    at testExtend ( /selection/extend.js:80:5)
Pass
assert_equals(1, 1, "Sanity check: startOffset must be correct")
    at testExtend ( /selection/extend.js:82:5)
Pass
assert_equals(Element node <html><head><title>Selection extend() tests</title> <meta..., Element node <html><head><title>Selection extend() tests</title> <meta..., "Sanity check: endContainer must be correct")
    at testExtend ( /selection/extend.js:84:5)
Pass
assert_equals(2, 2, "Sanity check: endOffset must be correct")
    at testExtend ( /selection/extend.js:86:5)
Pass
assert_equals(Element node <html><head><title>Selection extend() tests</title> <meta..., Element node <html><head><title>Selection extend() tests</title> <meta..., "anchorNode must not change if the node passed to extend() has the same root as the original range")
    at testExtend ( /selection/extend.js:145:9)
Pass
assert_equals(1, 1, "anchorOffset must not change if the node passed to extend() has the same root as the original range")
    at testExtend ( /selection/extend.js:147:9)
Pass
assert_equals(Element node <head><title>Selection extend() tests</title> <meta chars..., Element node <head><title>Selection extend() tests</title> <meta chars..., "focusNode must be the node passed to extend()")
    at testExtend ( /selection/extend.js:155:5)
Pass
assert_equals(1, 1, "focusOffset must be the offset passed to extend()")
    at testExtend ( /selection/extend.js:157:5)
Pass
assert_not_equals(object "   ", object "Äb̈c̈d̈ëf̈g̈ḧ Ijklmnop QrstuvwxYzabcdefGhijklmn     Running, 1000 complete, 1 remain  "use strict";  testExtendSubSet(0, 20); testDiv.style.display = "none"; ", "extend() must replace any existing range with a new one, not mutate the existing one")
    at testExtend ( /selection/extend.js:159:5)
Passextend() backwards with range 17 [document.documentElement, 1, document.documentElement, 2] and point 29 [document.head, 1]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(Element node <html><head><title>Selection extend() tests</title> <meta..., Element node <html><head><title>Selection extend() tests</title> <meta..., "Sanity check: startContainer must be correct")
    at testExtend ( /selection/extend.js:80:5)
Pass
assert_equals(1, 1, "Sanity check: startOffset must be correct")
    at testExtend ( /selection/extend.js:82:5)
Pass
assert_equals(Element node <html><head><title>Selection extend() tests</title> <meta..., Element node <html><head><title>Selection extend() tests</title> <meta..., "Sanity check: endContainer must be correct")
    at testExtend ( /selection/extend.js:84:5)
Pass
assert_equals(2, 2, "Sanity check: endOffset must be correct")
    at testExtend ( /selection/extend.js:86:5)
Pass
assert_equals(Element node <html><head><title>Selection extend() tests</title> <meta..., Element node <html><head><title>Selection extend() tests</title> <meta..., "anchorNode must not change if the node passed to extend() has the same root as the original range")
    at testExtend ( /selection/extend.js:145:9)
Pass
assert_equals(2, 2, "anchorOffset must not change if the node passed to extend() has the same root as the original range")
    at testExtend ( /selection/extend.js:147:9)
Pass
assert_equals(Element node <head><title>Selection extend() tests</title> <meta chars..., Element node <head><title>Selection extend() tests</title> <meta chars..., "focusNode must be the node passed to extend()")
    at testExtend ( /selection/extend.js:155:5)
Pass
assert_equals(1, 1, "focusOffset must be the offset passed to extend()")
    at testExtend ( /selection/extend.js:157:5)
Pass
assert_not_equals(object "   Äb̈c̈d̈ëf̈g̈ḧ Ijklmnop QrstuvwxYzabcdefGhijklmn     Running, 1000 complete, 1 remain  "use strict";  testExtendSubSet(0, 20); testDiv.style.display = "none"; ", object "Äb̈c̈d̈ëf̈g̈ḧ Ijklmnop QrstuvwxYzabcdefGhijklmn     Running, 1000 complete, 1 remain  "use strict";  testExtendSubSet(0, 20); testDiv.style.display = "none"; ", "extend() must replace any existing range with a new one, not mutate the existing one")
    at testExtend ( /selection/extend.js:159:5)
Passextend() forwards with range 17 [document.documentElement, 1, document.documentElement, 2] and point 30 [document.body, 3]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(Element node <html><head><title>Selection extend() tests</title> <meta..., Element node <html><head><title>Selection extend() tests</title> <meta..., "Sanity check: startContainer must be correct")
    at testExtend ( /selection/extend.js:80:5)
Pass
assert_equals(1, 1, "Sanity check: startOffset must be correct")
    at testExtend ( /selection/extend.js:82:5)
Pass
assert_equals(Element node <html><head><title>Selection extend() tests</title> <meta..., Element node <html><head><title>Selection extend() tests</title> <meta..., "Sanity check: endContainer must be correct")
    at testExtend ( /selection/extend.js:84:5)
Pass
assert_equals(2, 2, "Sanity check: endOffset must be correct")
    at testExtend ( /selection/extend.js:86:5)
Pass
assert_equals(Element node <html><head><title>Selection extend() tests</title> <meta..., Element node <html><head><title>Selection extend() tests</title> <meta..., "anchorNode must not change if the node passed to extend() has the same root as the original range")
    at testExtend ( /selection/extend.js:145:9)
Pass
assert_equals(1, 1, "anchorOffset must not change if the node passed to extend() has the same root as the original range")
    at testExtend ( /selection/extend.js:147:9)
Pass
assert_equals(Element node <body><div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ </p><p id..., Element node <body><div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ </p><p id..., "focusNode must be the node passed to extend()")
    at testExtend ( /selection/extend.js:155:5)
Pass
assert_equals(3, 3, "focusOffset must be the offset passed to extend()")
    at testExtend ( /selection/extend.js:157:5)
Pass
assert_not_equals(object "Äb̈c̈d̈ëf̈g̈ḧ Ijklmnop QrstuvwxYzabcdefGhijklmn ", object "Äb̈c̈d̈ëf̈g̈ḧ Ijklmnop QrstuvwxYzabcdefGhijklmn     Running, 1000 complete, 1 remain  "use strict";  testExtendSubSet(0, 20); testDiv.style.display = "none"; ", "extend() must replace any existing range with a new one, not mutate the existing one")
    at testExtend ( /selection/extend.js:159:5)
Passextend() backwards with range 17 [document.documentElement, 1, document.documentElement, 2] and point 30 [document.body, 3]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(Element node <html><head><title>Selection extend() tests</title> <meta..., Element node <html><head><title>Selection extend() tests</title> <meta..., "Sanity check: startContainer must be correct")
    at testExtend ( /selection/extend.js:80:5)
Pass
assert_equals(1, 1, "Sanity check: startOffset must be correct")
    at testExtend ( /selection/extend.js:82:5)
Pass
assert_equals(Element node <html><head><title>Selection extend() tests</title> <meta..., Element node <html><head><title>Selection extend() tests</title> <meta..., "Sanity check: endContainer must be correct")
    at testExtend ( /selection/extend.js:84:5)
Pass
assert_equals(2, 2, "Sanity check: endOffset must be correct")
    at testExtend ( /selection/extend.js:86:5)
Pass
assert_equals(Element node <html><head><title>Selection extend() tests</title> <meta..., Element node <html><head><title>Selection extend() tests</title> <meta..., "anchorNode must not change if the node passed to extend() has the same root as the original range")
    at testExtend ( /selection/extend.js:145:9)
Pass
assert_equals(2, 2, "anchorOffset must not change if the node passed to extend() has the same root as the original range")
    at testExtend ( /selection/extend.js:147:9)
Pass
assert_equals(Element node <body><div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ </p><p id..., Element node <body><div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ </p><p id..., "focusNode must be the node passed to extend()")
    at testExtend ( /selection/extend.js:155:5)
Pass
assert_equals(3, 3, "focusOffset must be the offset passed to extend()")
    at testExtend ( /selection/extend.js:157:5)
Pass
assert_not_equals(object "    Running, 1000 complete, 1 remain  "use strict";  testExtendSubSet(0, 20); testDiv.style.display = "none"; ", object "Äb̈c̈d̈ëf̈g̈ḧ Ijklmnop QrstuvwxYzabcdefGhijklmn     Running, 1000 complete, 1 remain  "use strict";  testExtendSubSet(0, 20); testDiv.style.display = "none"; ", "extend() must replace any existing range with a new one, not mutate the existing one")
    at testExtend ( /selection/extend.js:159:5)
Passextend() forwards with range 17 [document.documentElement, 1, document.documentElement, 2] and point 31 [foreignDoc.documentElement, 0]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(1, 1, "The operation should not add Range")
    at assertSelectionNoChange ( /selection/common.js:976:5)
Pass
assert_equals(Element node <html><head><title>Selection extend() tests</title> <meta..., Element node <html><head><title>Selection extend() tests</title> <meta..., "The operation should not update anchorNode")
    at assertSelectionNoChange ( /selection/common.js:978:5)
Pass
assert_equals(1, 1, "The operation should not update anchorOffset")
    at assertSelectionNoChange ( /selection/common.js:980:5)
Pass
assert_equals(Element node <html><head><title>Selection extend() tests</title> <meta..., Element node <html><head><title>Selection extend() tests</title> <meta..., "The operation should not update focusNode")
    at assertSelectionNoChange ( /selection/common.js:982:5)
Pass
assert_equals(2, 2, "The operation should not update focusOffset")
    at assertSelectionNoChange ( /selection/common.js:984:5)
Pass
assert_equals(object "Äb̈c̈d̈ëf̈g̈ḧ Ijklmnop QrstuvwxYzabcdefGhijklmn     Running, 1000 complete, 1 remain  "use strict";  testExtendSubSet(0, 20); testDiv.style.display = "none"; ", object "Äb̈c̈d̈ëf̈g̈ḧ Ijklmnop QrstuvwxYzabcdefGhijklmn     Running, 1000 complete, 1 remain  "use strict";  testExtendSubSet(0, 20); testDiv.style.display = "none"; ", "The operation should not replace a registered Range")
    at assertSelectionNoChange ( /selection/common.js:988:5)
Passextend() backwards with range 17 [document.documentElement, 1, document.documentElement, 2] and point 31 [foreignDoc.documentElement, 0]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(1, 1, "The operation should not add Range")
    at assertSelectionNoChange ( /selection/common.js:976:5)
Pass
assert_equals(Element node <html><head><title>Selection extend() tests</title> <meta..., Element node <html><head><title>Selection extend() tests</title> <meta..., "The operation should not update anchorNode")
    at assertSelectionNoChange ( /selection/common.js:978:5)
Pass
assert_equals(2, 2, "The operation should not update anchorOffset")
    at assertSelectionNoChange ( /selection/common.js:980:5)
Pass
assert_equals(Element node <html><head><title>Selection extend() tests</title> <meta..., Element node <html><head><title>Selection extend() tests</title> <meta..., "The operation should not update focusNode")
    at assertSelectionNoChange ( /selection/common.js:982:5)
Pass
assert_equals(1, 1, "The operation should not update focusOffset")
    at assertSelectionNoChange ( /selection/common.js:984:5)
Pass
assert_equals(object "Äb̈c̈d̈ëf̈g̈ḧ Ijklmnop QrstuvwxYzabcdefGhijklmn     Running, 1000 complete, 1 remain  "use strict";  testExtendSubSet(0, 20); testDiv.style.display = "none"; ", object "Äb̈c̈d̈ëf̈g̈ḧ Ijklmnop QrstuvwxYzabcdefGhijklmn     Running, 1000 complete, 1 remain  "use strict";  testExtendSubSet(0, 20); testDiv.style.display = "none"; ", "The operation should not replace a registered Range")
    at assertSelectionNoChange ( /selection/common.js:988:5)
Passextend() forwards with range 17 [document.documentElement, 1, document.documentElement, 2] and point 32 [foreignDoc.documentElement, 1]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(1, 1, "The operation should not add Range")
    at assertSelectionNoChange ( /selection/common.js:976:5)
Pass
assert_equals(Element node <html><head><title>Selection extend() tests</title> <meta..., Element node <html><head><title>Selection extend() tests</title> <meta..., "The operation should not update anchorNode")
    at assertSelectionNoChange ( /selection/common.js:978:5)
Pass
assert_equals(1, 1, "The operation should not update anchorOffset")
    at assertSelectionNoChange ( /selection/common.js:980:5)
Pass
assert_equals(Element node <html><head><title>Selection extend() tests</title> <meta..., Element node <html><head><title>Selection extend() tests</title> <meta..., "The operation should not update focusNode")
    at assertSelectionNoChange ( /selection/common.js:982:5)
Pass
assert_equals(2, 2, "The operation should not update focusOffset")
    at assertSelectionNoChange ( /selection/common.js:984:5)
Pass
assert_equals(object "Äb̈c̈d̈ëf̈g̈ḧ Ijklmnop QrstuvwxYzabcdefGhijklmn     Running, 1000 complete, 1 remain  "use strict";  testExtendSubSet(0, 20); testDiv.style.display = "none"; ", object "Äb̈c̈d̈ëf̈g̈ḧ Ijklmnop QrstuvwxYzabcdefGhijklmn     Running, 1000 complete, 1 remain  "use strict";  testExtendSubSet(0, 20); testDiv.style.display = "none"; ", "The operation should not replace a registered Range")
    at assertSelectionNoChange ( /selection/common.js:988:5)
Passextend() backwards with range 17 [document.documentElement, 1, document.documentElement, 2] and point 32 [foreignDoc.documentElement, 1]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(1, 1, "The operation should not add Range")
    at assertSelectionNoChange ( /selection/common.js:976:5)
Pass
assert_equals(Element node <html><head><title>Selection extend() tests</title> <meta..., Element node <html><head><title>Selection extend() tests</title> <meta..., "The operation should not update anchorNode")
    at assertSelectionNoChange ( /selection/common.js:978:5)
Pass
assert_equals(2, 2, "The operation should not update anchorOffset")
    at assertSelectionNoChange ( /selection/common.js:980:5)
Pass
assert_equals(Element node <html><head><title>Selection extend() tests</title> <meta..., Element node <html><head><title>Selection extend() tests</title> <meta..., "The operation should not update focusNode")
    at assertSelectionNoChange ( /selection/common.js:982:5)
Pass
assert_equals(1, 1, "The operation should not update focusOffset")
    at assertSelectionNoChange ( /selection/common.js:984:5)
Pass
assert_equals(object "Äb̈c̈d̈ëf̈g̈ḧ Ijklmnop QrstuvwxYzabcdefGhijklmn     Running, 1000 complete, 1 remain  "use strict";  testExtendSubSet(0, 20); testDiv.style.display = "none"; ", object "Äb̈c̈d̈ëf̈g̈ḧ Ijklmnop QrstuvwxYzabcdefGhijklmn     Running, 1000 complete, 1 remain  "use strict";  testExtendSubSet(0, 20); testDiv.style.display = "none"; ", "The operation should not replace a registered Range")
    at assertSelectionNoChange ( /selection/common.js:988:5)
Passextend() forwards with range 17 [document.documentElement, 1, document.documentElement, 2] and point 33 [foreignDoc.head, 0]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(1, 1, "The operation should not add Range")
    at assertSelectionNoChange ( /selection/common.js:976:5)
Pass
assert_equals(Element node <html><head><title>Selection extend() tests</title> <meta..., Element node <html><head><title>Selection extend() tests</title> <meta..., "The operation should not update anchorNode")
    at assertSelectionNoChange ( /selection/common.js:978:5)
Pass
assert_equals(1, 1, "The operation should not update anchorOffset")
    at assertSelectionNoChange ( /selection/common.js:980:5)
Pass
assert_equals(Element node <html><head><title>Selection extend() tests</title> <meta..., Element node <html><head><title>Selection extend() tests</title> <meta..., "The operation should not update focusNode")
    at assertSelectionNoChange ( /selection/common.js:982:5)
Pass
assert_equals(2, 2, "The operation should not update focusOffset")
    at assertSelectionNoChange ( /selection/common.js:984:5)
Pass
assert_equals(object "Äb̈c̈d̈ëf̈g̈ḧ Ijklmnop QrstuvwxYzabcdefGhijklmn     Running, 1000 complete, 1 remain  "use strict";  testExtendSubSet(0, 20); testDiv.style.display = "none"; ", object "Äb̈c̈d̈ëf̈g̈ḧ Ijklmnop QrstuvwxYzabcdefGhijklmn     Running, 1000 complete, 1 remain  "use strict";  testExtendSubSet(0, 20); testDiv.style.display = "none"; ", "The operation should not replace a registered Range")
    at assertSelectionNoChange ( /selection/common.js:988:5)
Passextend() backwards with range 17 [document.documentElement, 1, document.documentElement, 2] and point 33 [foreignDoc.head, 0]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(1, 1, "The operation should not add Range")
    at assertSelectionNoChange ( /selection/common.js:976:5)
Pass
assert_equals(Element node <html><head><title>Selection extend() tests</title> <meta..., Element node <html><head><title>Selection extend() tests</title> <meta..., "The operation should not update anchorNode")
    at assertSelectionNoChange ( /selection/common.js:978:5)
Pass
assert_equals(2, 2, "The operation should not update anchorOffset")
    at assertSelectionNoChange ( /selection/common.js:980:5)
Pass
assert_equals(Element node <html><head><title>Selection extend() tests</title> <meta..., Element node <html><head><title>Selection extend() tests</title> <meta..., "The operation should not update focusNode")
    at assertSelectionNoChange ( /selection/common.js:982:5)
Pass
assert_equals(1, 1, "The operation should not update focusOffset")
    at assertSelectionNoChange ( /selection/common.js:984:5)
Pass
assert_equals(object "Äb̈c̈d̈ëf̈g̈ḧ Ijklmnop QrstuvwxYzabcdefGhijklmn     Running, 1000 complete, 1 remain  "use strict";  testExtendSubSet(0, 20); testDiv.style.display = "none"; ", object "Äb̈c̈d̈ëf̈g̈ḧ Ijklmnop QrstuvwxYzabcdefGhijklmn     Running, 1000 complete, 1 remain  "use strict";  testExtendSubSet(0, 20); testDiv.style.display = "none"; ", "The operation should not replace a registered Range")
    at assertSelectionNoChange ( /selection/common.js:988:5)
Passextend() forwards with range 17 [document.documentElement, 1, document.documentElement, 2] and point 34 [foreignDoc.body, 1]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(1, 1, "The operation should not add Range")
    at assertSelectionNoChange ( /selection/common.js:976:5)
Pass
assert_equals(Element node <html><head><title>Selection extend() tests</title> <meta..., Element node <html><head><title>Selection extend() tests</title> <meta..., "The operation should not update anchorNode")
    at assertSelectionNoChange ( /selection/common.js:978:5)
Pass
assert_equals(1, 1, "The operation should not update anchorOffset")
    at assertSelectionNoChange ( /selection/common.js:980:5)
Pass
assert_equals(Element node <html><head><title>Selection extend() tests</title> <meta..., Element node <html><head><title>Selection extend() tests</title> <meta..., "The operation should not update focusNode")
    at assertSelectionNoChange ( /selection/common.js:982:5)
Pass
assert_equals(2, 2, "The operation should not update focusOffset")
    at assertSelectionNoChange ( /selection/common.js:984:5)
Pass
assert_equals(object "Äb̈c̈d̈ëf̈g̈ḧ Ijklmnop QrstuvwxYzabcdefGhijklmn     Running, 1000 complete, 1 remain  "use strict";  testExtendSubSet(0, 20); testDiv.style.display = "none"; ", object "Äb̈c̈d̈ëf̈g̈ḧ Ijklmnop QrstuvwxYzabcdefGhijklmn     Running, 1000 complete, 1 remain  "use strict";  testExtendSubSet(0, 20); testDiv.style.display = "none"; ", "The operation should not replace a registered Range")
    at assertSelectionNoChange ( /selection/common.js:988:5)
Passextend() backwards with range 17 [document.documentElement, 1, document.documentElement, 2] and point 34 [foreignDoc.body, 1]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(1, 1, "The operation should not add Range")
    at assertSelectionNoChange ( /selection/common.js:976:5)
Pass
assert_equals(Element node <html><head><title>Selection extend() tests</title> <meta..., Element node <html><head><title>Selection extend() tests</title> <meta..., "The operation should not update anchorNode")
    at assertSelectionNoChange ( /selection/common.js:978:5)
Pass
assert_equals(2, 2, "The operation should not update anchorOffset")
    at assertSelectionNoChange ( /selection/common.js:980:5)
Pass
assert_equals(Element node <html><head><title>Selection extend() tests</title> <meta..., Element node <html><head><title>Selection extend() tests</title> <meta..., "The operation should not update focusNode")
    at assertSelectionNoChange ( /selection/common.js:982:5)
Pass
assert_equals(1, 1, "The operation should not update focusOffset")
    at assertSelectionNoChange ( /selection/common.js:984:5)
Pass
assert_equals(object "Äb̈c̈d̈ëf̈g̈ḧ Ijklmnop QrstuvwxYzabcdefGhijklmn     Running, 1000 complete, 1 remain  "use strict";  testExtendSubSet(0, 20); testDiv.style.display = "none"; ", object "Äb̈c̈d̈ëf̈g̈ḧ Ijklmnop QrstuvwxYzabcdefGhijklmn     Running, 1000 complete, 1 remain  "use strict";  testExtendSubSet(0, 20); testDiv.style.display = "none"; ", "The operation should not replace a registered Range")
    at assertSelectionNoChange ( /selection/common.js:988:5)
Passextend() forwards with range 17 [document.documentElement, 1, document.documentElement, 2] and point 35 [paras[0], 0]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(Element node <html><head><title>Selection extend() tests</title> <meta..., Element node <html><head><title>Selection extend() tests</title> <meta..., "Sanity check: startContainer must be correct")
    at testExtend ( /selection/extend.js:80:5)
Pass
assert_equals(1, 1, "Sanity check: startOffset must be correct")
    at testExtend ( /selection/extend.js:82:5)
Pass
assert_equals(Element node <html><head><title>Selection extend() tests</title> <meta..., Element node <html><head><title>Selection extend() tests</title> <meta..., "Sanity check: endContainer must be correct")
    at testExtend ( /selection/extend.js:84:5)
Pass
assert_equals(2, 2, "Sanity check: endOffset must be correct")
    at testExtend ( /selection/extend.js:86:5)
Pass
assert_equals(Element node <html><head><title>Selection extend() tests</title> <meta..., Element node <html><head><title>Selection extend() tests</title> <meta..., "anchorNode must not change if the node passed to extend() has the same root as the original range")
    at testExtend ( /selection/extend.js:145:9)
Pass
assert_equals(1, 1, "anchorOffset must not change if the node passed to extend() has the same root as the original range")
    at testExtend ( /selection/extend.js:147:9)
Pass
assert_equals(Element node <p id="a">Äb̈c̈d̈ëf̈g̈ḧ </p>, Element node <p id="a">Äb̈c̈d̈ëf̈g̈ḧ </p>, "focusNode must be the node passed to extend()")
    at testExtend ( /selection/extend.js:155:5)
Pass
assert_equals(0, 0, "focusOffset must be the offset passed to extend()")
    at testExtend ( /selection/extend.js:157:5)
Pass
assert_not_equals(object "", object "Äb̈c̈d̈ëf̈g̈ḧ Ijklmnop QrstuvwxYzabcdefGhijklmn     Running, 1000 complete, 1 remain  "use strict";  testExtendSubSet(0, 20); testDiv.style.display = "none"; ", "extend() must replace any existing range with a new one, not mutate the existing one")
    at testExtend ( /selection/extend.js:159:5)
Passextend() backwards with range 17 [document.documentElement, 1, document.documentElement, 2] and point 35 [paras[0], 0]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(Element node <html><head><title>Selection extend() tests</title> <meta..., Element node <html><head><title>Selection extend() tests</title> <meta..., "Sanity check: startContainer must be correct")
    at testExtend ( /selection/extend.js:80:5)
Pass
assert_equals(1, 1, "Sanity check: startOffset must be correct")
    at testExtend ( /selection/extend.js:82:5)
Pass
assert_equals(Element node <html><head><title>Selection extend() tests</title> <meta..., Element node <html><head><title>Selection extend() tests</title> <meta..., "Sanity check: endContainer must be correct")
    at testExtend ( /selection/extend.js:84:5)
Pass
assert_equals(2, 2, "Sanity check: endOffset must be correct")
    at testExtend ( /selection/extend.js:86:5)
Pass
assert_equals(Element node <html><head><title>Selection extend() tests</title> <meta..., Element node <html><head><title>Selection extend() tests</title> <meta..., "anchorNode must not change if the node passed to extend() has the same root as the original range")
    at testExtend ( /selection/extend.js:145:9)
Pass
assert_equals(2, 2, "anchorOffset must not change if the node passed to extend() has the same root as the original range")
    at testExtend ( /selection/extend.js:147:9)
Pass
assert_equals(Element node <p id="a">Äb̈c̈d̈ëf̈g̈ḧ </p>, Element node <p id="a">Äb̈c̈d̈ëf̈g̈ḧ </p>, "focusNode must be the node passed to extend()")
    at testExtend ( /selection/extend.js:155:5)
Pass
assert_equals(0, 0, "focusOffset must be the offset passed to extend()")
    at testExtend ( /selection/extend.js:157:5)
Pass
assert_not_equals(object "Äb̈c̈d̈ëf̈g̈ḧ Ijklmnop QrstuvwxYzabcdefGhijklmn     Running, 1000 complete, 1 remain  "use strict";  testExtendSubSet(0, 20); testDiv.style.display = "none"; ", object "Äb̈c̈d̈ëf̈g̈ḧ Ijklmnop QrstuvwxYzabcdefGhijklmn     Running, 1000 complete, 1 remain  "use strict";  testExtendSubSet(0, 20); testDiv.style.display = "none"; ", "extend() must replace any existing range with a new one, not mutate the existing one")
    at testExtend ( /selection/extend.js:159:5)
Passextend() forwards with range 17 [document.documentElement, 1, document.documentElement, 2] and point 36 [paras[0], 1]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(Element node <html><head><title>Selection extend() tests</title> <meta..., Element node <html><head><title>Selection extend() tests</title> <meta..., "Sanity check: startContainer must be correct")
    at testExtend ( /selection/extend.js:80:5)
Pass
assert_equals(1, 1, "Sanity check: startOffset must be correct")
    at testExtend ( /selection/extend.js:82:5)
Pass
assert_equals(Element node <html><head><title>Selection extend() tests</title> <meta..., Element node <html><head><title>Selection extend() tests</title> <meta..., "Sanity check: endContainer must be correct")
    at testExtend ( /selection/extend.js:84:5)
Pass
assert_equals(2, 2, "Sanity check: endOffset must be correct")
    at testExtend ( /selection/extend.js:86:5)
Pass
assert_equals(Element node <html><head><title>Selection extend() tests</title> <meta..., Element node <html><head><title>Selection extend() tests</title> <meta..., "anchorNode must not change if the node passed to extend() has the same root as the original range")
    at testExtend ( /selection/extend.js:145:9)
Pass
assert_equals(1, 1, "anchorOffset must not change if the node passed to extend() has the same root as the original range")
    at testExtend ( /selection/extend.js:147:9)
Pass
assert_equals(Element node <p id="a">Äb̈c̈d̈ëf̈g̈ḧ </p>, Element node <p id="a">Äb̈c̈d̈ëf̈g̈ḧ </p>, "focusNode must be the node passed to extend()")
    at testExtend ( /selection/extend.js:155:5)
Pass
assert_equals(1, 1, "focusOffset must be the offset passed to extend()")
    at testExtend ( /selection/extend.js:157:5)
Pass
assert_not_equals(object "Äb̈c̈d̈ëf̈g̈ḧ ", object "Äb̈c̈d̈ëf̈g̈ḧ Ijklmnop QrstuvwxYzabcdefGhijklmn     Running, 1000 complete, 1 remain  "use strict";  testExtendSubSet(0, 20); testDiv.style.display = "none"; ", "extend() must replace any existing range with a new one, not mutate the existing one")
    at testExtend ( /selection/extend.js:159:5)
Passextend() backwards with range 17 [document.documentElement, 1, document.documentElement, 2] and point 36 [paras[0], 1]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(Element node <html><head><title>Selection extend() tests</title> <meta..., Element node <html><head><title>Selection extend() tests</title> <meta..., "Sanity check: startContainer must be correct")
    at testExtend ( /selection/extend.js:80:5)
Pass
assert_equals(1, 1, "Sanity check: startOffset must be correct")
    at testExtend ( /selection/extend.js:82:5)
Pass
assert_equals(Element node <html><head><title>Selection extend() tests</title> <meta..., Element node <html><head><title>Selection extend() tests</title> <meta..., "Sanity check: endContainer must be correct")
    at testExtend ( /selection/extend.js:84:5)
Pass
assert_equals(2, 2, "Sanity check: endOffset must be correct")
    at testExtend ( /selection/extend.js:86:5)
Pass
assert_equals(Element node <html><head><title>Selection extend() tests</title> <meta..., Element node <html><head><title>Selection extend() tests</title> <meta..., "anchorNode must not change if the node passed to extend() has the same root as the original range")
    at testExtend ( /selection/extend.js:145:9)
Pass
assert_equals(2, 2, "anchorOffset must not change if the node passed to extend() has the same root as the original range")
    at testExtend ( /selection/extend.js:147:9)
Pass
assert_equals(Element node <p id="a">Äb̈c̈d̈ëf̈g̈ḧ </p>, Element node <p id="a">Äb̈c̈d̈ëf̈g̈ḧ </p>, "focusNode must be the node passed to extend()")
    at testExtend ( /selection/extend.js:155:5)
Pass
assert_equals(1, 1, "focusOffset must be the offset passed to extend()")
    at testExtend ( /selection/extend.js:157:5)
Pass
assert_not_equals(object "Ijklmnop QrstuvwxYzabcdefGhijklmn     Running, 1000 complete, 1 remain  "use strict";  testExtendSubSet(0, 20); testDiv.style.display = "none"; ", object "Äb̈c̈d̈ëf̈g̈ḧ Ijklmnop QrstuvwxYzabcdefGhijklmn     Running, 1000 complete, 1 remain  "use strict";  testExtendSubSet(0, 20); testDiv.style.display = "none"; ", "extend() must replace any existing range with a new one, not mutate the existing one")
    at testExtend ( /selection/extend.js:159:5)
Passextend() forwards with range 17 [document.documentElement, 1, document.documentElement, 2] and point 37 [paras[0], 2]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(Element node <html><head><title>Selection extend() tests</title> <meta..., Element node <html><head><title>Selection extend() tests</title> <meta..., "Sanity check: startContainer must be correct")
    at testExtend ( /selection/extend.js:80:5)
Pass
assert_equals(1, 1, "Sanity check: startOffset must be correct")
    at testExtend ( /selection/extend.js:82:5)
Pass
assert_equals(Element node <html><head><title>Selection extend() tests</title> <meta..., Element node <html><head><title>Selection extend() tests</title> <meta..., "Sanity check: endContainer must be correct")
    at testExtend ( /selection/extend.js:84:5)
Pass
assert_equals(2, 2, "Sanity check: endOffset must be correct")
    at testExtend ( /selection/extend.js:86:5)
Pass
assert_throws_dom("INDEX_SIZE_ERR", function "function() {             selection.extend(node, offset);         }", "extend() to an offset that's greater than node length (1) must throw IndexSizeError")
    at testExtend ( /selection/extend.js:117:9)
Passextend() backwards with range 17 [document.documentElement, 1, document.documentElement, 2] and point 37 [paras[0], 2]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(Element node <html><head><title>Selection extend() tests</title> <meta..., Element node <html><head><title>Selection extend() tests</title> <meta..., "Sanity check: startContainer must be correct")
    at testExtend ( /selection/extend.js:80:5)
Pass
assert_equals(1, 1, "Sanity check: startOffset must be correct")
    at testExtend ( /selection/extend.js:82:5)
Pass
assert_equals(Element node <html><head><title>Selection extend() tests</title> <meta..., Element node <html><head><title>Selection extend() tests</title> <meta..., "Sanity check: endContainer must be correct")
    at testExtend ( /selection/extend.js:84:5)
Pass
assert_equals(2, 2, "Sanity check: endOffset must be correct")
    at testExtend ( /selection/extend.js:86:5)
Pass
assert_throws_dom("INDEX_SIZE_ERR", function "function() {             selection.extend(node, offset);         }", "extend() to an offset that's greater than node length (1) must throw IndexSizeError")
    at testExtend ( /selection/extend.js:117:9)
Passextend() forwards with range 17 [document.documentElement, 1, document.documentElement, 2] and point 38 [paras[1], 0]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(Element node <html><head><title>Selection extend() tests</title> <meta..., Element node <html><head><title>Selection extend() tests</title> <meta..., "Sanity check: startContainer must be correct")
    at testExtend ( /selection/extend.js:80:5)
Pass
assert_equals(1, 1, "Sanity check: startOffset must be correct")
    at testExtend ( /selection/extend.js:82:5)
Pass
assert_equals(Element node <html><head><title>Selection extend() tests</title> <meta..., Element node <html><head><title>Selection extend() tests</title> <meta..., "Sanity check: endContainer must be correct")
    at testExtend ( /selection/extend.js:84:5)
Pass
assert_equals(2, 2, "Sanity check: endOffset must be correct")
    at testExtend ( /selection/extend.js:86:5)
Pass
assert_equals(Element node <html><head><title>Selection extend() tests</title> <meta..., Element node <html><head><title>Selection extend() tests</title> <meta..., "anchorNode must not change if the node passed to extend() has the same root as the original range")
    at testExtend ( /selection/extend.js:145:9)
Pass
assert_equals(1, 1, "anchorOffset must not change if the node passed to extend() has the same root as the original range")
    at testExtend ( /selection/extend.js:147:9)
Pass
assert_equals(Element node <p id="b" style="display:none">Ijklmnop </p>, Element node <p id="b" style="display:none">Ijklmnop </p>, "focusNode must be the node passed to extend()")
    at testExtend ( /selection/extend.js:155:5)
Pass
assert_equals(0, 0, "focusOffset must be the offset passed to extend()")
    at testExtend ( /selection/extend.js:157:5)
Pass
assert_not_equals(object "Äb̈c̈d̈ëf̈g̈ḧ ", object "Äb̈c̈d̈ëf̈g̈ḧ Ijklmnop QrstuvwxYzabcdefGhijklmn     Running, 1000 complete, 1 remain  "use strict";  testExtendSubSet(0, 20); testDiv.style.display = "none"; ", "extend() must replace any existing range with a new one, not mutate the existing one")
    at testExtend ( /selection/extend.js:159:5)
Passextend() backwards with range 17 [document.documentElement, 1, document.documentElement, 2] and point 38 [paras[1], 0]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(Element node <html><head><title>Selection extend() tests</title> <meta..., Element node <html><head><title>Selection extend() tests</title> <meta..., "Sanity check: startContainer must be correct")
    at testExtend ( /selection/extend.js:80:5)
Pass
assert_equals(1, 1, "Sanity check: startOffset must be correct")
    at testExtend ( /selection/extend.js:82:5)
Pass
assert_equals(Element node <html><head><title>Selection extend() tests</title> <meta..., Element node <html><head><title>Selection extend() tests</title> <meta..., "Sanity check: endContainer must be correct")
    at testExtend ( /selection/extend.js:84:5)
Pass
assert_equals(2, 2, "Sanity check: endOffset must be correct")
    at testExtend ( /selection/extend.js:86:5)
Pass
assert_equals(Element node <html><head><title>Selection extend() tests</title> <meta..., Element node <html><head><title>Selection extend() tests</title> <meta..., "anchorNode must not change if the node passed to extend() has the same root as the original range")
    at testExtend ( /selection/extend.js:145:9)
Pass
assert_equals(2, 2, "anchorOffset must not change if the node passed to extend() has the same root as the original range")
    at testExtend ( /selection/extend.js:147:9)
Pass
assert_equals(Element node <p id="b" style="display:none">Ijklmnop </p>, Element node <p id="b" style="display:none">Ijklmnop </p>, "focusNode must be the node passed to extend()")
    at testExtend ( /selection/extend.js:155:5)
Pass
assert_equals(0, 0, "focusOffset must be the offset passed to extend()")
    at testExtend ( /selection/extend.js:157:5)
Pass
assert_not_equals(object "Ijklmnop QrstuvwxYzabcdefGhijklmn     Running, 1000 complete, 1 remain  "use strict";  testExtendSubSet(0, 20); testDiv.style.display = "none"; ", object "Äb̈c̈d̈ëf̈g̈ḧ Ijklmnop QrstuvwxYzabcdefGhijklmn     Running, 1000 complete, 1 remain  "use strict";  testExtendSubSet(0, 20); testDiv.style.display = "none"; ", "extend() must replace any existing range with a new one, not mutate the existing one")
    at testExtend ( /selection/extend.js:159:5)
Passextend() forwards with range 17 [document.documentElement, 1, document.documentElement, 2] and point 39 [paras[1], 1]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(Element node <html><head><title>Selection extend() tests</title> <meta..., Element node <html><head><title>Selection extend() tests</title> <meta..., "Sanity check: startContainer must be correct")
    at testExtend ( /selection/extend.js:80:5)
Pass
assert_equals(1, 1, "Sanity check: startOffset must be correct")
    at testExtend ( /selection/extend.js:82:5)
Pass
assert_equals(Element node <html><head><title>Selection extend() tests</title> <meta..., Element node <html><head><title>Selection extend() tests</title> <meta..., "Sanity check: endContainer must be correct")
    at testExtend ( /selection/extend.js:84:5)
Pass
assert_equals(2, 2, "Sanity check: endOffset must be correct")
    at testExtend ( /selection/extend.js:86:5)
Pass
assert_equals(Element node <html><head><title>Selection extend() tests</title> <meta..., Element node <html><head><title>Selection extend() tests</title> <meta..., "anchorNode must not change if the node passed to extend() has the same root as the original range")
    at testExtend ( /selection/extend.js:145:9)
Pass
assert_equals(1, 1, "anchorOffset must not change if the node passed to extend() has the same root as the original range")
    at testExtend ( /selection/extend.js:147:9)
Pass
assert_equals(Element node <p id="b" style="display:none">Ijklmnop </p>, Element node <p id="b" style="display:none">Ijklmnop </p>, "focusNode must be the node passed to extend()")
    at testExtend ( /selection/extend.js:155:5)
Pass
assert_equals(1, 1, "focusOffset must be the offset passed to extend()")
    at testExtend ( /selection/extend.js:157:5)
Pass
assert_not_equals(object "Äb̈c̈d̈ëf̈g̈ḧ Ijklmnop ", object "Äb̈c̈d̈ëf̈g̈ḧ Ijklmnop QrstuvwxYzabcdefGhijklmn     Running, 1000 complete, 1 remain  "use strict";  testExtendSubSet(0, 20); testDiv.style.display = "none"; ", "extend() must replace any existing range with a new one, not mutate the existing one")
    at testExtend ( /selection/extend.js:159:5)
Passextend() backwards with range 17 [document.documentElement, 1, document.documentElement, 2] and point 39 [paras[1], 1]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(Element node <html><head><title>Selection extend() tests</title> <meta..., Element node <html><head><title>Selection extend() tests</title> <meta..., "Sanity check: startContainer must be correct")
    at testExtend ( /selection/extend.js:80:5)
Pass
assert_equals(1, 1, "Sanity check: startOffset must be correct")
    at testExtend ( /selection/extend.js:82:5)
Pass
assert_equals(Element node <html><head><title>Selection extend() tests</title> <meta..., Element node <html><head><title>Selection extend() tests</title> <meta..., "Sanity check: endContainer must be correct")
    at testExtend ( /selection/extend.js:84:5)
Pass
assert_equals(2, 2, "Sanity check: endOffset must be correct")
    at testExtend ( /selection/extend.js:86:5)
Pass
assert_equals(Element node <html><head><title>Selection extend() tests</title> <meta..., Element node <html><head><title>Selection extend() tests</title> <meta..., "anchorNode must not change if the node passed to extend() has the same root as the original range")
    at testExtend ( /selection/extend.js:145:9)
Pass
assert_equals(2, 2, "anchorOffset must not change if the node passed to extend() has the same root as the original range")
    at testExtend ( /selection/extend.js:147:9)
Pass
assert_equals(Element node <p id="b" style="display:none">Ijklmnop </p>, Element node <p id="b" style="display:none">Ijklmnop </p>, "focusNode must be the node passed to extend()")
    at testExtend ( /selection/extend.js:155:5)
Pass
assert_equals(1, 1, "focusOffset must be the offset passed to extend()")
    at testExtend ( /selection/extend.js:157:5)
Pass
assert_not_equals(object "QrstuvwxYzabcdefGhijklmn     Running, 1000 complete, 1 remain  "use strict";  testExtendSubSet(0, 20); testDiv.style.display = "none"; ", object "Äb̈c̈d̈ëf̈g̈ḧ Ijklmnop QrstuvwxYzabcdefGhijklmn     Running, 1000 complete, 1 remain  "use strict";  testExtendSubSet(0, 20); testDiv.style.display = "none"; ", "extend() must replace any existing range with a new one, not mutate the existing one")
    at testExtend ( /selection/extend.js:159:5)
Passextend() forwards with range 17 [document.documentElement, 1, document.documentElement, 2] and point 40 [paras[1], 2]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(Element node <html><head><title>Selection extend() tests</title> <meta..., Element node <html><head><title>Selection extend() tests</title> <meta..., "Sanity check: startContainer must be correct")
    at testExtend ( /selection/extend.js:80:5)
Pass
assert_equals(1, 1, "Sanity check: startOffset must be correct")
    at testExtend ( /selection/extend.js:82:5)
Pass
assert_equals(Element node <html><head><title>Selection extend() tests</title> <meta..., Element node <html><head><title>Selection extend() tests</title> <meta..., "Sanity check: endContainer must be correct")
    at testExtend ( /selection/extend.js:84:5)
Pass
assert_equals(2, 2, "Sanity check: endOffset must be correct")
    at testExtend ( /selection/extend.js:86:5)
Pass
assert_throws_dom("INDEX_SIZE_ERR", function "function() {             selection.extend(node, offset);         }", "extend() to an offset that's greater than node length (1) must throw IndexSizeError")
    at testExtend ( /selection/extend.js:117:9)
Passextend() backwards with range 17 [document.documentElement, 1, document.documentElement, 2] and point 40 [paras[1], 2]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(Element node <html><head><title>Selection extend() tests</title> <meta..., Element node <html><head><title>Selection extend() tests</title> <meta..., "Sanity check: startContainer must be correct")
    at testExtend ( /selection/extend.js:80:5)
Pass
assert_equals(1, 1, "Sanity check: startOffset must be correct")
    at testExtend ( /selection/extend.js:82:5)
Pass
assert_equals(Element node <html><head><title>Selection extend() tests</title> <meta..., Element node <html><head><title>Selection extend() tests</title> <meta..., "Sanity check: endContainer must be correct")
    at testExtend ( /selection/extend.js:84:5)
Pass
assert_equals(2, 2, "Sanity check: endOffset must be correct")
    at testExtend ( /selection/extend.js:86:5)
Pass
assert_throws_dom("INDEX_SIZE_ERR", function "function() {             selection.extend(node, offset);         }", "extend() to an offset that's greater than node length (1) must throw IndexSizeError")
    at testExtend ( /selection/extend.js:117:9)
Passextend() forwards with range 17 [document.documentElement, 1, document.documentElement, 2] and point 41 [detachedPara1, 0]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(1, 1, "The operation should not add Range")
    at assertSelectionNoChange ( /selection/common.js:976:5)
Pass
assert_equals(Element node <html><head><title>Selection extend() tests</title> <meta..., Element node <html><head><title>Selection extend() tests</title> <meta..., "The operation should not update anchorNode")
    at assertSelectionNoChange ( /selection/common.js:978:5)
Pass
assert_equals(1, 1, "The operation should not update anchorOffset")
    at assertSelectionNoChange ( /selection/common.js:980:5)
Pass
assert_equals(Element node <html><head><title>Selection extend() tests</title> <meta..., Element node <html><head><title>Selection extend() tests</title> <meta..., "The operation should not update focusNode")
    at assertSelectionNoChange ( /selection/common.js:982:5)
Pass
assert_equals(2, 2, "The operation should not update focusOffset")
    at assertSelectionNoChange ( /selection/common.js:984:5)
Pass
assert_equals(object "Äb̈c̈d̈ëf̈g̈ḧ Ijklmnop QrstuvwxYzabcdefGhijklmn     Running, 1000 complete, 1 remain  "use strict";  testExtendSubSet(0, 20); testDiv.style.display = "none"; ", object "Äb̈c̈d̈ëf̈g̈ḧ Ijklmnop QrstuvwxYzabcdefGhijklmn     Running, 1000 complete, 1 remain  "use strict";  testExtendSubSet(0, 20); testDiv.style.display = "none"; ", "The operation should not replace a registered Range")
    at assertSelectionNoChange ( /selection/common.js:988:5)
Passextend() backwards with range 17 [document.documentElement, 1, document.documentElement, 2] and point 41 [detachedPara1, 0]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(1, 1, "The operation should not add Range")
    at assertSelectionNoChange ( /selection/common.js:976:5)
Pass
assert_equals(Element node <html><head><title>Selection extend() tests</title> <meta..., Element node <html><head><title>Selection extend() tests</title> <meta..., "The operation should not update anchorNode")
    at assertSelectionNoChange ( /selection/common.js:978:5)
Pass
assert_equals(2, 2, "The operation should not update anchorOffset")
    at assertSelectionNoChange ( /selection/common.js:980:5)
Pass
assert_equals(Element node <html><head><title>Selection extend() tests</title> <meta..., Element node <html><head><title>Selection extend() tests</title> <meta..., "The operation should not update focusNode")
    at assertSelectionNoChange ( /selection/common.js:982:5)
Pass
assert_equals(1, 1, "The operation should not update focusOffset")
    at assertSelectionNoChange ( /selection/common.js:984:5)
Pass
assert_equals(object "Äb̈c̈d̈ëf̈g̈ḧ Ijklmnop QrstuvwxYzabcdefGhijklmn     Running, 1000 complete, 1 remain  "use strict";  testExtendSubSet(0, 20); testDiv.style.display = "none"; ", object "Äb̈c̈d̈ëf̈g̈ḧ Ijklmnop QrstuvwxYzabcdefGhijklmn     Running, 1000 complete, 1 remain  "use strict";  testExtendSubSet(0, 20); testDiv.style.display = "none"; ", "The operation should not replace a registered Range")
    at assertSelectionNoChange ( /selection/common.js:988:5)
Passextend() forwards with range 17 [document.documentElement, 1, document.documentElement, 2] and point 42 [detachedPara1, 1]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(1, 1, "The operation should not add Range")
    at assertSelectionNoChange ( /selection/common.js:976:5)
Pass
assert_equals(Element node <html><head><title>Selection extend() tests</title> <meta..., Element node <html><head><title>Selection extend() tests</title> <meta..., "The operation should not update anchorNode")
    at assertSelectionNoChange ( /selection/common.js:978:5)
Pass
assert_equals(1, 1, "The operation should not update anchorOffset")
    at assertSelectionNoChange ( /selection/common.js:980:5)
Pass
assert_equals(Element node <html><head><title>Selection extend() tests</title> <meta..., Element node <html><head><title>Selection extend() tests</title> <meta..., "The operation should not update focusNode")
    at assertSelectionNoChange ( /selection/common.js:982:5)
Pass
assert_equals(2, 2, "The operation should not update focusOffset")
    at assertSelectionNoChange ( /selection/common.js:984:5)
Pass
assert_equals(object "Äb̈c̈d̈ëf̈g̈ḧ Ijklmnop QrstuvwxYzabcdefGhijklmn     Running, 1000 complete, 1 remain  "use strict";  testExtendSubSet(0, 20); testDiv.style.display = "none"; ", object "Äb̈c̈d̈ëf̈g̈ḧ Ijklmnop QrstuvwxYzabcdefGhijklmn     Running, 1000 complete, 1 remain  "use strict";  testExtendSubSet(0, 20); testDiv.style.display = "none"; ", "The operation should not replace a registered Range")
    at assertSelectionNoChange ( /selection/common.js:988:5)
Passextend() backwards with range 17 [document.documentElement, 1, document.documentElement, 2] and point 42 [detachedPara1, 1]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(1, 1, "The operation should not add Range")
    at assertSelectionNoChange ( /selection/common.js:976:5)
Pass
assert_equals(Element node <html><head><title>Selection extend() tests</title> <meta..., Element node <html><head><title>Selection extend() tests</title> <meta..., "The operation should not update anchorNode")
    at assertSelectionNoChange ( /selection/common.js:978:5)
Pass
assert_equals(2, 2, "The operation should not update anchorOffset")
    at assertSelectionNoChange ( /selection/common.js:980:5)
Pass
assert_equals(Element node <html><head><title>Selection extend() tests</title> <meta..., Element node <html><head><title>Selection extend() tests</title> <meta..., "The operation should not update focusNode")
    at assertSelectionNoChange ( /selection/common.js:982:5)
Pass
assert_equals(1, 1, "The operation should not update focusOffset")
    at assertSelectionNoChange ( /selection/common.js:984:5)
Pass
assert_equals(object "Äb̈c̈d̈ëf̈g̈ḧ Ijklmnop QrstuvwxYzabcdefGhijklmn     Running, 1000 complete, 1 remain  "use strict";  testExtendSubSet(0, 20); testDiv.style.display = "none"; ", object "Äb̈c̈d̈ëf̈g̈ḧ Ijklmnop QrstuvwxYzabcdefGhijklmn     Running, 1000 complete, 1 remain  "use strict";  testExtendSubSet(0, 20); testDiv.style.display = "none"; ", "The operation should not replace a registered Range")
    at assertSelectionNoChange ( /selection/common.js:988:5)
Passextend() forwards with range 17 [document.documentElement, 1, document.documentElement, 2] and point 43 [testDiv, 0]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(Element node <html><head><title>Selection extend() tests</title> <meta..., Element node <html><head><title>Selection extend() tests</title> <meta..., "Sanity check: startContainer must be correct")
    at testExtend ( /selection/extend.js:80:5)
Pass
assert_equals(1, 1, "Sanity check: startOffset must be correct")
    at testExtend ( /selection/extend.js:82:5)
Pass
assert_equals(Element node <html><head><title>Selection extend() tests</title> <meta..., Element node <html><head><title>Selection extend() tests</title> <meta..., "Sanity check: endContainer must be correct")
    at testExtend ( /selection/extend.js:84:5)
Pass
assert_equals(2, 2, "Sanity check: endOffset must be correct")
    at testExtend ( /selection/extend.js:86:5)
Pass
assert_equals(Element node <html><head><title>Selection extend() tests</title> <meta..., Element node <html><head><title>Selection extend() tests</title> <meta..., "anchorNode must not change if the node passed to extend() has the same root as the original range")
    at testExtend ( /selection/extend.js:145:9)
Pass
assert_equals(1, 1, "anchorOffset must not change if the node passed to extend() has the same root as the original range")
    at testExtend ( /selection/extend.js:147:9)
Pass
assert_equals(Element node <div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ </p><p id="b" s..., Element node <div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ </p><p id="b" s..., "focusNode must be the node passed to extend()")
    at testExtend ( /selection/extend.js:155:5)
Pass
assert_equals(0, 0, "focusOffset must be the offset passed to extend()")
    at testExtend ( /selection/extend.js:157:5)
Pass
assert_not_equals(object "", object "Äb̈c̈d̈ëf̈g̈ḧ Ijklmnop QrstuvwxYzabcdefGhijklmn     Running, 1000 complete, 1 remain  "use strict";  testExtendSubSet(0, 20); testDiv.style.display = "none"; ", "extend() must replace any existing range with a new one, not mutate the existing one")
    at testExtend ( /selection/extend.js:159:5)
Passextend() backwards with range 17 [document.documentElement, 1, document.documentElement, 2] and point 43 [testDiv, 0]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(Element node <html><head><title>Selection extend() tests</title> <meta..., Element node <html><head><title>Selection extend() tests</title> <meta..., "Sanity check: startContainer must be correct")
    at testExtend ( /selection/extend.js:80:5)
Pass
assert_equals(1, 1, "Sanity check: startOffset must be correct")
    at testExtend ( /selection/extend.js:82:5)
Pass
assert_equals(Element node <html><head><title>Selection extend() tests</title> <meta..., Element node <html><head><title>Selection extend() tests</title> <meta..., "Sanity check: endContainer must be correct")
    at testExtend ( /selection/extend.js:84:5)
Pass
assert_equals(2, 2, "Sanity check: endOffset must be correct")
    at testExtend ( /selection/extend.js:86:5)
Pass
assert_equals(Element node <html><head><title>Selection extend() tests</title> <meta..., Element node <html><head><title>Selection extend() tests</title> <meta..., "anchorNode must not change if the node passed to extend() has the same root as the original range")
    at testExtend ( /selection/extend.js:145:9)
Pass
assert_equals(2, 2, "anchorOffset must not change if the node passed to extend() has the same root as the original range")
    at testExtend ( /selection/extend.js:147:9)
Pass
assert_equals(Element node <div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ </p><p id="b" s..., Element node <div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ </p><p id="b" s..., "focusNode must be the node passed to extend()")
    at testExtend ( /selection/extend.js:155:5)
Pass
assert_equals(0, 0, "focusOffset must be the offset passed to extend()")
    at testExtend ( /selection/extend.js:157:5)
Pass
assert_not_equals(object "Äb̈c̈d̈ëf̈g̈ḧ Ijklmnop QrstuvwxYzabcdefGhijklmn     Running, 1000 complete, 1 remain  "use strict";  testExtendSubSet(0, 20); testDiv.style.display = "none"; ", object "Äb̈c̈d̈ëf̈g̈ḧ Ijklmnop QrstuvwxYzabcdefGhijklmn     Running, 1000 complete, 1 remain  "use strict";  testExtendSubSet(0, 20); testDiv.style.display = "none"; ", "extend() must replace any existing range with a new one, not mutate the existing one")
    at testExtend ( /selection/extend.js:159:5)
Passextend() forwards with range 17 [document.documentElement, 1, document.documentElement, 2] and point 44 [testDiv, 3]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(Element node <html><head><title>Selection extend() tests</title> <meta..., Element node <html><head><title>Selection extend() tests</title> <meta..., "Sanity check: startContainer must be correct")
    at testExtend ( /selection/extend.js:80:5)
Pass
assert_equals(1, 1, "Sanity check: startOffset must be correct")
    at testExtend ( /selection/extend.js:82:5)
Pass
assert_equals(Element node <html><head><title>Selection extend() tests</title> <meta..., Element node <html><head><title>Selection extend() tests</title> <meta..., "Sanity check: endContainer must be correct")
    at testExtend ( /selection/extend.js:84:5)
Pass
assert_equals(2, 2, "Sanity check: endOffset must be correct")
    at testExtend ( /selection/extend.js:86:5)
Pass
assert_equals(Element node <html><head><title>Selection extend() tests</title> <meta..., Element node <html><head><title>Selection extend() tests</title> <meta..., "anchorNode must not change if the node passed to extend() has the same root as the original range")
    at testExtend ( /selection/extend.js:145:9)
Pass
assert_equals(1, 1, "anchorOffset must not change if the node passed to extend() has the same root as the original range")
    at testExtend ( /selection/extend.js:147:9)
Pass
assert_equals(Element node <div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ </p><p id="b" s..., Element node <div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ </p><p id="b" s..., "focusNode must be the node passed to extend()")
    at testExtend ( /selection/extend.js:155:5)
Pass
assert_equals(3, 3, "focusOffset must be the offset passed to extend()")
    at testExtend ( /selection/extend.js:157:5)
Pass
assert_not_equals(object "Äb̈c̈d̈ëf̈g̈ḧ Ijklmnop Qrstuvwx", object "Äb̈c̈d̈ëf̈g̈ḧ Ijklmnop QrstuvwxYzabcdefGhijklmn     Running, 1000 complete, 1 remain  "use strict";  testExtendSubSet(0, 20); testDiv.style.display = "none"; ", "extend() must replace any existing range with a new one, not mutate the existing one")
    at testExtend ( /selection/extend.js:159:5)
Passextend() backwards with range 17 [document.documentElement, 1, document.documentElement, 2] and point 44 [testDiv, 3]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(Element node <html><head><title>Selection extend() tests</title> <meta..., Element node <html><head><title>Selection extend() tests</title> <meta..., "Sanity check: startContainer must be correct")
    at testExtend ( /selection/extend.js:80:5)
Pass
assert_equals(1, 1, "Sanity check: startOffset must be correct")
    at testExtend ( /selection/extend.js:82:5)
Pass
assert_equals(Element node <html><head><title>Selection extend() tests</title> <meta..., Element node <html><head><title>Selection extend() tests</title> <meta..., "Sanity check: endContainer must be correct")
    at testExtend ( /selection/extend.js:84:5)
Pass
assert_equals(2, 2, "Sanity check: endOffset must be correct")
    at testExtend ( /selection/extend.js:86:5)
Pass
assert_equals(Element node <html><head><title>Selection extend() tests</title> <meta..., Element node <html><head><title>Selection extend() tests</title> <meta..., "anchorNode must not change if the node passed to extend() has the same root as the original range")
    at testExtend ( /selection/extend.js:145:9)
Pass
assert_equals(2, 2, "anchorOffset must not change if the node passed to extend() has the same root as the original range")
    at testExtend ( /selection/extend.js:147:9)
Pass
assert_equals(Element node <div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ </p><p id="b" s..., Element node <div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ </p><p id="b" s..., "focusNode must be the node passed to extend()")
    at testExtend ( /selection/extend.js:155:5)
Pass
assert_equals(3, 3, "focusOffset must be the offset passed to extend()")
    at testExtend ( /selection/extend.js:157:5)
Pass
assert_not_equals(object "YzabcdefGhijklmn     Running, 1000 complete, 1 remain  "use strict";  testExtendSubSet(0, 20); testDiv.style.display = "none"; ", object "Äb̈c̈d̈ëf̈g̈ḧ Ijklmnop QrstuvwxYzabcdefGhijklmn     Running, 1000 complete, 1 remain  "use strict";  testExtendSubSet(0, 20); testDiv.style.display = "none"; ", "extend() must replace any existing range with a new one, not mutate the existing one")
    at testExtend ( /selection/extend.js:159:5)
Passextend() forwards with range 17 [document.documentElement, 1, document.documentElement, 2] and point 45 [document, -1]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(Element node <html><head><title>Selection extend() tests</title> <meta..., Element node <html><head><title>Selection extend() tests</title> <meta..., "Sanity check: startContainer must be correct")
    at testExtend ( /selection/extend.js:80:5)
Pass
assert_equals(1, 1, "Sanity check: startOffset must be correct")
    at testExtend ( /selection/extend.js:82:5)
Pass
assert_equals(Element node <html><head><title>Selection extend() tests</title> <meta..., Element node <html><head><title>Selection extend() tests</title> <meta..., "Sanity check: endContainer must be correct")
    at testExtend ( /selection/extend.js:84:5)
Pass
assert_equals(2, 2, "Sanity check: endOffset must be correct")
    at testExtend ( /selection/extend.js:86:5)
Pass
assert_throws_dom("INDEX_SIZE_ERR", function "function() {             selection.extend(node, offset);         }", "extend() to an offset that's greater than node length (2) must throw IndexSizeError")
    at testExtend ( /selection/extend.js:117:9)
Passextend() backwards with range 17 [document.documentElement, 1, document.documentElement, 2] and point 45 [document, -1]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(Element node <html><head><title>Selection extend() tests</title> <meta..., Element node <html><head><title>Selection extend() tests</title> <meta..., "Sanity check: startContainer must be correct")
    at testExtend ( /selection/extend.js:80:5)
Pass
assert_equals(1, 1, "Sanity check: startOffset must be correct")
    at testExtend ( /selection/extend.js:82:5)
Pass
assert_equals(Element node <html><head><title>Selection extend() tests</title> <meta..., Element node <html><head><title>Selection extend() tests</title> <meta..., "Sanity check: endContainer must be correct")
    at testExtend ( /selection/extend.js:84:5)
Pass
assert_equals(2, 2, "Sanity check: endOffset must be correct")
    at testExtend ( /selection/extend.js:86:5)
Pass
assert_throws_dom("INDEX_SIZE_ERR", function "function() {             selection.extend(node, offset);         }", "extend() to an offset that's greater than node length (2) must throw IndexSizeError")
    at testExtend ( /selection/extend.js:117:9)
Passextend() forwards with range 17 [document.documentElement, 1, document.documentElement, 2] and point 46 [document, 0]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(Element node <html><head><title>Selection extend() tests</title> <meta..., Element node <html><head><title>Selection extend() tests</title> <meta..., "Sanity check: startContainer must be correct")
    at testExtend ( /selection/extend.js:80:5)
Pass
assert_equals(1, 1, "Sanity check: startOffset must be correct")
    at testExtend ( /selection/extend.js:82:5)
Pass
assert_equals(Element node <html><head><title>Selection extend() tests</title> <meta..., Element node <html><head><title>Selection extend() tests</title> <meta..., "Sanity check: endContainer must be correct")
    at testExtend ( /selection/extend.js:84:5)
Pass
assert_equals(2, 2, "Sanity check: endOffset must be correct")
    at testExtend ( /selection/extend.js:86:5)
Pass
assert_equals(Element node <html><head><title>Selection extend() tests</title> <meta..., Element node <html><head><title>Selection extend() tests</title> <meta..., "anchorNode must not change if the node passed to extend() has the same root as the original range")
    at testExtend ( /selection/extend.js:145:9)
Pass
assert_equals(1, 1, "anchorOffset must not change if the node passed to extend() has the same root as the original range")
    at testExtend ( /selection/extend.js:147:9)
Pass
assert_equals(Document node with 2 children, Document node with 2 children, "focusNode must be the node passed to extend()")
    at testExtend ( /selection/extend.js:155:5)
Pass
assert_equals(0, 0, "focusOffset must be the offset passed to extend()")
    at testExtend ( /selection/extend.js:157:5)
Pass
assert_not_equals(object "Selection extend() tests   ", object "Äb̈c̈d̈ëf̈g̈ḧ Ijklmnop QrstuvwxYzabcdefGhijklmn     Running, 1000 complete, 1 remain  "use strict";  testExtendSubSet(0, 20); testDiv.style.display = "none"; ", "extend() must replace any existing range with a new one, not mutate the existing one")
    at testExtend ( /selection/extend.js:159:5)
Passextend() backwards with range 17 [document.documentElement, 1, document.documentElement, 2] and point 46 [document, 0]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(Element node <html><head><title>Selection extend() tests</title> <meta..., Element node <html><head><title>Selection extend() tests</title> <meta..., "Sanity check: startContainer must be correct")
    at testExtend ( /selection/extend.js:80:5)
Pass
assert_equals(1, 1, "Sanity check: startOffset must be correct")
    at testExtend ( /selection/extend.js:82:5)
Pass
assert_equals(Element node <html><head><title>Selection extend() tests</title> <meta..., Element node <html><head><title>Selection extend() tests</title> <meta..., "Sanity check: endContainer must be correct")
    at testExtend ( /selection/extend.js:84:5)
Pass
assert_equals(2, 2, "Sanity check: endOffset must be correct")
    at testExtend ( /selection/extend.js:86:5)
Pass
assert_equals(Element node <html><head><title>Selection extend() tests</title> <meta..., Element node <html><head><title>Selection extend() tests</title> <meta..., "anchorNode must not change if the node passed to extend() has the same root as the original range")
    at testExtend ( /selection/extend.js:145:9)
Pass
assert_equals(2, 2, "anchorOffset must not change if the node passed to extend() has the same root as the original range")
    at testExtend ( /selection/extend.js:147:9)
Pass
assert_equals(Document node with 2 children, Document node with 2 children, "focusNode must be the node passed to extend()")
    at testExtend ( /selection/extend.js:155:5)
Pass
assert_equals(0, 0, "focusOffset must be the offset passed to extend()")
    at testExtend ( /selection/extend.js:157:5)
Pass
assert_not_equals(object "Selection extend() tests   Äb̈c̈d̈ëf̈g̈ḧ Ijklmnop QrstuvwxYzabcdefGhijklmn     Running, 1000 complete, 1 remain  "use strict";  testExtendSubSet(0, 20); testDiv.style.display = "none"; ", object "Äb̈c̈d̈ëf̈g̈ḧ Ijklmnop QrstuvwxYzabcdefGhijklmn     Running, 1000 complete, 1 remain  "use strict";  testExtendSubSet(0, 20); testDiv.style.display = "none"; ", "extend() must replace any existing range with a new one, not mutate the existing one")
    at testExtend ( /selection/extend.js:159:5)
Passextend() forwards with range 17 [document.documentElement, 1, document.documentElement, 2] and point 47 [document, 1]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(Element node <html><head><title>Selection extend() tests</title> <meta..., Element node <html><head><title>Selection extend() tests</title> <meta..., "Sanity check: startContainer must be correct")
    at testExtend ( /selection/extend.js:80:5)
Pass
assert_equals(1, 1, "Sanity check: startOffset must be correct")
    at testExtend ( /selection/extend.js:82:5)
Pass
assert_equals(Element node <html><head><title>Selection extend() tests</title> <meta..., Element node <html><head><title>Selection extend() tests</title> <meta..., "Sanity check: endContainer must be correct")
    at testExtend ( /selection/extend.js:84:5)
Pass
assert_equals(2, 2, "Sanity check: endOffset must be correct")
    at testExtend ( /selection/extend.js:86:5)
Pass
assert_equals(Element node <html><head><title>Selection extend() tests</title> <meta..., Element node <html><head><title>Selection extend() tests</title> <meta..., "anchorNode must not change if the node passed to extend() has the same root as the original range")
    at testExtend ( /selection/extend.js:145:9)
Pass
assert_equals(1, 1, "anchorOffset must not change if the node passed to extend() has the same root as the original range")
    at testExtend ( /selection/extend.js:147:9)
Pass
assert_equals(Document node with 2 children, Document node with 2 children, "focusNode must be the node passed to extend()")
    at testExtend ( /selection/extend.js:155:5)
Pass
assert_equals(1, 1, "focusOffset must be the offset passed to extend()")
    at testExtend ( /selection/extend.js:157:5)
Pass
assert_not_equals(object "Selection extend() tests   ", object "Äb̈c̈d̈ëf̈g̈ḧ Ijklmnop QrstuvwxYzabcdefGhijklmn     Running, 1000 complete, 1 remain  "use strict";  testExtendSubSet(0, 20); testDiv.style.display = "none"; ", "extend() must replace any existing range with a new one, not mutate the existing one")
    at testExtend ( /selection/extend.js:159:5)
Passextend() backwards with range 17 [document.documentElement, 1, document.documentElement, 2] and point 47 [document, 1]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(Element node <html><head><title>Selection extend() tests</title> <meta..., Element node <html><head><title>Selection extend() tests</title> <meta..., "Sanity check: startContainer must be correct")
    at testExtend ( /selection/extend.js:80:5)
Pass
assert_equals(1, 1, "Sanity check: startOffset must be correct")
    at testExtend ( /selection/extend.js:82:5)
Pass
assert_equals(Element node <html><head><title>Selection extend() tests</title> <meta..., Element node <html><head><title>Selection extend() tests</title> <meta..., "Sanity check: endContainer must be correct")
    at testExtend ( /selection/extend.js:84:5)
Pass
assert_equals(2, 2, "Sanity check: endOffset must be correct")
    at testExtend ( /selection/extend.js:86:5)
Pass
assert_equals(Element node <html><head><title>Selection extend() tests</title> <meta..., Element node <html><head><title>Selection extend() tests</title> <meta..., "anchorNode must not change if the node passed to extend() has the same root as the original range")
    at testExtend ( /selection/extend.js:145:9)
Pass
assert_equals(2, 2, "anchorOffset must not change if the node passed to extend() has the same root as the original range")
    at testExtend ( /selection/extend.js:147:9)
Pass
assert_equals(Document node with 2 children, Document node with 2 children, "focusNode must be the node passed to extend()")
    at testExtend ( /selection/extend.js:155:5)
Pass
assert_equals(1, 1, "focusOffset must be the offset passed to extend()")
    at testExtend ( /selection/extend.js:157:5)
Pass
assert_not_equals(object "Selection extend() tests   Äb̈c̈d̈ëf̈g̈ḧ Ijklmnop QrstuvwxYzabcdefGhijklmn     Running, 1000 complete, 1 remain  "use strict";  testExtendSubSet(0, 20); testDiv.style.display = "none"; ", object "Äb̈c̈d̈ëf̈g̈ḧ Ijklmnop QrstuvwxYzabcdefGhijklmn     Running, 1000 complete, 1 remain  "use strict";  testExtendSubSet(0, 20); testDiv.style.display = "none"; ", "extend() must replace any existing range with a new one, not mutate the existing one")
    at testExtend ( /selection/extend.js:159:5)
Passextend() forwards with range 17 [document.documentElement, 1, document.documentElement, 2] and point 48 [document, 2]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(Element node <html><head><title>Selection extend() tests</title> <meta..., Element node <html><head><title>Selection extend() tests</title> <meta..., "Sanity check: startContainer must be correct")
    at testExtend ( /selection/extend.js:80:5)
Pass
assert_equals(1, 1, "Sanity check: startOffset must be correct")
    at testExtend ( /selection/extend.js:82:5)
Pass
assert_equals(Element node <html><head><title>Selection extend() tests</title> <meta..., Element node <html><head><title>Selection extend() tests</title> <meta..., "Sanity check: endContainer must be correct")
    at testExtend ( /selection/extend.js:84:5)
Pass
assert_equals(2, 2, "Sanity check: endOffset must be correct")
    at testExtend ( /selection/extend.js:86:5)
Pass
assert_equals(Element node <html><head><title>Selection extend() tests</title> <meta..., Element node <html><head><title>Selection extend() tests</title> <meta..., "anchorNode must not change if the node passed to extend() has the same root as the original range")
    at testExtend ( /selection/extend.js:145:9)
Pass
assert_equals(1, 1, "anchorOffset must not change if the node passed to extend() has the same root as the original range")
    at testExtend ( /selection/extend.js:147:9)
Pass
assert_equals(Document node with 2 children, Document node with 2 children, "focusNode must be the node passed to extend()")
    at testExtend ( /selection/extend.js:155:5)
Pass
assert_equals(2, 2, "focusOffset must be the offset passed to extend()")
    at testExtend ( /selection/extend.js:157:5)
Pass
assert_not_equals(object "Äb̈c̈d̈ëf̈g̈ḧ Ijklmnop QrstuvwxYzabcdefGhijklmn     Running, 1000 complete, 1 remain  "use strict";  testExtendSubSet(0, 20); testDiv.style.display = "none"; ", object "Äb̈c̈d̈ëf̈g̈ḧ Ijklmnop QrstuvwxYzabcdefGhijklmn     Running, 1000 complete, 1 remain  "use strict";  testExtendSubSet(0, 20); testDiv.style.display = "none"; ", "extend() must replace any existing range with a new one, not mutate the existing one")
    at testExtend ( /selection/extend.js:159:5)
Passextend() backwards with range 17 [document.documentElement, 1, document.documentElement, 2] and point 48 [document, 2]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(Element node <html><head><title>Selection extend() tests</title> <meta..., Element node <html><head><title>Selection extend() tests</title> <meta..., "Sanity check: startContainer must be correct")
    at testExtend ( /selection/extend.js:80:5)
Pass
assert_equals(1, 1, "Sanity check: startOffset must be correct")
    at testExtend ( /selection/extend.js:82:5)
Pass
assert_equals(Element node <html><head><title>Selection extend() tests</title> <meta..., Element node <html><head><title>Selection extend() tests</title> <meta..., "Sanity check: endContainer must be correct")
    at testExtend ( /selection/extend.js:84:5)
Pass
assert_equals(2, 2, "Sanity check: endOffset must be correct")
    at testExtend ( /selection/extend.js:86:5)
Pass
assert_equals(Element node <html><head><title>Selection extend() tests</title> <meta..., Element node <html><head><title>Selection extend() tests</title> <meta..., "anchorNode must not change if the node passed to extend() has the same root as the original range")
    at testExtend ( /selection/extend.js:145:9)
Pass
assert_equals(2, 2, "anchorOffset must not change if the node passed to extend() has the same root as the original range")
    at testExtend ( /selection/extend.js:147:9)
Pass
assert_equals(Document node with 2 children, Document node with 2 children, "focusNode must be the node passed to extend()")
    at testExtend ( /selection/extend.js:155:5)
Pass
assert_equals(2, 2, "focusOffset must be the offset passed to extend()")
    at testExtend ( /selection/extend.js:157:5)
Pass
assert_not_equals(object "", object "Äb̈c̈d̈ëf̈g̈ḧ Ijklmnop QrstuvwxYzabcdefGhijklmn     Running, 1000 complete, 1 remain  "use strict";  testExtendSubSet(0, 20); testDiv.style.display = "none"; ", "extend() must replace any existing range with a new one, not mutate the existing one")
    at testExtend ( /selection/extend.js:159:5)
Passextend() forwards with range 17 [document.documentElement, 1, document.documentElement, 2] and point 49 [document, 3]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(Element node <html><head><title>Selection extend() tests</title> <meta..., Element node <html><head><title>Selection extend() tests</title> <meta..., "Sanity check: startContainer must be correct")
    at testExtend ( /selection/extend.js:80:5)
Pass
assert_equals(1, 1, "Sanity check: startOffset must be correct")
    at testExtend ( /selection/extend.js:82:5)
Pass
assert_equals(Element node <html><head><title>Selection extend() tests</title> <meta..., Element node <html><head><title>Selection extend() tests</title> <meta..., "Sanity check: endContainer must be correct")
    at testExtend ( /selection/extend.js:84:5)
Pass
assert_equals(2, 2, "Sanity check: endOffset must be correct")
    at testExtend ( /selection/extend.js:86:5)
Pass
assert_throws_dom("INDEX_SIZE_ERR", function "function() {             selection.extend(node, offset);         }", "extend() to an offset that's greater than node length (2) must throw IndexSizeError")
    at testExtend ( /selection/extend.js:117:9)
Passextend() backwards with range 17 [document.documentElement, 1, document.documentElement, 2] and point 49 [document, 3]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(Element node <html><head><title>Selection extend() tests</title> <meta..., Element node <html><head><title>Selection extend() tests</title> <meta..., "Sanity check: startContainer must be correct")
    at testExtend ( /selection/extend.js:80:5)
Pass
assert_equals(1, 1, "Sanity check: startOffset must be correct")
    at testExtend ( /selection/extend.js:82:5)
Pass
assert_equals(Element node <html><head><title>Selection extend() tests</title> <meta..., Element node <html><head><title>Selection extend() tests</title> <meta..., "Sanity check: endContainer must be correct")
    at testExtend ( /selection/extend.js:84:5)
Pass
assert_equals(2, 2, "Sanity check: endOffset must be correct")
    at testExtend ( /selection/extend.js:86:5)
Pass
assert_throws_dom("INDEX_SIZE_ERR", function "function() {             selection.extend(node, offset);         }", "extend() to an offset that's greater than node length (2) must throw IndexSizeError")
    at testExtend ( /selection/extend.js:117:9)
Passextend() forwards with range 17 [document.documentElement, 1, document.documentElement, 2] and point 50 [comment, -1]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(Element node <html><head><title>Selection extend() tests</title> <meta..., Element node <html><head><title>Selection extend() tests</title> <meta..., "Sanity check: startContainer must be correct")
    at testExtend ( /selection/extend.js:80:5)
Pass
assert_equals(1, 1, "Sanity check: startOffset must be correct")
    at testExtend ( /selection/extend.js:82:5)
Pass
assert_equals(Element node <html><head><title>Selection extend() tests</title> <meta..., Element node <html><head><title>Selection extend() tests</title> <meta..., "Sanity check: endContainer must be correct")
    at testExtend ( /selection/extend.js:84:5)
Pass
assert_equals(2, 2, "Sanity check: endOffset must be correct")
    at testExtend ( /selection/extend.js:86:5)
Pass
assert_throws_dom("INDEX_SIZE_ERR", function "function() {             selection.extend(node, offset);         }", "extend() to an offset that's greater than node length (14) must throw IndexSizeError")
    at testExtend ( /selection/extend.js:117:9)
Passextend() backwards with range 17 [document.documentElement, 1, document.documentElement, 2] and point 50 [comment, -1]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(Element node <html><head><title>Selection extend() tests</title> <meta..., Element node <html><head><title>Selection extend() tests</title> <meta..., "Sanity check: startContainer must be correct")
    at testExtend ( /selection/extend.js:80:5)
Pass
assert_equals(1, 1, "Sanity check: startOffset must be correct")
    at testExtend ( /selection/extend.js:82:5)
Pass
assert_equals(Element node <html><head><title>Selection extend() tests</title> <meta..., Element node <html><head><title>Selection extend() tests</title> <meta..., "Sanity check: endContainer must be correct")
    at testExtend ( /selection/extend.js:84:5)
Pass
assert_equals(2, 2, "Sanity check: endOffset must be correct")
    at testExtend ( /selection/extend.js:86:5)
Pass
assert_throws_dom("INDEX_SIZE_ERR", function "function() {             selection.extend(node, offset);         }", "extend() to an offset that's greater than node length (14) must throw IndexSizeError")
    at testExtend ( /selection/extend.js:117:9)
Passextend() forwards with range 17 [document.documentElement, 1, document.documentElement, 2] and point 51 [comment, 0]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(Element node <html><head><title>Selection extend() tests</title> <meta..., Element node <html><head><title>Selection extend() tests</title> <meta..., "Sanity check: startContainer must be correct")
    at testExtend ( /selection/extend.js:80:5)
Pass
assert_equals(1, 1, "Sanity check: startOffset must be correct")
    at testExtend ( /selection/extend.js:82:5)
Pass
assert_equals(Element node <html><head><title>Selection extend() tests</title> <meta..., Element node <html><head><title>Selection extend() tests</title> <meta..., "Sanity check: endContainer must be correct")
    at testExtend ( /selection/extend.js:84:5)
Pass
assert_equals(2, 2, "Sanity check: endOffset must be correct")
    at testExtend ( /selection/extend.js:86:5)
Pass
assert_equals(Element node <html><head><title>Selection extend() tests</title> <meta..., Element node <html><head><title>Selection extend() tests</title> <meta..., "anchorNode must not change if the node passed to extend() has the same root as the original range")
    at testExtend ( /selection/extend.js:145:9)
Pass
assert_equals(1, 1, "anchorOffset must not change if the node passed to extend() has the same root as the original range")
    at testExtend ( /selection/extend.js:147:9)
Pass
assert_equals(Comment node <!--Alphabet soup?-->, Comment node <!--Alphabet soup?-->, "focusNode must be the node passed to extend()")
    at testExtend ( /selection/extend.js:155:5)
Pass
assert_equals(0, 0, "focusOffset must be the offset passed to extend()")
    at testExtend ( /selection/extend.js:157:5)
Pass
assert_not_equals(object "Äb̈c̈d̈ëf̈g̈ḧ Ijklmnop QrstuvwxYzabcdefGhijklmn", object "Äb̈c̈d̈ëf̈g̈ḧ Ijklmnop QrstuvwxYzabcdefGhijklmn     Running, 1000 complete, 1 remain  "use strict";  testExtendSubSet(0, 20); testDiv.style.display = "none"; ", "extend() must replace any existing range with a new one, not mutate the existing one")
    at testExtend ( /selection/extend.js:159:5)
Passextend() backwards with range 17 [document.documentElement, 1, document.documentElement, 2] and point 51 [comment, 0]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(Element node <html><head><title>Selection extend() tests</title> <meta..., Element node <html><head><title>Selection extend() tests</title> <meta..., "Sanity check: startContainer must be correct")
    at testExtend ( /selection/extend.js:80:5)
Pass
assert_equals(1, 1, "Sanity check: startOffset must be correct")
    at testExtend ( /selection/extend.js:82:5)
Pass
assert_equals(Element node <html><head><title>Selection extend() tests</title> <meta..., Element node <html><head><title>Selection extend() tests</title> <meta..., "Sanity check: endContainer must be correct")
    at testExtend ( /selection/extend.js:84:5)
Pass
assert_equals(2, 2, "Sanity check: endOffset must be correct")
    at testExtend ( /selection/extend.js:86:5)
Pass
assert_equals(Element node <html><head><title>Selection extend() tests</title> <meta..., Element node <html><head><title>Selection extend() tests</title> <meta..., "anchorNode must not change if the node passed to extend() has the same root as the original range")
    at testExtend ( /selection/extend.js:145:9)
Pass
assert_equals(2, 2, "anchorOffset must not change if the node passed to extend() has the same root as the original range")
    at testExtend ( /selection/extend.js:147:9)
Pass
assert_equals(Comment node <!--Alphabet soup?-->, Comment node <!--Alphabet soup?-->, "focusNode must be the node passed to extend()")
    at testExtend ( /selection/extend.js:155:5)
Pass
assert_equals(0, 0, "focusOffset must be the offset passed to extend()")
    at testExtend ( /selection/extend.js:157:5)
Pass
assert_not_equals(object "     Running, 1000 complete, 1 remain  "use strict";  testExtendSubSet(0, 20); testDiv.style.display = "none"; ", object "Äb̈c̈d̈ëf̈g̈ḧ Ijklmnop QrstuvwxYzabcdefGhijklmn     Running, 1000 complete, 1 remain  "use strict";  testExtendSubSet(0, 20); testDiv.style.display = "none"; ", "extend() must replace any existing range with a new one, not mutate the existing one")
    at testExtend ( /selection/extend.js:159:5)
Passextend() forwards with range 17 [document.documentElement, 1, document.documentElement, 2] and point 52 [comment, 4]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(Element node <html><head><title>Selection extend() tests</title> <meta..., Element node <html><head><title>Selection extend() tests</title> <meta..., "Sanity check: startContainer must be correct")
    at testExtend ( /selection/extend.js:80:5)
Pass
assert_equals(1, 1, "Sanity check: startOffset must be correct")
    at testExtend ( /selection/extend.js:82:5)
Pass
assert_equals(Element node <html><head><title>Selection extend() tests</title> <meta..., Element node <html><head><title>Selection extend() tests</title> <meta..., "Sanity check: endContainer must be correct")
    at testExtend ( /selection/extend.js:84:5)
Pass
assert_equals(2, 2, "Sanity check: endOffset must be correct")
    at testExtend ( /selection/extend.js:86:5)
Pass
assert_equals(Element node <html><head><title>Selection extend() tests</title> <meta..., Element node <html><head><title>Selection extend() tests</title> <meta..., "anchorNode must not change if the node passed to extend() has the same root as the original range")
    at testExtend ( /selection/extend.js:145:9)
Pass
assert_equals(1, 1, "anchorOffset must not change if the node passed to extend() has the same root as the original range")
    at testExtend ( /selection/extend.js:147:9)
Pass
assert_equals(Comment node <!--Alphabet soup?-->, Comment node <!--Alphabet soup?-->, "focusNode must be the node passed to extend()")
    at testExtend ( /selection/extend.js:155:5)
Pass
assert_equals(4, 4, "focusOffset must be the offset passed to extend()")
    at testExtend ( /selection/extend.js:157:5)
Pass
assert_not_equals(object "Äb̈c̈d̈ëf̈g̈ḧ Ijklmnop QrstuvwxYzabcdefGhijklmn", object "Äb̈c̈d̈ëf̈g̈ḧ Ijklmnop QrstuvwxYzabcdefGhijklmn     Running, 1000 complete, 1 remain  "use strict";  testExtendSubSet(0, 20); testDiv.style.display = "none"; ", "extend() must replace any existing range with a new one, not mutate the existing one")
    at testExtend ( /selection/extend.js:159:5)
Passextend() backwards with range 17 [document.documentElement, 1, document.documentElement, 2] and point 52 [comment, 4]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(Element node <html><head><title>Selection extend() tests</title> <meta..., Element node <html><head><title>Selection extend() tests</title> <meta..., "Sanity check: startContainer must be correct")
    at testExtend ( /selection/extend.js:80:5)
Pass
assert_equals(1, 1, "Sanity check: startOffset must be correct")
    at testExtend ( /selection/extend.js:82:5)
Pass
assert_equals(Element node <html><head><title>Selection extend() tests</title> <meta..., Element node <html><head><title>Selection extend() tests</title> <meta..., "Sanity check: endContainer must be correct")
    at testExtend ( /selection/extend.js:84:5)
Pass
assert_equals(2, 2, "Sanity check: endOffset must be correct")
    at testExtend ( /selection/extend.js:86:5)
Pass
assert_equals(Element node <html><head><title>Selection extend() tests</title> <meta..., Element node <html><head><title>Selection extend() tests</title> <meta..., "anchorNode must not change if the node passed to extend() has the same root as the original range")
    at testExtend ( /selection/extend.js:145:9)
Pass
assert_equals(2, 2, "anchorOffset must not change if the node passed to extend() has the same root as the original range")
    at testExtend ( /selection/extend.js:147:9)
Pass
assert_equals(Comment node <!--Alphabet soup?-->, Comment node <!--Alphabet soup?-->, "focusNode must be the node passed to extend()")
    at testExtend ( /selection/extend.js:155:5)
Pass
assert_equals(4, 4, "focusOffset must be the offset passed to extend()")
    at testExtend ( /selection/extend.js:157:5)
Pass
assert_not_equals(object "     Running, 1000 complete, 1 remain  "use strict";  testExtendSubSet(0, 20); testDiv.style.display = "none"; ", object "Äb̈c̈d̈ëf̈g̈ḧ Ijklmnop QrstuvwxYzabcdefGhijklmn     Running, 1000 complete, 1 remain  "use strict";  testExtendSubSet(0, 20); testDiv.style.display = "none"; ", "extend() must replace any existing range with a new one, not mutate the existing one")
    at testExtend ( /selection/extend.js:159:5)
Passextend() forwards with range 17 [document.documentElement, 1, document.documentElement, 2] and point 53 [comment, 96]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(Element node <html><head><title>Selection extend() tests</title> <meta..., Element node <html><head><title>Selection extend() tests</title> <meta..., "Sanity check: startContainer must be correct")
    at testExtend ( /selection/extend.js:80:5)
Pass
assert_equals(1, 1, "Sanity check: startOffset must be correct")
    at testExtend ( /selection/extend.js:82:5)
Pass
assert_equals(Element node <html><head><title>Selection extend() tests</title> <meta..., Element node <html><head><title>Selection extend() tests</title> <meta..., "Sanity check: endContainer must be correct")
    at testExtend ( /selection/extend.js:84:5)
Pass
assert_equals(2, 2, "Sanity check: endOffset must be correct")
    at testExtend ( /selection/extend.js:86:5)
Pass
assert_throws_dom("INDEX_SIZE_ERR", function "function() {             selection.extend(node, offset);         }", "extend() to an offset that's greater than node length (14) must throw IndexSizeError")
    at testExtend ( /selection/extend.js:117:9)
Passextend() backwards with range 17 [document.documentElement, 1, document.documentElement, 2] and point 53 [comment, 96]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(Element node <html><head><title>Selection extend() tests</title> <meta..., Element node <html><head><title>Selection extend() tests</title> <meta..., "Sanity check: startContainer must be correct")
    at testExtend ( /selection/extend.js:80:5)
Pass
assert_equals(1, 1, "Sanity check: startOffset must be correct")
    at testExtend ( /selection/extend.js:82:5)
Pass
assert_equals(Element node <html><head><title>Selection extend() tests</title> <meta..., Element node <html><head><title>Selection extend() tests</title> <meta..., "Sanity check: endContainer must be correct")
    at testExtend ( /selection/extend.js:84:5)
Pass
assert_equals(2, 2, "Sanity check: endOffset must be correct")
    at testExtend ( /selection/extend.js:86:5)
Pass
assert_throws_dom("INDEX_SIZE_ERR", function "function() {             selection.extend(node, offset);         }", "extend() to an offset that's greater than node length (14) must throw IndexSizeError")
    at testExtend ( /selection/extend.js:117:9)
Passextend() forwards with range 17 [document.documentElement, 1, document.documentElement, 2] and point 54 [foreignDoc, 0]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(1, 1, "The operation should not add Range")
    at assertSelectionNoChange ( /selection/common.js:976:5)
Pass
assert_equals(Element node <html><head><title>Selection extend() tests</title> <meta..., Element node <html><head><title>Selection extend() tests</title> <meta..., "The operation should not update anchorNode")
    at assertSelectionNoChange ( /selection/common.js:978:5)
Pass
assert_equals(1, 1, "The operation should not update anchorOffset")
    at assertSelectionNoChange ( /selection/common.js:980:5)
Pass
assert_equals(Element node <html><head><title>Selection extend() tests</title> <meta..., Element node <html><head><title>Selection extend() tests</title> <meta..., "The operation should not update focusNode")
    at assertSelectionNoChange ( /selection/common.js:982:5)
Pass
assert_equals(2, 2, "The operation should not update focusOffset")
    at assertSelectionNoChange ( /selection/common.js:984:5)
Pass
assert_equals(object "Äb̈c̈d̈ëf̈g̈ḧ Ijklmnop QrstuvwxYzabcdefGhijklmn     Running, 1000 complete, 1 remain  "use strict";  testExtendSubSet(0, 20); testDiv.style.display = "none"; ", object "Äb̈c̈d̈ëf̈g̈ḧ Ijklmnop QrstuvwxYzabcdefGhijklmn     Running, 1000 complete, 1 remain  "use strict";  testExtendSubSet(0, 20); testDiv.style.display = "none"; ", "The operation should not replace a registered Range")
    at assertSelectionNoChange ( /selection/common.js:988:5)
Passextend() backwards with range 17 [document.documentElement, 1, document.documentElement, 2] and point 54 [foreignDoc, 0]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(1, 1, "The operation should not add Range")
    at assertSelectionNoChange ( /selection/common.js:976:5)
Pass
assert_equals(Element node <html><head><title>Selection extend() tests</title> <meta..., Element node <html><head><title>Selection extend() tests</title> <meta..., "The operation should not update anchorNode")
    at assertSelectionNoChange ( /selection/common.js:978:5)
Pass
assert_equals(2, 2, "The operation should not update anchorOffset")
    at assertSelectionNoChange ( /selection/common.js:980:5)
Pass
assert_equals(Element node <html><head><title>Selection extend() tests</title> <meta..., Element node <html><head><title>Selection extend() tests</title> <meta..., "The operation should not update focusNode")
    at assertSelectionNoChange ( /selection/common.js:982:5)
Pass
assert_equals(1, 1, "The operation should not update focusOffset")
    at assertSelectionNoChange ( /selection/common.js:984:5)
Pass
assert_equals(object "Äb̈c̈d̈ëf̈g̈ḧ Ijklmnop QrstuvwxYzabcdefGhijklmn     Running, 1000 complete, 1 remain  "use strict";  testExtendSubSet(0, 20); testDiv.style.display = "none"; ", object "Äb̈c̈d̈ëf̈g̈ḧ Ijklmnop QrstuvwxYzabcdefGhijklmn     Running, 1000 complete, 1 remain  "use strict";  testExtendSubSet(0, 20); testDiv.style.display = "none"; ", "The operation should not replace a registered Range")
    at assertSelectionNoChange ( /selection/common.js:988:5)
Passextend() forwards with range 17 [document.documentElement, 1, document.documentElement, 2] and point 55 [foreignDoc, 1]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(1, 1, "The operation should not add Range")
    at assertSelectionNoChange ( /selection/common.js:976:5)
Pass
assert_equals(Element node <html><head><title>Selection extend() tests</title> <meta..., Element node <html><head><title>Selection extend() tests</title> <meta..., "The operation should not update anchorNode")
    at assertSelectionNoChange ( /selection/common.js:978:5)
Pass
assert_equals(1, 1, "The operation should not update anchorOffset")
    at assertSelectionNoChange ( /selection/common.js:980:5)
Pass
assert_equals(Element node <html><head><title>Selection extend() tests</title> <meta..., Element node <html><head><title>Selection extend() tests</title> <meta..., "The operation should not update focusNode")
    at assertSelectionNoChange ( /selection/common.js:982:5)
Pass
assert_equals(2, 2, "The operation should not update focusOffset")
    at assertSelectionNoChange ( /selection/common.js:984:5)
Pass
assert_equals(object "Äb̈c̈d̈ëf̈g̈ḧ Ijklmnop QrstuvwxYzabcdefGhijklmn     Running, 1000 complete, 1 remain  "use strict";  testExtendSubSet(0, 20); testDiv.style.display = "none"; ", object "Äb̈c̈d̈ëf̈g̈ḧ Ijklmnop QrstuvwxYzabcdefGhijklmn     Running, 1000 complete, 1 remain  "use strict";  testExtendSubSet(0, 20); testDiv.style.display = "none"; ", "The operation should not replace a registered Range")
    at assertSelectionNoChange ( /selection/common.js:988:5)
Passextend() backwards with range 17 [document.documentElement, 1, document.documentElement, 2] and point 55 [foreignDoc, 1]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(1, 1, "The operation should not add Range")
    at assertSelectionNoChange ( /selection/common.js:976:5)
Pass
assert_equals(Element node <html><head><title>Selection extend() tests</title> <meta..., Element node <html><head><title>Selection extend() tests</title> <meta..., "The operation should not update anchorNode")
    at assertSelectionNoChange ( /selection/common.js:978:5)
Pass
assert_equals(2, 2, "The operation should not update anchorOffset")
    at assertSelectionNoChange ( /selection/common.js:980:5)
Pass
assert_equals(Element node <html><head><title>Selection extend() tests</title> <meta..., Element node <html><head><title>Selection extend() tests</title> <meta..., "The operation should not update focusNode")
    at assertSelectionNoChange ( /selection/common.js:982:5)
Pass
assert_equals(1, 1, "The operation should not update focusOffset")
    at assertSelectionNoChange ( /selection/common.js:984:5)
Pass
assert_equals(object "Äb̈c̈d̈ëf̈g̈ḧ Ijklmnop QrstuvwxYzabcdefGhijklmn     Running, 1000 complete, 1 remain  "use strict";  testExtendSubSet(0, 20); testDiv.style.display = "none"; ", object "Äb̈c̈d̈ëf̈g̈ḧ Ijklmnop QrstuvwxYzabcdefGhijklmn     Running, 1000 complete, 1 remain  "use strict";  testExtendSubSet(0, 20); testDiv.style.display = "none"; ", "The operation should not replace a registered Range")
    at assertSelectionNoChange ( /selection/common.js:988:5)
Passextend() forwards with range 17 [document.documentElement, 1, document.documentElement, 2] and point 56 [foreignComment, 2]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(1, 1, "The operation should not add Range")
    at assertSelectionNoChange ( /selection/common.js:976:5)
Pass
assert_equals(Element node <html><head><title>Selection extend() tests</title> <meta..., Element node <html><head><title>Selection extend() tests</title> <meta..., "The operation should not update anchorNode")
    at assertSelectionNoChange ( /selection/common.js:978:5)
Pass
assert_equals(1, 1, "The operation should not update anchorOffset")
    at assertSelectionNoChange ( /selection/common.js:980:5)
Pass
assert_equals(Element node <html><head><title>Selection extend() tests</title> <meta..., Element node <html><head><title>Selection extend() tests</title> <meta..., "The operation should not update focusNode")
    at assertSelectionNoChange ( /selection/common.js:982:5)
Pass
assert_equals(2, 2, "The operation should not update focusOffset")
    at assertSelectionNoChange ( /selection/common.js:984:5)
Pass
assert_equals(object "Äb̈c̈d̈ëf̈g̈ḧ Ijklmnop QrstuvwxYzabcdefGhijklmn     Running, 1000 complete, 1 remain  "use strict";  testExtendSubSet(0, 20); testDiv.style.display = "none"; ", object "Äb̈c̈d̈ëf̈g̈ḧ Ijklmnop QrstuvwxYzabcdefGhijklmn     Running, 1000 complete, 1 remain  "use strict";  testExtendSubSet(0, 20); testDiv.style.display = "none"; ", "The operation should not replace a registered Range")
    at assertSelectionNoChange ( /selection/common.js:988:5)
Passextend() backwards with range 17 [document.documentElement, 1, document.documentElement, 2] and point 56 [foreignComment, 2]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(1, 1, "The operation should not add Range")
    at assertSelectionNoChange ( /selection/common.js:976:5)
Pass
assert_equals(Element node <html><head><title>Selection extend() tests</title> <meta..., Element node <html><head><title>Selection extend() tests</title> <meta..., "The operation should not update anchorNode")
    at assertSelectionNoChange ( /selection/common.js:978:5)
Pass
assert_equals(2, 2, "The operation should not update anchorOffset")
    at assertSelectionNoChange ( /selection/common.js:980:5)
Pass
assert_equals(Element node <html><head><title>Selection extend() tests</title> <meta..., Element node <html><head><title>Selection extend() tests</title> <meta..., "The operation should not update focusNode")
    at assertSelectionNoChange ( /selection/common.js:982:5)
Pass
assert_equals(1, 1, "The operation should not update focusOffset")
    at assertSelectionNoChange ( /selection/common.js:984:5)
Pass
assert_equals(object "Äb̈c̈d̈ëf̈g̈ḧ Ijklmnop QrstuvwxYzabcdefGhijklmn     Running, 1000 complete, 1 remain  "use strict";  testExtendSubSet(0, 20); testDiv.style.display = "none"; ", object "Äb̈c̈d̈ëf̈g̈ḧ Ijklmnop QrstuvwxYzabcdefGhijklmn     Running, 1000 complete, 1 remain  "use strict";  testExtendSubSet(0, 20); testDiv.style.display = "none"; ", "The operation should not replace a registered Range")
    at assertSelectionNoChange ( /selection/common.js:988:5)
Passextend() forwards with range 17 [document.documentElement, 1, document.documentElement, 2] and point 57 [foreignTextNode, 0]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(1, 1, "The operation should not add Range")
    at assertSelectionNoChange ( /selection/common.js:976:5)
Pass
assert_equals(Element node <html><head><title>Selection extend() tests</title> <meta..., Element node <html><head><title>Selection extend() tests</title> <meta..., "The operation should not update anchorNode")
    at assertSelectionNoChange ( /selection/common.js:978:5)
Pass
assert_equals(1, 1, "The operation should not update anchorOffset")
    at assertSelectionNoChange ( /selection/common.js:980:5)
Pass
assert_equals(Element node <html><head><title>Selection extend() tests</title> <meta..., Element node <html><head><title>Selection extend() tests</title> <meta..., "The operation should not update focusNode")
    at assertSelectionNoChange ( /selection/common.js:982:5)
Pass
assert_equals(2, 2, "The operation should not update focusOffset")
    at assertSelectionNoChange ( /selection/common.js:984:5)
Pass
assert_equals(object "Äb̈c̈d̈ëf̈g̈ḧ Ijklmnop QrstuvwxYzabcdefGhijklmn     Running, 1000 complete, 1 remain  "use strict";  testExtendSubSet(0, 20); testDiv.style.display = "none"; ", object "Äb̈c̈d̈ëf̈g̈ḧ Ijklmnop QrstuvwxYzabcdefGhijklmn     Running, 1000 complete, 1 remain  "use strict";  testExtendSubSet(0, 20); testDiv.style.display = "none"; ", "The operation should not replace a registered Range")
    at assertSelectionNoChange ( /selection/common.js:988:5)
Passextend() backwards with range 17 [document.documentElement, 1, document.documentElement, 2] and point 57 [foreignTextNode, 0]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(1, 1, "The operation should not add Range")
    at assertSelectionNoChange ( /selection/common.js:976:5)
Pass
assert_equals(Element node <html><head><title>Selection extend() tests</title> <meta..., Element node <html><head><title>Selection extend() tests</title> <meta..., "The operation should not update anchorNode")
    at assertSelectionNoChange ( /selection/common.js:978:5)
Pass
assert_equals(2, 2, "The operation should not update anchorOffset")
    at assertSelectionNoChange ( /selection/common.js:980:5)
Pass
assert_equals(Element node <html><head><title>Selection extend() tests</title> <meta..., Element node <html><head><title>Selection extend() tests</title> <meta..., "The operation should not update focusNode")
    at assertSelectionNoChange ( /selection/common.js:982:5)
Pass
assert_equals(1, 1, "The operation should not update focusOffset")
    at assertSelectionNoChange ( /selection/common.js:984:5)
Pass
assert_equals(object "Äb̈c̈d̈ëf̈g̈ḧ Ijklmnop QrstuvwxYzabcdefGhijklmn     Running, 1000 complete, 1 remain  "use strict";  testExtendSubSet(0, 20); testDiv.style.display = "none"; ", object "Äb̈c̈d̈ëf̈g̈ḧ Ijklmnop QrstuvwxYzabcdefGhijklmn     Running, 1000 complete, 1 remain  "use strict";  testExtendSubSet(0, 20); testDiv.style.display = "none"; ", "The operation should not replace a registered Range")
    at assertSelectionNoChange ( /selection/common.js:988:5)
Passextend() forwards with range 17 [document.documentElement, 1, document.documentElement, 2] and point 58 [foreignTextNode, 36]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(1, 1, "The operation should not add Range")
    at assertSelectionNoChange ( /selection/common.js:976:5)
Pass
assert_equals(Element node <html><head><title>Selection extend() tests</title> <meta..., Element node <html><head><title>Selection extend() tests</title> <meta..., "The operation should not update anchorNode")
    at assertSelectionNoChange ( /selection/common.js:978:5)
Pass
assert_equals(1, 1, "The operation should not update anchorOffset")
    at assertSelectionNoChange ( /selection/common.js:980:5)
Pass
assert_equals(Element node <html><head><title>Selection extend() tests</title> <meta..., Element node <html><head><title>Selection extend() tests</title> <meta..., "The operation should not update focusNode")
    at assertSelectionNoChange ( /selection/common.js:982:5)
Pass
assert_equals(2, 2, "The operation should not update focusOffset")
    at assertSelectionNoChange ( /selection/common.js:984:5)
Pass
assert_equals(object "Äb̈c̈d̈ëf̈g̈ḧ Ijklmnop QrstuvwxYzabcdefGhijklmn     Running, 1000 complete, 1 remain  "use strict";  testExtendSubSet(0, 20); testDiv.style.display = "none"; ", object "Äb̈c̈d̈ëf̈g̈ḧ Ijklmnop QrstuvwxYzabcdefGhijklmn     Running, 1000 complete, 1 remain  "use strict";  testExtendSubSet(0, 20); testDiv.style.display = "none"; ", "The operation should not replace a registered Range")
    at assertSelectionNoChange ( /selection/common.js:988:5)
Passextend() backwards with range 17 [document.documentElement, 1, document.documentElement, 2] and point 58 [foreignTextNode, 36]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(1, 1, "The operation should not add Range")
    at assertSelectionNoChange ( /selection/common.js:976:5)
Pass
assert_equals(Element node <html><head><title>Selection extend() tests</title> <meta..., Element node <html><head><title>Selection extend() tests</title> <meta..., "The operation should not update anchorNode")
    at assertSelectionNoChange ( /selection/common.js:978:5)
Pass
assert_equals(2, 2, "The operation should not update anchorOffset")
    at assertSelectionNoChange ( /selection/common.js:980:5)
Pass
assert_equals(Element node <html><head><title>Selection extend() tests</title> <meta..., Element node <html><head><title>Selection extend() tests</title> <meta..., "The operation should not update focusNode")
    at assertSelectionNoChange ( /selection/common.js:982:5)
Pass
assert_equals(1, 1, "The operation should not update focusOffset")
    at assertSelectionNoChange ( /selection/common.js:984:5)
Pass
assert_equals(object "Äb̈c̈d̈ëf̈g̈ḧ Ijklmnop QrstuvwxYzabcdefGhijklmn     Running, 1000 complete, 1 remain  "use strict";  testExtendSubSet(0, 20); testDiv.style.display = "none"; ", object "Äb̈c̈d̈ëf̈g̈ḧ Ijklmnop QrstuvwxYzabcdefGhijklmn     Running, 1000 complete, 1 remain  "use strict";  testExtendSubSet(0, 20); testDiv.style.display = "none"; ", "The operation should not replace a registered Range")
    at assertSelectionNoChange ( /selection/common.js:988:5)
Passextend() forwards with range 17 [document.documentElement, 1, document.documentElement, 2] and point 59 [xmlDoc, -1]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(1, 1, "The operation should not add Range")
    at assertSelectionNoChange ( /selection/common.js:976:5)
Pass
assert_equals(Element node <html><head><title>Selection extend() tests</title> <meta..., Element node <html><head><title>Selection extend() tests</title> <meta..., "The operation should not update anchorNode")
    at assertSelectionNoChange ( /selection/common.js:978:5)
Pass
assert_equals(1, 1, "The operation should not update anchorOffset")
    at assertSelectionNoChange ( /selection/common.js:980:5)
Pass
assert_equals(Element node <html><head><title>Selection extend() tests</title> <meta..., Element node <html><head><title>Selection extend() tests</title> <meta..., "The operation should not update focusNode")
    at assertSelectionNoChange ( /selection/common.js:982:5)
Pass
assert_equals(2, 2, "The operation should not update focusOffset")
    at assertSelectionNoChange ( /selection/common.js:984:5)
Pass
assert_equals(object "Äb̈c̈d̈ëf̈g̈ḧ Ijklmnop QrstuvwxYzabcdefGhijklmn     Running, 1000 complete, 1 remain  "use strict";  testExtendSubSet(0, 20); testDiv.style.display = "none"; ", object "Äb̈c̈d̈ëf̈g̈ḧ Ijklmnop QrstuvwxYzabcdefGhijklmn     Running, 1000 complete, 1 remain  "use strict";  testExtendSubSet(0, 20); testDiv.style.display = "none"; ", "The operation should not replace a registered Range")
    at assertSelectionNoChange ( /selection/common.js:988:5)
Passextend() backwards with range 17 [document.documentElement, 1, document.documentElement, 2] and point 59 [xmlDoc, -1]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(1, 1, "The operation should not add Range")
    at assertSelectionNoChange ( /selection/common.js:976:5)
Pass
assert_equals(Element node <html><head><title>Selection extend() tests</title> <meta..., Element node <html><head><title>Selection extend() tests</title> <meta..., "The operation should not update anchorNode")
    at assertSelectionNoChange ( /selection/common.js:978:5)
Pass
assert_equals(2, 2, "The operation should not update anchorOffset")
    at assertSelectionNoChange ( /selection/common.js:980:5)
Pass
assert_equals(Element node <html><head><title>Selection extend() tests</title> <meta..., Element node <html><head><title>Selection extend() tests</title> <meta..., "The operation should not update focusNode")
    at assertSelectionNoChange ( /selection/common.js:982:5)
Pass
assert_equals(1, 1, "The operation should not update focusOffset")
    at assertSelectionNoChange ( /selection/common.js:984:5)
Pass
assert_equals(object "Äb̈c̈d̈ëf̈g̈ḧ Ijklmnop QrstuvwxYzabcdefGhijklmn     Running, 1000 complete, 1 remain  "use strict";  testExtendSubSet(0, 20); testDiv.style.display = "none"; ", object "Äb̈c̈d̈ëf̈g̈ḧ Ijklmnop QrstuvwxYzabcdefGhijklmn     Running, 1000 complete, 1 remain  "use strict";  testExtendSubSet(0, 20); testDiv.style.display = "none"; ", "The operation should not replace a registered Range")
    at assertSelectionNoChange ( /selection/common.js:988:5)
Passextend() forwards with range 17 [document.documentElement, 1, document.documentElement, 2] and point 60 [xmlDoc, 0]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(1, 1, "The operation should not add Range")
    at assertSelectionNoChange ( /selection/common.js:976:5)
Pass
assert_equals(Element node <html><head><title>Selection extend() tests</title> <meta..., Element node <html><head><title>Selection extend() tests</title> <meta..., "The operation should not update anchorNode")
    at assertSelectionNoChange ( /selection/common.js:978:5)
Pass
assert_equals(1, 1, "The operation should not update anchorOffset")
    at assertSelectionNoChange ( /selection/common.js:980:5)
Pass
assert_equals(Element node <html><head><title>Selection extend() tests</title> <meta..., Element node <html><head><title>Selection extend() tests</title> <meta..., "The operation should not update focusNode")
    at assertSelectionNoChange ( /selection/common.js:982:5)
Pass
assert_equals(2, 2, "The operation should not update focusOffset")
    at assertSelectionNoChange ( /selection/common.js:984:5)
Pass
assert_equals(object "Äb̈c̈d̈ëf̈g̈ḧ Ijklmnop QrstuvwxYzabcdefGhijklmn     Running, 1000 complete, 1 remain  "use strict";  testExtendSubSet(0, 20); testDiv.style.display = "none"; ", object "Äb̈c̈d̈ëf̈g̈ḧ Ijklmnop QrstuvwxYzabcdefGhijklmn     Running, 1000 complete, 1 remain  "use strict";  testExtendSubSet(0, 20); testDiv.style.display = "none"; ", "The operation should not replace a registered Range")
    at assertSelectionNoChange ( /selection/common.js:988:5)
Passextend() backwards with range 17 [document.documentElement, 1, document.documentElement, 2] and point 60 [xmlDoc, 0]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(1, 1, "The operation should not add Range")
    at assertSelectionNoChange ( /selection/common.js:976:5)
Pass
assert_equals(Element node <html><head><title>Selection extend() tests</title> <meta..., Element node <html><head><title>Selection extend() tests</title> <meta..., "The operation should not update anchorNode")
    at assertSelectionNoChange ( /selection/common.js:978:5)
Pass
assert_equals(2, 2, "The operation should not update anchorOffset")
    at assertSelectionNoChange ( /selection/common.js:980:5)
Pass
assert_equals(Element node <html><head><title>Selection extend() tests</title> <meta..., Element node <html><head><title>Selection extend() tests</title> <meta..., "The operation should not update focusNode")
    at assertSelectionNoChange ( /selection/common.js:982:5)
Pass
assert_equals(1, 1, "The operation should not update focusOffset")
    at assertSelectionNoChange ( /selection/common.js:984:5)
Pass
assert_equals(object "Äb̈c̈d̈ëf̈g̈ḧ Ijklmnop QrstuvwxYzabcdefGhijklmn     Running, 1000 complete, 1 remain  "use strict";  testExtendSubSet(0, 20); testDiv.style.display = "none"; ", object "Äb̈c̈d̈ëf̈g̈ḧ Ijklmnop QrstuvwxYzabcdefGhijklmn     Running, 1000 complete, 1 remain  "use strict";  testExtendSubSet(0, 20); testDiv.style.display = "none"; ", "The operation should not replace a registered Range")
    at assertSelectionNoChange ( /selection/common.js:988:5)
Passextend() forwards with range 17 [document.documentElement, 1, document.documentElement, 2] and point 61 [xmlDoc, 1]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(1, 1, "The operation should not add Range")
    at assertSelectionNoChange ( /selection/common.js:976:5)
Pass
assert_equals(Element node <html><head><title>Selection extend() tests</title> <meta..., Element node <html><head><title>Selection extend() tests</title> <meta..., "The operation should not update anchorNode")
    at assertSelectionNoChange ( /selection/common.js:978:5)
Pass
assert_equals(1, 1, "The operation should not update anchorOffset")
    at assertSelectionNoChange ( /selection/common.js:980:5)
Pass
assert_equals(Element node <html><head><title>Selection extend() tests</title> <meta..., Element node <html><head><title>Selection extend() tests</title> <meta..., "The operation should not update focusNode")
    at assertSelectionNoChange ( /selection/common.js:982:5)
Pass
assert_equals(2, 2, "The operation should not update focusOffset")
    at assertSelectionNoChange ( /selection/common.js:984:5)
Pass
assert_equals(object "Äb̈c̈d̈ëf̈g̈ḧ Ijklmnop QrstuvwxYzabcdefGhijklmn     Running, 1000 complete, 1 remain  "use strict";  testExtendSubSet(0, 20); testDiv.style.display = "none"; ", object "Äb̈c̈d̈ëf̈g̈ḧ Ijklmnop QrstuvwxYzabcdefGhijklmn     Running, 1000 complete, 1 remain  "use strict";  testExtendSubSet(0, 20); testDiv.style.display = "none"; ", "The operation should not replace a registered Range")
    at assertSelectionNoChange ( /selection/common.js:988:5)
Passextend() backwards with range 17 [document.documentElement, 1, document.documentElement, 2] and point 61 [xmlDoc, 1]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(1, 1, "The operation should not add Range")
    at assertSelectionNoChange ( /selection/common.js:976:5)
Pass
assert_equals(Element node <html><head><title>Selection extend() tests</title> <meta..., Element node <html><head><title>Selection extend() tests</title> <meta..., "The operation should not update anchorNode")
    at assertSelectionNoChange ( /selection/common.js:978:5)
Pass
assert_equals(2, 2, "The operation should not update anchorOffset")
    at assertSelectionNoChange ( /selection/common.js:980:5)
Pass
assert_equals(Element node <html><head><title>Selection extend() tests</title> <meta..., Element node <html><head><title>Selection extend() tests</title> <meta..., "The operation should not update focusNode")
    at assertSelectionNoChange ( /selection/common.js:982:5)
Pass
assert_equals(1, 1, "The operation should not update focusOffset")
    at assertSelectionNoChange ( /selection/common.js:984:5)
Pass
assert_equals(object "Äb̈c̈d̈ëf̈g̈ḧ Ijklmnop QrstuvwxYzabcdefGhijklmn     Running, 1000 complete, 1 remain  "use strict";  testExtendSubSet(0, 20); testDiv.style.display = "none"; ", object "Äb̈c̈d̈ëf̈g̈ḧ Ijklmnop QrstuvwxYzabcdefGhijklmn     Running, 1000 complete, 1 remain  "use strict";  testExtendSubSet(0, 20); testDiv.style.display = "none"; ", "The operation should not replace a registered Range")
    at assertSelectionNoChange ( /selection/common.js:988:5)
Passextend() forwards with range 17 [document.documentElement, 1, document.documentElement, 2] and point 62 [xmlDoc, 5]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(1, 1, "The operation should not add Range")
    at assertSelectionNoChange ( /selection/common.js:976:5)
Pass
assert_equals(Element node <html><head><title>Selection extend() tests</title> <meta..., Element node <html><head><title>Selection extend() tests</title> <meta..., "The operation should not update anchorNode")
    at assertSelectionNoChange ( /selection/common.js:978:5)
Pass
assert_equals(1, 1, "The operation should not update anchorOffset")
    at assertSelectionNoChange ( /selection/common.js:980:5)
Pass
assert_equals(Element node <html><head><title>Selection extend() tests</title> <meta..., Element node <html><head><title>Selection extend() tests</title> <meta..., "The operation should not update focusNode")
    at assertSelectionNoChange ( /selection/common.js:982:5)
Pass
assert_equals(2, 2, "The operation should not update focusOffset")
    at assertSelectionNoChange ( /selection/common.js:984:5)
Pass
assert_equals(object "Äb̈c̈d̈ëf̈g̈ḧ Ijklmnop QrstuvwxYzabcdefGhijklmn     Running, 1000 complete, 1 remain  "use strict";  testExtendSubSet(0, 20); testDiv.style.display = "none"; ", object "Äb̈c̈d̈ëf̈g̈ḧ Ijklmnop QrstuvwxYzabcdefGhijklmn     Running, 1000 complete, 1 remain  "use strict";  testExtendSubSet(0, 20); testDiv.style.display = "none"; ", "The operation should not replace a registered Range")
    at assertSelectionNoChange ( /selection/common.js:988:5)
Passextend() backwards with range 17 [document.documentElement, 1, document.documentElement, 2] and point 62 [xmlDoc, 5]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(1, 1, "The operation should not add Range")
    at assertSelectionNoChange ( /selection/common.js:976:5)
Pass
assert_equals(Element node <html><head><title>Selection extend() tests</title> <meta..., Element node <html><head><title>Selection extend() tests</title> <meta..., "The operation should not update anchorNode")
    at assertSelectionNoChange ( /selection/common.js:978:5)
Pass
assert_equals(2, 2, "The operation should not update anchorOffset")
    at assertSelectionNoChange ( /selection/common.js:980:5)
Pass
assert_equals(Element node <html><head><title>Selection extend() tests</title> <meta..., Element node <html><head><title>Selection extend() tests</title> <meta..., "The operation should not update focusNode")
    at assertSelectionNoChange ( /selection/common.js:982:5)
Pass
assert_equals(1, 1, "The operation should not update focusOffset")
    at assertSelectionNoChange ( /selection/common.js:984:5)
Pass
assert_equals(object "Äb̈c̈d̈ëf̈g̈ḧ Ijklmnop QrstuvwxYzabcdefGhijklmn     Running, 1000 complete, 1 remain  "use strict";  testExtendSubSet(0, 20); testDiv.style.display = "none"; ", object "Äb̈c̈d̈ëf̈g̈ḧ Ijklmnop QrstuvwxYzabcdefGhijklmn     Running, 1000 complete, 1 remain  "use strict";  testExtendSubSet(0, 20); testDiv.style.display = "none"; ", "The operation should not replace a registered Range")
    at assertSelectionNoChange ( /selection/common.js:988:5)
Passextend() forwards with range 17 [document.documentElement, 1, document.documentElement, 2] and point 63 [xmlComment, 0]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(1, 1, "The operation should not add Range")
    at assertSelectionNoChange ( /selection/common.js:976:5)
Pass
assert_equals(Element node <html><head><title>Selection extend() tests</title> <meta..., Element node <html><head><title>Selection extend() tests</title> <meta..., "The operation should not update anchorNode")
    at assertSelectionNoChange ( /selection/common.js:978:5)
Pass
assert_equals(1, 1, "The operation should not update anchorOffset")
    at assertSelectionNoChange ( /selection/common.js:980:5)
Pass
assert_equals(Element node <html><head><title>Selection extend() tests</title> <meta..., Element node <html><head><title>Selection extend() tests</title> <meta..., "The operation should not update focusNode")
    at assertSelectionNoChange ( /selection/common.js:982:5)
Pass
assert_equals(2, 2, "The operation should not update focusOffset")
    at assertSelectionNoChange ( /selection/common.js:984:5)
Pass
assert_equals(object "Äb̈c̈d̈ëf̈g̈ḧ Ijklmnop QrstuvwxYzabcdefGhijklmn     Running, 1000 complete, 1 remain  "use strict";  testExtendSubSet(0, 20); testDiv.style.display = "none"; ", object "Äb̈c̈d̈ëf̈g̈ḧ Ijklmnop QrstuvwxYzabcdefGhijklmn     Running, 1000 complete, 1 remain  "use strict";  testExtendSubSet(0, 20); testDiv.style.display = "none"; ", "The operation should not replace a registered Range")
    at assertSelectionNoChange ( /selection/common.js:988:5)
Passextend() backwards with range 17 [document.documentElement, 1, document.documentElement, 2] and point 63 [xmlComment, 0]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(1, 1, "The operation should not add Range")
    at assertSelectionNoChange ( /selection/common.js:976:5)
Pass
assert_equals(Element node <html><head><title>Selection extend() tests</title> <meta..., Element node <html><head><title>Selection extend() tests</title> <meta..., "The operation should not update anchorNode")
    at assertSelectionNoChange ( /selection/common.js:978:5)
Pass
assert_equals(2, 2, "The operation should not update anchorOffset")
    at assertSelectionNoChange ( /selection/common.js:980:5)
Pass
assert_equals(Element node <html><head><title>Selection extend() tests</title> <meta..., Element node <html><head><title>Selection extend() tests</title> <meta..., "The operation should not update focusNode")
    at assertSelectionNoChange ( /selection/common.js:982:5)
Pass
assert_equals(1, 1, "The operation should not update focusOffset")
    at assertSelectionNoChange ( /selection/common.js:984:5)
Pass
assert_equals(object "Äb̈c̈d̈ëf̈g̈ḧ Ijklmnop QrstuvwxYzabcdefGhijklmn     Running, 1000 complete, 1 remain  "use strict";  testExtendSubSet(0, 20); testDiv.style.display = "none"; ", object "Äb̈c̈d̈ëf̈g̈ḧ Ijklmnop QrstuvwxYzabcdefGhijklmn     Running, 1000 complete, 1 remain  "use strict";  testExtendSubSet(0, 20); testDiv.style.display = "none"; ", "The operation should not replace a registered Range")
    at assertSelectionNoChange ( /selection/common.js:988:5)
Passextend() forwards with range 17 [document.documentElement, 1, document.documentElement, 2] and point 64 [xmlComment, 4]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(1, 1, "The operation should not add Range")
    at assertSelectionNoChange ( /selection/common.js:976:5)
Pass
assert_equals(Element node <html><head><title>Selection extend() tests</title> <meta..., Element node <html><head><title>Selection extend() tests</title> <meta..., "The operation should not update anchorNode")
    at assertSelectionNoChange ( /selection/common.js:978:5)
Pass
assert_equals(1, 1, "The operation should not update anchorOffset")
    at assertSelectionNoChange ( /selection/common.js:980:5)
Pass
assert_equals(Element node <html><head><title>Selection extend() tests</title> <meta..., Element node <html><head><title>Selection extend() tests</title> <meta..., "The operation should not update focusNode")
    at assertSelectionNoChange ( /selection/common.js:982:5)
Pass
assert_equals(2, 2, "The operation should not update focusOffset")
    at assertSelectionNoChange ( /selection/common.js:984:5)
Pass
assert_equals(object "Äb̈c̈d̈ëf̈g̈ḧ Ijklmnop QrstuvwxYzabcdefGhijklmn     Running, 1000 complete, 1 remain  "use strict";  testExtendSubSet(0, 20); testDiv.style.display = "none"; ", object "Äb̈c̈d̈ëf̈g̈ḧ Ijklmnop QrstuvwxYzabcdefGhijklmn     Running, 1000 complete, 1 remain  "use strict";  testExtendSubSet(0, 20); testDiv.style.display = "none"; ", "The operation should not replace a registered Range")
    at assertSelectionNoChange ( /selection/common.js:988:5)
Passextend() backwards with range 17 [document.documentElement, 1, document.documentElement, 2] and point 64 [xmlComment, 4]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(1, 1, "The operation should not add Range")
    at assertSelectionNoChange ( /selection/common.js:976:5)
Pass
assert_equals(Element node <html><head><title>Selection extend() tests</title> <meta..., Element node <html><head><title>Selection extend() tests</title> <meta..., "The operation should not update anchorNode")
    at assertSelectionNoChange ( /selection/common.js:978:5)
Pass
assert_equals(2, 2, "The operation should not update anchorOffset")
    at assertSelectionNoChange ( /selection/common.js:980:5)
Pass
assert_equals(Element node <html><head><title>Selection extend() tests</title> <meta..., Element node <html><head><title>Selection extend() tests</title> <meta..., "The operation should not update focusNode")
    at assertSelectionNoChange ( /selection/common.js:982:5)
Pass
assert_equals(1, 1, "The operation should not update focusOffset")
    at assertSelectionNoChange ( /selection/common.js:984:5)
Pass
assert_equals(object "Äb̈c̈d̈ëf̈g̈ḧ Ijklmnop QrstuvwxYzabcdefGhijklmn     Running, 1000 complete, 1 remain  "use strict";  testExtendSubSet(0, 20); testDiv.style.display = "none"; ", object "Äb̈c̈d̈ëf̈g̈ḧ Ijklmnop QrstuvwxYzabcdefGhijklmn     Running, 1000 complete, 1 remain  "use strict";  testExtendSubSet(0, 20); testDiv.style.display = "none"; ", "The operation should not replace a registered Range")
    at assertSelectionNoChange ( /selection/common.js:988:5)
Passextend() forwards with range 17 [document.documentElement, 1, document.documentElement, 2] and point 65 [processingInstruction, 0]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(1, 1, "The operation should not add Range")
    at assertSelectionNoChange ( /selection/common.js:976:5)
Pass
assert_equals(Element node <html><head><title>Selection extend() tests</title> <meta..., Element node <html><head><title>Selection extend() tests</title> <meta..., "The operation should not update anchorNode")
    at assertSelectionNoChange ( /selection/common.js:978:5)
Pass
assert_equals(1, 1, "The operation should not update anchorOffset")
    at assertSelectionNoChange ( /selection/common.js:980:5)
Pass
assert_equals(Element node <html><head><title>Selection extend() tests</title> <meta..., Element node <html><head><title>Selection extend() tests</title> <meta..., "The operation should not update focusNode")
    at assertSelectionNoChange ( /selection/common.js:982:5)
Pass
assert_equals(2, 2, "The operation should not update focusOffset")
    at assertSelectionNoChange ( /selection/common.js:984:5)
Pass
assert_equals(object "Äb̈c̈d̈ëf̈g̈ḧ Ijklmnop QrstuvwxYzabcdefGhijklmn     Running, 1000 complete, 1 remain  "use strict";  testExtendSubSet(0, 20); testDiv.style.display = "none"; ", object "Äb̈c̈d̈ëf̈g̈ḧ Ijklmnop QrstuvwxYzabcdefGhijklmn     Running, 1000 complete, 1 remain  "use strict";  testExtendSubSet(0, 20); testDiv.style.display = "none"; ", "The operation should not replace a registered Range")
    at assertSelectionNoChange ( /selection/common.js:988:5)
Passextend() backwards with range 17 [document.documentElement, 1, document.documentElement, 2] and point 65 [processingInstruction, 0]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(1, 1, "The operation should not add Range")
    at assertSelectionNoChange ( /selection/common.js:976:5)
Pass
assert_equals(Element node <html><head><title>Selection extend() tests</title> <meta..., Element node <html><head><title>Selection extend() tests</title> <meta..., "The operation should not update anchorNode")
    at assertSelectionNoChange ( /selection/common.js:978:5)
Pass
assert_equals(2, 2, "The operation should not update anchorOffset")
    at assertSelectionNoChange ( /selection/common.js:980:5)
Pass
assert_equals(Element node <html><head><title>Selection extend() tests</title> <meta..., Element node <html><head><title>Selection extend() tests</title> <meta..., "The operation should not update focusNode")
    at assertSelectionNoChange ( /selection/common.js:982:5)
Pass
assert_equals(1, 1, "The operation should not update focusOffset")
    at assertSelectionNoChange ( /selection/common.js:984:5)
Pass
assert_equals(object "Äb̈c̈d̈ëf̈g̈ḧ Ijklmnop QrstuvwxYzabcdefGhijklmn     Running, 1000 complete, 1 remain  "use strict";  testExtendSubSet(0, 20); testDiv.style.display = "none"; ", object "Äb̈c̈d̈ëf̈g̈ḧ Ijklmnop QrstuvwxYzabcdefGhijklmn     Running, 1000 complete, 1 remain  "use strict";  testExtendSubSet(0, 20); testDiv.style.display = "none"; ", "The operation should not replace a registered Range")
    at assertSelectionNoChange ( /selection/common.js:988:5)
Passextend() forwards with range 17 [document.documentElement, 1, document.documentElement, 2] and point 66 [processingInstruction, 5]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(1, 1, "The operation should not add Range")
    at assertSelectionNoChange ( /selection/common.js:976:5)
Pass
assert_equals(Element node <html><head><title>Selection extend() tests</title> <meta..., Element node <html><head><title>Selection extend() tests</title> <meta..., "The operation should not update anchorNode")
    at assertSelectionNoChange ( /selection/common.js:978:5)
Pass
assert_equals(1, 1, "The operation should not update anchorOffset")
    at assertSelectionNoChange ( /selection/common.js:980:5)
Pass
assert_equals(Element node <html><head><title>Selection extend() tests</title> <meta..., Element node <html><head><title>Selection extend() tests</title> <meta..., "The operation should not update focusNode")
    at assertSelectionNoChange ( /selection/common.js:982:5)
Pass
assert_equals(2, 2, "The operation should not update focusOffset")
    at assertSelectionNoChange ( /selection/common.js:984:5)
Pass
assert_equals(object "Äb̈c̈d̈ëf̈g̈ḧ Ijklmnop QrstuvwxYzabcdefGhijklmn     Running, 1000 complete, 1 remain  "use strict";  testExtendSubSet(0, 20); testDiv.style.display = "none"; ", object "Äb̈c̈d̈ëf̈g̈ḧ Ijklmnop QrstuvwxYzabcdefGhijklmn     Running, 1000 complete, 1 remain  "use strict";  testExtendSubSet(0, 20); testDiv.style.display = "none"; ", "The operation should not replace a registered Range")
    at assertSelectionNoChange ( /selection/common.js:988:5)
Passextend() backwards with range 17 [document.documentElement, 1, document.documentElement, 2] and point 66 [processingInstruction, 5]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(1, 1, "The operation should not add Range")
    at assertSelectionNoChange ( /selection/common.js:976:5)
Pass
assert_equals(Element node <html><head><title>Selection extend() tests</title> <meta..., Element node <html><head><title>Selection extend() tests</title> <meta..., "The operation should not update anchorNode")
    at assertSelectionNoChange ( /selection/common.js:978:5)
Pass
assert_equals(2, 2, "The operation should not update anchorOffset")
    at assertSelectionNoChange ( /selection/common.js:980:5)
Pass
assert_equals(Element node <html><head><title>Selection extend() tests</title> <meta..., Element node <html><head><title>Selection extend() tests</title> <meta..., "The operation should not update focusNode")
    at assertSelectionNoChange ( /selection/common.js:982:5)
Pass
assert_equals(1, 1, "The operation should not update focusOffset")
    at assertSelectionNoChange ( /selection/common.js:984:5)
Pass
assert_equals(object "Äb̈c̈d̈ëf̈g̈ḧ Ijklmnop QrstuvwxYzabcdefGhijklmn     Running, 1000 complete, 1 remain  "use strict";  testExtendSubSet(0, 20); testDiv.style.display = "none"; ", object "Äb̈c̈d̈ëf̈g̈ḧ Ijklmnop QrstuvwxYzabcdefGhijklmn     Running, 1000 complete, 1 remain  "use strict";  testExtendSubSet(0, 20); testDiv.style.display = "none"; ", "The operation should not replace a registered Range")
    at assertSelectionNoChange ( /selection/common.js:988:5)
Passextend() forwards with range 17 [document.documentElement, 1, document.documentElement, 2] and point 67 [processingInstruction, 9]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(1, 1, "The operation should not add Range")
    at assertSelectionNoChange ( /selection/common.js:976:5)
Pass
assert_equals(Element node <html><head><title>Selection extend() tests</title> <meta..., Element node <html><head><title>Selection extend() tests</title> <meta..., "The operation should not update anchorNode")
    at assertSelectionNoChange ( /selection/common.js:978:5)
Pass
assert_equals(1, 1, "The operation should not update anchorOffset")
    at assertSelectionNoChange ( /selection/common.js:980:5)
Pass
assert_equals(Element node <html><head><title>Selection extend() tests</title> <meta..., Element node <html><head><title>Selection extend() tests</title> <meta..., "The operation should not update focusNode")
    at assertSelectionNoChange ( /selection/common.js:982:5)
Pass
assert_equals(2, 2, "The operation should not update focusOffset")
    at assertSelectionNoChange ( /selection/common.js:984:5)
Pass
assert_equals(object "Äb̈c̈d̈ëf̈g̈ḧ Ijklmnop QrstuvwxYzabcdefGhijklmn     Running, 1000 complete, 1 remain  "use strict";  testExtendSubSet(0, 20); testDiv.style.display = "none"; ", object "Äb̈c̈d̈ëf̈g̈ḧ Ijklmnop QrstuvwxYzabcdefGhijklmn     Running, 1000 complete, 1 remain  "use strict";  testExtendSubSet(0, 20); testDiv.style.display = "none"; ", "The operation should not replace a registered Range")
    at assertSelectionNoChange ( /selection/common.js:988:5)
Passextend() backwards with range 17 [document.documentElement, 1, document.documentElement, 2] and point 67 [processingInstruction, 9]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(1, 1, "The operation should not add Range")
    at assertSelectionNoChange ( /selection/common.js:976:5)
Pass
assert_equals(Element node <html><head><title>Selection extend() tests</title> <meta..., Element node <html><head><title>Selection extend() tests</title> <meta..., "The operation should not update anchorNode")
    at assertSelectionNoChange ( /selection/common.js:978:5)
Pass
assert_equals(2, 2, "The operation should not update anchorOffset")
    at assertSelectionNoChange ( /selection/common.js:980:5)
Pass
assert_equals(Element node <html><head><title>Selection extend() tests</title> <meta..., Element node <html><head><title>Selection extend() tests</title> <meta..., "The operation should not update focusNode")
    at assertSelectionNoChange ( /selection/common.js:982:5)
Pass
assert_equals(1, 1, "The operation should not update focusOffset")
    at assertSelectionNoChange ( /selection/common.js:984:5)
Pass
assert_equals(object "Äb̈c̈d̈ëf̈g̈ḧ Ijklmnop QrstuvwxYzabcdefGhijklmn     Running, 1000 complete, 1 remain  "use strict";  testExtendSubSet(0, 20); testDiv.style.display = "none"; ", object "Äb̈c̈d̈ëf̈g̈ḧ Ijklmnop QrstuvwxYzabcdefGhijklmn     Running, 1000 complete, 1 remain  "use strict";  testExtendSubSet(0, 20); testDiv.style.display = "none"; ", "The operation should not replace a registered Range")
    at assertSelectionNoChange ( /selection/common.js:988:5)
Passextend() forwards with range 17 [document.documentElement, 1, document.documentElement, 2] and point 68 [detachedTextNode, 0]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(1, 1, "The operation should not add Range")
    at assertSelectionNoChange ( /selection/common.js:976:5)
Pass
assert_equals(Element node <html><head><title>Selection extend() tests</title> <meta..., Element node <html><head><title>Selection extend() tests</title> <meta..., "The operation should not update anchorNode")
    at assertSelectionNoChange ( /selection/common.js:978:5)
Pass
assert_equals(1, 1, "The operation should not update anchorOffset")
    at assertSelectionNoChange ( /selection/common.js:980:5)
Pass
assert_equals(Element node <html><head><title>Selection extend() tests</title> <meta..., Element node <html><head><title>Selection extend() tests</title> <meta..., "The operation should not update focusNode")
    at assertSelectionNoChange ( /selection/common.js:982:5)
Pass
assert_equals(2, 2, "The operation should not update focusOffset")
    at assertSelectionNoChange ( /selection/common.js:984:5)
Pass
assert_equals(object "Äb̈c̈d̈ëf̈g̈ḧ Ijklmnop QrstuvwxYzabcdefGhijklmn     Running, 1000 complete, 1 remain  "use strict";  testExtendSubSet(0, 20); testDiv.style.display = "none"; ", object "Äb̈c̈d̈ëf̈g̈ḧ Ijklmnop QrstuvwxYzabcdefGhijklmn     Running, 1000 complete, 1 remain  "use strict";  testExtendSubSet(0, 20); testDiv.style.display = "none"; ", "The operation should not replace a registered Range")
    at assertSelectionNoChange ( /selection/common.js:988:5)
Passextend() backwards with range 17 [document.documentElement, 1, document.documentElement, 2] and point 68 [detachedTextNode, 0]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(1, 1, "The operation should not add Range")
    at assertSelectionNoChange ( /selection/common.js:976:5)
Pass
assert_equals(Element node <html><head><title>Selection extend() tests</title> <meta..., Element node <html><head><title>Selection extend() tests</title> <meta..., "The operation should not update anchorNode")
    at assertSelectionNoChange ( /selection/common.js:978:5)
Pass
assert_equals(2, 2, "The operation should not update anchorOffset")
    at assertSelectionNoChange ( /selection/common.js:980:5)
Pass
assert_equals(Element node <html><head><title>Selection extend() tests</title> <meta..., Element node <html><head><title>Selection extend() tests</title> <meta..., "The operation should not update focusNode")
    at assertSelectionNoChange ( /selection/common.js:982:5)
Pass
assert_equals(1, 1, "The operation should not update focusOffset")
    at assertSelectionNoChange ( /selection/common.js:984:5)
Pass
assert_equals(object "Äb̈c̈d̈ëf̈g̈ḧ Ijklmnop QrstuvwxYzabcdefGhijklmn     Running, 1000 complete, 1 remain  "use strict";  testExtendSubSet(0, 20); testDiv.style.display = "none"; ", object "Äb̈c̈d̈ëf̈g̈ḧ Ijklmnop QrstuvwxYzabcdefGhijklmn     Running, 1000 complete, 1 remain  "use strict";  testExtendSubSet(0, 20); testDiv.style.display = "none"; ", "The operation should not replace a registered Range")
    at assertSelectionNoChange ( /selection/common.js:988:5)
Passextend() forwards with range 17 [document.documentElement, 1, document.documentElement, 2] and point 69 [detachedTextNode, 8]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(1, 1, "The operation should not add Range")
    at assertSelectionNoChange ( /selection/common.js:976:5)
Pass
assert_equals(Element node <html><head><title>Selection extend() tests</title> <meta..., Element node <html><head><title>Selection extend() tests</title> <meta..., "The operation should not update anchorNode")
    at assertSelectionNoChange ( /selection/common.js:978:5)
Pass
assert_equals(1, 1, "The operation should not update anchorOffset")
    at assertSelectionNoChange ( /selection/common.js:980:5)
Pass
assert_equals(Element node <html><head><title>Selection extend() tests</title> <meta..., Element node <html><head><title>Selection extend() tests</title> <meta..., "The operation should not update focusNode")
    at assertSelectionNoChange ( /selection/common.js:982:5)
Pass
assert_equals(2, 2, "The operation should not update focusOffset")
    at assertSelectionNoChange ( /selection/common.js:984:5)
Pass
assert_equals(object "Äb̈c̈d̈ëf̈g̈ḧ Ijklmnop QrstuvwxYzabcdefGhijklmn     Running, 1000 complete, 1 remain  "use strict";  testExtendSubSet(0, 20); testDiv.style.display = "none"; ", object "Äb̈c̈d̈ëf̈g̈ḧ Ijklmnop QrstuvwxYzabcdefGhijklmn     Running, 1000 complete, 1 remain  "use strict";  testExtendSubSet(0, 20); testDiv.style.display = "none"; ", "The operation should not replace a registered Range")
    at assertSelectionNoChange ( /selection/common.js:988:5)
Passextend() backwards with range 17 [document.documentElement, 1, document.documentElement, 2] and point 69 [detachedTextNode, 8]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(1, 1, "The operation should not add Range")
    at assertSelectionNoChange ( /selection/common.js:976:5)
Pass
assert_equals(Element node <html><head><title>Selection extend() tests</title> <meta..., Element node <html><head><title>Selection extend() tests</title> <meta..., "The operation should not update anchorNode")
    at assertSelectionNoChange ( /selection/common.js:978:5)
Pass
assert_equals(2, 2, "The operation should not update anchorOffset")
    at assertSelectionNoChange ( /selection/common.js:980:5)
Pass
assert_equals(Element node <html><head><title>Selection extend() tests</title> <meta..., Element node <html><head><title>Selection extend() tests</title> <meta..., "The operation should not update focusNode")
    at assertSelectionNoChange ( /selection/common.js:982:5)
Pass
assert_equals(1, 1, "The operation should not update focusOffset")
    at assertSelectionNoChange ( /selection/common.js:984:5)
Pass
assert_equals(object "Äb̈c̈d̈ëf̈g̈ḧ Ijklmnop QrstuvwxYzabcdefGhijklmn     Running, 1000 complete, 1 remain  "use strict";  testExtendSubSet(0, 20); testDiv.style.display = "none"; ", object "Äb̈c̈d̈ëf̈g̈ḧ Ijklmnop QrstuvwxYzabcdefGhijklmn     Running, 1000 complete, 1 remain  "use strict";  testExtendSubSet(0, 20); testDiv.style.display = "none"; ", "The operation should not replace a registered Range")
    at assertSelectionNoChange ( /selection/common.js:988:5)
Passextend() forwards with range 17 [document.documentElement, 1, document.documentElement, 2] and point 70 [detachedForeignTextNode, 0]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(1, 1, "The operation should not add Range")
    at assertSelectionNoChange ( /selection/common.js:976:5)
Pass
assert_equals(Element node <html><head><title>Selection extend() tests</title> <meta..., Element node <html><head><title>Selection extend() tests</title> <meta..., "The operation should not update anchorNode")
    at assertSelectionNoChange ( /selection/common.js:978:5)
Pass
assert_equals(1, 1, "The operation should not update anchorOffset")
    at assertSelectionNoChange ( /selection/common.js:980:5)
Pass
assert_equals(Element node <html><head><title>Selection extend() tests</title> <meta..., Element node <html><head><title>Selection extend() tests</title> <meta..., "The operation should not update focusNode")
    at assertSelectionNoChange ( /selection/common.js:982:5)
Pass
assert_equals(2, 2, "The operation should not update focusOffset")
    at assertSelectionNoChange ( /selection/common.js:984:5)
Pass
assert_equals(object "Äb̈c̈d̈ëf̈g̈ḧ Ijklmnop QrstuvwxYzabcdefGhijklmn     Running, 1000 complete, 1 remain  "use strict";  testExtendSubSet(0, 20); testDiv.style.display = "none"; ", object "Äb̈c̈d̈ëf̈g̈ḧ Ijklmnop QrstuvwxYzabcdefGhijklmn     Running, 1000 complete, 1 remain  "use strict";  testExtendSubSet(0, 20); testDiv.style.display = "none"; ", "The operation should not replace a registered Range")
    at assertSelectionNoChange ( /selection/common.js:988:5)
Passextend() backwards with range 17 [document.documentElement, 1, document.documentElement, 2] and point 70 [detachedForeignTextNode, 0]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(1, 1, "The operation should not add Range")
    at assertSelectionNoChange ( /selection/common.js:976:5)
Pass
assert_equals(Element node <html><head><title>Selection extend() tests</title> <meta..., Element node <html><head><title>Selection extend() tests</title> <meta..., "The operation should not update anchorNode")
    at assertSelectionNoChange ( /selection/common.js:978:5)
Pass
assert_equals(2, 2, "The operation should not update anchorOffset")
    at assertSelectionNoChange ( /selection/common.js:980:5)
Pass
assert_equals(Element node <html><head><title>Selection extend() tests</title> <meta..., Element node <html><head><title>Selection extend() tests</title> <meta..., "The operation should not update focusNode")
    at assertSelectionNoChange ( /selection/common.js:982:5)
Pass
assert_equals(1, 1, "The operation should not update focusOffset")
    at assertSelectionNoChange ( /selection/common.js:984:5)
Pass
assert_equals(object "Äb̈c̈d̈ëf̈g̈ḧ Ijklmnop QrstuvwxYzabcdefGhijklmn     Running, 1000 complete, 1 remain  "use strict";  testExtendSubSet(0, 20); testDiv.style.display = "none"; ", object "Äb̈c̈d̈ëf̈g̈ḧ Ijklmnop QrstuvwxYzabcdefGhijklmn     Running, 1000 complete, 1 remain  "use strict";  testExtendSubSet(0, 20); testDiv.style.display = "none"; ", "The operation should not replace a registered Range")
    at assertSelectionNoChange ( /selection/common.js:988:5)
Passextend() forwards with range 17 [document.documentElement, 1, document.documentElement, 2] and point 71 [detachedForeignTextNode, 8]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(1, 1, "The operation should not add Range")
    at assertSelectionNoChange ( /selection/common.js:976:5)
Pass
assert_equals(Element node <html><head><title>Selection extend() tests</title> <meta..., Element node <html><head><title>Selection extend() tests</title> <meta..., "The operation should not update anchorNode")
    at assertSelectionNoChange ( /selection/common.js:978:5)
Pass
assert_equals(1, 1, "The operation should not update anchorOffset")
    at assertSelectionNoChange ( /selection/common.js:980:5)
Pass
assert_equals(Element node <html><head><title>Selection extend() tests</title> <meta..., Element node <html><head><title>Selection extend() tests</title> <meta..., "The operation should not update focusNode")
    at assertSelectionNoChange ( /selection/common.js:982:5)
Pass
assert_equals(2, 2, "The operation should not update focusOffset")
    at assertSelectionNoChange ( /selection/common.js:984:5)
Pass
assert_equals(object "Äb̈c̈d̈ëf̈g̈ḧ Ijklmnop QrstuvwxYzabcdefGhijklmn     Running, 1000 complete, 1 remain  "use strict";  testExtendSubSet(0, 20); testDiv.style.display = "none"; ", object "Äb̈c̈d̈ëf̈g̈ḧ Ijklmnop QrstuvwxYzabcdefGhijklmn     Running, 1000 complete, 1 remain  "use strict";  testExtendSubSet(0, 20); testDiv.style.display = "none"; ", "The operation should not replace a registered Range")
    at assertSelectionNoChange ( /selection/common.js:988:5)
Passextend() backwards with range 17 [document.documentElement, 1, document.documentElement, 2] and point 71 [detachedForeignTextNode, 8]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(1, 1, "The operation should not add Range")
    at assertSelectionNoChange ( /selection/common.js:976:5)
Pass
assert_equals(Element node <html><head><title>Selection extend() tests</title> <meta..., Element node <html><head><title>Selection extend() tests</title> <meta..., "The operation should not update anchorNode")
    at assertSelectionNoChange ( /selection/common.js:978:5)
Pass
assert_equals(2, 2, "The operation should not update anchorOffset")
    at assertSelectionNoChange ( /selection/common.js:980:5)
Pass
assert_equals(Element node <html><head><title>Selection extend() tests</title> <meta..., Element node <html><head><title>Selection extend() tests</title> <meta..., "The operation should not update focusNode")
    at assertSelectionNoChange ( /selection/common.js:982:5)
Pass
assert_equals(1, 1, "The operation should not update focusOffset")
    at assertSelectionNoChange ( /selection/common.js:984:5)
Pass
assert_equals(object "Äb̈c̈d̈ëf̈g̈ḧ Ijklmnop QrstuvwxYzabcdefGhijklmn     Running, 1000 complete, 1 remain  "use strict";  testExtendSubSet(0, 20); testDiv.style.display = "none"; ", object "Äb̈c̈d̈ëf̈g̈ḧ Ijklmnop QrstuvwxYzabcdefGhijklmn     Running, 1000 complete, 1 remain  "use strict";  testExtendSubSet(0, 20); testDiv.style.display = "none"; ", "The operation should not replace a registered Range")
    at assertSelectionNoChange ( /selection/common.js:988:5)
Passextend() forwards with range 17 [document.documentElement, 1, document.documentElement, 2] and point 72 [detachedXmlTextNode, 0]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(1, 1, "The operation should not add Range")
    at assertSelectionNoChange ( /selection/common.js:976:5)
Pass
assert_equals(Element node <html><head><title>Selection extend() tests</title> <meta..., Element node <html><head><title>Selection extend() tests</title> <meta..., "The operation should not update anchorNode")
    at assertSelectionNoChange ( /selection/common.js:978:5)
Pass
assert_equals(1, 1, "The operation should not update anchorOffset")
    at assertSelectionNoChange ( /selection/common.js:980:5)
Pass
assert_equals(Element node <html><head><title>Selection extend() tests</title> <meta..., Element node <html><head><title>Selection extend() tests</title> <meta..., "The operation should not update focusNode")
    at assertSelectionNoChange ( /selection/common.js:982:5)
Pass
assert_equals(2, 2, "The operation should not update focusOffset")
    at assertSelectionNoChange ( /selection/common.js:984:5)
Pass
assert_equals(object "Äb̈c̈d̈ëf̈g̈ḧ Ijklmnop QrstuvwxYzabcdefGhijklmn     Running, 1000 complete, 1 remain  "use strict";  testExtendSubSet(0, 20); testDiv.style.display = "none"; ", object "Äb̈c̈d̈ëf̈g̈ḧ Ijklmnop QrstuvwxYzabcdefGhijklmn     Running, 1000 complete, 1 remain  "use strict";  testExtendSubSet(0, 20); testDiv.style.display = "none"; ", "The operation should not replace a registered Range")
    at assertSelectionNoChange ( /selection/common.js:988:5)
Passextend() backwards with range 17 [document.documentElement, 1, document.documentElement, 2] and point 72 [detachedXmlTextNode, 0]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(1, 1, "The operation should not add Range")
    at assertSelectionNoChange ( /selection/common.js:976:5)
Pass
assert_equals(Element node <html><head><title>Selection extend() tests</title> <meta..., Element node <html><head><title>Selection extend() tests</title> <meta..., "The operation should not update anchorNode")
    at assertSelectionNoChange ( /selection/common.js:978:5)
Pass
assert_equals(2, 2, "The operation should not update anchorOffset")
    at assertSelectionNoChange ( /selection/common.js:980:5)
Pass
assert_equals(Element node <html><head><title>Selection extend() tests</title> <meta..., Element node <html><head><title>Selection extend() tests</title> <meta..., "The operation should not update focusNode")
    at assertSelectionNoChange ( /selection/common.js:982:5)
Pass
assert_equals(1, 1, "The operation should not update focusOffset")
    at assertSelectionNoChange ( /selection/common.js:984:5)
Pass
assert_equals(object "Äb̈c̈d̈ëf̈g̈ḧ Ijklmnop QrstuvwxYzabcdefGhijklmn     Running, 1000 complete, 1 remain  "use strict";  testExtendSubSet(0, 20); testDiv.style.display = "none"; ", object "Äb̈c̈d̈ëf̈g̈ḧ Ijklmnop QrstuvwxYzabcdefGhijklmn     Running, 1000 complete, 1 remain  "use strict";  testExtendSubSet(0, 20); testDiv.style.display = "none"; ", "The operation should not replace a registered Range")
    at assertSelectionNoChange ( /selection/common.js:988:5)
Passextend() forwards with range 17 [document.documentElement, 1, document.documentElement, 2] and point 73 [detachedXmlTextNode, 8]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(1, 1, "The operation should not add Range")
    at assertSelectionNoChange ( /selection/common.js:976:5)
Pass
assert_equals(Element node <html><head><title>Selection extend() tests</title> <meta..., Element node <html><head><title>Selection extend() tests</title> <meta..., "The operation should not update anchorNode")
    at assertSelectionNoChange ( /selection/common.js:978:5)
Pass
assert_equals(1, 1, "The operation should not update anchorOffset")
    at assertSelectionNoChange ( /selection/common.js:980:5)
Pass
assert_equals(Element node <html><head><title>Selection extend() tests</title> <meta..., Element node <html><head><title>Selection extend() tests</title> <meta..., "The operation should not update focusNode")
    at assertSelectionNoChange ( /selection/common.js:982:5)
Pass
assert_equals(2, 2, "The operation should not update focusOffset")
    at assertSelectionNoChange ( /selection/common.js:984:5)
Pass
assert_equals(object "Äb̈c̈d̈ëf̈g̈ḧ Ijklmnop QrstuvwxYzabcdefGhijklmn     Running, 1000 complete, 1 remain  "use strict";  testExtendSubSet(0, 20); testDiv.style.display = "none"; ", object "Äb̈c̈d̈ëf̈g̈ḧ Ijklmnop QrstuvwxYzabcdefGhijklmn     Running, 1000 complete, 1 remain  "use strict";  testExtendSubSet(0, 20); testDiv.style.display = "none"; ", "The operation should not replace a registered Range")
    at assertSelectionNoChange ( /selection/common.js:988:5)
Passextend() backwards with range 17 [document.documentElement, 1, document.documentElement, 2] and point 73 [detachedXmlTextNode, 8]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(1, 1, "The operation should not add Range")
    at assertSelectionNoChange ( /selection/common.js:976:5)
Pass
assert_equals(Element node <html><head><title>Selection extend() tests</title> <meta..., Element node <html><head><title>Selection extend() tests</title> <meta..., "The operation should not update anchorNode")
    at assertSelectionNoChange ( /selection/common.js:978:5)
Pass
assert_equals(2, 2, "The operation should not update anchorOffset")
    at assertSelectionNoChange ( /selection/common.js:980:5)
Pass
assert_equals(Element node <html><head><title>Selection extend() tests</title> <meta..., Element node <html><head><title>Selection extend() tests</title> <meta..., "The operation should not update focusNode")
    at assertSelectionNoChange ( /selection/common.js:982:5)
Pass
assert_equals(1, 1, "The operation should not update focusOffset")
    at assertSelectionNoChange ( /selection/common.js:984:5)
Pass
assert_equals(object "Äb̈c̈d̈ëf̈g̈ḧ Ijklmnop QrstuvwxYzabcdefGhijklmn     Running, 1000 complete, 1 remain  "use strict";  testExtendSubSet(0, 20); testDiv.style.display = "none"; ", object "Äb̈c̈d̈ëf̈g̈ḧ Ijklmnop QrstuvwxYzabcdefGhijklmn     Running, 1000 complete, 1 remain  "use strict";  testExtendSubSet(0, 20); testDiv.style.display = "none"; ", "The operation should not replace a registered Range")
    at assertSelectionNoChange ( /selection/common.js:988:5)
Passextend() forwards with range 17 [document.documentElement, 1, document.documentElement, 2] and point 74 [detachedProcessingInstruction, 12]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(1, 1, "The operation should not add Range")
    at assertSelectionNoChange ( /selection/common.js:976:5)
Pass
assert_equals(Element node <html><head><title>Selection extend() tests</title> <meta..., Element node <html><head><title>Selection extend() tests</title> <meta..., "The operation should not update anchorNode")
    at assertSelectionNoChange ( /selection/common.js:978:5)
Pass
assert_equals(1, 1, "The operation should not update anchorOffset")
    at assertSelectionNoChange ( /selection/common.js:980:5)
Pass
assert_equals(Element node <html><head><title>Selection extend() tests</title> <meta..., Element node <html><head><title>Selection extend() tests</title> <meta..., "The operation should not update focusNode")
    at assertSelectionNoChange ( /selection/common.js:982:5)
Pass
assert_equals(2, 2, "The operation should not update focusOffset")
    at assertSelectionNoChange ( /selection/common.js:984:5)
Pass
assert_equals(object "Äb̈c̈d̈ëf̈g̈ḧ Ijklmnop QrstuvwxYzabcdefGhijklmn     Running, 1000 complete, 1 remain  "use strict";  testExtendSubSet(0, 20); testDiv.style.display = "none"; ", object "Äb̈c̈d̈ëf̈g̈ḧ Ijklmnop QrstuvwxYzabcdefGhijklmn     Running, 1000 complete, 1 remain  "use strict";  testExtendSubSet(0, 20); testDiv.style.display = "none"; ", "The operation should not replace a registered Range")
    at assertSelectionNoChange ( /selection/common.js:988:5)
Passextend() backwards with range 17 [document.documentElement, 1, document.documentElement, 2] and point 74 [detachedProcessingInstruction, 12]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(1, 1, "The operation should not add Range")
    at assertSelectionNoChange ( /selection/common.js:976:5)
Pass
assert_equals(Element node <html><head><title>Selection extend() tests</title> <meta..., Element node <html><head><title>Selection extend() tests</title> <meta..., "The operation should not update anchorNode")
    at assertSelectionNoChange ( /selection/common.js:978:5)
Pass
assert_equals(2, 2, "The operation should not update anchorOffset")
    at assertSelectionNoChange ( /selection/common.js:980:5)
Pass
assert_equals(Element node <html><head><title>Selection extend() tests</title> <meta..., Element node <html><head><title>Selection extend() tests</title> <meta..., "The operation should not update focusNode")
    at assertSelectionNoChange ( /selection/common.js:982:5)
Pass
assert_equals(1, 1, "The operation should not update focusOffset")
    at assertSelectionNoChange ( /selection/common.js:984:5)
Pass
assert_equals(object "Äb̈c̈d̈ëf̈g̈ḧ Ijklmnop QrstuvwxYzabcdefGhijklmn     Running, 1000 complete, 1 remain  "use strict";  testExtendSubSet(0, 20); testDiv.style.display = "none"; ", object "Äb̈c̈d̈ëf̈g̈ḧ Ijklmnop QrstuvwxYzabcdefGhijklmn     Running, 1000 complete, 1 remain  "use strict";  testExtendSubSet(0, 20); testDiv.style.display = "none"; ", "The operation should not replace a registered Range")
    at assertSelectionNoChange ( /selection/common.js:988:5)
Passextend() forwards with range 17 [document.documentElement, 1, document.documentElement, 2] and point 75 [detachedComment, 3]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(1, 1, "The operation should not add Range")
    at assertSelectionNoChange ( /selection/common.js:976:5)
Pass
assert_equals(Element node <html><head><title>Selection extend() tests</title> <meta..., Element node <html><head><title>Selection extend() tests</title> <meta..., "The operation should not update anchorNode")
    at assertSelectionNoChange ( /selection/common.js:978:5)
Pass
assert_equals(1, 1, "The operation should not update anchorOffset")
    at assertSelectionNoChange ( /selection/common.js:980:5)
Pass
assert_equals(Element node <html><head><title>Selection extend() tests</title> <meta..., Element node <html><head><title>Selection extend() tests</title> <meta..., "The operation should not update focusNode")
    at assertSelectionNoChange ( /selection/common.js:982:5)
Pass
assert_equals(2, 2, "The operation should not update focusOffset")
    at assertSelectionNoChange ( /selection/common.js:984:5)
Pass
assert_equals(object "Äb̈c̈d̈ëf̈g̈ḧ Ijklmnop QrstuvwxYzabcdefGhijklmn     Running, 1000 complete, 1 remain  "use strict";  testExtendSubSet(0, 20); testDiv.style.display = "none"; ", object "Äb̈c̈d̈ëf̈g̈ḧ Ijklmnop QrstuvwxYzabcdefGhijklmn     Running, 1000 complete, 1 remain  "use strict";  testExtendSubSet(0, 20); testDiv.style.display = "none"; ", "The operation should not replace a registered Range")
    at assertSelectionNoChange ( /selection/common.js:988:5)
Passextend() backwards with range 17 [document.documentElement, 1, document.documentElement, 2] and point 75 [detachedComment, 3]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(1, 1, "The operation should not add Range")
    at assertSelectionNoChange ( /selection/common.js:976:5)
Pass
assert_equals(Element node <html><head><title>Selection extend() tests</title> <meta..., Element node <html><head><title>Selection extend() tests</title> <meta..., "The operation should not update anchorNode")
    at assertSelectionNoChange ( /selection/common.js:978:5)
Pass
assert_equals(2, 2, "The operation should not update anchorOffset")
    at assertSelectionNoChange ( /selection/common.js:980:5)
Pass
assert_equals(Element node <html><head><title>Selection extend() tests</title> <meta..., Element node <html><head><title>Selection extend() tests</title> <meta..., "The operation should not update focusNode")
    at assertSelectionNoChange ( /selection/common.js:982:5)
Pass
assert_equals(1, 1, "The operation should not update focusOffset")
    at assertSelectionNoChange ( /selection/common.js:984:5)
Pass
assert_equals(object "Äb̈c̈d̈ëf̈g̈ḧ Ijklmnop QrstuvwxYzabcdefGhijklmn     Running, 1000 complete, 1 remain  "use strict";  testExtendSubSet(0, 20); testDiv.style.display = "none"; ", object "Äb̈c̈d̈ëf̈g̈ḧ Ijklmnop QrstuvwxYzabcdefGhijklmn     Running, 1000 complete, 1 remain  "use strict";  testExtendSubSet(0, 20); testDiv.style.display = "none"; ", "The operation should not replace a registered Range")
    at assertSelectionNoChange ( /selection/common.js:988:5)
Passextend() forwards with range 17 [document.documentElement, 1, document.documentElement, 2] and point 76 [detachedComment, 5]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(1, 1, "The operation should not add Range")
    at assertSelectionNoChange ( /selection/common.js:976:5)
Pass
assert_equals(Element node <html><head><title>Selection extend() tests</title> <meta..., Element node <html><head><title>Selection extend() tests</title> <meta..., "The operation should not update anchorNode")
    at assertSelectionNoChange ( /selection/common.js:978:5)
Pass
assert_equals(1, 1, "The operation should not update anchorOffset")
    at assertSelectionNoChange ( /selection/common.js:980:5)
Pass
assert_equals(Element node <html><head><title>Selection extend() tests</title> <meta..., Element node <html><head><title>Selection extend() tests</title> <meta..., "The operation should not update focusNode")
    at assertSelectionNoChange ( /selection/common.js:982:5)
Pass
assert_equals(2, 2, "The operation should not update focusOffset")
    at assertSelectionNoChange ( /selection/common.js:984:5)
Pass
assert_equals(object "Äb̈c̈d̈ëf̈g̈ḧ Ijklmnop QrstuvwxYzabcdefGhijklmn     Running, 1000 complete, 1 remain  "use strict";  testExtendSubSet(0, 20); testDiv.style.display = "none"; ", object "Äb̈c̈d̈ëf̈g̈ḧ Ijklmnop QrstuvwxYzabcdefGhijklmn     Running, 1000 complete, 1 remain  "use strict";  testExtendSubSet(0, 20); testDiv.style.display = "none"; ", "The operation should not replace a registered Range")
    at assertSelectionNoChange ( /selection/common.js:988:5)
Passextend() backwards with range 17 [document.documentElement, 1, document.documentElement, 2] and point 76 [detachedComment, 5]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(1, 1, "The operation should not add Range")
    at assertSelectionNoChange ( /selection/common.js:976:5)
Pass
assert_equals(Element node <html><head><title>Selection extend() tests</title> <meta..., Element node <html><head><title>Selection extend() tests</title> <meta..., "The operation should not update anchorNode")
    at assertSelectionNoChange ( /selection/common.js:978:5)
Pass
assert_equals(2, 2, "The operation should not update anchorOffset")
    at assertSelectionNoChange ( /selection/common.js:980:5)
Pass
assert_equals(Element node <html><head><title>Selection extend() tests</title> <meta..., Element node <html><head><title>Selection extend() tests</title> <meta..., "The operation should not update focusNode")
    at assertSelectionNoChange ( /selection/common.js:982:5)
Pass
assert_equals(1, 1, "The operation should not update focusOffset")
    at assertSelectionNoChange ( /selection/common.js:984:5)
Pass
assert_equals(object "Äb̈c̈d̈ëf̈g̈ḧ Ijklmnop QrstuvwxYzabcdefGhijklmn     Running, 1000 complete, 1 remain  "use strict";  testExtendSubSet(0, 20); testDiv.style.display = "none"; ", object "Äb̈c̈d̈ëf̈g̈ḧ Ijklmnop QrstuvwxYzabcdefGhijklmn     Running, 1000 complete, 1 remain  "use strict";  testExtendSubSet(0, 20); testDiv.style.display = "none"; ", "The operation should not replace a registered Range")
    at assertSelectionNoChange ( /selection/common.js:988:5)
Passextend() forwards with range 17 [document.documentElement, 1, document.documentElement, 2] and point 77 [detachedForeignComment, 0]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(1, 1, "The operation should not add Range")
    at assertSelectionNoChange ( /selection/common.js:976:5)
Pass
assert_equals(Element node <html><head><title>Selection extend() tests</title> <meta..., Element node <html><head><title>Selection extend() tests</title> <meta..., "The operation should not update anchorNode")
    at assertSelectionNoChange ( /selection/common.js:978:5)
Pass
assert_equals(1, 1, "The operation should not update anchorOffset")
    at assertSelectionNoChange ( /selection/common.js:980:5)
Pass
assert_equals(Element node <html><head><title>Selection extend() tests</title> <meta..., Element node <html><head><title>Selection extend() tests</title> <meta..., "The operation should not update focusNode")
    at assertSelectionNoChange ( /selection/common.js:982:5)
Pass
assert_equals(2, 2, "The operation should not update focusOffset")
    at assertSelectionNoChange ( /selection/common.js:984:5)
Pass
assert_equals(object "Äb̈c̈d̈ëf̈g̈ḧ Ijklmnop QrstuvwxYzabcdefGhijklmn     Running, 1000 complete, 1 remain  "use strict";  testExtendSubSet(0, 20); testDiv.style.display = "none"; ", object "Äb̈c̈d̈ëf̈g̈ḧ Ijklmnop QrstuvwxYzabcdefGhijklmn     Running, 1000 complete, 1 remain  "use strict";  testExtendSubSet(0, 20); testDiv.style.display = "none"; ", "The operation should not replace a registered Range")
    at assertSelectionNoChange ( /selection/common.js:988:5)
Passextend() backwards with range 17 [document.documentElement, 1, document.documentElement, 2] and point 77 [detachedForeignComment, 0]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(1, 1, "The operation should not add Range")
    at assertSelectionNoChange ( /selection/common.js:976:5)
Pass
assert_equals(Element node <html><head><title>Selection extend() tests</title> <meta..., Element node <html><head><title>Selection extend() tests</title> <meta..., "The operation should not update anchorNode")
    at assertSelectionNoChange ( /selection/common.js:978:5)
Pass
assert_equals(2, 2, "The operation should not update anchorOffset")
    at assertSelectionNoChange ( /selection/common.js:980:5)
Pass
assert_equals(Element node <html><head><title>Selection extend() tests</title> <meta..., Element node <html><head><title>Selection extend() tests</title> <meta..., "The operation should not update focusNode")
    at assertSelectionNoChange ( /selection/common.js:982:5)
Pass
assert_equals(1, 1, "The operation should not update focusOffset")
    at assertSelectionNoChange ( /selection/common.js:984:5)
Pass
assert_equals(object "Äb̈c̈d̈ëf̈g̈ḧ Ijklmnop QrstuvwxYzabcdefGhijklmn     Running, 1000 complete, 1 remain  "use strict";  testExtendSubSet(0, 20); testDiv.style.display = "none"; ", object "Äb̈c̈d̈ëf̈g̈ḧ Ijklmnop QrstuvwxYzabcdefGhijklmn     Running, 1000 complete, 1 remain  "use strict";  testExtendSubSet(0, 20); testDiv.style.display = "none"; ", "The operation should not replace a registered Range")
    at assertSelectionNoChange ( /selection/common.js:988:5)
Passextend() forwards with range 17 [document.documentElement, 1, document.documentElement, 2] and point 78 [detachedForeignComment, 4]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(1, 1, "The operation should not add Range")
    at assertSelectionNoChange ( /selection/common.js:976:5)
Pass
assert_equals(Element node <html><head><title>Selection extend() tests</title> <meta..., Element node <html><head><title>Selection extend() tests</title> <meta..., "The operation should not update anchorNode")
    at assertSelectionNoChange ( /selection/common.js:978:5)
Pass
assert_equals(1, 1, "The operation should not update anchorOffset")
    at assertSelectionNoChange ( /selection/common.js:980:5)
Pass
assert_equals(Element node <html><head><title>Selection extend() tests</title> <meta..., Element node <html><head><title>Selection extend() tests</title> <meta..., "The operation should not update focusNode")
    at assertSelectionNoChange ( /selection/common.js:982:5)
Pass
assert_equals(2, 2, "The operation should not update focusOffset")
    at assertSelectionNoChange ( /selection/common.js:984:5)
Pass
assert_equals(object "Äb̈c̈d̈ëf̈g̈ḧ Ijklmnop QrstuvwxYzabcdefGhijklmn     Running, 1000 complete, 1 remain  "use strict";  testExtendSubSet(0, 20); testDiv.style.display = "none"; ", object "Äb̈c̈d̈ëf̈g̈ḧ Ijklmnop QrstuvwxYzabcdefGhijklmn     Running, 1000 complete, 1 remain  "use strict";  testExtendSubSet(0, 20); testDiv.style.display = "none"; ", "The operation should not replace a registered Range")
    at assertSelectionNoChange ( /selection/common.js:988:5)
Passextend() backwards with range 17 [document.documentElement, 1, document.documentElement, 2] and point 78 [detachedForeignComment, 4]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(1, 1, "The operation should not add Range")
    at assertSelectionNoChange ( /selection/common.js:976:5)
Pass
assert_equals(Element node <html><head><title>Selection extend() tests</title> <meta..., Element node <html><head><title>Selection extend() tests</title> <meta..., "The operation should not update anchorNode")
    at assertSelectionNoChange ( /selection/common.js:978:5)
Pass
assert_equals(2, 2, "The operation should not update anchorOffset")
    at assertSelectionNoChange ( /selection/common.js:980:5)
Pass
assert_equals(Element node <html><head><title>Selection extend() tests</title> <meta..., Element node <html><head><title>Selection extend() tests</title> <meta..., "The operation should not update focusNode")
    at assertSelectionNoChange ( /selection/common.js:982:5)
Pass
assert_equals(1, 1, "The operation should not update focusOffset")
    at assertSelectionNoChange ( /selection/common.js:984:5)
Pass
assert_equals(object "Äb̈c̈d̈ëf̈g̈ḧ Ijklmnop QrstuvwxYzabcdefGhijklmn     Running, 1000 complete, 1 remain  "use strict";  testExtendSubSet(0, 20); testDiv.style.display = "none"; ", object "Äb̈c̈d̈ëf̈g̈ḧ Ijklmnop QrstuvwxYzabcdefGhijklmn     Running, 1000 complete, 1 remain  "use strict";  testExtendSubSet(0, 20); testDiv.style.display = "none"; ", "The operation should not replace a registered Range")
    at assertSelectionNoChange ( /selection/common.js:988:5)
Passextend() forwards with range 17 [document.documentElement, 1, document.documentElement, 2] and point 79 [detachedXmlComment, 2]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(1, 1, "The operation should not add Range")
    at assertSelectionNoChange ( /selection/common.js:976:5)
Pass
assert_equals(Element node <html><head><title>Selection extend() tests</title> <meta..., Element node <html><head><title>Selection extend() tests</title> <meta..., "The operation should not update anchorNode")
    at assertSelectionNoChange ( /selection/common.js:978:5)
Pass
assert_equals(1, 1, "The operation should not update anchorOffset")
    at assertSelectionNoChange ( /selection/common.js:980:5)
Pass
assert_equals(Element node <html><head><title>Selection extend() tests</title> <meta..., Element node <html><head><title>Selection extend() tests</title> <meta..., "The operation should not update focusNode")
    at assertSelectionNoChange ( /selection/common.js:982:5)
Pass
assert_equals(2, 2, "The operation should not update focusOffset")
    at assertSelectionNoChange ( /selection/common.js:984:5)
Pass
assert_equals(object "Äb̈c̈d̈ëf̈g̈ḧ Ijklmnop QrstuvwxYzabcdefGhijklmn     Running, 1000 complete, 1 remain  "use strict";  testExtendSubSet(0, 20); testDiv.style.display = "none"; ", object "Äb̈c̈d̈ëf̈g̈ḧ Ijklmnop QrstuvwxYzabcdefGhijklmn     Running, 1000 complete, 1 remain  "use strict";  testExtendSubSet(0, 20); testDiv.style.display = "none"; ", "The operation should not replace a registered Range")
    at assertSelectionNoChange ( /selection/common.js:988:5)
Passextend() backwards with range 17 [document.documentElement, 1, document.documentElement, 2] and point 79 [detachedXmlComment, 2]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(1, 1, "The operation should not add Range")
    at assertSelectionNoChange ( /selection/common.js:976:5)
Pass
assert_equals(Element node <html><head><title>Selection extend() tests</title> <meta..., Element node <html><head><title>Selection extend() tests</title> <meta..., "The operation should not update anchorNode")
    at assertSelectionNoChange ( /selection/common.js:978:5)
Pass
assert_equals(2, 2, "The operation should not update anchorOffset")
    at assertSelectionNoChange ( /selection/common.js:980:5)
Pass
assert_equals(Element node <html><head><title>Selection extend() tests</title> <meta..., Element node <html><head><title>Selection extend() tests</title> <meta..., "The operation should not update focusNode")
    at assertSelectionNoChange ( /selection/common.js:982:5)
Pass
assert_equals(1, 1, "The operation should not update focusOffset")
    at assertSelectionNoChange ( /selection/common.js:984:5)
Pass
assert_equals(object "Äb̈c̈d̈ëf̈g̈ḧ Ijklmnop QrstuvwxYzabcdefGhijklmn     Running, 1000 complete, 1 remain  "use strict";  testExtendSubSet(0, 20); testDiv.style.display = "none"; ", object "Äb̈c̈d̈ëf̈g̈ḧ Ijklmnop QrstuvwxYzabcdefGhijklmn     Running, 1000 complete, 1 remain  "use strict";  testExtendSubSet(0, 20); testDiv.style.display = "none"; ", "The operation should not replace a registered Range")
    at assertSelectionNoChange ( /selection/common.js:988:5)
Passextend() forwards with range 17 [document.documentElement, 1, document.documentElement, 2] and point 80 [docfrag, 0]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(1, 1, "The operation should not add Range")
    at assertSelectionNoChange ( /selection/common.js:976:5)
Pass
assert_equals(Element node <html><head><title>Selection extend() tests</title> <meta..., Element node <html><head><title>Selection extend() tests</title> <meta..., "The operation should not update anchorNode")
    at assertSelectionNoChange ( /selection/common.js:978:5)
Pass
assert_equals(1, 1, "The operation should not update anchorOffset")
    at assertSelectionNoChange ( /selection/common.js:980:5)
Pass
assert_equals(Element node <html><head><title>Selection extend() tests</title> <meta..., Element node <html><head><title>Selection extend() tests</title> <meta..., "The operation should not update focusNode")
    at assertSelectionNoChange ( /selection/common.js:982:5)
Pass
assert_equals(2, 2, "The operation should not update focusOffset")
    at assertSelectionNoChange ( /selection/common.js:984:5)
Pass
assert_equals(object "Äb̈c̈d̈ëf̈g̈ḧ Ijklmnop QrstuvwxYzabcdefGhijklmn     Running, 1000 complete, 1 remain  "use strict";  testExtendSubSet(0, 20); testDiv.style.display = "none"; ", object "Äb̈c̈d̈ëf̈g̈ḧ Ijklmnop QrstuvwxYzabcdefGhijklmn     Running, 1000 complete, 1 remain  "use strict";  testExtendSubSet(0, 20); testDiv.style.display = "none"; ", "The operation should not replace a registered Range")
    at assertSelectionNoChange ( /selection/common.js:988:5)
Passextend() backwards with range 17 [document.documentElement, 1, document.documentElement, 2] and point 80 [docfrag, 0]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(1, 1, "The operation should not add Range")
    at assertSelectionNoChange ( /selection/common.js:976:5)
Pass
assert_equals(Element node <html><head><title>Selection extend() tests</title> <meta..., Element node <html><head><title>Selection extend() tests</title> <meta..., "The operation should not update anchorNode")
    at assertSelectionNoChange ( /selection/common.js:978:5)
Pass
assert_equals(2, 2, "The operation should not update anchorOffset")
    at assertSelectionNoChange ( /selection/common.js:980:5)
Pass
assert_equals(Element node <html><head><title>Selection extend() tests</title> <meta..., Element node <html><head><title>Selection extend() tests</title> <meta..., "The operation should not update focusNode")
    at assertSelectionNoChange ( /selection/common.js:982:5)
Pass
assert_equals(1, 1, "The operation should not update focusOffset")
    at assertSelectionNoChange ( /selection/common.js:984:5)
Pass
assert_equals(object "Äb̈c̈d̈ëf̈g̈ḧ Ijklmnop QrstuvwxYzabcdefGhijklmn     Running, 1000 complete, 1 remain  "use strict";  testExtendSubSet(0, 20); testDiv.style.display = "none"; ", object "Äb̈c̈d̈ëf̈g̈ḧ Ijklmnop QrstuvwxYzabcdefGhijklmn     Running, 1000 complete, 1 remain  "use strict";  testExtendSubSet(0, 20); testDiv.style.display = "none"; ", "The operation should not replace a registered Range")
    at assertSelectionNoChange ( /selection/common.js:988:5)
Passextend() forwards with range 17 [document.documentElement, 1, document.documentElement, 2] and point 81 [foreignDocfrag, 0]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(1, 1, "The operation should not add Range")
    at assertSelectionNoChange ( /selection/common.js:976:5)
Pass
assert_equals(Element node <html><head><title>Selection extend() tests</title> <meta..., Element node <html><head><title>Selection extend() tests</title> <meta..., "The operation should not update anchorNode")
    at assertSelectionNoChange ( /selection/common.js:978:5)
Pass
assert_equals(1, 1, "The operation should not update anchorOffset")
    at assertSelectionNoChange ( /selection/common.js:980:5)
Pass
assert_equals(Element node <html><head><title>Selection extend() tests</title> <meta..., Element node <html><head><title>Selection extend() tests</title> <meta..., "The operation should not update focusNode")
    at assertSelectionNoChange ( /selection/common.js:982:5)
Pass
assert_equals(2, 2, "The operation should not update focusOffset")
    at assertSelectionNoChange ( /selection/common.js:984:5)
Pass
assert_equals(object "Äb̈c̈d̈ëf̈g̈ḧ Ijklmnop QrstuvwxYzabcdefGhijklmn     Running, 1000 complete, 1 remain  "use strict";  testExtendSubSet(0, 20); testDiv.style.display = "none"; ", object "Äb̈c̈d̈ëf̈g̈ḧ Ijklmnop QrstuvwxYzabcdefGhijklmn     Running, 1000 complete, 1 remain  "use strict";  testExtendSubSet(0, 20); testDiv.style.display = "none"; ", "The operation should not replace a registered Range")
    at assertSelectionNoChange ( /selection/common.js:988:5)
Passextend() backwards with range 17 [document.documentElement, 1, document.documentElement, 2] and point 81 [foreignDocfrag, 0]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(1, 1, "The operation should not add Range")
    at assertSelectionNoChange ( /selection/common.js:976:5)
Pass
assert_equals(Element node <html><head><title>Selection extend() tests</title> <meta..., Element node <html><head><title>Selection extend() tests</title> <meta..., "The operation should not update anchorNode")
    at assertSelectionNoChange ( /selection/common.js:978:5)
Pass
assert_equals(2, 2, "The operation should not update anchorOffset")
    at assertSelectionNoChange ( /selection/common.js:980:5)
Pass
assert_equals(Element node <html><head><title>Selection extend() tests</title> <meta..., Element node <html><head><title>Selection extend() tests</title> <meta..., "The operation should not update focusNode")
    at assertSelectionNoChange ( /selection/common.js:982:5)
Pass
assert_equals(1, 1, "The operation should not update focusOffset")
    at assertSelectionNoChange ( /selection/common.js:984:5)
Pass
assert_equals(object "Äb̈c̈d̈ëf̈g̈ḧ Ijklmnop QrstuvwxYzabcdefGhijklmn     Running, 1000 complete, 1 remain  "use strict";  testExtendSubSet(0, 20); testDiv.style.display = "none"; ", object "Äb̈c̈d̈ëf̈g̈ḧ Ijklmnop QrstuvwxYzabcdefGhijklmn     Running, 1000 complete, 1 remain  "use strict";  testExtendSubSet(0, 20); testDiv.style.display = "none"; ", "The operation should not replace a registered Range")
    at assertSelectionNoChange ( /selection/common.js:988:5)
Passextend() forwards with range 17 [document.documentElement, 1, document.documentElement, 2] and point 82 [xmlDocfrag, 0]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(1, 1, "The operation should not add Range")
    at assertSelectionNoChange ( /selection/common.js:976:5)
Pass
assert_equals(Element node <html><head><title>Selection extend() tests</title> <meta..., Element node <html><head><title>Selection extend() tests</title> <meta..., "The operation should not update anchorNode")
    at assertSelectionNoChange ( /selection/common.js:978:5)
Pass
assert_equals(1, 1, "The operation should not update anchorOffset")
    at assertSelectionNoChange ( /selection/common.js:980:5)
Pass
assert_equals(Element node <html><head><title>Selection extend() tests</title> <meta..., Element node <html><head><title>Selection extend() tests</title> <meta..., "The operation should not update focusNode")
    at assertSelectionNoChange ( /selection/common.js:982:5)
Pass
assert_equals(2, 2, "The operation should not update focusOffset")
    at assertSelectionNoChange ( /selection/common.js:984:5)
Pass
assert_equals(object "Äb̈c̈d̈ëf̈g̈ḧ Ijklmnop QrstuvwxYzabcdefGhijklmn     Running, 1000 complete, 1 remain  "use strict";  testExtendSubSet(0, 20); testDiv.style.display = "none"; ", object "Äb̈c̈d̈ëf̈g̈ḧ Ijklmnop QrstuvwxYzabcdefGhijklmn     Running, 1000 complete, 1 remain  "use strict";  testExtendSubSet(0, 20); testDiv.style.display = "none"; ", "The operation should not replace a registered Range")
    at assertSelectionNoChange ( /selection/common.js:988:5)
Passextend() backwards with range 17 [document.documentElement, 1, document.documentElement, 2] and point 82 [xmlDocfrag, 0]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(1, 1, "The operation should not add Range")
    at assertSelectionNoChange ( /selection/common.js:976:5)
Pass
assert_equals(Element node <html><head><title>Selection extend() tests</title> <meta..., Element node <html><head><title>Selection extend() tests</title> <meta..., "The operation should not update anchorNode")
    at assertSelectionNoChange ( /selection/common.js:978:5)
Pass
assert_equals(2, 2, "The operation should not update anchorOffset")
    at assertSelectionNoChange ( /selection/common.js:980:5)
Pass
assert_equals(Element node <html><head><title>Selection extend() tests</title> <meta..., Element node <html><head><title>Selection extend() tests</title> <meta..., "The operation should not update focusNode")
    at assertSelectionNoChange ( /selection/common.js:982:5)
Pass
assert_equals(1, 1, "The operation should not update focusOffset")
    at assertSelectionNoChange ( /selection/common.js:984:5)
Pass
assert_equals(object "Äb̈c̈d̈ëf̈g̈ḧ Ijklmnop QrstuvwxYzabcdefGhijklmn     Running, 1000 complete, 1 remain  "use strict";  testExtendSubSet(0, 20); testDiv.style.display = "none"; ", object "Äb̈c̈d̈ëf̈g̈ḧ Ijklmnop QrstuvwxYzabcdefGhijklmn     Running, 1000 complete, 1 remain  "use strict";  testExtendSubSet(0, 20); testDiv.style.display = "none"; ", "The operation should not replace a registered Range")
    at assertSelectionNoChange ( /selection/common.js:988:5)
Passextend() forwards with range 17 [document.documentElement, 1, document.documentElement, 2] and point 83 [doctype, 0]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(Element node <html><head><title>Selection extend() tests</title> <meta..., Element node <html><head><title>Selection extend() tests</title> <meta..., "Sanity check: startContainer must be correct")
    at testExtend ( /selection/extend.js:80:5)
Pass
assert_equals(1, 1, "Sanity check: startOffset must be correct")
    at testExtend ( /selection/extend.js:82:5)
Pass
assert_equals(Element node <html><head><title>Selection extend() tests</title> <meta..., Element node <html><head><title>Selection extend() tests</title> <meta..., "Sanity check: endContainer must be correct")
    at testExtend ( /selection/extend.js:84:5)
Pass
assert_equals(2, 2, "Sanity check: endOffset must be correct")
    at testExtend ( /selection/extend.js:86:5)
Pass
assert_throws_dom("INVALID_NODE_TYPE_ERR", function "function() {             selection.extend(node, offset);         }", "extend() to a doctype must throw InvalidNodeTypeError")
    at testExtend ( /selection/extend.js:104:9)
Passextend() backwards with range 17 [document.documentElement, 1, document.documentElement, 2] and point 83 [doctype, 0]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(Element node <html><head><title>Selection extend() tests</title> <meta..., Element node <html><head><title>Selection extend() tests</title> <meta..., "Sanity check: startContainer must be correct")
    at testExtend ( /selection/extend.js:80:5)
Pass
assert_equals(1, 1, "Sanity check: startOffset must be correct")
    at testExtend ( /selection/extend.js:82:5)
Pass
assert_equals(Element node <html><head><title>Selection extend() tests</title> <meta..., Element node <html><head><title>Selection extend() tests</title> <meta..., "Sanity check: endContainer must be correct")
    at testExtend ( /selection/extend.js:84:5)
Pass
assert_equals(2, 2, "Sanity check: endOffset must be correct")
    at testExtend ( /selection/extend.js:86:5)
Pass
assert_throws_dom("INVALID_NODE_TYPE_ERR", function "function() {             selection.extend(node, offset);         }", "extend() to a doctype must throw InvalidNodeTypeError")
    at testExtend ( /selection/extend.js:104:9)
Passextend() forwards with range 17 [document.documentElement, 1, document.documentElement, 2] and point 84 [doctype, -17]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(Element node <html><head><title>Selection extend() tests</title> <meta..., Element node <html><head><title>Selection extend() tests</title> <meta..., "Sanity check: startContainer must be correct")
    at testExtend ( /selection/extend.js:80:5)
Pass
assert_equals(1, 1, "Sanity check: startOffset must be correct")
    at testExtend ( /selection/extend.js:82:5)
Pass
assert_equals(Element node <html><head><title>Selection extend() tests</title> <meta..., Element node <html><head><title>Selection extend() tests</title> <meta..., "Sanity check: endContainer must be correct")
    at testExtend ( /selection/extend.js:84:5)
Pass
assert_equals(2, 2, "Sanity check: endOffset must be correct")
    at testExtend ( /selection/extend.js:86:5)
Pass
assert_throws_dom("INVALID_NODE_TYPE_ERR", function "function() {             selection.extend(node, offset);         }", "extend() to a doctype must throw InvalidNodeTypeError")
    at testExtend ( /selection/extend.js:104:9)
Passextend() backwards with range 17 [document.documentElement, 1, document.documentElement, 2] and point 84 [doctype, -17]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(Element node <html><head><title>Selection extend() tests</title> <meta..., Element node <html><head><title>Selection extend() tests</title> <meta..., "Sanity check: startContainer must be correct")
    at testExtend ( /selection/extend.js:80:5)
Pass
assert_equals(1, 1, "Sanity check: startOffset must be correct")
    at testExtend ( /selection/extend.js:82:5)
Pass
assert_equals(Element node <html><head><title>Selection extend() tests</title> <meta..., Element node <html><head><title>Selection extend() tests</title> <meta..., "Sanity check: endContainer must be correct")
    at testExtend ( /selection/extend.js:84:5)
Pass
assert_equals(2, 2, "Sanity check: endOffset must be correct")
    at testExtend ( /selection/extend.js:86:5)
Pass
assert_throws_dom("INVALID_NODE_TYPE_ERR", function "function() {             selection.extend(node, offset);         }", "extend() to a doctype must throw InvalidNodeTypeError")
    at testExtend ( /selection/extend.js:104:9)
Passextend() forwards with range 17 [document.documentElement, 1, document.documentElement, 2] and point 85 [doctype, 1]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(Element node <html><head><title>Selection extend() tests</title> <meta..., Element node <html><head><title>Selection extend() tests</title> <meta..., "Sanity check: startContainer must be correct")
    at testExtend ( /selection/extend.js:80:5)
Pass
assert_equals(1, 1, "Sanity check: startOffset must be correct")
    at testExtend ( /selection/extend.js:82:5)
Pass
assert_equals(Element node <html><head><title>Selection extend() tests</title> <meta..., Element node <html><head><title>Selection extend() tests</title> <meta..., "Sanity check: endContainer must be correct")
    at testExtend ( /selection/extend.js:84:5)
Pass
assert_equals(2, 2, "Sanity check: endOffset must be correct")
    at testExtend ( /selection/extend.js:86:5)
Pass
assert_throws_dom("INVALID_NODE_TYPE_ERR", function "function() {             selection.extend(node, offset);         }", "extend() to a doctype must throw InvalidNodeTypeError")
    at testExtend ( /selection/extend.js:104:9)
Passextend() backwards with range 17 [document.documentElement, 1, document.documentElement, 2] and point 85 [doctype, 1]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(Element node <html><head><title>Selection extend() tests</title> <meta..., Element node <html><head><title>Selection extend() tests</title> <meta..., "Sanity check: startContainer must be correct")
    at testExtend ( /selection/extend.js:80:5)
Pass
assert_equals(1, 1, "Sanity check: startOffset must be correct")
    at testExtend ( /selection/extend.js:82:5)
Pass
assert_equals(Element node <html><head><title>Selection extend() tests</title> <meta..., Element node <html><head><title>Selection extend() tests</title> <meta..., "Sanity check: endContainer must be correct")
    at testExtend ( /selection/extend.js:84:5)
Pass
assert_equals(2, 2, "Sanity check: endOffset must be correct")
    at testExtend ( /selection/extend.js:86:5)
Pass
assert_throws_dom("INVALID_NODE_TYPE_ERR", function "function() {             selection.extend(node, offset);         }", "extend() to a doctype must throw InvalidNodeTypeError")
    at testExtend ( /selection/extend.js:104:9)
Passextend() forwards with range 17 [document.documentElement, 1, document.documentElement, 2] and point 86 [foreignDoctype, 0]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(1, 1, "The operation should not add Range")
    at assertSelectionNoChange ( /selection/common.js:976:5)
Pass
assert_equals(Element node <html><head><title>Selection extend() tests</title> <meta..., Element node <html><head><title>Selection extend() tests</title> <meta..., "The operation should not update anchorNode")
    at assertSelectionNoChange ( /selection/common.js:978:5)
Pass
assert_equals(1, 1, "The operation should not update anchorOffset")
    at assertSelectionNoChange ( /selection/common.js:980:5)
Pass
assert_equals(Element node <html><head><title>Selection extend() tests</title> <meta..., Element node <html><head><title>Selection extend() tests</title> <meta..., "The operation should not update focusNode")
    at assertSelectionNoChange ( /selection/common.js:982:5)
Pass
assert_equals(2, 2, "The operation should not update focusOffset")
    at assertSelectionNoChange ( /selection/common.js:984:5)
Pass
assert_equals(object "Äb̈c̈d̈ëf̈g̈ḧ Ijklmnop QrstuvwxYzabcdefGhijklmn     Running, 1000 complete, 1 remain  "use strict";  testExtendSubSet(0, 20); testDiv.style.display = "none"; ", object "Äb̈c̈d̈ëf̈g̈ḧ Ijklmnop QrstuvwxYzabcdefGhijklmn     Running, 1000 complete, 1 remain  "use strict";  testExtendSubSet(0, 20); testDiv.style.display = "none"; ", "The operation should not replace a registered Range")
    at assertSelectionNoChange ( /selection/common.js:988:5)
Passextend() backwards with range 17 [document.documentElement, 1, document.documentElement, 2] and point 86 [foreignDoctype, 0]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(1, 1, "The operation should not add Range")
    at assertSelectionNoChange ( /selection/common.js:976:5)
Pass
assert_equals(Element node <html><head><title>Selection extend() tests</title> <meta..., Element node <html><head><title>Selection extend() tests</title> <meta..., "The operation should not update anchorNode")
    at assertSelectionNoChange ( /selection/common.js:978:5)
Pass
assert_equals(2, 2, "The operation should not update anchorOffset")
    at assertSelectionNoChange ( /selection/common.js:980:5)
Pass
assert_equals(Element node <html><head><title>Selection extend() tests</title> <meta..., Element node <html><head><title>Selection extend() tests</title> <meta..., "The operation should not update focusNode")
    at assertSelectionNoChange ( /selection/common.js:982:5)
Pass
assert_equals(1, 1, "The operation should not update focusOffset")
    at assertSelectionNoChange ( /selection/common.js:984:5)
Pass
assert_equals(object "Äb̈c̈d̈ëf̈g̈ḧ Ijklmnop QrstuvwxYzabcdefGhijklmn     Running, 1000 complete, 1 remain  "use strict";  testExtendSubSet(0, 20); testDiv.style.display = "none"; ", object "Äb̈c̈d̈ëf̈g̈ḧ Ijklmnop QrstuvwxYzabcdefGhijklmn     Running, 1000 complete, 1 remain  "use strict";  testExtendSubSet(0, 20); testDiv.style.display = "none"; ", "The operation should not replace a registered Range")
    at assertSelectionNoChange ( /selection/common.js:988:5)
Passextend() forwards with range 17 [document.documentElement, 1, document.documentElement, 2] and point 87 [xmlDoctype, 0]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(1, 1, "The operation should not add Range")
    at assertSelectionNoChange ( /selection/common.js:976:5)
Pass
assert_equals(Element node <html><head><title>Selection extend() tests</title> <meta..., Element node <html><head><title>Selection extend() tests</title> <meta..., "The operation should not update anchorNode")
    at assertSelectionNoChange ( /selection/common.js:978:5)
Pass
assert_equals(1, 1, "The operation should not update anchorOffset")
    at assertSelectionNoChange ( /selection/common.js:980:5)
Pass
assert_equals(Element node <html><head><title>Selection extend() tests</title> <meta..., Element node <html><head><title>Selection extend() tests</title> <meta..., "The operation should not update focusNode")
    at assertSelectionNoChange ( /selection/common.js:982:5)
Pass
assert_equals(2, 2, "The operation should not update focusOffset")
    at assertSelectionNoChange ( /selection/common.js:984:5)
Pass
assert_equals(object "Äb̈c̈d̈ëf̈g̈ḧ Ijklmnop QrstuvwxYzabcdefGhijklmn     Running, 1000 complete, 1 remain  "use strict";  testExtendSubSet(0, 20); testDiv.style.display = "none"; ", object "Äb̈c̈d̈ëf̈g̈ḧ Ijklmnop QrstuvwxYzabcdefGhijklmn     Running, 1000 complete, 1 remain  "use strict";  testExtendSubSet(0, 20); testDiv.style.display = "none"; ", "The operation should not replace a registered Range")
    at assertSelectionNoChange ( /selection/common.js:988:5)
Passextend() backwards with range 17 [document.documentElement, 1, document.documentElement, 2] and point 87 [xmlDoctype, 0]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(1, 1, "The operation should not add Range")
    at assertSelectionNoChange ( /selection/common.js:976:5)
Pass
assert_equals(Element node <html><head><title>Selection extend() tests</title> <meta..., Element node <html><head><title>Selection extend() tests</title> <meta..., "The operation should not update anchorNode")
    at assertSelectionNoChange ( /selection/common.js:978:5)
Pass
assert_equals(2, 2, "The operation should not update anchorOffset")
    at assertSelectionNoChange ( /selection/common.js:980:5)
Pass
assert_equals(Element node <html><head><title>Selection extend() tests</title> <meta..., Element node <html><head><title>Selection extend() tests</title> <meta..., "The operation should not update focusNode")
    at assertSelectionNoChange ( /selection/common.js:982:5)
Pass
assert_equals(1, 1, "The operation should not update focusOffset")
    at assertSelectionNoChange ( /selection/common.js:984:5)
Pass
assert_equals(object "Äb̈c̈d̈ëf̈g̈ḧ Ijklmnop QrstuvwxYzabcdefGhijklmn     Running, 1000 complete, 1 remain  "use strict";  testExtendSubSet(0, 20); testDiv.style.display = "none"; ", object "Äb̈c̈d̈ëf̈g̈ḧ Ijklmnop QrstuvwxYzabcdefGhijklmn     Running, 1000 complete, 1 remain  "use strict";  testExtendSubSet(0, 20); testDiv.style.display = "none"; ", "The operation should not replace a registered Range")
    at assertSelectionNoChange ( /selection/common.js:988:5)
Passextend() with range 18 [document.head, 1, document.head, 1] and point 0 [paras[0].firstChild, -1]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(Element node <head><title>Selection extend() tests</title> <meta chars..., Element node <head><title>Selection extend() tests</title> <meta chars..., "Sanity check: startContainer must be correct")
    at testExtend ( /selection/extend.js:80:5)
Pass
assert_equals(1, 1, "Sanity check: startOffset must be correct")
    at testExtend ( /selection/extend.js:82:5)
Pass
assert_equals(Element node <head><title>Selection extend() tests</title> <meta chars..., Element node <head><title>Selection extend() tests</title> <meta chars..., "Sanity check: endContainer must be correct")
    at testExtend ( /selection/extend.js:84:5)
Pass
assert_equals(1, 1, "Sanity check: endOffset must be correct")
    at testExtend ( /selection/extend.js:86:5)
Pass
assert_throws_dom("INDEX_SIZE_ERR", function "function() {             selection.extend(node, offset);         }", "extend() to an offset that's greater than node length (17) must throw IndexSizeError")
    at testExtend ( /selection/extend.js:117:9)
Passextend() with range 18 [document.head, 1, document.head, 1] and point 1 [paras[0].firstChild, 0]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(Element node <head><title>Selection extend() tests</title> <meta chars..., Element node <head><title>Selection extend() tests</title> <meta chars..., "Sanity check: startContainer must be correct")
    at testExtend ( /selection/extend.js:80:5)
Pass
assert_equals(1, 1, "Sanity check: startOffset must be correct")
    at testExtend ( /selection/extend.js:82:5)
Pass
assert_equals(Element node <head><title>Selection extend() tests</title> <meta chars..., Element node <head><title>Selection extend() tests</title> <meta chars..., "Sanity check: endContainer must be correct")
    at testExtend ( /selection/extend.js:84:5)
Pass
assert_equals(1, 1, "Sanity check: endOffset must be correct")
    at testExtend ( /selection/extend.js:86:5)
Pass
assert_equals(Element node <head><title>Selection extend() tests</title> <meta chars..., Element node <head><title>Selection extend() tests</title> <meta chars..., "anchorNode must not change if the node passed to extend() has the same root as the original range")
    at testExtend ( /selection/extend.js:145:9)
Pass
assert_equals(1, 1, "anchorOffset must not change if the node passed to extend() has the same root as the original range")
    at testExtend ( /selection/extend.js:147:9)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "focusNode must be the node passed to extend()")
    at testExtend ( /selection/extend.js:155:5)
Pass
assert_equals(0, 0, "focusOffset must be the offset passed to extend()")
    at testExtend ( /selection/extend.js:157:5)
Pass
assert_not_equals(object "   ", object "", "extend() must replace any existing range with a new one, not mutate the existing one")
    at testExtend ( /selection/extend.js:159:5)
Passextend() with range 18 [document.head, 1, document.head, 1] and point 2 [paras[0].firstChild, 1]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(Element node <head><title>Selection extend() tests</title> <meta chars..., Element node <head><title>Selection extend() tests</title> <meta chars..., "Sanity check: startContainer must be correct")
    at testExtend ( /selection/extend.js:80:5)
Pass
assert_equals(1, 1, "Sanity check: startOffset must be correct")
    at testExtend ( /selection/extend.js:82:5)
Pass
assert_equals(Element node <head><title>Selection extend() tests</title> <meta chars..., Element node <head><title>Selection extend() tests</title> <meta chars..., "Sanity check: endContainer must be correct")
    at testExtend ( /selection/extend.js:84:5)
Pass
assert_equals(1, 1, "Sanity check: endOffset must be correct")
    at testExtend ( /selection/extend.js:86:5)
Pass
assert_equals(Element node <head><title>Selection extend() tests</title> <meta chars..., Element node <head><title>Selection extend() tests</title> <meta chars..., "anchorNode must not change if the node passed to extend() has the same root as the original range")
    at testExtend ( /selection/extend.js:145:9)
Pass
assert_equals(1, 1, "anchorOffset must not change if the node passed to extend() has the same root as the original range")
    at testExtend ( /selection/extend.js:147:9)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "focusNode must be the node passed to extend()")
    at testExtend ( /selection/extend.js:155:5)
Pass
assert_equals(1, 1, "focusOffset must be the offset passed to extend()")
    at testExtend ( /selection/extend.js:157:5)
Pass
assert_not_equals(object "   A", object "", "extend() must replace any existing range with a new one, not mutate the existing one")
    at testExtend ( /selection/extend.js:159:5)
Passextend() with range 18 [document.head, 1, document.head, 1] and point 3 [paras[0].firstChild, 2]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(Element node <head><title>Selection extend() tests</title> <meta chars..., Element node <head><title>Selection extend() tests</title> <meta chars..., "Sanity check: startContainer must be correct")
    at testExtend ( /selection/extend.js:80:5)
Pass
assert_equals(1, 1, "Sanity check: startOffset must be correct")
    at testExtend ( /selection/extend.js:82:5)
Pass
assert_equals(Element node <head><title>Selection extend() tests</title> <meta chars..., Element node <head><title>Selection extend() tests</title> <meta chars..., "Sanity check: endContainer must be correct")
    at testExtend ( /selection/extend.js:84:5)
Pass
assert_equals(1, 1, "Sanity check: endOffset must be correct")
    at testExtend ( /selection/extend.js:86:5)
Pass
assert_equals(Element node <head><title>Selection extend() tests</title> <meta chars..., Element node <head><title>Selection extend() tests</title> <meta chars..., "anchorNode must not change if the node passed to extend() has the same root as the original range")
    at testExtend ( /selection/extend.js:145:9)
Pass
assert_equals(1, 1, "anchorOffset must not change if the node passed to extend() has the same root as the original range")
    at testExtend ( /selection/extend.js:147:9)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "focusNode must be the node passed to extend()")
    at testExtend ( /selection/extend.js:155:5)
Pass
assert_equals(2, 2, "focusOffset must be the offset passed to extend()")
    at testExtend ( /selection/extend.js:157:5)
Pass
assert_not_equals(object "   Ä", object "", "extend() must replace any existing range with a new one, not mutate the existing one")
    at testExtend ( /selection/extend.js:159:5)
Passextend() with range 18 [document.head, 1, document.head, 1] and point 4 [paras[0].firstChild, 8]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(Element node <head><title>Selection extend() tests</title> <meta chars..., Element node <head><title>Selection extend() tests</title> <meta chars..., "Sanity check: startContainer must be correct")
    at testExtend ( /selection/extend.js:80:5)
Pass
assert_equals(1, 1, "Sanity check: startOffset must be correct")
    at testExtend ( /selection/extend.js:82:5)
Pass
assert_equals(Element node <head><title>Selection extend() tests</title> <meta chars..., Element node <head><title>Selection extend() tests</title> <meta chars..., "Sanity check: endContainer must be correct")
    at testExtend ( /selection/extend.js:84:5)
Pass
assert_equals(1, 1, "Sanity check: endOffset must be correct")
    at testExtend ( /selection/extend.js:86:5)
Pass
assert_equals(Element node <head><title>Selection extend() tests</title> <meta chars..., Element node <head><title>Selection extend() tests</title> <meta chars..., "anchorNode must not change if the node passed to extend() has the same root as the original range")
    at testExtend ( /selection/extend.js:145:9)
Pass
assert_equals(1, 1, "anchorOffset must not change if the node passed to extend() has the same root as the original range")
    at testExtend ( /selection/extend.js:147:9)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "focusNode must be the node passed to extend()")
    at testExtend ( /selection/extend.js:155:5)
Pass
assert_equals(8, 8, "focusOffset must be the offset passed to extend()")
    at testExtend ( /selection/extend.js:157:5)
Pass
assert_not_equals(object "   Äb̈c̈d̈", object "", "extend() must replace any existing range with a new one, not mutate the existing one")
    at testExtend ( /selection/extend.js:159:5)
Passextend() with range 18 [document.head, 1, document.head, 1] and point 5 [paras[0].firstChild, 9]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(Element node <head><title>Selection extend() tests</title> <meta chars..., Element node <head><title>Selection extend() tests</title> <meta chars..., "Sanity check: startContainer must be correct")
    at testExtend ( /selection/extend.js:80:5)
Pass
assert_equals(1, 1, "Sanity check: startOffset must be correct")
    at testExtend ( /selection/extend.js:82:5)
Pass
assert_equals(Element node <head><title>Selection extend() tests</title> <meta chars..., Element node <head><title>Selection extend() tests</title> <meta chars..., "Sanity check: endContainer must be correct")
    at testExtend ( /selection/extend.js:84:5)
Pass
assert_equals(1, 1, "Sanity check: endOffset must be correct")
    at testExtend ( /selection/extend.js:86:5)
Pass
assert_equals(Element node <head><title>Selection extend() tests</title> <meta chars..., Element node <head><title>Selection extend() tests</title> <meta chars..., "anchorNode must not change if the node passed to extend() has the same root as the original range")
    at testExtend ( /selection/extend.js:145:9)
Pass
assert_equals(1, 1, "anchorOffset must not change if the node passed to extend() has the same root as the original range")
    at testExtend ( /selection/extend.js:147:9)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "focusNode must be the node passed to extend()")
    at testExtend ( /selection/extend.js:155:5)
Pass
assert_equals(9, 9, "focusOffset must be the offset passed to extend()")
    at testExtend ( /selection/extend.js:157:5)
Pass
assert_not_equals(object "   Äb̈c̈d̈e", object "", "extend() must replace any existing range with a new one, not mutate the existing one")
    at testExtend ( /selection/extend.js:159:5)
Passextend() with range 18 [document.head, 1, document.head, 1] and point 6 [paras[0].firstChild, 10]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(Element node <head><title>Selection extend() tests</title> <meta chars..., Element node <head><title>Selection extend() tests</title> <meta chars..., "Sanity check: startContainer must be correct")
    at testExtend ( /selection/extend.js:80:5)
Pass
assert_equals(1, 1, "Sanity check: startOffset must be correct")
    at testExtend ( /selection/extend.js:82:5)
Pass
assert_equals(Element node <head><title>Selection extend() tests</title> <meta chars..., Element node <head><title>Selection extend() tests</title> <meta chars..., "Sanity check: endContainer must be correct")
    at testExtend ( /selection/extend.js:84:5)
Pass
assert_equals(1, 1, "Sanity check: endOffset must be correct")
    at testExtend ( /selection/extend.js:86:5)
Pass
assert_equals(Element node <head><title>Selection extend() tests</title> <meta chars..., Element node <head><title>Selection extend() tests</title> <meta chars..., "anchorNode must not change if the node passed to extend() has the same root as the original range")
    at testExtend ( /selection/extend.js:145:9)
Pass
assert_equals(1, 1, "anchorOffset must not change if the node passed to extend() has the same root as the original range")
    at testExtend ( /selection/extend.js:147:9)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "focusNode must be the node passed to extend()")
    at testExtend ( /selection/extend.js:155:5)
Pass
assert_equals(10, 10, "focusOffset must be the offset passed to extend()")
    at testExtend ( /selection/extend.js:157:5)
Pass
assert_not_equals(object "   Äb̈c̈d̈ë", object "", "extend() must replace any existing range with a new one, not mutate the existing one")
    at testExtend ( /selection/extend.js:159:5)
Passextend() with range 18 [document.head, 1, document.head, 1] and point 7 [paras[0].firstChild, 65535]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(Element node <head><title>Selection extend() tests</title> <meta chars..., Element node <head><title>Selection extend() tests</title> <meta chars..., "Sanity check: startContainer must be correct")
    at testExtend ( /selection/extend.js:80:5)
Pass
assert_equals(1, 1, "Sanity check: startOffset must be correct")
    at testExtend ( /selection/extend.js:82:5)
Pass
assert_equals(Element node <head><title>Selection extend() tests</title> <meta chars..., Element node <head><title>Selection extend() tests</title> <meta chars..., "Sanity check: endContainer must be correct")
    at testExtend ( /selection/extend.js:84:5)
Pass
assert_equals(1, 1, "Sanity check: endOffset must be correct")
    at testExtend ( /selection/extend.js:86:5)
Pass
assert_throws_dom("INDEX_SIZE_ERR", function "function() {             selection.extend(node, offset);         }", "extend() to an offset that's greater than node length (17) must throw IndexSizeError")
    at testExtend ( /selection/extend.js:117:9)
Passextend() with range 18 [document.head, 1, document.head, 1] and point 8 [paras[1].firstChild, -1]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(Element node <head><title>Selection extend() tests</title> <meta chars..., Element node <head><title>Selection extend() tests</title> <meta chars..., "Sanity check: startContainer must be correct")
    at testExtend ( /selection/extend.js:80:5)
Pass
assert_equals(1, 1, "Sanity check: startOffset must be correct")
    at testExtend ( /selection/extend.js:82:5)
Pass
assert_equals(Element node <head><title>Selection extend() tests</title> <meta chars..., Element node <head><title>Selection extend() tests</title> <meta chars..., "Sanity check: endContainer must be correct")
    at testExtend ( /selection/extend.js:84:5)
Pass
assert_equals(1, 1, "Sanity check: endOffset must be correct")
    at testExtend ( /selection/extend.js:86:5)
Pass
assert_throws_dom("INDEX_SIZE_ERR", function "function() {             selection.extend(node, offset);         }", "extend() to an offset that's greater than node length (9) must throw IndexSizeError")
    at testExtend ( /selection/extend.js:117:9)
Passextend() with range 18 [document.head, 1, document.head, 1] and point 9 [paras[1].firstChild, 0]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(Element node <head><title>Selection extend() tests</title> <meta chars..., Element node <head><title>Selection extend() tests</title> <meta chars..., "Sanity check: startContainer must be correct")
    at testExtend ( /selection/extend.js:80:5)
Pass
assert_equals(1, 1, "Sanity check: startOffset must be correct")
    at testExtend ( /selection/extend.js:82:5)
Pass
assert_equals(Element node <head><title>Selection extend() tests</title> <meta chars..., Element node <head><title>Selection extend() tests</title> <meta chars..., "Sanity check: endContainer must be correct")
    at testExtend ( /selection/extend.js:84:5)
Pass
assert_equals(1, 1, "Sanity check: endOffset must be correct")
    at testExtend ( /selection/extend.js:86:5)
Pass
assert_equals(Element node <head><title>Selection extend() tests</title> <meta chars..., Element node <head><title>Selection extend() tests</title> <meta chars..., "anchorNode must not change if the node passed to extend() has the same root as the original range")
    at testExtend ( /selection/extend.js:145:9)
Pass
assert_equals(1, 1, "anchorOffset must not change if the node passed to extend() has the same root as the original range")
    at testExtend ( /selection/extend.js:147:9)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "focusNode must be the node passed to extend()")
    at testExtend ( /selection/extend.js:155:5)
Pass
assert_equals(0, 0, "focusOffset must be the offset passed to extend()")
    at testExtend ( /selection/extend.js:157:5)
Pass
assert_not_equals(object "   Äb̈c̈d̈ëf̈g̈ḧ ", object "", "extend() must replace any existing range with a new one, not mutate the existing one")
    at testExtend ( /selection/extend.js:159:5)
Passextend() with range 18 [document.head, 1, document.head, 1] and point 10 [paras[1].firstChild, 1]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(Element node <head><title>Selection extend() tests</title> <meta chars..., Element node <head><title>Selection extend() tests</title> <meta chars..., "Sanity check: startContainer must be correct")
    at testExtend ( /selection/extend.js:80:5)
Pass
assert_equals(1, 1, "Sanity check: startOffset must be correct")
    at testExtend ( /selection/extend.js:82:5)
Pass
assert_equals(Element node <head><title>Selection extend() tests</title> <meta chars..., Element node <head><title>Selection extend() tests</title> <meta chars..., "Sanity check: endContainer must be correct")
    at testExtend ( /selection/extend.js:84:5)
Pass
assert_equals(1, 1, "Sanity check: endOffset must be correct")
    at testExtend ( /selection/extend.js:86:5)
Pass
assert_equals(Element node <head><title>Selection extend() tests</title> <meta chars..., Element node <head><title>Selection extend() tests</title> <meta chars..., "anchorNode must not change if the node passed to extend() has the same root as the original range")
    at testExtend ( /selection/extend.js:145:9)
Pass
assert_equals(1, 1, "anchorOffset must not change if the node passed to extend() has the same root as the original range")
    at testExtend ( /selection/extend.js:147:9)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "focusNode must be the node passed to extend()")
    at testExtend ( /selection/extend.js:155:5)
Pass
assert_equals(1, 1, "focusOffset must be the offset passed to extend()")
    at testExtend ( /selection/extend.js:157:5)
Pass
assert_not_equals(object "   Äb̈c̈d̈ëf̈g̈ḧ I", object "", "extend() must replace any existing range with a new one, not mutate the existing one")
    at testExtend ( /selection/extend.js:159:5)
Passextend() with range 18 [document.head, 1, document.head, 1] and point 11 [paras[1].firstChild, 2]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(Element node <head><title>Selection extend() tests</title> <meta chars..., Element node <head><title>Selection extend() tests</title> <meta chars..., "Sanity check: startContainer must be correct")
    at testExtend ( /selection/extend.js:80:5)
Pass
assert_equals(1, 1, "Sanity check: startOffset must be correct")
    at testExtend ( /selection/extend.js:82:5)
Pass
assert_equals(Element node <head><title>Selection extend() tests</title> <meta chars..., Element node <head><title>Selection extend() tests</title> <meta chars..., "Sanity check: endContainer must be correct")
    at testExtend ( /selection/extend.js:84:5)
Pass
assert_equals(1, 1, "Sanity check: endOffset must be correct")
    at testExtend ( /selection/extend.js:86:5)
Pass
assert_equals(Element node <head><title>Selection extend() tests</title> <meta chars..., Element node <head><title>Selection extend() tests</title> <meta chars..., "anchorNode must not change if the node passed to extend() has the same root as the original range")
    at testExtend ( /selection/extend.js:145:9)
Pass
assert_equals(1, 1, "anchorOffset must not change if the node passed to extend() has the same root as the original range")
    at testExtend ( /selection/extend.js:147:9)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "focusNode must be the node passed to extend()")
    at testExtend ( /selection/extend.js:155:5)
Pass
assert_equals(2, 2, "focusOffset must be the offset passed to extend()")
    at testExtend ( /selection/extend.js:157:5)
Pass
assert_not_equals(object "   Äb̈c̈d̈ëf̈g̈ḧ Ij", object "", "extend() must replace any existing range with a new one, not mutate the existing one")
    at testExtend ( /selection/extend.js:159:5)
Passextend() with range 18 [document.head, 1, document.head, 1] and point 12 [paras[1].firstChild, 8]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(Element node <head><title>Selection extend() tests</title> <meta chars..., Element node <head><title>Selection extend() tests</title> <meta chars..., "Sanity check: startContainer must be correct")
    at testExtend ( /selection/extend.js:80:5)
Pass
assert_equals(1, 1, "Sanity check: startOffset must be correct")
    at testExtend ( /selection/extend.js:82:5)
Pass
assert_equals(Element node <head><title>Selection extend() tests</title> <meta chars..., Element node <head><title>Selection extend() tests</title> <meta chars..., "Sanity check: endContainer must be correct")
    at testExtend ( /selection/extend.js:84:5)
Pass
assert_equals(1, 1, "Sanity check: endOffset must be correct")
    at testExtend ( /selection/extend.js:86:5)
Pass
assert_equals(Element node <head><title>Selection extend() tests</title> <meta chars..., Element node <head><title>Selection extend() tests</title> <meta chars..., "anchorNode must not change if the node passed to extend() has the same root as the original range")
    at testExtend ( /selection/extend.js:145:9)
Pass
assert_equals(1, 1, "anchorOffset must not change if the node passed to extend() has the same root as the original range")
    at testExtend ( /selection/extend.js:147:9)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "focusNode must be the node passed to extend()")
    at testExtend ( /selection/extend.js:155:5)
Pass
assert_equals(8, 8, "focusOffset must be the offset passed to extend()")
    at testExtend ( /selection/extend.js:157:5)
Pass
assert_not_equals(object "   Äb̈c̈d̈ëf̈g̈ḧ Ijklmnop", object "", "extend() must replace any existing range with a new one, not mutate the existing one")
    at testExtend ( /selection/extend.js:159:5)
Passextend() with range 18 [document.head, 1, document.head, 1] and point 13 [paras[1].firstChild, 9]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(Element node <head><title>Selection extend() tests</title> <meta chars..., Element node <head><title>Selection extend() tests</title> <meta chars..., "Sanity check: startContainer must be correct")
    at testExtend ( /selection/extend.js:80:5)
Pass
assert_equals(1, 1, "Sanity check: startOffset must be correct")
    at testExtend ( /selection/extend.js:82:5)
Pass
assert_equals(Element node <head><title>Selection extend() tests</title> <meta chars..., Element node <head><title>Selection extend() tests</title> <meta chars..., "Sanity check: endContainer must be correct")
    at testExtend ( /selection/extend.js:84:5)
Pass
assert_equals(1, 1, "Sanity check: endOffset must be correct")
    at testExtend ( /selection/extend.js:86:5)
Pass
assert_equals(Element node <head><title>Selection extend() tests</title> <meta chars..., Element node <head><title>Selection extend() tests</title> <meta chars..., "anchorNode must not change if the node passed to extend() has the same root as the original range")
    at testExtend ( /selection/extend.js:145:9)
Pass
assert_equals(1, 1, "anchorOffset must not change if the node passed to extend() has the same root as the original range")
    at testExtend ( /selection/extend.js:147:9)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "focusNode must be the node passed to extend()")
    at testExtend ( /selection/extend.js:155:5)
Pass
assert_equals(9, 9, "focusOffset must be the offset passed to extend()")
    at testExtend ( /selection/extend.js:157:5)
Pass
assert_not_equals(object "   Äb̈c̈d̈ëf̈g̈ḧ Ijklmnop ", object "", "extend() must replace any existing range with a new one, not mutate the existing one")
    at testExtend ( /selection/extend.js:159:5)
Passextend() with range 18 [document.head, 1, document.head, 1] and point 14 [paras[1].firstChild, 10]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(Element node <head><title>Selection extend() tests</title> <meta chars..., Element node <head><title>Selection extend() tests</title> <meta chars..., "Sanity check: startContainer must be correct")
    at testExtend ( /selection/extend.js:80:5)
Pass
assert_equals(1, 1, "Sanity check: startOffset must be correct")
    at testExtend ( /selection/extend.js:82:5)
Pass
assert_equals(Element node <head><title>Selection extend() tests</title> <meta chars..., Element node <head><title>Selection extend() tests</title> <meta chars..., "Sanity check: endContainer must be correct")
    at testExtend ( /selection/extend.js:84:5)
Pass
assert_equals(1, 1, "Sanity check: endOffset must be correct")
    at testExtend ( /selection/extend.js:86:5)
Pass
assert_throws_dom("INDEX_SIZE_ERR", function "function() {             selection.extend(node, offset);         }", "extend() to an offset that's greater than node length (9) must throw IndexSizeError")
    at testExtend ( /selection/extend.js:117:9)
Passextend() with range 18 [document.head, 1, document.head, 1] and point 15 [paras[1].firstChild, 65535]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(Element node <head><title>Selection extend() tests</title> <meta chars..., Element node <head><title>Selection extend() tests</title> <meta chars..., "Sanity check: startContainer must be correct")
    at testExtend ( /selection/extend.js:80:5)
Pass
assert_equals(1, 1, "Sanity check: startOffset must be correct")
    at testExtend ( /selection/extend.js:82:5)
Pass
assert_equals(Element node <head><title>Selection extend() tests</title> <meta chars..., Element node <head><title>Selection extend() tests</title> <meta chars..., "Sanity check: endContainer must be correct")
    at testExtend ( /selection/extend.js:84:5)
Pass
assert_equals(1, 1, "Sanity check: endOffset must be correct")
    at testExtend ( /selection/extend.js:86:5)
Pass
assert_throws_dom("INDEX_SIZE_ERR", function "function() {             selection.extend(node, offset);         }", "extend() to an offset that's greater than node length (9) must throw IndexSizeError")
    at testExtend ( /selection/extend.js:117:9)
Passextend() with range 18 [document.head, 1, document.head, 1] and point 16 [detachedPara1.firstChild, 0]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(1, 1, "The operation should not add Range")
    at assertSelectionNoChange ( /selection/common.js:976:5)
Pass
assert_equals(Element node <head><title>Selection extend() tests</title> <meta chars..., Element node <head><title>Selection extend() tests</title> <meta chars..., "The operation should not update anchorNode")
    at assertSelectionNoChange ( /selection/common.js:978:5)
Pass
assert_equals(1, 1, "The operation should not update anchorOffset")
    at assertSelectionNoChange ( /selection/common.js:980:5)
Pass
assert_equals(Element node <head><title>Selection extend() tests</title> <meta chars..., Element node <head><title>Selection extend() tests</title> <meta chars..., "The operation should not update focusNode")
    at assertSelectionNoChange ( /selection/common.js:982:5)
Pass
assert_equals(1, 1, "The operation should not update focusOffset")
    at assertSelectionNoChange ( /selection/common.js:984:5)
Pass
assert_equals(object "", object "", "The operation should not replace a registered Range")
    at assertSelectionNoChange ( /selection/common.js:988:5)
Passextend() with range 18 [document.head, 1, document.head, 1] and point 17 [detachedPara1.firstChild, 1]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(1, 1, "The operation should not add Range")
    at assertSelectionNoChange ( /selection/common.js:976:5)
Pass
assert_equals(Element node <head><title>Selection extend() tests</title> <meta chars..., Element node <head><title>Selection extend() tests</title> <meta chars..., "The operation should not update anchorNode")
    at assertSelectionNoChange ( /selection/common.js:978:5)
Pass
assert_equals(1, 1, "The operation should not update anchorOffset")
    at assertSelectionNoChange ( /selection/common.js:980:5)
Pass
assert_equals(Element node <head><title>Selection extend() tests</title> <meta chars..., Element node <head><title>Selection extend() tests</title> <meta chars..., "The operation should not update focusNode")
    at assertSelectionNoChange ( /selection/common.js:982:5)
Pass
assert_equals(1, 1, "The operation should not update focusOffset")
    at assertSelectionNoChange ( /selection/common.js:984:5)
Pass
assert_equals(object "", object "", "The operation should not replace a registered Range")
    at assertSelectionNoChange ( /selection/common.js:988:5)
Passextend() with range 18 [document.head, 1, document.head, 1] and point 18 [detachedPara1.firstChild, 8]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(1, 1, "The operation should not add Range")
    at assertSelectionNoChange ( /selection/common.js:976:5)
Pass
assert_equals(Element node <head><title>Selection extend() tests</title> <meta chars..., Element node <head><title>Selection extend() tests</title> <meta chars..., "The operation should not update anchorNode")
    at assertSelectionNoChange ( /selection/common.js:978:5)
Pass
assert_equals(1, 1, "The operation should not update anchorOffset")
    at assertSelectionNoChange ( /selection/common.js:980:5)
Pass
assert_equals(Element node <head><title>Selection extend() tests</title> <meta chars..., Element node <head><title>Selection extend() tests</title> <meta chars..., "The operation should not update focusNode")
    at assertSelectionNoChange ( /selection/common.js:982:5)
Pass
assert_equals(1, 1, "The operation should not update focusOffset")
    at assertSelectionNoChange ( /selection/common.js:984:5)
Pass
assert_equals(object "", object "", "The operation should not replace a registered Range")
    at assertSelectionNoChange ( /selection/common.js:988:5)
Passextend() with range 18 [document.head, 1, document.head, 1] and point 19 [detachedPara1.firstChild, 9]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(1, 1, "The operation should not add Range")
    at assertSelectionNoChange ( /selection/common.js:976:5)
Pass
assert_equals(Element node <head><title>Selection extend() tests</title> <meta chars..., Element node <head><title>Selection extend() tests</title> <meta chars..., "The operation should not update anchorNode")
    at assertSelectionNoChange ( /selection/common.js:978:5)
Pass
assert_equals(1, 1, "The operation should not update anchorOffset")
    at assertSelectionNoChange ( /selection/common.js:980:5)
Pass
assert_equals(Element node <head><title>Selection extend() tests</title> <meta chars..., Element node <head><title>Selection extend() tests</title> <meta chars..., "The operation should not update focusNode")
    at assertSelectionNoChange ( /selection/common.js:982:5)
Pass
assert_equals(1, 1, "The operation should not update focusOffset")
    at assertSelectionNoChange ( /selection/common.js:984:5)
Pass
assert_equals(object "", object "", "The operation should not replace a registered Range")
    at assertSelectionNoChange ( /selection/common.js:988:5)
Passextend() with range 18 [document.head, 1, document.head, 1] and point 20 [foreignPara1.firstChild, 0]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(1, 1, "The operation should not add Range")
    at assertSelectionNoChange ( /selection/common.js:976:5)
Pass
assert_equals(Element node <head><title>Selection extend() tests</title> <meta chars..., Element node <head><title>Selection extend() tests</title> <meta chars..., "The operation should not update anchorNode")
    at assertSelectionNoChange ( /selection/common.js:978:5)
Pass
assert_equals(1, 1, "The operation should not update anchorOffset")
    at assertSelectionNoChange ( /selection/common.js:980:5)
Pass
assert_equals(Element node <head><title>Selection extend() tests</title> <meta chars..., Element node <head><title>Selection extend() tests</title> <meta chars..., "The operation should not update focusNode")
    at assertSelectionNoChange ( /selection/common.js:982:5)
Pass
assert_equals(1, 1, "The operation should not update focusOffset")
    at assertSelectionNoChange ( /selection/common.js:984:5)
Pass
assert_equals(object "", object "", "The operation should not replace a registered Range")
    at assertSelectionNoChange ( /selection/common.js:988:5)
Passextend() with range 18 [document.head, 1, document.head, 1] and point 21 [foreignPara1.firstChild, 1]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(1, 1, "The operation should not add Range")
    at assertSelectionNoChange ( /selection/common.js:976:5)
Pass
assert_equals(Element node <head><title>Selection extend() tests</title> <meta chars..., Element node <head><title>Selection extend() tests</title> <meta chars..., "The operation should not update anchorNode")
    at assertSelectionNoChange ( /selection/common.js:978:5)
Pass
assert_equals(1, 1, "The operation should not update anchorOffset")
    at assertSelectionNoChange ( /selection/common.js:980:5)
Pass
assert_equals(Element node <head><title>Selection extend() tests</title> <meta chars..., Element node <head><title>Selection extend() tests</title> <meta chars..., "The operation should not update focusNode")
    at assertSelectionNoChange ( /selection/common.js:982:5)
Pass
assert_equals(1, 1, "The operation should not update focusOffset")
    at assertSelectionNoChange ( /selection/common.js:984:5)
Pass
assert_equals(object "", object "", "The operation should not replace a registered Range")
    at assertSelectionNoChange ( /selection/common.js:988:5)
Passextend() with range 18 [document.head, 1, document.head, 1] and point 22 [foreignPara1.firstChild, 8]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(1, 1, "The operation should not add Range")
    at assertSelectionNoChange ( /selection/common.js:976:5)
Pass
assert_equals(Element node <head><title>Selection extend() tests</title> <meta chars..., Element node <head><title>Selection extend() tests</title> <meta chars..., "The operation should not update anchorNode")
    at assertSelectionNoChange ( /selection/common.js:978:5)
Pass
assert_equals(1, 1, "The operation should not update anchorOffset")
    at assertSelectionNoChange ( /selection/common.js:980:5)
Pass
assert_equals(Element node <head><title>Selection extend() tests</title> <meta chars..., Element node <head><title>Selection extend() tests</title> <meta chars..., "The operation should not update focusNode")
    at assertSelectionNoChange ( /selection/common.js:982:5)
Pass
assert_equals(1, 1, "The operation should not update focusOffset")
    at assertSelectionNoChange ( /selection/common.js:984:5)
Pass
assert_equals(object "", object "", "The operation should not replace a registered Range")
    at assertSelectionNoChange ( /selection/common.js:988:5)
Passextend() with range 18 [document.head, 1, document.head, 1] and point 23 [foreignPara1.firstChild, 9]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(1, 1, "The operation should not add Range")
    at assertSelectionNoChange ( /selection/common.js:976:5)
Pass
assert_equals(Element node <head><title>Selection extend() tests</title> <meta chars..., Element node <head><title>Selection extend() tests</title> <meta chars..., "The operation should not update anchorNode")
    at assertSelectionNoChange ( /selection/common.js:978:5)
Pass
assert_equals(1, 1, "The operation should not update anchorOffset")
    at assertSelectionNoChange ( /selection/common.js:980:5)
Pass
assert_equals(Element node <head><title>Selection extend() tests</title> <meta chars..., Element node <head><title>Selection extend() tests</title> <meta chars..., "The operation should not update focusNode")
    at assertSelectionNoChange ( /selection/common.js:982:5)
Pass
assert_equals(1, 1, "The operation should not update focusOffset")
    at assertSelectionNoChange ( /selection/common.js:984:5)
Pass
assert_equals(object "", object "", "The operation should not replace a registered Range")
    at assertSelectionNoChange ( /selection/common.js:988:5)
Passextend() with range 18 [document.head, 1, document.head, 1] and point 24 [document.documentElement, -1]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(Element node <head><title>Selection extend() tests</title> <meta chars..., Element node <head><title>Selection extend() tests</title> <meta chars..., "Sanity check: startContainer must be correct")
    at testExtend ( /selection/extend.js:80:5)
Pass
assert_equals(1, 1, "Sanity check: startOffset must be correct")
    at testExtend ( /selection/extend.js:82:5)
Pass
assert_equals(Element node <head><title>Selection extend() tests</title> <meta chars..., Element node <head><title>Selection extend() tests</title> <meta chars..., "Sanity check: endContainer must be correct")
    at testExtend ( /selection/extend.js:84:5)
Pass
assert_equals(1, 1, "Sanity check: endOffset must be correct")
    at testExtend ( /selection/extend.js:86:5)
Pass
assert_throws_dom("INDEX_SIZE_ERR", function "function() {             selection.extend(node, offset);         }", "extend() to an offset that's greater than node length (2) must throw IndexSizeError")
    at testExtend ( /selection/extend.js:117:9)
Passextend() with range 18 [document.head, 1, document.head, 1] and point 25 [document.documentElement, 0]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(Element node <head><title>Selection extend() tests</title> <meta chars..., Element node <head><title>Selection extend() tests</title> <meta chars..., "Sanity check: startContainer must be correct")
    at testExtend ( /selection/extend.js:80:5)
Pass
assert_equals(1, 1, "Sanity check: startOffset must be correct")
    at testExtend ( /selection/extend.js:82:5)
Pass
assert_equals(Element node <head><title>Selection extend() tests</title> <meta chars..., Element node <head><title>Selection extend() tests</title> <meta chars..., "Sanity check: endContainer must be correct")
    at testExtend ( /selection/extend.js:84:5)
Pass
assert_equals(1, 1, "Sanity check: endOffset must be correct")
    at testExtend ( /selection/extend.js:86:5)
Pass
assert_equals(Element node <head><title>Selection extend() tests</title> <meta chars..., Element node <head><title>Selection extend() tests</title> <meta chars..., "anchorNode must not change if the node passed to extend() has the same root as the original range")
    at testExtend ( /selection/extend.js:145:9)
Pass
assert_equals(1, 1, "anchorOffset must not change if the node passed to extend() has the same root as the original range")
    at testExtend ( /selection/extend.js:147:9)
Pass
assert_equals(Element node <html><head><title>Selection extend() tests</title> <meta..., Element node <html><head><title>Selection extend() tests</title> <meta..., "focusNode must be the node passed to extend()")
    at testExtend ( /selection/extend.js:155:5)
Pass
assert_equals(0, 0, "focusOffset must be the offset passed to extend()")
    at testExtend ( /selection/extend.js:157:5)
Pass
assert_not_equals(object "Selection extend() tests", object "", "extend() must replace any existing range with a new one, not mutate the existing one")
    at testExtend ( /selection/extend.js:159:5)
Passextend() with range 18 [document.head, 1, document.head, 1] and point 26 [document.documentElement, 1]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(Element node <head><title>Selection extend() tests</title> <meta chars..., Element node <head><title>Selection extend() tests</title> <meta chars..., "Sanity check: startContainer must be correct")
    at testExtend ( /selection/extend.js:80:5)
Pass
assert_equals(1, 1, "Sanity check: startOffset must be correct")
    at testExtend ( /selection/extend.js:82:5)
Pass
assert_equals(Element node <head><title>Selection extend() tests</title> <meta chars..., Element node <head><title>Selection extend() tests</title> <meta chars..., "Sanity check: endContainer must be correct")
    at testExtend ( /selection/extend.js:84:5)
Pass
assert_equals(1, 1, "Sanity check: endOffset must be correct")
    at testExtend ( /selection/extend.js:86:5)
Pass
assert_equals(Element node <head><title>Selection extend() tests</title> <meta chars..., Element node <head><title>Selection extend() tests</title> <meta chars..., "anchorNode must not change if the node passed to extend() has the same root as the original range")
    at testExtend ( /selection/extend.js:145:9)
Pass
assert_equals(1, 1, "anchorOffset must not change if the node passed to extend() has the same root as the original range")
    at testExtend ( /selection/extend.js:147:9)
Pass
assert_equals(Element node <html><head><title>Selection extend() tests</title> <meta..., Element node <html><head><title>Selection extend() tests</title> <meta..., "focusNode must be the node passed to extend()")
    at testExtend ( /selection/extend.js:155:5)
Pass
assert_equals(1, 1, "focusOffset must be the offset passed to extend()")
    at testExtend ( /selection/extend.js:157:5)
Pass
assert_not_equals(object "   ", object "", "extend() must replace any existing range with a new one, not mutate the existing one")
    at testExtend ( /selection/extend.js:159:5)
Passextend() with range 18 [document.head, 1, document.head, 1] and point 27 [document.documentElement, 2]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(Element node <head><title>Selection extend() tests</title> <meta chars..., Element node <head><title>Selection extend() tests</title> <meta chars..., "Sanity check: startContainer must be correct")
    at testExtend ( /selection/extend.js:80:5)
Pass
assert_equals(1, 1, "Sanity check: startOffset must be correct")
    at testExtend ( /selection/extend.js:82:5)
Pass
assert_equals(Element node <head><title>Selection extend() tests</title> <meta chars..., Element node <head><title>Selection extend() tests</title> <meta chars..., "Sanity check: endContainer must be correct")
    at testExtend ( /selection/extend.js:84:5)
Pass
assert_equals(1, 1, "Sanity check: endOffset must be correct")
    at testExtend ( /selection/extend.js:86:5)
Pass
assert_equals(Element node <head><title>Selection extend() tests</title> <meta chars..., Element node <head><title>Selection extend() tests</title> <meta chars..., "anchorNode must not change if the node passed to extend() has the same root as the original range")
    at testExtend ( /selection/extend.js:145:9)
Pass
assert_equals(1, 1, "anchorOffset must not change if the node passed to extend() has the same root as the original range")
    at testExtend ( /selection/extend.js:147:9)
Pass
assert_equals(Element node <html><head><title>Selection extend() tests</title> <meta..., Element node <html><head><title>Selection extend() tests</title> <meta..., "focusNode must be the node passed to extend()")
    at testExtend ( /selection/extend.js:155:5)
Pass
assert_equals(2, 2, "focusOffset must be the offset passed to extend()")
    at testExtend ( /selection/extend.js:157:5)
Pass
assert_not_equals(object "   Äb̈c̈d̈ëf̈g̈ḧ Ijklmnop QrstuvwxYzabcdefGhijklmn     Running, 1000 complete, 1 remain  "use strict";  testExtendSubSet(0, 20); testDiv.style.display = "none"; ", object "", "extend() must replace any existing range with a new one, not mutate the existing one")
    at testExtend ( /selection/extend.js:159:5)
Passextend() with range 18 [document.head, 1, document.head, 1] and point 28 [document.documentElement, 7]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(Element node <head><title>Selection extend() tests</title> <meta chars..., Element node <head><title>Selection extend() tests</title> <meta chars..., "Sanity check: startContainer must be correct")
    at testExtend ( /selection/extend.js:80:5)
Pass
assert_equals(1, 1, "Sanity check: startOffset must be correct")
    at testExtend ( /selection/extend.js:82:5)
Pass
assert_equals(Element node <head><title>Selection extend() tests</title> <meta chars..., Element node <head><title>Selection extend() tests</title> <meta chars..., "Sanity check: endContainer must be correct")
    at testExtend ( /selection/extend.js:84:5)
Pass
assert_equals(1, 1, "Sanity check: endOffset must be correct")
    at testExtend ( /selection/extend.js:86:5)
Pass
assert_throws_dom("INDEX_SIZE_ERR", function "function() {             selection.extend(node, offset);         }", "extend() to an offset that's greater than node length (2) must throw IndexSizeError")
    at testExtend ( /selection/extend.js:117:9)
Passextend() with range 18 [document.head, 1, document.head, 1] and point 29 [document.head, 1]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(Element node <head><title>Selection extend() tests</title> <meta chars..., Element node <head><title>Selection extend() tests</title> <meta chars..., "Sanity check: startContainer must be correct")
    at testExtend ( /selection/extend.js:80:5)
Pass
assert_equals(1, 1, "Sanity check: startOffset must be correct")
    at testExtend ( /selection/extend.js:82:5)
Pass
assert_equals(Element node <head><title>Selection extend() tests</title> <meta chars..., Element node <head><title>Selection extend() tests</title> <meta chars..., "Sanity check: endContainer must be correct")
    at testExtend ( /selection/extend.js:84:5)
Pass
assert_equals(1, 1, "Sanity check: endOffset must be correct")
    at testExtend ( /selection/extend.js:86:5)
Pass
assert_equals(Element node <head><title>Selection extend() tests</title> <meta chars..., Element node <head><title>Selection extend() tests</title> <meta chars..., "anchorNode must not change if the node passed to extend() has the same root as the original range")
    at testExtend ( /selection/extend.js:145:9)
Pass
assert_equals(1, 1, "anchorOffset must not change if the node passed to extend() has the same root as the original range")
    at testExtend ( /selection/extend.js:147:9)
Pass
assert_equals(Element node <head><title>Selection extend() tests</title> <meta chars..., Element node <head><title>Selection extend() tests</title> <meta chars..., "focusNode must be the node passed to extend()")
    at testExtend ( /selection/extend.js:155:5)
Pass
assert_equals(1, 1, "focusOffset must be the offset passed to extend()")
    at testExtend ( /selection/extend.js:157:5)
Pass
assert_not_equals(object "", object "", "extend() must replace any existing range with a new one, not mutate the existing one")
    at testExtend ( /selection/extend.js:159:5)
Passextend() with range 18 [document.head, 1, document.head, 1] and point 30 [document.body, 3]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(Element node <head><title>Selection extend() tests</title> <meta chars..., Element node <head><title>Selection extend() tests</title> <meta chars..., "Sanity check: startContainer must be correct")
    at testExtend ( /selection/extend.js:80:5)
Pass
assert_equals(1, 1, "Sanity check: startOffset must be correct")
    at testExtend ( /selection/extend.js:82:5)
Pass
assert_equals(Element node <head><title>Selection extend() tests</title> <meta chars..., Element node <head><title>Selection extend() tests</title> <meta chars..., "Sanity check: endContainer must be correct")
    at testExtend ( /selection/extend.js:84:5)
Pass
assert_equals(1, 1, "Sanity check: endOffset must be correct")
    at testExtend ( /selection/extend.js:86:5)
Pass
assert_equals(Element node <head><title>Selection extend() tests</title> <meta chars..., Element node <head><title>Selection extend() tests</title> <meta chars..., "anchorNode must not change if the node passed to extend() has the same root as the original range")
    at testExtend ( /selection/extend.js:145:9)
Pass
assert_equals(1, 1, "anchorOffset must not change if the node passed to extend() has the same root as the original range")
    at testExtend ( /selection/extend.js:147:9)
Pass
assert_equals(Element node <body><div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ </p><p id..., Element node <body><div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ </p><p id..., "focusNode must be the node passed to extend()")
    at testExtend ( /selection/extend.js:155:5)
Pass
assert_equals(3, 3, "focusOffset must be the offset passed to extend()")
    at testExtend ( /selection/extend.js:157:5)
Pass
assert_not_equals(object "   Äb̈c̈d̈ëf̈g̈ḧ Ijklmnop QrstuvwxYzabcdefGhijklmn ", object "", "extend() must replace any existing range with a new one, not mutate the existing one")
    at testExtend ( /selection/extend.js:159:5)
Passextend() with range 18 [document.head, 1, document.head, 1] and point 31 [foreignDoc.documentElement, 0]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(1, 1, "The operation should not add Range")
    at assertSelectionNoChange ( /selection/common.js:976:5)
Pass
assert_equals(Element node <head><title>Selection extend() tests</title> <meta chars..., Element node <head><title>Selection extend() tests</title> <meta chars..., "The operation should not update anchorNode")
    at assertSelectionNoChange ( /selection/common.js:978:5)
Pass
assert_equals(1, 1, "The operation should not update anchorOffset")
    at assertSelectionNoChange ( /selection/common.js:980:5)
Pass
assert_equals(Element node <head><title>Selection extend() tests</title> <meta chars..., Element node <head><title>Selection extend() tests</title> <meta chars..., "The operation should not update focusNode")
    at assertSelectionNoChange ( /selection/common.js:982:5)
Pass
assert_equals(1, 1, "The operation should not update focusOffset")
    at assertSelectionNoChange ( /selection/common.js:984:5)
Pass
assert_equals(object "", object "", "The operation should not replace a registered Range")
    at assertSelectionNoChange ( /selection/common.js:988:5)
Passextend() with range 18 [document.head, 1, document.head, 1] and point 32 [foreignDoc.documentElement, 1]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(1, 1, "The operation should not add Range")
    at assertSelectionNoChange ( /selection/common.js:976:5)
Pass
assert_equals(Element node <head><title>Selection extend() tests</title> <meta chars..., Element node <head><title>Selection extend() tests</title> <meta chars..., "The operation should not update anchorNode")
    at assertSelectionNoChange ( /selection/common.js:978:5)
Pass
assert_equals(1, 1, "The operation should not update anchorOffset")
    at assertSelectionNoChange ( /selection/common.js:980:5)
Pass
assert_equals(Element node <head><title>Selection extend() tests</title> <meta chars..., Element node <head><title>Selection extend() tests</title> <meta chars..., "The operation should not update focusNode")
    at assertSelectionNoChange ( /selection/common.js:982:5)
Pass
assert_equals(1, 1, "The operation should not update focusOffset")
    at assertSelectionNoChange ( /selection/common.js:984:5)
Pass
assert_equals(object "", object "", "The operation should not replace a registered Range")
    at assertSelectionNoChange ( /selection/common.js:988:5)
Passextend() with range 18 [document.head, 1, document.head, 1] and point 33 [foreignDoc.head, 0]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(1, 1, "The operation should not add Range")
    at assertSelectionNoChange ( /selection/common.js:976:5)
Pass
assert_equals(Element node <head><title>Selection extend() tests</title> <meta chars..., Element node <head><title>Selection extend() tests</title> <meta chars..., "The operation should not update anchorNode")
    at assertSelectionNoChange ( /selection/common.js:978:5)
Pass
assert_equals(1, 1, "The operation should not update anchorOffset")
    at assertSelectionNoChange ( /selection/common.js:980:5)
Pass
assert_equals(Element node <head><title>Selection extend() tests</title> <meta chars..., Element node <head><title>Selection extend() tests</title> <meta chars..., "The operation should not update focusNode")
    at assertSelectionNoChange ( /selection/common.js:982:5)
Pass
assert_equals(1, 1, "The operation should not update focusOffset")
    at assertSelectionNoChange ( /selection/common.js:984:5)
Pass
assert_equals(object "", object "", "The operation should not replace a registered Range")
    at assertSelectionNoChange ( /selection/common.js:988:5)
Passextend() with range 18 [document.head, 1, document.head, 1] and point 34 [foreignDoc.body, 1]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(1, 1, "The operation should not add Range")
    at assertSelectionNoChange ( /selection/common.js:976:5)
Pass
assert_equals(Element node <head><title>Selection extend() tests</title> <meta chars..., Element node <head><title>Selection extend() tests</title> <meta chars..., "The operation should not update anchorNode")
    at assertSelectionNoChange ( /selection/common.js:978:5)
Pass
assert_equals(1, 1, "The operation should not update anchorOffset")
    at assertSelectionNoChange ( /selection/common.js:980:5)
Pass
assert_equals(Element node <head><title>Selection extend() tests</title> <meta chars..., Element node <head><title>Selection extend() tests</title> <meta chars..., "The operation should not update focusNode")
    at assertSelectionNoChange ( /selection/common.js:982:5)
Pass
assert_equals(1, 1, "The operation should not update focusOffset")
    at assertSelectionNoChange ( /selection/common.js:984:5)
Pass
assert_equals(object "", object "", "The operation should not replace a registered Range")
    at assertSelectionNoChange ( /selection/common.js:988:5)
Passextend() with range 18 [document.head, 1, document.head, 1] and point 35 [paras[0], 0]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(Element node <head><title>Selection extend() tests</title> <meta chars..., Element node <head><title>Selection extend() tests</title> <meta chars..., "Sanity check: startContainer must be correct")
    at testExtend ( /selection/extend.js:80:5)
Pass
assert_equals(1, 1, "Sanity check: startOffset must be correct")
    at testExtend ( /selection/extend.js:82:5)
Pass
assert_equals(Element node <head><title>Selection extend() tests</title> <meta chars..., Element node <head><title>Selection extend() tests</title> <meta chars..., "Sanity check: endContainer must be correct")
    at testExtend ( /selection/extend.js:84:5)
Pass
assert_equals(1, 1, "Sanity check: endOffset must be correct")
    at testExtend ( /selection/extend.js:86:5)
Pass
assert_equals(Element node <head><title>Selection extend() tests</title> <meta chars..., Element node <head><title>Selection extend() tests</title> <meta chars..., "anchorNode must not change if the node passed to extend() has the same root as the original range")
    at testExtend ( /selection/extend.js:145:9)
Pass
assert_equals(1, 1, "anchorOffset must not change if the node passed to extend() has the same root as the original range")
    at testExtend ( /selection/extend.js:147:9)
Pass
assert_equals(Element node <p id="a">Äb̈c̈d̈ëf̈g̈ḧ </p>, Element node <p id="a">Äb̈c̈d̈ëf̈g̈ḧ </p>, "focusNode must be the node passed to extend()")
    at testExtend ( /selection/extend.js:155:5)
Pass
assert_equals(0, 0, "focusOffset must be the offset passed to extend()")
    at testExtend ( /selection/extend.js:157:5)
Pass
assert_not_equals(object "   ", object "", "extend() must replace any existing range with a new one, not mutate the existing one")
    at testExtend ( /selection/extend.js:159:5)
Passextend() with range 18 [document.head, 1, document.head, 1] and point 36 [paras[0], 1]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(Element node <head><title>Selection extend() tests</title> <meta chars..., Element node <head><title>Selection extend() tests</title> <meta chars..., "Sanity check: startContainer must be correct")
    at testExtend ( /selection/extend.js:80:5)
Pass
assert_equals(1, 1, "Sanity check: startOffset must be correct")
    at testExtend ( /selection/extend.js:82:5)
Pass
assert_equals(Element node <head><title>Selection extend() tests</title> <meta chars..., Element node <head><title>Selection extend() tests</title> <meta chars..., "Sanity check: endContainer must be correct")
    at testExtend ( /selection/extend.js:84:5)
Pass
assert_equals(1, 1, "Sanity check: endOffset must be correct")
    at testExtend ( /selection/extend.js:86:5)
Pass
assert_equals(Element node <head><title>Selection extend() tests</title> <meta chars..., Element node <head><title>Selection extend() tests</title> <meta chars..., "anchorNode must not change if the node passed to extend() has the same root as the original range")
    at testExtend ( /selection/extend.js:145:9)
Pass
assert_equals(1, 1, "anchorOffset must not change if the node passed to extend() has the same root as the original range")
    at testExtend ( /selection/extend.js:147:9)
Pass
assert_equals(Element node <p id="a">Äb̈c̈d̈ëf̈g̈ḧ </p>, Element node <p id="a">Äb̈c̈d̈ëf̈g̈ḧ </p>, "focusNode must be the node passed to extend()")
    at testExtend ( /selection/extend.js:155:5)
Pass
assert_equals(1, 1, "focusOffset must be the offset passed to extend()")
    at testExtend ( /selection/extend.js:157:5)
Pass
assert_not_equals(object "   Äb̈c̈d̈ëf̈g̈ḧ ", object "", "extend() must replace any existing range with a new one, not mutate the existing one")
    at testExtend ( /selection/extend.js:159:5)
Passextend() with range 18 [document.head, 1, document.head, 1] and point 37 [paras[0], 2]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(Element node <head><title>Selection extend() tests</title> <meta chars..., Element node <head><title>Selection extend() tests</title> <meta chars..., "Sanity check: startContainer must be correct")
    at testExtend ( /selection/extend.js:80:5)
Pass
assert_equals(1, 1, "Sanity check: startOffset must be correct")
    at testExtend ( /selection/extend.js:82:5)
Pass
assert_equals(Element node <head><title>Selection extend() tests</title> <meta chars..., Element node <head><title>Selection extend() tests</title> <meta chars..., "Sanity check: endContainer must be correct")
    at testExtend ( /selection/extend.js:84:5)
Pass
assert_equals(1, 1, "Sanity check: endOffset must be correct")
    at testExtend ( /selection/extend.js:86:5)
Pass
assert_throws_dom("INDEX_SIZE_ERR", function "function() {             selection.extend(node, offset);         }", "extend() to an offset that's greater than node length (1) must throw IndexSizeError")
    at testExtend ( /selection/extend.js:117:9)
Passextend() with range 18 [document.head, 1, document.head, 1] and point 38 [paras[1], 0]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(Element node <head><title>Selection extend() tests</title> <meta chars..., Element node <head><title>Selection extend() tests</title> <meta chars..., "Sanity check: startContainer must be correct")
    at testExtend ( /selection/extend.js:80:5)
Pass
assert_equals(1, 1, "Sanity check: startOffset must be correct")
    at testExtend ( /selection/extend.js:82:5)
Pass
assert_equals(Element node <head><title>Selection extend() tests</title> <meta chars..., Element node <head><title>Selection extend() tests</title> <meta chars..., "Sanity check: endContainer must be correct")
    at testExtend ( /selection/extend.js:84:5)
Pass
assert_equals(1, 1, "Sanity check: endOffset must be correct")
    at testExtend ( /selection/extend.js:86:5)
Pass
assert_equals(Element node <head><title>Selection extend() tests</title> <meta chars..., Element node <head><title>Selection extend() tests</title> <meta chars..., "anchorNode must not change if the node passed to extend() has the same root as the original range")
    at testExtend ( /selection/extend.js:145:9)
Pass
assert_equals(1, 1, "anchorOffset must not change if the node passed to extend() has the same root as the original range")
    at testExtend ( /selection/extend.js:147:9)
Pass
assert_equals(Element node <p id="b" style="display:none">Ijklmnop </p>, Element node <p id="b" style="display:none">Ijklmnop </p>, "focusNode must be the node passed to extend()")
    at testExtend ( /selection/extend.js:155:5)
Pass
assert_equals(0, 0, "focusOffset must be the offset passed to extend()")
    at testExtend ( /selection/extend.js:157:5)
Pass
assert_not_equals(object "   Äb̈c̈d̈ëf̈g̈ḧ ", object "", "extend() must replace any existing range with a new one, not mutate the existing one")
    at testExtend ( /selection/extend.js:159:5)
Passextend() with range 18 [document.head, 1, document.head, 1] and point 39 [paras[1], 1]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(Element node <head><title>Selection extend() tests</title> <meta chars..., Element node <head><title>Selection extend() tests</title> <meta chars..., "Sanity check: startContainer must be correct")
    at testExtend ( /selection/extend.js:80:5)
Pass
assert_equals(1, 1, "Sanity check: startOffset must be correct")
    at testExtend ( /selection/extend.js:82:5)
Pass
assert_equals(Element node <head><title>Selection extend() tests</title> <meta chars..., Element node <head><title>Selection extend() tests</title> <meta chars..., "Sanity check: endContainer must be correct")
    at testExtend ( /selection/extend.js:84:5)
Pass
assert_equals(1, 1, "Sanity check: endOffset must be correct")
    at testExtend ( /selection/extend.js:86:5)
Pass
assert_equals(Element node <head><title>Selection extend() tests</title> <meta chars..., Element node <head><title>Selection extend() tests</title> <meta chars..., "anchorNode must not change if the node passed to extend() has the same root as the original range")
    at testExtend ( /selection/extend.js:145:9)
Pass
assert_equals(1, 1, "anchorOffset must not change if the node passed to extend() has the same root as the original range")
    at testExtend ( /selection/extend.js:147:9)
Pass
assert_equals(Element node <p id="b" style="display:none">Ijklmnop </p>, Element node <p id="b" style="display:none">Ijklmnop </p>, "focusNode must be the node passed to extend()")
    at testExtend ( /selection/extend.js:155:5)
Pass
assert_equals(1, 1, "focusOffset must be the offset passed to extend()")
    at testExtend ( /selection/extend.js:157:5)
Pass
assert_not_equals(object "   Äb̈c̈d̈ëf̈g̈ḧ Ijklmnop ", object "", "extend() must replace any existing range with a new one, not mutate the existing one")
    at testExtend ( /selection/extend.js:159:5)
Passextend() with range 18 [document.head, 1, document.head, 1] and point 40 [paras[1], 2]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(Element node <head><title>Selection extend() tests</title> <meta chars..., Element node <head><title>Selection extend() tests</title> <meta chars..., "Sanity check: startContainer must be correct")
    at testExtend ( /selection/extend.js:80:5)
Pass
assert_equals(1, 1, "Sanity check: startOffset must be correct")
    at testExtend ( /selection/extend.js:82:5)
Pass
assert_equals(Element node <head><title>Selection extend() tests</title> <meta chars..., Element node <head><title>Selection extend() tests</title> <meta chars..., "Sanity check: endContainer must be correct")
    at testExtend ( /selection/extend.js:84:5)
Pass
assert_equals(1, 1, "Sanity check: endOffset must be correct")
    at testExtend ( /selection/extend.js:86:5)
Pass
assert_throws_dom("INDEX_SIZE_ERR", function "function() {             selection.extend(node, offset);         }", "extend() to an offset that's greater than node length (1) must throw IndexSizeError")
    at testExtend ( /selection/extend.js:117:9)
Passextend() with range 18 [document.head, 1, document.head, 1] and point 41 [detachedPara1, 0]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(1, 1, "The operation should not add Range")
    at assertSelectionNoChange ( /selection/common.js:976:5)
Pass
assert_equals(Element node <head><title>Selection extend() tests</title> <meta chars..., Element node <head><title>Selection extend() tests</title> <meta chars..., "The operation should not update anchorNode")
    at assertSelectionNoChange ( /selection/common.js:978:5)
Pass
assert_equals(1, 1, "The operation should not update anchorOffset")
    at assertSelectionNoChange ( /selection/common.js:980:5)
Pass
assert_equals(Element node <head><title>Selection extend() tests</title> <meta chars..., Element node <head><title>Selection extend() tests</title> <meta chars..., "The operation should not update focusNode")
    at assertSelectionNoChange ( /selection/common.js:982:5)
Pass
assert_equals(1, 1, "The operation should not update focusOffset")
    at assertSelectionNoChange ( /selection/common.js:984:5)
Pass
assert_equals(object "", object "", "The operation should not replace a registered Range")
    at assertSelectionNoChange ( /selection/common.js:988:5)
Passextend() with range 18 [document.head, 1, document.head, 1] and point 42 [detachedPara1, 1]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(1, 1, "The operation should not add Range")
    at assertSelectionNoChange ( /selection/common.js:976:5)
Pass
assert_equals(Element node <head><title>Selection extend() tests</title> <meta chars..., Element node <head><title>Selection extend() tests</title> <meta chars..., "The operation should not update anchorNode")
    at assertSelectionNoChange ( /selection/common.js:978:5)
Pass
assert_equals(1, 1, "The operation should not update anchorOffset")
    at assertSelectionNoChange ( /selection/common.js:980:5)
Pass
assert_equals(Element node <head><title>Selection extend() tests</title> <meta chars..., Element node <head><title>Selection extend() tests</title> <meta chars..., "The operation should not update focusNode")
    at assertSelectionNoChange ( /selection/common.js:982:5)
Pass
assert_equals(1, 1, "The operation should not update focusOffset")
    at assertSelectionNoChange ( /selection/common.js:984:5)
Pass
assert_equals(object "", object "", "The operation should not replace a registered Range")
    at assertSelectionNoChange ( /selection/common.js:988:5)
Passextend() with range 18 [document.head, 1, document.head, 1] and point 43 [testDiv, 0]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(Element node <head><title>Selection extend() tests</title> <meta chars..., Element node <head><title>Selection extend() tests</title> <meta chars..., "Sanity check: startContainer must be correct")
    at testExtend ( /selection/extend.js:80:5)
Pass
assert_equals(1, 1, "Sanity check: startOffset must be correct")
    at testExtend ( /selection/extend.js:82:5)
Pass
assert_equals(Element node <head><title>Selection extend() tests</title> <meta chars..., Element node <head><title>Selection extend() tests</title> <meta chars..., "Sanity check: endContainer must be correct")
    at testExtend ( /selection/extend.js:84:5)
Pass
assert_equals(1, 1, "Sanity check: endOffset must be correct")
    at testExtend ( /selection/extend.js:86:5)
Pass
assert_equals(Element node <head><title>Selection extend() tests</title> <meta chars..., Element node <head><title>Selection extend() tests</title> <meta chars..., "anchorNode must not change if the node passed to extend() has the same root as the original range")
    at testExtend ( /selection/extend.js:145:9)
Pass
assert_equals(1, 1, "anchorOffset must not change if the node passed to extend() has the same root as the original range")
    at testExtend ( /selection/extend.js:147:9)
Pass
assert_equals(Element node <div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ </p><p id="b" s..., Element node <div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ </p><p id="b" s..., "focusNode must be the node passed to extend()")
    at testExtend ( /selection/extend.js:155:5)
Pass
assert_equals(0, 0, "focusOffset must be the offset passed to extend()")
    at testExtend ( /selection/extend.js:157:5)
Pass
assert_not_equals(object "   ", object "", "extend() must replace any existing range with a new one, not mutate the existing one")
    at testExtend ( /selection/extend.js:159:5)
Passextend() with range 18 [document.head, 1, document.head, 1] and point 44 [testDiv, 3]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(Element node <head><title>Selection extend() tests</title> <meta chars..., Element node <head><title>Selection extend() tests</title> <meta chars..., "Sanity check: startContainer must be correct")
    at testExtend ( /selection/extend.js:80:5)
Pass
assert_equals(1, 1, "Sanity check: startOffset must be correct")
    at testExtend ( /selection/extend.js:82:5)
Pass
assert_equals(Element node <head><title>Selection extend() tests</title> <meta chars..., Element node <head><title>Selection extend() tests</title> <meta chars..., "Sanity check: endContainer must be correct")
    at testExtend ( /selection/extend.js:84:5)
Pass
assert_equals(1, 1, "Sanity check: endOffset must be correct")
    at testExtend ( /selection/extend.js:86:5)
Pass
assert_equals(Element node <head><title>Selection extend() tests</title> <meta chars..., Element node <head><title>Selection extend() tests</title> <meta chars..., "anchorNode must not change if the node passed to extend() has the same root as the original range")
    at testExtend ( /selection/extend.js:145:9)
Pass
assert_equals(1, 1, "anchorOffset must not change if the node passed to extend() has the same root as the original range")
    at testExtend ( /selection/extend.js:147:9)
Pass
assert_equals(Element node <div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ </p><p id="b" s..., Element node <div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ </p><p id="b" s..., "focusNode must be the node passed to extend()")
    at testExtend ( /selection/extend.js:155:5)
Pass
assert_equals(3, 3, "focusOffset must be the offset passed to extend()")
    at testExtend ( /selection/extend.js:157:5)
Pass
assert_not_equals(object "   Äb̈c̈d̈ëf̈g̈ḧ Ijklmnop Qrstuvwx", object "", "extend() must replace any existing range with a new one, not mutate the existing one")
    at testExtend ( /selection/extend.js:159:5)
Passextend() with range 18 [document.head, 1, document.head, 1] and point 45 [document, -1]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(Element node <head><title>Selection extend() tests</title> <meta chars..., Element node <head><title>Selection extend() tests</title> <meta chars..., "Sanity check: startContainer must be correct")
    at testExtend ( /selection/extend.js:80:5)
Pass
assert_equals(1, 1, "Sanity check: startOffset must be correct")
    at testExtend ( /selection/extend.js:82:5)
Pass
assert_equals(Element node <head><title>Selection extend() tests</title> <meta chars..., Element node <head><title>Selection extend() tests</title> <meta chars..., "Sanity check: endContainer must be correct")
    at testExtend ( /selection/extend.js:84:5)
Pass
assert_equals(1, 1, "Sanity check: endOffset must be correct")
    at testExtend ( /selection/extend.js:86:5)
Pass
assert_throws_dom("INDEX_SIZE_ERR", function "function() {             selection.extend(node, offset);         }", "extend() to an offset that's greater than node length (2) must throw IndexSizeError")
    at testExtend ( /selection/extend.js:117:9)
Passextend() with range 18 [document.head, 1, document.head, 1] and point 46 [document, 0]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(Element node <head><title>Selection extend() tests</title> <meta chars..., Element node <head><title>Selection extend() tests</title> <meta chars..., "Sanity check: startContainer must be correct")
    at testExtend ( /selection/extend.js:80:5)
Pass
assert_equals(1, 1, "Sanity check: startOffset must be correct")
    at testExtend ( /selection/extend.js:82:5)
Pass
assert_equals(Element node <head><title>Selection extend() tests</title> <meta chars..., Element node <head><title>Selection extend() tests</title> <meta chars..., "Sanity check: endContainer must be correct")
    at testExtend ( /selection/extend.js:84:5)
Pass
assert_equals(1, 1, "Sanity check: endOffset must be correct")
    at testExtend ( /selection/extend.js:86:5)
Pass
assert_equals(Element node <head><title>Selection extend() tests</title> <meta chars..., Element node <head><title>Selection extend() tests</title> <meta chars..., "anchorNode must not change if the node passed to extend() has the same root as the original range")
    at testExtend ( /selection/extend.js:145:9)
Pass
assert_equals(1, 1, "anchorOffset must not change if the node passed to extend() has the same root as the original range")
    at testExtend ( /selection/extend.js:147:9)
Pass
assert_equals(Document node with 2 children, Document node with 2 children, "focusNode must be the node passed to extend()")
    at testExtend ( /selection/extend.js:155:5)
Pass
assert_equals(0, 0, "focusOffset must be the offset passed to extend()")
    at testExtend ( /selection/extend.js:157:5)
Pass
assert_not_equals(object "Selection extend() tests", object "", "extend() must replace any existing range with a new one, not mutate the existing one")
    at testExtend ( /selection/extend.js:159:5)
Passextend() with range 18 [document.head, 1, document.head, 1] and point 47 [document, 1]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(Element node <head><title>Selection extend() tests</title> <meta chars..., Element node <head><title>Selection extend() tests</title> <meta chars..., "Sanity check: startContainer must be correct")
    at testExtend ( /selection/extend.js:80:5)
Pass
assert_equals(1, 1, "Sanity check: startOffset must be correct")
    at testExtend ( /selection/extend.js:82:5)
Pass
assert_equals(Element node <head><title>Selection extend() tests</title> <meta chars..., Element node <head><title>Selection extend() tests</title> <meta chars..., "Sanity check: endContainer must be correct")
    at testExtend ( /selection/extend.js:84:5)
Pass
assert_equals(1, 1, "Sanity check: endOffset must be correct")
    at testExtend ( /selection/extend.js:86:5)
Pass
assert_equals(Element node <head><title>Selection extend() tests</title> <meta chars..., Element node <head><title>Selection extend() tests</title> <meta chars..., "anchorNode must not change if the node passed to extend() has the same root as the original range")
    at testExtend ( /selection/extend.js:145:9)
Pass
assert_equals(1, 1, "anchorOffset must not change if the node passed to extend() has the same root as the original range")
    at testExtend ( /selection/extend.js:147:9)
Pass
assert_equals(Document node with 2 children, Document node with 2 children, "focusNode must be the node passed to extend()")
    at testExtend ( /selection/extend.js:155:5)
Pass
assert_equals(1, 1, "focusOffset must be the offset passed to extend()")
    at testExtend ( /selection/extend.js:157:5)
Pass
assert_not_equals(object "Selection extend() tests", object "", "extend() must replace any existing range with a new one, not mutate the existing one")
    at testExtend ( /selection/extend.js:159:5)
Passextend() with range 18 [document.head, 1, document.head, 1] and point 48 [document, 2]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(Element node <head><title>Selection extend() tests</title> <meta chars..., Element node <head><title>Selection extend() tests</title> <meta chars..., "Sanity check: startContainer must be correct")
    at testExtend ( /selection/extend.js:80:5)
Pass
assert_equals(1, 1, "Sanity check: startOffset must be correct")
    at testExtend ( /selection/extend.js:82:5)
Pass
assert_equals(Element node <head><title>Selection extend() tests</title> <meta chars..., Element node <head><title>Selection extend() tests</title> <meta chars..., "Sanity check: endContainer must be correct")
    at testExtend ( /selection/extend.js:84:5)
Pass
assert_equals(1, 1, "Sanity check: endOffset must be correct")
    at testExtend ( /selection/extend.js:86:5)
Pass
assert_equals(Element node <head><title>Selection extend() tests</title> <meta chars..., Element node <head><title>Selection extend() tests</title> <meta chars..., "anchorNode must not change if the node passed to extend() has the same root as the original range")
    at testExtend ( /selection/extend.js:145:9)
Pass
assert_equals(1, 1, "anchorOffset must not change if the node passed to extend() has the same root as the original range")
    at testExtend ( /selection/extend.js:147:9)
Pass
assert_equals(Document node with 2 children, Document node with 2 children, "focusNode must be the node passed to extend()")
    at testExtend ( /selection/extend.js:155:5)
Pass
assert_equals(2, 2, "focusOffset must be the offset passed to extend()")
    at testExtend ( /selection/extend.js:157:5)
Pass
assert_not_equals(object "   Äb̈c̈d̈ëf̈g̈ḧ Ijklmnop QrstuvwxYzabcdefGhijklmn     Running, 1000 complete, 1 remain  "use strict";  testExtendSubSet(0, 20); testDiv.style.display = "none"; ", object "", "extend() must replace any existing range with a new one, not mutate the existing one")
    at testExtend ( /selection/extend.js:159:5)
Passextend() with range 18 [document.head, 1, document.head, 1] and point 49 [document, 3]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(Element node <head><title>Selection extend() tests</title> <meta chars..., Element node <head><title>Selection extend() tests</title> <meta chars..., "Sanity check: startContainer must be correct")
    at testExtend ( /selection/extend.js:80:5)
Pass
assert_equals(1, 1, "Sanity check: startOffset must be correct")
    at testExtend ( /selection/extend.js:82:5)
Pass
assert_equals(Element node <head><title>Selection extend() tests</title> <meta chars..., Element node <head><title>Selection extend() tests</title> <meta chars..., "Sanity check: endContainer must be correct")
    at testExtend ( /selection/extend.js:84:5)
Pass
assert_equals(1, 1, "Sanity check: endOffset must be correct")
    at testExtend ( /selection/extend.js:86:5)
Pass
assert_throws_dom("INDEX_SIZE_ERR", function "function() {             selection.extend(node, offset);         }", "extend() to an offset that's greater than node length (2) must throw IndexSizeError")
    at testExtend ( /selection/extend.js:117:9)
Passextend() with range 18 [document.head, 1, document.head, 1] and point 50 [comment, -1]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(Element node <head><title>Selection extend() tests</title> <meta chars..., Element node <head><title>Selection extend() tests</title> <meta chars..., "Sanity check: startContainer must be correct")
    at testExtend ( /selection/extend.js:80:5)
Pass
assert_equals(1, 1, "Sanity check: startOffset must be correct")
    at testExtend ( /selection/extend.js:82:5)
Pass
assert_equals(Element node <head><title>Selection extend() tests</title> <meta chars..., Element node <head><title>Selection extend() tests</title> <meta chars..., "Sanity check: endContainer must be correct")
    at testExtend ( /selection/extend.js:84:5)
Pass
assert_equals(1, 1, "Sanity check: endOffset must be correct")
    at testExtend ( /selection/extend.js:86:5)
Pass
assert_throws_dom("INDEX_SIZE_ERR", function "function() {             selection.extend(node, offset);         }", "extend() to an offset that's greater than node length (14) must throw IndexSizeError")
    at testExtend ( /selection/extend.js:117:9)
Passextend() with range 18 [document.head, 1, document.head, 1] and point 51 [comment, 0]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(Element node <head><title>Selection extend() tests</title> <meta chars..., Element node <head><title>Selection extend() tests</title> <meta chars..., "Sanity check: startContainer must be correct")
    at testExtend ( /selection/extend.js:80:5)
Pass
assert_equals(1, 1, "Sanity check: startOffset must be correct")
    at testExtend ( /selection/extend.js:82:5)
Pass
assert_equals(Element node <head><title>Selection extend() tests</title> <meta chars..., Element node <head><title>Selection extend() tests</title> <meta chars..., "Sanity check: endContainer must be correct")
    at testExtend ( /selection/extend.js:84:5)
Pass
assert_equals(1, 1, "Sanity check: endOffset must be correct")
    at testExtend ( /selection/extend.js:86:5)
Pass
assert_equals(Element node <head><title>Selection extend() tests</title> <meta chars..., Element node <head><title>Selection extend() tests</title> <meta chars..., "anchorNode must not change if the node passed to extend() has the same root as the original range")
    at testExtend ( /selection/extend.js:145:9)
Pass
assert_equals(1, 1, "anchorOffset must not change if the node passed to extend() has the same root as the original range")
    at testExtend ( /selection/extend.js:147:9)
Pass
assert_equals(Comment node <!--Alphabet soup?-->, Comment node <!--Alphabet soup?-->, "focusNode must be the node passed to extend()")
    at testExtend ( /selection/extend.js:155:5)
Pass
assert_equals(0, 0, "focusOffset must be the offset passed to extend()")
    at testExtend ( /selection/extend.js:157:5)
Pass
assert_not_equals(object "   Äb̈c̈d̈ëf̈g̈ḧ Ijklmnop QrstuvwxYzabcdefGhijklmn", object "", "extend() must replace any existing range with a new one, not mutate the existing one")
    at testExtend ( /selection/extend.js:159:5)
Passextend() with range 18 [document.head, 1, document.head, 1] and point 52 [comment, 4]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(Element node <head><title>Selection extend() tests</title> <meta chars..., Element node <head><title>Selection extend() tests</title> <meta chars..., "Sanity check: startContainer must be correct")
    at testExtend ( /selection/extend.js:80:5)
Pass
assert_equals(1, 1, "Sanity check: startOffset must be correct")
    at testExtend ( /selection/extend.js:82:5)
Pass
assert_equals(Element node <head><title>Selection extend() tests</title> <meta chars..., Element node <head><title>Selection extend() tests</title> <meta chars..., "Sanity check: endContainer must be correct")
    at testExtend ( /selection/extend.js:84:5)
Pass
assert_equals(1, 1, "Sanity check: endOffset must be correct")
    at testExtend ( /selection/extend.js:86:5)
Pass
assert_equals(Element node <head><title>Selection extend() tests</title> <meta chars..., Element node <head><title>Selection extend() tests</title> <meta chars..., "anchorNode must not change if the node passed to extend() has the same root as the original range")
    at testExtend ( /selection/extend.js:145:9)
Pass
assert_equals(1, 1, "anchorOffset must not change if the node passed to extend() has the same root as the original range")
    at testExtend ( /selection/extend.js:147:9)
Pass
assert_equals(Comment node <!--Alphabet soup?-->, Comment node <!--Alphabet soup?-->, "focusNode must be the node passed to extend()")
    at testExtend ( /selection/extend.js:155:5)
Pass
assert_equals(4, 4, "focusOffset must be the offset passed to extend()")
    at testExtend ( /selection/extend.js:157:5)
Pass
assert_not_equals(object "   Äb̈c̈d̈ëf̈g̈ḧ Ijklmnop QrstuvwxYzabcdefGhijklmn", object "", "extend() must replace any existing range with a new one, not mutate the existing one")
    at testExtend ( /selection/extend.js:159:5)
Passextend() with range 18 [document.head, 1, document.head, 1] and point 53 [comment, 96]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(Element node <head><title>Selection extend() tests</title> <meta chars..., Element node <head><title>Selection extend() tests</title> <meta chars..., "Sanity check: startContainer must be correct")
    at testExtend ( /selection/extend.js:80:5)
Pass
assert_equals(1, 1, "Sanity check: startOffset must be correct")
    at testExtend ( /selection/extend.js:82:5)
Pass
assert_equals(Element node <head><title>Selection extend() tests</title> <meta chars..., Element node <head><title>Selection extend() tests</title> <meta chars..., "Sanity check: endContainer must be correct")
    at testExtend ( /selection/extend.js:84:5)
Pass
assert_equals(1, 1, "Sanity check: endOffset must be correct")
    at testExtend ( /selection/extend.js:86:5)
Pass
assert_throws_dom("INDEX_SIZE_ERR", function "function() {             selection.extend(node, offset);         }", "extend() to an offset that's greater than node length (14) must throw IndexSizeError")
    at testExtend ( /selection/extend.js:117:9)
Passextend() with range 18 [document.head, 1, document.head, 1] and point 54 [foreignDoc, 0]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(1, 1, "The operation should not add Range")
    at assertSelectionNoChange ( /selection/common.js:976:5)
Pass
assert_equals(Element node <head><title>Selection extend() tests</title> <meta chars..., Element node <head><title>Selection extend() tests</title> <meta chars..., "The operation should not update anchorNode")
    at assertSelectionNoChange ( /selection/common.js:978:5)
Pass
assert_equals(1, 1, "The operation should not update anchorOffset")
    at assertSelectionNoChange ( /selection/common.js:980:5)
Pass
assert_equals(Element node <head><title>Selection extend() tests</title> <meta chars..., Element node <head><title>Selection extend() tests</title> <meta chars..., "The operation should not update focusNode")
    at assertSelectionNoChange ( /selection/common.js:982:5)
Pass
assert_equals(1, 1, "The operation should not update focusOffset")
    at assertSelectionNoChange ( /selection/common.js:984:5)
Pass
assert_equals(object "", object "", "The operation should not replace a registered Range")
    at assertSelectionNoChange ( /selection/common.js:988:5)
Passextend() with range 18 [document.head, 1, document.head, 1] and point 55 [foreignDoc, 1]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(1, 1, "The operation should not add Range")
    at assertSelectionNoChange ( /selection/common.js:976:5)
Pass
assert_equals(Element node <head><title>Selection extend() tests</title> <meta chars..., Element node <head><title>Selection extend() tests</title> <meta chars..., "The operation should not update anchorNode")
    at assertSelectionNoChange ( /selection/common.js:978:5)
Pass
assert_equals(1, 1, "The operation should not update anchorOffset")
    at assertSelectionNoChange ( /selection/common.js:980:5)
Pass
assert_equals(Element node <head><title>Selection extend() tests</title> <meta chars..., Element node <head><title>Selection extend() tests</title> <meta chars..., "The operation should not update focusNode")
    at assertSelectionNoChange ( /selection/common.js:982:5)
Pass
assert_equals(1, 1, "The operation should not update focusOffset")
    at assertSelectionNoChange ( /selection/common.js:984:5)
Pass
assert_equals(object "", object "", "The operation should not replace a registered Range")
    at assertSelectionNoChange ( /selection/common.js:988:5)
Passextend() with range 18 [document.head, 1, document.head, 1] and point 56 [foreignComment, 2]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(1, 1, "The operation should not add Range")
    at assertSelectionNoChange ( /selection/common.js:976:5)
Pass
assert_equals(Element node <head><title>Selection extend() tests</title> <meta chars..., Element node <head><title>Selection extend() tests</title> <meta chars..., "The operation should not update anchorNode")
    at assertSelectionNoChange ( /selection/common.js:978:5)
Pass
assert_equals(1, 1, "The operation should not update anchorOffset")
    at assertSelectionNoChange ( /selection/common.js:980:5)
Pass
assert_equals(Element node <head><title>Selection extend() tests</title> <meta chars..., Element node <head><title>Selection extend() tests</title> <meta chars..., "The operation should not update focusNode")
    at assertSelectionNoChange ( /selection/common.js:982:5)
Pass
assert_equals(1, 1, "The operation should not update focusOffset")
    at assertSelectionNoChange ( /selection/common.js:984:5)
Pass
assert_equals(object "", object "", "The operation should not replace a registered Range")
    at assertSelectionNoChange ( /selection/common.js:988:5)
Passextend() with range 18 [document.head, 1, document.head, 1] and point 57 [foreignTextNode, 0]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(1, 1, "The operation should not add Range")
    at assertSelectionNoChange ( /selection/common.js:976:5)
Pass
assert_equals(Element node <head><title>Selection extend() tests</title> <meta chars..., Element node <head><title>Selection extend() tests</title> <meta chars..., "The operation should not update anchorNode")
    at assertSelectionNoChange ( /selection/common.js:978:5)
Pass
assert_equals(1, 1, "The operation should not update anchorOffset")
    at assertSelectionNoChange ( /selection/common.js:980:5)
Pass
assert_equals(Element node <head><title>Selection extend() tests</title> <meta chars..., Element node <head><title>Selection extend() tests</title> <meta chars..., "The operation should not update focusNode")
    at assertSelectionNoChange ( /selection/common.js:982:5)
Pass
assert_equals(1, 1, "The operation should not update focusOffset")
    at assertSelectionNoChange ( /selection/common.js:984:5)
Pass
assert_equals(object "", object "", "The operation should not replace a registered Range")
    at assertSelectionNoChange ( /selection/common.js:988:5)
Passextend() with range 18 [document.head, 1, document.head, 1] and point 58 [foreignTextNode, 36]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(1, 1, "The operation should not add Range")
    at assertSelectionNoChange ( /selection/common.js:976:5)
Pass
assert_equals(Element node <head><title>Selection extend() tests</title> <meta chars..., Element node <head><title>Selection extend() tests</title> <meta chars..., "The operation should not update anchorNode")
    at assertSelectionNoChange ( /selection/common.js:978:5)
Pass
assert_equals(1, 1, "The operation should not update anchorOffset")
    at assertSelectionNoChange ( /selection/common.js:980:5)
Pass
assert_equals(Element node <head><title>Selection extend() tests</title> <meta chars..., Element node <head><title>Selection extend() tests</title> <meta chars..., "The operation should not update focusNode")
    at assertSelectionNoChange ( /selection/common.js:982:5)
Pass
assert_equals(1, 1, "The operation should not update focusOffset")
    at assertSelectionNoChange ( /selection/common.js:984:5)
Pass
assert_equals(object "", object "", "The operation should not replace a registered Range")
    at assertSelectionNoChange ( /selection/common.js:988:5)
Passextend() with range 18 [document.head, 1, document.head, 1] and point 59 [xmlDoc, -1]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(1, 1, "The operation should not add Range")
    at assertSelectionNoChange ( /selection/common.js:976:5)
Pass
assert_equals(Element node <head><title>Selection extend() tests</title> <meta chars..., Element node <head><title>Selection extend() tests</title> <meta chars..., "The operation should not update anchorNode")
    at assertSelectionNoChange ( /selection/common.js:978:5)
Pass
assert_equals(1, 1, "The operation should not update anchorOffset")
    at assertSelectionNoChange ( /selection/common.js:980:5)
Pass
assert_equals(Element node <head><title>Selection extend() tests</title> <meta chars..., Element node <head><title>Selection extend() tests</title> <meta chars..., "The operation should not update focusNode")
    at assertSelectionNoChange ( /selection/common.js:982:5)
Pass
assert_equals(1, 1, "The operation should not update focusOffset")
    at assertSelectionNoChange ( /selection/common.js:984:5)
Pass
assert_equals(object "", object "", "The operation should not replace a registered Range")
    at assertSelectionNoChange ( /selection/common.js:988:5)
Passextend() with range 18 [document.head, 1, document.head, 1] and point 60 [xmlDoc, 0]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(1, 1, "The operation should not add Range")
    at assertSelectionNoChange ( /selection/common.js:976:5)
Pass
assert_equals(Element node <head><title>Selection extend() tests</title> <meta chars..., Element node <head><title>Selection extend() tests</title> <meta chars..., "The operation should not update anchorNode")
    at assertSelectionNoChange ( /selection/common.js:978:5)
Pass
assert_equals(1, 1, "The operation should not update anchorOffset")
    at assertSelectionNoChange ( /selection/common.js:980:5)
Pass
assert_equals(Element node <head><title>Selection extend() tests</title> <meta chars..., Element node <head><title>Selection extend() tests</title> <meta chars..., "The operation should not update focusNode")
    at assertSelectionNoChange ( /selection/common.js:982:5)
Pass
assert_equals(1, 1, "The operation should not update focusOffset")
    at assertSelectionNoChange ( /selection/common.js:984:5)
Pass
assert_equals(object "", object "", "The operation should not replace a registered Range")
    at assertSelectionNoChange ( /selection/common.js:988:5)
Passextend() with range 18 [document.head, 1, document.head, 1] and point 61 [xmlDoc, 1]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(1, 1, "The operation should not add Range")
    at assertSelectionNoChange ( /selection/common.js:976:5)
Pass
assert_equals(Element node <head><title>Selection extend() tests</title> <meta chars..., Element node <head><title>Selection extend() tests</title> <meta chars..., "The operation should not update anchorNode")
    at assertSelectionNoChange ( /selection/common.js:978:5)
Pass
assert_equals(1, 1, "The operation should not update anchorOffset")
    at assertSelectionNoChange ( /selection/common.js:980:5)
Pass
assert_equals(Element node <head><title>Selection extend() tests</title> <meta chars..., Element node <head><title>Selection extend() tests</title> <meta chars..., "The operation should not update focusNode")
    at assertSelectionNoChange ( /selection/common.js:982:5)
Pass
assert_equals(1, 1, "The operation should not update focusOffset")
    at assertSelectionNoChange ( /selection/common.js:984:5)
Pass
assert_equals(object "", object "", "The operation should not replace a registered Range")
    at assertSelectionNoChange ( /selection/common.js:988:5)
Passextend() with range 18 [document.head, 1, document.head, 1] and point 62 [xmlDoc, 5]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(1, 1, "The operation should not add Range")
    at assertSelectionNoChange ( /selection/common.js:976:5)
Pass
assert_equals(Element node <head><title>Selection extend() tests</title> <meta chars..., Element node <head><title>Selection extend() tests</title> <meta chars..., "The operation should not update anchorNode")
    at assertSelectionNoChange ( /selection/common.js:978:5)
Pass
assert_equals(1, 1, "The operation should not update anchorOffset")
    at assertSelectionNoChange ( /selection/common.js:980:5)
Pass
assert_equals(Element node <head><title>Selection extend() tests</title> <meta chars..., Element node <head><title>Selection extend() tests</title> <meta chars..., "The operation should not update focusNode")
    at assertSelectionNoChange ( /selection/common.js:982:5)
Pass
assert_equals(1, 1, "The operation should not update focusOffset")
    at assertSelectionNoChange ( /selection/common.js:984:5)
Pass
assert_equals(object "", object "", "The operation should not replace a registered Range")
    at assertSelectionNoChange ( /selection/common.js:988:5)
Passextend() with range 18 [document.head, 1, document.head, 1] and point 63 [xmlComment, 0]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(1, 1, "The operation should not add Range")
    at assertSelectionNoChange ( /selection/common.js:976:5)
Pass
assert_equals(Element node <head><title>Selection extend() tests</title> <meta chars..., Element node <head><title>Selection extend() tests</title> <meta chars..., "The operation should not update anchorNode")
    at assertSelectionNoChange ( /selection/common.js:978:5)
Pass
assert_equals(1, 1, "The operation should not update anchorOffset")
    at assertSelectionNoChange ( /selection/common.js:980:5)
Pass
assert_equals(Element node <head><title>Selection extend() tests</title> <meta chars..., Element node <head><title>Selection extend() tests</title> <meta chars..., "The operation should not update focusNode")
    at assertSelectionNoChange ( /selection/common.js:982:5)
Pass
assert_equals(1, 1, "The operation should not update focusOffset")
    at assertSelectionNoChange ( /selection/common.js:984:5)
Pass
assert_equals(object "", object "", "The operation should not replace a registered Range")
    at assertSelectionNoChange ( /selection/common.js:988:5)
Passextend() with range 18 [document.head, 1, document.head, 1] and point 64 [xmlComment, 4]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(1, 1, "The operation should not add Range")
    at assertSelectionNoChange ( /selection/common.js:976:5)
Pass
assert_equals(Element node <head><title>Selection extend() tests</title> <meta chars..., Element node <head><title>Selection extend() tests</title> <meta chars..., "The operation should not update anchorNode")
    at assertSelectionNoChange ( /selection/common.js:978:5)
Pass
assert_equals(1, 1, "The operation should not update anchorOffset")
    at assertSelectionNoChange ( /selection/common.js:980:5)
Pass
assert_equals(Element node <head><title>Selection extend() tests</title> <meta chars..., Element node <head><title>Selection extend() tests</title> <meta chars..., "The operation should not update focusNode")
    at assertSelectionNoChange ( /selection/common.js:982:5)
Pass
assert_equals(1, 1, "The operation should not update focusOffset")
    at assertSelectionNoChange ( /selection/common.js:984:5)
Pass
assert_equals(object "", object "", "The operation should not replace a registered Range")
    at assertSelectionNoChange ( /selection/common.js:988:5)
Passextend() with range 18 [document.head, 1, document.head, 1] and point 65 [processingInstruction, 0]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(1, 1, "The operation should not add Range")
    at assertSelectionNoChange ( /selection/common.js:976:5)
Pass
assert_equals(Element node <head><title>Selection extend() tests</title> <meta chars..., Element node <head><title>Selection extend() tests</title> <meta chars..., "The operation should not update anchorNode")
    at assertSelectionNoChange ( /selection/common.js:978:5)
Pass
assert_equals(1, 1, "The operation should not update anchorOffset")
    at assertSelectionNoChange ( /selection/common.js:980:5)
Pass
assert_equals(Element node <head><title>Selection extend() tests</title> <meta chars..., Element node <head><title>Selection extend() tests</title> <meta chars..., "The operation should not update focusNode")
    at assertSelectionNoChange ( /selection/common.js:982:5)
Pass
assert_equals(1, 1, "The operation should not update focusOffset")
    at assertSelectionNoChange ( /selection/common.js:984:5)
Pass
assert_equals(object "", object "", "The operation should not replace a registered Range")
    at assertSelectionNoChange ( /selection/common.js:988:5)
Passextend() with range 18 [document.head, 1, document.head, 1] and point 66 [processingInstruction, 5]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(1, 1, "The operation should not add Range")
    at assertSelectionNoChange ( /selection/common.js:976:5)
Pass
assert_equals(Element node <head><title>Selection extend() tests</title> <meta chars..., Element node <head><title>Selection extend() tests</title> <meta chars..., "The operation should not update anchorNode")
    at assertSelectionNoChange ( /selection/common.js:978:5)
Pass
assert_equals(1, 1, "The operation should not update anchorOffset")
    at assertSelectionNoChange ( /selection/common.js:980:5)
Pass
assert_equals(Element node <head><title>Selection extend() tests</title> <meta chars..., Element node <head><title>Selection extend() tests</title> <meta chars..., "The operation should not update focusNode")
    at assertSelectionNoChange ( /selection/common.js:982:5)
Pass
assert_equals(1, 1, "The operation should not update focusOffset")
    at assertSelectionNoChange ( /selection/common.js:984:5)
Pass
assert_equals(object "", object "", "The operation should not replace a registered Range")
    at assertSelectionNoChange ( /selection/common.js:988:5)
Passextend() with range 18 [document.head, 1, document.head, 1] and point 67 [processingInstruction, 9]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(1, 1, "The operation should not add Range")
    at assertSelectionNoChange ( /selection/common.js:976:5)
Pass
assert_equals(Element node <head><title>Selection extend() tests</title> <meta chars..., Element node <head><title>Selection extend() tests</title> <meta chars..., "The operation should not update anchorNode")
    at assertSelectionNoChange ( /selection/common.js:978:5)
Pass
assert_equals(1, 1, "The operation should not update anchorOffset")
    at assertSelectionNoChange ( /selection/common.js:980:5)
Pass
assert_equals(Element node <head><title>Selection extend() tests</title> <meta chars..., Element node <head><title>Selection extend() tests</title> <meta chars..., "The operation should not update focusNode")
    at assertSelectionNoChange ( /selection/common.js:982:5)
Pass
assert_equals(1, 1, "The operation should not update focusOffset")
    at assertSelectionNoChange ( /selection/common.js:984:5)
Pass
assert_equals(object "", object "", "The operation should not replace a registered Range")
    at assertSelectionNoChange ( /selection/common.js:988:5)
Passextend() with range 18 [document.head, 1, document.head, 1] and point 68 [detachedTextNode, 0]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(1, 1, "The operation should not add Range")
    at assertSelectionNoChange ( /selection/common.js:976:5)
Pass
assert_equals(Element node <head><title>Selection extend() tests</title> <meta chars..., Element node <head><title>Selection extend() tests</title> <meta chars..., "The operation should not update anchorNode")
    at assertSelectionNoChange ( /selection/common.js:978:5)
Pass
assert_equals(1, 1, "The operation should not update anchorOffset")
    at assertSelectionNoChange ( /selection/common.js:980:5)
Pass
assert_equals(Element node <head><title>Selection extend() tests</title> <meta chars..., Element node <head><title>Selection extend() tests</title> <meta chars..., "The operation should not update focusNode")
    at assertSelectionNoChange ( /selection/common.js:982:5)
Pass
assert_equals(1, 1, "The operation should not update focusOffset")
    at assertSelectionNoChange ( /selection/common.js:984:5)
Pass
assert_equals(object "", object "", "The operation should not replace a registered Range")
    at assertSelectionNoChange ( /selection/common.js:988:5)
Passextend() with range 18 [document.head, 1, document.head, 1] and point 69 [detachedTextNode, 8]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(1, 1, "The operation should not add Range")
    at assertSelectionNoChange ( /selection/common.js:976:5)
Pass
assert_equals(Element node <head><title>Selection extend() tests</title> <meta chars..., Element node <head><title>Selection extend() tests</title> <meta chars..., "The operation should not update anchorNode")
    at assertSelectionNoChange ( /selection/common.js:978:5)
Pass
assert_equals(1, 1, "The operation should not update anchorOffset")
    at assertSelectionNoChange ( /selection/common.js:980:5)
Pass
assert_equals(Element node <head><title>Selection extend() tests</title> <meta chars..., Element node <head><title>Selection extend() tests</title> <meta chars..., "The operation should not update focusNode")
    at assertSelectionNoChange ( /selection/common.js:982:5)
Pass
assert_equals(1, 1, "The operation should not update focusOffset")
    at assertSelectionNoChange ( /selection/common.js:984:5)
Pass
assert_equals(object "", object "", "The operation should not replace a registered Range")
    at assertSelectionNoChange ( /selection/common.js:988:5)
Passextend() with range 18 [document.head, 1, document.head, 1] and point 70 [detachedForeignTextNode, 0]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(1, 1, "The operation should not add Range")
    at assertSelectionNoChange ( /selection/common.js:976:5)
Pass
assert_equals(Element node <head><title>Selection extend() tests</title> <meta chars..., Element node <head><title>Selection extend() tests</title> <meta chars..., "The operation should not update anchorNode")
    at assertSelectionNoChange ( /selection/common.js:978:5)
Pass
assert_equals(1, 1, "The operation should not update anchorOffset")
    at assertSelectionNoChange ( /selection/common.js:980:5)
Pass
assert_equals(Element node <head><title>Selection extend() tests</title> <meta chars..., Element node <head><title>Selection extend() tests</title> <meta chars..., "The operation should not update focusNode")
    at assertSelectionNoChange ( /selection/common.js:982:5)
Pass
assert_equals(1, 1, "The operation should not update focusOffset")
    at assertSelectionNoChange ( /selection/common.js:984:5)
Pass
assert_equals(object "", object "", "The operation should not replace a registered Range")
    at assertSelectionNoChange ( /selection/common.js:988:5)
Passextend() with range 18 [document.head, 1, document.head, 1] and point 71 [detachedForeignTextNode, 8]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(1, 1, "The operation should not add Range")
    at assertSelectionNoChange ( /selection/common.js:976:5)
Pass
assert_equals(Element node <head><title>Selection extend() tests</title> <meta chars..., Element node <head><title>Selection extend() tests</title> <meta chars..., "The operation should not update anchorNode")
    at assertSelectionNoChange ( /selection/common.js:978:5)
Pass
assert_equals(1, 1, "The operation should not update anchorOffset")
    at assertSelectionNoChange ( /selection/common.js:980:5)
Pass
assert_equals(Element node <head><title>Selection extend() tests</title> <meta chars..., Element node <head><title>Selection extend() tests</title> <meta chars..., "The operation should not update focusNode")
    at assertSelectionNoChange ( /selection/common.js:982:5)
Pass
assert_equals(1, 1, "The operation should not update focusOffset")
    at assertSelectionNoChange ( /selection/common.js:984:5)
Pass
assert_equals(object "", object "", "The operation should not replace a registered Range")
    at assertSelectionNoChange ( /selection/common.js:988:5)
Passextend() with range 18 [document.head, 1, document.head, 1] and point 72 [detachedXmlTextNode, 0]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(1, 1, "The operation should not add Range")
    at assertSelectionNoChange ( /selection/common.js:976:5)
Pass
assert_equals(Element node <head><title>Selection extend() tests</title> <meta chars..., Element node <head><title>Selection extend() tests</title> <meta chars..., "The operation should not update anchorNode")
    at assertSelectionNoChange ( /selection/common.js:978:5)
Pass
assert_equals(1, 1, "The operation should not update anchorOffset")
    at assertSelectionNoChange ( /selection/common.js:980:5)
Pass
assert_equals(Element node <head><title>Selection extend() tests</title> <meta chars..., Element node <head><title>Selection extend() tests</title> <meta chars..., "The operation should not update focusNode")
    at assertSelectionNoChange ( /selection/common.js:982:5)
Pass
assert_equals(1, 1, "The operation should not update focusOffset")
    at assertSelectionNoChange ( /selection/common.js:984:5)
Pass
assert_equals(object "", object "", "The operation should not replace a registered Range")
    at assertSelectionNoChange ( /selection/common.js:988:5)
Passextend() with range 18 [document.head, 1, document.head, 1] and point 73 [detachedXmlTextNode, 8]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(1, 1, "The operation should not add Range")
    at assertSelectionNoChange ( /selection/common.js:976:5)
Pass
assert_equals(Element node <head><title>Selection extend() tests</title> <meta chars..., Element node <head><title>Selection extend() tests</title> <meta chars..., "The operation should not update anchorNode")
    at assertSelectionNoChange ( /selection/common.js:978:5)
Pass
assert_equals(1, 1, "The operation should not update anchorOffset")
    at assertSelectionNoChange ( /selection/common.js:980:5)
Pass
assert_equals(Element node <head><title>Selection extend() tests</title> <meta chars..., Element node <head><title>Selection extend() tests</title> <meta chars..., "The operation should not update focusNode")
    at assertSelectionNoChange ( /selection/common.js:982:5)
Pass
assert_equals(1, 1, "The operation should not update focusOffset")
    at assertSelectionNoChange ( /selection/common.js:984:5)
Pass
assert_equals(object "", object "", "The operation should not replace a registered Range")
    at assertSelectionNoChange ( /selection/common.js:988:5)
Passextend() with range 18 [document.head, 1, document.head, 1] and point 74 [detachedProcessingInstruction, 12]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(1, 1, "The operation should not add Range")
    at assertSelectionNoChange ( /selection/common.js:976:5)
Pass
assert_equals(Element node <head><title>Selection extend() tests</title> <meta chars..., Element node <head><title>Selection extend() tests</title> <meta chars..., "The operation should not update anchorNode")
    at assertSelectionNoChange ( /selection/common.js:978:5)
Pass
assert_equals(1, 1, "The operation should not update anchorOffset")
    at assertSelectionNoChange ( /selection/common.js:980:5)
Pass
assert_equals(Element node <head><title>Selection extend() tests</title> <meta chars..., Element node <head><title>Selection extend() tests</title> <meta chars..., "The operation should not update focusNode")
    at assertSelectionNoChange ( /selection/common.js:982:5)
Pass
assert_equals(1, 1, "The operation should not update focusOffset")
    at assertSelectionNoChange ( /selection/common.js:984:5)
Pass
assert_equals(object "", object "", "The operation should not replace a registered Range")
    at assertSelectionNoChange ( /selection/common.js:988:5)
Passextend() with range 18 [document.head, 1, document.head, 1] and point 75 [detachedComment, 3]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(1, 1, "The operation should not add Range")
    at assertSelectionNoChange ( /selection/common.js:976:5)
Pass
assert_equals(Element node <head><title>Selection extend() tests</title> <meta chars..., Element node <head><title>Selection extend() tests</title> <meta chars..., "The operation should not update anchorNode")
    at assertSelectionNoChange ( /selection/common.js:978:5)
Pass
assert_equals(1, 1, "The operation should not update anchorOffset")
    at assertSelectionNoChange ( /selection/common.js:980:5)
Pass
assert_equals(Element node <head><title>Selection extend() tests</title> <meta chars..., Element node <head><title>Selection extend() tests</title> <meta chars..., "The operation should not update focusNode")
    at assertSelectionNoChange ( /selection/common.js:982:5)
Pass
assert_equals(1, 1, "The operation should not update focusOffset")
    at assertSelectionNoChange ( /selection/common.js:984:5)
Pass
assert_equals(object "", object "", "The operation should not replace a registered Range")
    at assertSelectionNoChange ( /selection/common.js:988:5)
Passextend() with range 18 [document.head, 1, document.head, 1] and point 76 [detachedComment, 5]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(1, 1, "The operation should not add Range")
    at assertSelectionNoChange ( /selection/common.js:976:5)
Pass
assert_equals(Element node <head><title>Selection extend() tests</title> <meta chars..., Element node <head><title>Selection extend() tests</title> <meta chars..., "The operation should not update anchorNode")
    at assertSelectionNoChange ( /selection/common.js:978:5)
Pass
assert_equals(1, 1, "The operation should not update anchorOffset")
    at assertSelectionNoChange ( /selection/common.js:980:5)
Pass
assert_equals(Element node <head><title>Selection extend() tests</title> <meta chars..., Element node <head><title>Selection extend() tests</title> <meta chars..., "The operation should not update focusNode")
    at assertSelectionNoChange ( /selection/common.js:982:5)
Pass
assert_equals(1, 1, "The operation should not update focusOffset")
    at assertSelectionNoChange ( /selection/common.js:984:5)
Pass
assert_equals(object "", object "", "The operation should not replace a registered Range")
    at assertSelectionNoChange ( /selection/common.js:988:5)
Passextend() with range 18 [document.head, 1, document.head, 1] and point 77 [detachedForeignComment, 0]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(1, 1, "The operation should not add Range")
    at assertSelectionNoChange ( /selection/common.js:976:5)
Pass
assert_equals(Element node <head><title>Selection extend() tests</title> <meta chars..., Element node <head><title>Selection extend() tests</title> <meta chars..., "The operation should not update anchorNode")
    at assertSelectionNoChange ( /selection/common.js:978:5)
Pass
assert_equals(1, 1, "The operation should not update anchorOffset")
    at assertSelectionNoChange ( /selection/common.js:980:5)
Pass
assert_equals(Element node <head><title>Selection extend() tests</title> <meta chars..., Element node <head><title>Selection extend() tests</title> <meta chars..., "The operation should not update focusNode")
    at assertSelectionNoChange ( /selection/common.js:982:5)
Pass
assert_equals(1, 1, "The operation should not update focusOffset")
    at assertSelectionNoChange ( /selection/common.js:984:5)
Pass
assert_equals(object "", object "", "The operation should not replace a registered Range")
    at assertSelectionNoChange ( /selection/common.js:988:5)
Passextend() with range 18 [document.head, 1, document.head, 1] and point 78 [detachedForeignComment, 4]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(1, 1, "The operation should not add Range")
    at assertSelectionNoChange ( /selection/common.js:976:5)
Pass
assert_equals(Element node <head><title>Selection extend() tests</title> <meta chars..., Element node <head><title>Selection extend() tests</title> <meta chars..., "The operation should not update anchorNode")
    at assertSelectionNoChange ( /selection/common.js:978:5)
Pass
assert_equals(1, 1, "The operation should not update anchorOffset")
    at assertSelectionNoChange ( /selection/common.js:980:5)
Pass
assert_equals(Element node <head><title>Selection extend() tests</title> <meta chars..., Element node <head><title>Selection extend() tests</title> <meta chars..., "The operation should not update focusNode")
    at assertSelectionNoChange ( /selection/common.js:982:5)
Pass
assert_equals(1, 1, "The operation should not update focusOffset")
    at assertSelectionNoChange ( /selection/common.js:984:5)
Pass
assert_equals(object "", object "", "The operation should not replace a registered Range")
    at assertSelectionNoChange ( /selection/common.js:988:5)
Passextend() with range 18 [document.head, 1, document.head, 1] and point 79 [detachedXmlComment, 2]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(1, 1, "The operation should not add Range")
    at assertSelectionNoChange ( /selection/common.js:976:5)
Pass
assert_equals(Element node <head><title>Selection extend() tests</title> <meta chars..., Element node <head><title>Selection extend() tests</title> <meta chars..., "The operation should not update anchorNode")
    at assertSelectionNoChange ( /selection/common.js:978:5)
Pass
assert_equals(1, 1, "The operation should not update anchorOffset")
    at assertSelectionNoChange ( /selection/common.js:980:5)
Pass
assert_equals(Element node <head><title>Selection extend() tests</title> <meta chars..., Element node <head><title>Selection extend() tests</title> <meta chars..., "The operation should not update focusNode")
    at assertSelectionNoChange ( /selection/common.js:982:5)
Pass
assert_equals(1, 1, "The operation should not update focusOffset")
    at assertSelectionNoChange ( /selection/common.js:984:5)
Pass
assert_equals(object "", object "", "The operation should not replace a registered Range")
    at assertSelectionNoChange ( /selection/common.js:988:5)
Passextend() with range 18 [document.head, 1, document.head, 1] and point 80 [docfrag, 0]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(1, 1, "The operation should not add Range")
    at assertSelectionNoChange ( /selection/common.js:976:5)
Pass
assert_equals(Element node <head><title>Selection extend() tests</title> <meta chars..., Element node <head><title>Selection extend() tests</title> <meta chars..., "The operation should not update anchorNode")
    at assertSelectionNoChange ( /selection/common.js:978:5)
Pass
assert_equals(1, 1, "The operation should not update anchorOffset")
    at assertSelectionNoChange ( /selection/common.js:980:5)
Pass
assert_equals(Element node <head><title>Selection extend() tests</title> <meta chars..., Element node <head><title>Selection extend() tests</title> <meta chars..., "The operation should not update focusNode")
    at assertSelectionNoChange ( /selection/common.js:982:5)
Pass
assert_equals(1, 1, "The operation should not update focusOffset")
    at assertSelectionNoChange ( /selection/common.js:984:5)
Pass
assert_equals(object "", object "", "The operation should not replace a registered Range")
    at assertSelectionNoChange ( /selection/common.js:988:5)
Passextend() with range 18 [document.head, 1, document.head, 1] and point 81 [foreignDocfrag, 0]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(1, 1, "The operation should not add Range")
    at assertSelectionNoChange ( /selection/common.js:976:5)
Pass
assert_equals(Element node <head><title>Selection extend() tests</title> <meta chars..., Element node <head><title>Selection extend() tests</title> <meta chars..., "The operation should not update anchorNode")
    at assertSelectionNoChange ( /selection/common.js:978:5)
Pass
assert_equals(1, 1, "The operation should not update anchorOffset")
    at assertSelectionNoChange ( /selection/common.js:980:5)
Pass
assert_equals(Element node <head><title>Selection extend() tests</title> <meta chars..., Element node <head><title>Selection extend() tests</title> <meta chars..., "The operation should not update focusNode")
    at assertSelectionNoChange ( /selection/common.js:982:5)
Pass
assert_equals(1, 1, "The operation should not update focusOffset")
    at assertSelectionNoChange ( /selection/common.js:984:5)
Pass
assert_equals(object "", object "", "The operation should not replace a registered Range")
    at assertSelectionNoChange ( /selection/common.js:988:5)
Passextend() with range 18 [document.head, 1, document.head, 1] and point 82 [xmlDocfrag, 0]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(1, 1, "The operation should not add Range")
    at assertSelectionNoChange ( /selection/common.js:976:5)
Pass
assert_equals(Element node <head><title>Selection extend() tests</title> <meta chars..., Element node <head><title>Selection extend() tests</title> <meta chars..., "The operation should not update anchorNode")
    at assertSelectionNoChange ( /selection/common.js:978:5)
Pass
assert_equals(1, 1, "The operation should not update anchorOffset")
    at assertSelectionNoChange ( /selection/common.js:980:5)
Pass
assert_equals(Element node <head><title>Selection extend() tests</title> <meta chars..., Element node <head><title>Selection extend() tests</title> <meta chars..., "The operation should not update focusNode")
    at assertSelectionNoChange ( /selection/common.js:982:5)
Pass
assert_equals(1, 1, "The operation should not update focusOffset")
    at assertSelectionNoChange ( /selection/common.js:984:5)
Pass
assert_equals(object "", object "", "The operation should not replace a registered Range")
    at assertSelectionNoChange ( /selection/common.js:988:5)
Passextend() with range 18 [document.head, 1, document.head, 1] and point 83 [doctype, 0]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(Element node <head><title>Selection extend() tests</title> <meta chars..., Element node <head><title>Selection extend() tests</title> <meta chars..., "Sanity check: startContainer must be correct")
    at testExtend ( /selection/extend.js:80:5)
Pass
assert_equals(1, 1, "Sanity check: startOffset must be correct")
    at testExtend ( /selection/extend.js:82:5)
Pass
assert_equals(Element node <head><title>Selection extend() tests</title> <meta chars..., Element node <head><title>Selection extend() tests</title> <meta chars..., "Sanity check: endContainer must be correct")
    at testExtend ( /selection/extend.js:84:5)
Pass
assert_equals(1, 1, "Sanity check: endOffset must be correct")
    at testExtend ( /selection/extend.js:86:5)
Pass
assert_throws_dom("INVALID_NODE_TYPE_ERR", function "function() {             selection.extend(node, offset);         }", "extend() to a doctype must throw InvalidNodeTypeError")
    at testExtend ( /selection/extend.js:104:9)
Passextend() with range 18 [document.head, 1, document.head, 1] and point 84 [doctype, -17]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(Element node <head><title>Selection extend() tests</title> <meta chars..., Element node <head><title>Selection extend() tests</title> <meta chars..., "Sanity check: startContainer must be correct")
    at testExtend ( /selection/extend.js:80:5)
Pass
assert_equals(1, 1, "Sanity check: startOffset must be correct")
    at testExtend ( /selection/extend.js:82:5)
Pass
assert_equals(Element node <head><title>Selection extend() tests</title> <meta chars..., Element node <head><title>Selection extend() tests</title> <meta chars..., "Sanity check: endContainer must be correct")
    at testExtend ( /selection/extend.js:84:5)
Pass
assert_equals(1, 1, "Sanity check: endOffset must be correct")
    at testExtend ( /selection/extend.js:86:5)
Pass
assert_throws_dom("INVALID_NODE_TYPE_ERR", function "function() {             selection.extend(node, offset);         }", "extend() to a doctype must throw InvalidNodeTypeError")
    at testExtend ( /selection/extend.js:104:9)
Passextend() with range 18 [document.head, 1, document.head, 1] and point 85 [doctype, 1]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(Element node <head><title>Selection extend() tests</title> <meta chars..., Element node <head><title>Selection extend() tests</title> <meta chars..., "Sanity check: startContainer must be correct")
    at testExtend ( /selection/extend.js:80:5)
Pass
assert_equals(1, 1, "Sanity check: startOffset must be correct")
    at testExtend ( /selection/extend.js:82:5)
Pass
assert_equals(Element node <head><title>Selection extend() tests</title> <meta chars..., Element node <head><title>Selection extend() tests</title> <meta chars..., "Sanity check: endContainer must be correct")
    at testExtend ( /selection/extend.js:84:5)
Pass
assert_equals(1, 1, "Sanity check: endOffset must be correct")
    at testExtend ( /selection/extend.js:86:5)
Pass
assert_throws_dom("INVALID_NODE_TYPE_ERR", function "function() {             selection.extend(node, offset);         }", "extend() to a doctype must throw InvalidNodeTypeError")
    at testExtend ( /selection/extend.js:104:9)
Passextend() with range 18 [document.head, 1, document.head, 1] and point 86 [foreignDoctype, 0]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(1, 1, "The operation should not add Range")
    at assertSelectionNoChange ( /selection/common.js:976:5)
Pass
assert_equals(Element node <head><title>Selection extend() tests</title> <meta chars..., Element node <head><title>Selection extend() tests</title> <meta chars..., "The operation should not update anchorNode")
    at assertSelectionNoChange ( /selection/common.js:978:5)
Pass
assert_equals(1, 1, "The operation should not update anchorOffset")
    at assertSelectionNoChange ( /selection/common.js:980:5)
Pass
assert_equals(Element node <head><title>Selection extend() tests</title> <meta chars..., Element node <head><title>Selection extend() tests</title> <meta chars..., "The operation should not update focusNode")
    at assertSelectionNoChange ( /selection/common.js:982:5)
Pass
assert_equals(1, 1, "The operation should not update focusOffset")
    at assertSelectionNoChange ( /selection/common.js:984:5)
Pass
assert_equals(object "", object "", "The operation should not replace a registered Range")
    at assertSelectionNoChange ( /selection/common.js:988:5)
Passextend() with range 18 [document.head, 1, document.head, 1] and point 87 [xmlDoctype, 0]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(1, 1, "The operation should not add Range")
    at assertSelectionNoChange ( /selection/common.js:976:5)
Pass
assert_equals(Element node <head><title>Selection extend() tests</title> <meta chars..., Element node <head><title>Selection extend() tests</title> <meta chars..., "The operation should not update anchorNode")
    at assertSelectionNoChange ( /selection/common.js:978:5)
Pass
assert_equals(1, 1, "The operation should not update anchorOffset")
    at assertSelectionNoChange ( /selection/common.js:980:5)
Pass
assert_equals(Element node <head><title>Selection extend() tests</title> <meta chars..., Element node <head><title>Selection extend() tests</title> <meta chars..., "The operation should not update focusNode")
    at assertSelectionNoChange ( /selection/common.js:982:5)
Pass
assert_equals(1, 1, "The operation should not update focusOffset")
    at assertSelectionNoChange ( /selection/common.js:984:5)
Pass
assert_equals(object "", object "", "The operation should not replace a registered Range")
    at assertSelectionNoChange ( /selection/common.js:988:5)
Passextend() forwards with range 19 [document.body, 0, document.body, 1] and point 0 [paras[0].firstChild, -1]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(Element node <body><div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ </p><p id..., Element node <body><div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ </p><p id..., "Sanity check: startContainer must be correct")
    at testExtend ( /selection/extend.js:80:5)
Pass
assert_equals(0, 0, "Sanity check: startOffset must be correct")
    at testExtend ( /selection/extend.js:82:5)
Pass
assert_equals(Element node <body><div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ </p><p id..., Element node <body><div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ </p><p id..., "Sanity check: endContainer must be correct")
    at testExtend ( /selection/extend.js:84:5)
Pass
assert_equals(1, 1, "Sanity check: endOffset must be correct")
    at testExtend ( /selection/extend.js:86:5)
Pass
assert_throws_dom("INDEX_SIZE_ERR", function "function() {             selection.extend(node, offset);         }", "extend() to an offset that's greater than node length (17) must throw IndexSizeError")
    at testExtend ( /selection/extend.js:117:9)
Passextend() backwards with range 19 [document.body, 0, document.body, 1] and point 0 [paras[0].firstChild, -1]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(Element node <body><div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ </p><p id..., Element node <body><div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ </p><p id..., "Sanity check: startContainer must be correct")
    at testExtend ( /selection/extend.js:80:5)
Pass
assert_equals(0, 0, "Sanity check: startOffset must be correct")
    at testExtend ( /selection/extend.js:82:5)
Pass
assert_equals(Element node <body><div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ </p><p id..., Element node <body><div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ </p><p id..., "Sanity check: endContainer must be correct")
    at testExtend ( /selection/extend.js:84:5)
Pass
assert_equals(1, 1, "Sanity check: endOffset must be correct")
    at testExtend ( /selection/extend.js:86:5)
Pass
assert_throws_dom("INDEX_SIZE_ERR", function "function() {             selection.extend(node, offset);         }", "extend() to an offset that's greater than node length (17) must throw IndexSizeError")
    at testExtend ( /selection/extend.js:117:9)
Passextend() forwards with range 19 [document.body, 0, document.body, 1] and point 1 [paras[0].firstChild, 0]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(Element node <body><div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ </p><p id..., Element node <body><div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ </p><p id..., "Sanity check: startContainer must be correct")
    at testExtend ( /selection/extend.js:80:5)
Pass
assert_equals(0, 0, "Sanity check: startOffset must be correct")
    at testExtend ( /selection/extend.js:82:5)
Pass
assert_equals(Element node <body><div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ </p><p id..., Element node <body><div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ </p><p id..., "Sanity check: endContainer must be correct")
    at testExtend ( /selection/extend.js:84:5)
Pass
assert_equals(1, 1, "Sanity check: endOffset must be correct")
    at testExtend ( /selection/extend.js:86:5)
Pass
assert_equals(Element node <body><div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ </p><p id..., Element node <body><div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ </p><p id..., "anchorNode must not change if the node passed to extend() has the same root as the original range")
    at testExtend ( /selection/extend.js:145:9)
Pass
assert_equals(0, 0, "anchorOffset must not change if the node passed to extend() has the same root as the original range")
    at testExtend ( /selection/extend.js:147:9)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "focusNode must be the node passed to extend()")
    at testExtend ( /selection/extend.js:155:5)
Pass
assert_equals(0, 0, "focusOffset must be the offset passed to extend()")
    at testExtend ( /selection/extend.js:157:5)
Pass
assert_not_equals(object "", object "Äb̈c̈d̈ëf̈g̈ḧ Ijklmnop QrstuvwxYzabcdefGhijklmn", "extend() must replace any existing range with a new one, not mutate the existing one")
    at testExtend ( /selection/extend.js:159:5)
Passextend() backwards with range 19 [document.body, 0, document.body, 1] and point 1 [paras[0].firstChild, 0]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(Element node <body><div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ </p><p id..., Element node <body><div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ </p><p id..., "Sanity check: startContainer must be correct")
    at testExtend ( /selection/extend.js:80:5)
Pass
assert_equals(0, 0, "Sanity check: startOffset must be correct")
    at testExtend ( /selection/extend.js:82:5)
Pass
assert_equals(Element node <body><div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ </p><p id..., Element node <body><div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ </p><p id..., "Sanity check: endContainer must be correct")
    at testExtend ( /selection/extend.js:84:5)
Pass
assert_equals(1, 1, "Sanity check: endOffset must be correct")
    at testExtend ( /selection/extend.js:86:5)
Pass
assert_equals(Element node <body><div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ </p><p id..., Element node <body><div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ </p><p id..., "anchorNode must not change if the node passed to extend() has the same root as the original range")
    at testExtend ( /selection/extend.js:145:9)
Pass
assert_equals(1, 1, "anchorOffset must not change if the node passed to extend() has the same root as the original range")
    at testExtend ( /selection/extend.js:147:9)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "focusNode must be the node passed to extend()")
    at testExtend ( /selection/extend.js:155:5)
Pass
assert_equals(0, 0, "focusOffset must be the offset passed to extend()")
    at testExtend ( /selection/extend.js:157:5)
Pass
assert_not_equals(object "Äb̈c̈d̈ëf̈g̈ḧ Ijklmnop QrstuvwxYzabcdefGhijklmn", object "Äb̈c̈d̈ëf̈g̈ḧ Ijklmnop QrstuvwxYzabcdefGhijklmn", "extend() must replace any existing range with a new one, not mutate the existing one")
    at testExtend ( /selection/extend.js:159:5)
Passextend() forwards with range 19 [document.body, 0, document.body, 1] and point 2 [paras[0].firstChild, 1]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(Element node <body><div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ </p><p id..., Element node <body><div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ </p><p id..., "Sanity check: startContainer must be correct")
    at testExtend ( /selection/extend.js:80:5)
Pass
assert_equals(0, 0, "Sanity check: startOffset must be correct")
    at testExtend ( /selection/extend.js:82:5)
Pass
assert_equals(Element node <body><div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ </p><p id..., Element node <body><div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ </p><p id..., "Sanity check: endContainer must be correct")
    at testExtend ( /selection/extend.js:84:5)
Pass
assert_equals(1, 1, "Sanity check: endOffset must be correct")
    at testExtend ( /selection/extend.js:86:5)
Pass
assert_equals(Element node <body><div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ </p><p id..., Element node <body><div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ </p><p id..., "anchorNode must not change if the node passed to extend() has the same root as the original range")
    at testExtend ( /selection/extend.js:145:9)
Pass
assert_equals(0, 0, "anchorOffset must not change if the node passed to extend() has the same root as the original range")
    at testExtend ( /selection/extend.js:147:9)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "focusNode must be the node passed to extend()")
    at testExtend ( /selection/extend.js:155:5)
Pass
assert_equals(1, 1, "focusOffset must be the offset passed to extend()")
    at testExtend ( /selection/extend.js:157:5)
Pass
assert_not_equals(object "A", object "Äb̈c̈d̈ëf̈g̈ḧ Ijklmnop QrstuvwxYzabcdefGhijklmn", "extend() must replace any existing range with a new one, not mutate the existing one")
    at testExtend ( /selection/extend.js:159:5)
Passextend() backwards with range 19 [document.body, 0, document.body, 1] and point 2 [paras[0].firstChild, 1]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(Element node <body><div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ </p><p id..., Element node <body><div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ </p><p id..., "Sanity check: startContainer must be correct")
    at testExtend ( /selection/extend.js:80:5)
Pass
assert_equals(0, 0, "Sanity check: startOffset must be correct")
    at testExtend ( /selection/extend.js:82:5)
Pass
assert_equals(Element node <body><div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ </p><p id..., Element node <body><div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ </p><p id..., "Sanity check: endContainer must be correct")
    at testExtend ( /selection/extend.js:84:5)
Pass
assert_equals(1, 1, "Sanity check: endOffset must be correct")
    at testExtend ( /selection/extend.js:86:5)
Pass
assert_equals(Element node <body><div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ </p><p id..., Element node <body><div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ </p><p id..., "anchorNode must not change if the node passed to extend() has the same root as the original range")
    at testExtend ( /selection/extend.js:145:9)
Pass
assert_equals(1, 1, "anchorOffset must not change if the node passed to extend() has the same root as the original range")
    at testExtend ( /selection/extend.js:147:9)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "focusNode must be the node passed to extend()")
    at testExtend ( /selection/extend.js:155:5)
Pass
assert_equals(1, 1, "focusOffset must be the offset passed to extend()")
    at testExtend ( /selection/extend.js:157:5)
Pass
assert_not_equals(object "̈b̈c̈d̈ëf̈g̈ḧ Ijklmnop QrstuvwxYzabcdefGhijklmn", object "Äb̈c̈d̈ëf̈g̈ḧ Ijklmnop QrstuvwxYzabcdefGhijklmn", "extend() must replace any existing range with a new one, not mutate the existing one")
    at testExtend ( /selection/extend.js:159:5)
Passextend() forwards with range 19 [document.body, 0, document.body, 1] and point 3 [paras[0].firstChild, 2]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(Element node <body><div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ </p><p id..., Element node <body><div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ </p><p id..., "Sanity check: startContainer must be correct")
    at testExtend ( /selection/extend.js:80:5)
Pass
assert_equals(0, 0, "Sanity check: startOffset must be correct")
    at testExtend ( /selection/extend.js:82:5)
Pass
assert_equals(Element node <body><div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ </p><p id..., Element node <body><div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ </p><p id..., "Sanity check: endContainer must be correct")
    at testExtend ( /selection/extend.js:84:5)
Pass
assert_equals(1, 1, "Sanity check: endOffset must be correct")
    at testExtend ( /selection/extend.js:86:5)
Pass
assert_equals(Element node <body><div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ </p><p id..., Element node <body><div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ </p><p id..., "anchorNode must not change if the node passed to extend() has the same root as the original range")
    at testExtend ( /selection/extend.js:145:9)
Pass
assert_equals(0, 0, "anchorOffset must not change if the node passed to extend() has the same root as the original range")
    at testExtend ( /selection/extend.js:147:9)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "focusNode must be the node passed to extend()")
    at testExtend ( /selection/extend.js:155:5)
Pass
assert_equals(2, 2, "focusOffset must be the offset passed to extend()")
    at testExtend ( /selection/extend.js:157:5)
Pass
assert_not_equals(object "Ä", object "Äb̈c̈d̈ëf̈g̈ḧ Ijklmnop QrstuvwxYzabcdefGhijklmn", "extend() must replace any existing range with a new one, not mutate the existing one")
    at testExtend ( /selection/extend.js:159:5)
Passextend() backwards with range 19 [document.body, 0, document.body, 1] and point 3 [paras[0].firstChild, 2]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(Element node <body><div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ </p><p id..., Element node <body><div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ </p><p id..., "Sanity check: startContainer must be correct")
    at testExtend ( /selection/extend.js:80:5)
Pass
assert_equals(0, 0, "Sanity check: startOffset must be correct")
    at testExtend ( /selection/extend.js:82:5)
Pass
assert_equals(Element node <body><div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ </p><p id..., Element node <body><div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ </p><p id..., "Sanity check: endContainer must be correct")
    at testExtend ( /selection/extend.js:84:5)
Pass
assert_equals(1, 1, "Sanity check: endOffset must be correct")
    at testExtend ( /selection/extend.js:86:5)
Pass
assert_equals(Element node <body><div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ </p><p id..., Element node <body><div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ </p><p id..., "anchorNode must not change if the node passed to extend() has the same root as the original range")
    at testExtend ( /selection/extend.js:145:9)
Pass
assert_equals(1, 1, "anchorOffset must not change if the node passed to extend() has the same root as the original range")
    at testExtend ( /selection/extend.js:147:9)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "focusNode must be the node passed to extend()")
    at testExtend ( /selection/extend.js:155:5)
Pass
assert_equals(2, 2, "focusOffset must be the offset passed to extend()")
    at testExtend ( /selection/extend.js:157:5)
Pass
assert_not_equals(object "b̈c̈d̈ëf̈g̈ḧ Ijklmnop QrstuvwxYzabcdefGhijklmn", object "Äb̈c̈d̈ëf̈g̈ḧ Ijklmnop QrstuvwxYzabcdefGhijklmn", "extend() must replace any existing range with a new one, not mutate the existing one")
    at testExtend ( /selection/extend.js:159:5)
Passextend() forwards with range 19 [document.body, 0, document.body, 1] and point 4 [paras[0].firstChild, 8]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(Element node <body><div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ </p><p id..., Element node <body><div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ </p><p id..., "Sanity check: startContainer must be correct")
    at testExtend ( /selection/extend.js:80:5)
Pass
assert_equals(0, 0, "Sanity check: startOffset must be correct")
    at testExtend ( /selection/extend.js:82:5)
Pass
assert_equals(Element node <body><div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ </p><p id..., Element node <body><div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ </p><p id..., "Sanity check: endContainer must be correct")
    at testExtend ( /selection/extend.js:84:5)
Pass
assert_equals(1, 1, "Sanity check: endOffset must be correct")
    at testExtend ( /selection/extend.js:86:5)
Pass
assert_equals(Element node <body><div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ </p><p id..., Element node <body><div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ </p><p id..., "anchorNode must not change if the node passed to extend() has the same root as the original range")
    at testExtend ( /selection/extend.js:145:9)
Pass
assert_equals(0, 0, "anchorOffset must not change if the node passed to extend() has the same root as the original range")
    at testExtend ( /selection/extend.js:147:9)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "focusNode must be the node passed to extend()")
    at testExtend ( /selection/extend.js:155:5)
Pass
assert_equals(8, 8, "focusOffset must be the offset passed to extend()")
    at testExtend ( /selection/extend.js:157:5)
Pass
assert_not_equals(object "Äb̈c̈d̈", object "Äb̈c̈d̈ëf̈g̈ḧ Ijklmnop QrstuvwxYzabcdefGhijklmn", "extend() must replace any existing range with a new one, not mutate the existing one")
    at testExtend ( /selection/extend.js:159:5)
Passextend() backwards with range 19 [document.body, 0, document.body, 1] and point 4 [paras[0].firstChild, 8]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(Element node <body><div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ </p><p id..., Element node <body><div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ </p><p id..., "Sanity check: startContainer must be correct")
    at testExtend ( /selection/extend.js:80:5)
Pass
assert_equals(0, 0, "Sanity check: startOffset must be correct")
    at testExtend ( /selection/extend.js:82:5)
Pass
assert_equals(Element node <body><div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ </p><p id..., Element node <body><div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ </p><p id..., "Sanity check: endContainer must be correct")
    at testExtend ( /selection/extend.js:84:5)
Pass
assert_equals(1, 1, "Sanity check: endOffset must be correct")
    at testExtend ( /selection/extend.js:86:5)
Pass
assert_equals(Element node <body><div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ </p><p id..., Element node <body><div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ </p><p id..., "anchorNode must not change if the node passed to extend() has the same root as the original range")
    at testExtend ( /selection/extend.js:145:9)
Pass
assert_equals(1, 1, "anchorOffset must not change if the node passed to extend() has the same root as the original range")
    at testExtend ( /selection/extend.js:147:9)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "focusNode must be the node passed to extend()")
    at testExtend ( /selection/extend.js:155:5)
Pass
assert_equals(8, 8, "focusOffset must be the offset passed to extend()")
    at testExtend ( /selection/extend.js:157:5)
Pass
assert_not_equals(object "ëf̈g̈ḧ Ijklmnop QrstuvwxYzabcdefGhijklmn", object "Äb̈c̈d̈ëf̈g̈ḧ Ijklmnop QrstuvwxYzabcdefGhijklmn", "extend() must replace any existing range with a new one, not mutate the existing one")
    at testExtend ( /selection/extend.js:159:5)
Passextend() forwards with range 19 [document.body, 0, document.body, 1] and point 5 [paras[0].firstChild, 9]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(Element node <body><div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ </p><p id..., Element node <body><div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ </p><p id..., "Sanity check: startContainer must be correct")
    at testExtend ( /selection/extend.js:80:5)
Pass
assert_equals(0, 0, "Sanity check: startOffset must be correct")
    at testExtend ( /selection/extend.js:82:5)
Pass
assert_equals(Element node <body><div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ </p><p id..., Element node <body><div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ </p><p id..., "Sanity check: endContainer must be correct")
    at testExtend ( /selection/extend.js:84:5)
Pass
assert_equals(1, 1, "Sanity check: endOffset must be correct")
    at testExtend ( /selection/extend.js:86:5)
Pass
assert_equals(Element node <body><div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ </p><p id..., Element node <body><div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ </p><p id..., "anchorNode must not change if the node passed to extend() has the same root as the original range")
    at testExtend ( /selection/extend.js:145:9)
Pass
assert_equals(0, 0, "anchorOffset must not change if the node passed to extend() has the same root as the original range")
    at testExtend ( /selection/extend.js:147:9)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "focusNode must be the node passed to extend()")
    at testExtend ( /selection/extend.js:155:5)
Pass
assert_equals(9, 9, "focusOffset must be the offset passed to extend()")
    at testExtend ( /selection/extend.js:157:5)
Pass
assert_not_equals(object "Äb̈c̈d̈e", object "Äb̈c̈d̈ëf̈g̈ḧ Ijklmnop QrstuvwxYzabcdefGhijklmn", "extend() must replace any existing range with a new one, not mutate the existing one")
    at testExtend ( /selection/extend.js:159:5)
Passextend() backwards with range 19 [document.body, 0, document.body, 1] and point 5 [paras[0].firstChild, 9]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(Element node <body><div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ </p><p id..., Element node <body><div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ </p><p id..., "Sanity check: startContainer must be correct")
    at testExtend ( /selection/extend.js:80:5)
Pass
assert_equals(0, 0, "Sanity check: startOffset must be correct")
    at testExtend ( /selection/extend.js:82:5)
Pass
assert_equals(Element node <body><div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ </p><p id..., Element node <body><div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ </p><p id..., "Sanity check: endContainer must be correct")
    at testExtend ( /selection/extend.js:84:5)
Pass
assert_equals(1, 1, "Sanity check: endOffset must be correct")
    at testExtend ( /selection/extend.js:86:5)
Pass
assert_equals(Element node <body><div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ </p><p id..., Element node <body><div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ </p><p id..., "anchorNode must not change if the node passed to extend() has the same root as the original range")
    at testExtend ( /selection/extend.js:145:9)
Pass
assert_equals(1, 1, "anchorOffset must not change if the node passed to extend() has the same root as the original range")
    at testExtend ( /selection/extend.js:147:9)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "focusNode must be the node passed to extend()")
    at testExtend ( /selection/extend.js:155:5)
Pass
assert_equals(9, 9, "focusOffset must be the offset passed to extend()")
    at testExtend ( /selection/extend.js:157:5)
Pass
assert_not_equals(object "̈f̈g̈ḧ Ijklmnop QrstuvwxYzabcdefGhijklmn", object "Äb̈c̈d̈ëf̈g̈ḧ Ijklmnop QrstuvwxYzabcdefGhijklmn", "extend() must replace any existing range with a new one, not mutate the existing one")
    at testExtend ( /selection/extend.js:159:5)
Passextend() forwards with range 19 [document.body, 0, document.body, 1] and point 6 [paras[0].firstChild, 10]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(Element node <body><div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ </p><p id..., Element node <body><div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ </p><p id..., "Sanity check: startContainer must be correct")
    at testExtend ( /selection/extend.js:80:5)
Pass
assert_equals(0, 0, "Sanity check: startOffset must be correct")
    at testExtend ( /selection/extend.js:82:5)
Pass
assert_equals(Element node <body><div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ </p><p id..., Element node <body><div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ </p><p id..., "Sanity check: endContainer must be correct")
    at testExtend ( /selection/extend.js:84:5)
Pass
assert_equals(1, 1, "Sanity check: endOffset must be correct")
    at testExtend ( /selection/extend.js:86:5)
Pass
assert_equals(Element node <body><div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ </p><p id..., Element node <body><div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ </p><p id..., "anchorNode must not change if the node passed to extend() has the same root as the original range")
    at testExtend ( /selection/extend.js:145:9)
Pass
assert_equals(0, 0, "anchorOffset must not change if the node passed to extend() has the same root as the original range")
    at testExtend ( /selection/extend.js:147:9)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "focusNode must be the node passed to extend()")
    at testExtend ( /selection/extend.js:155:5)
Pass
assert_equals(10, 10, "focusOffset must be the offset passed to extend()")
    at testExtend ( /selection/extend.js:157:5)
Pass
assert_not_equals(object "Äb̈c̈d̈ë", object "Äb̈c̈d̈ëf̈g̈ḧ Ijklmnop QrstuvwxYzabcdefGhijklmn", "extend() must replace any existing range with a new one, not mutate the existing one")
    at testExtend ( /selection/extend.js:159:5)
Passextend() backwards with range 19 [document.body, 0, document.body, 1] and point 6 [paras[0].firstChild, 10]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(Element node <body><div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ </p><p id..., Element node <body><div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ </p><p id..., "Sanity check: startContainer must be correct")
    at testExtend ( /selection/extend.js:80:5)
Pass
assert_equals(0, 0, "Sanity check: startOffset must be correct")
    at testExtend ( /selection/extend.js:82:5)
Pass
assert_equals(Element node <body><div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ </p><p id..., Element node <body><div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ </p><p id..., "Sanity check: endContainer must be correct")
    at testExtend ( /selection/extend.js:84:5)
Pass
assert_equals(1, 1, "Sanity check: endOffset must be correct")
    at testExtend ( /selection/extend.js:86:5)
Pass
assert_equals(Element node <body><div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ </p><p id..., Element node <body><div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ </p><p id..., "anchorNode must not change if the node passed to extend() has the same root as the original range")
    at testExtend ( /selection/extend.js:145:9)
Pass
assert_equals(1, 1, "anchorOffset must not change if the node passed to extend() has the same root as the original range")
    at testExtend ( /selection/extend.js:147:9)
Pass
assert_equals(Text node "Äb̈c̈d̈ëf̈g̈ḧ ", Text node "Äb̈c̈d̈ëf̈g̈ḧ ", "focusNode must be the node passed to extend()")
    at testExtend ( /selection/extend.js:155:5)
Pass
assert_equals(10, 10, "focusOffset must be the offset passed to extend()")
    at testExtend ( /selection/extend.js:157:5)
Pass
assert_not_equals(object "f̈g̈ḧ Ijklmnop QrstuvwxYzabcdefGhijklmn", object "Äb̈c̈d̈ëf̈g̈ḧ Ijklmnop QrstuvwxYzabcdefGhijklmn", "extend() must replace any existing range with a new one, not mutate the existing one")
    at testExtend ( /selection/extend.js:159:5)
Passextend() forwards with range 19 [document.body, 0, document.body, 1] and point 7 [paras[0].firstChild, 65535]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(Element node <body><div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ </p><p id..., Element node <body><div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ </p><p id..., "Sanity check: startContainer must be correct")
    at testExtend ( /selection/extend.js:80:5)
Pass
assert_equals(0, 0, "Sanity check: startOffset must be correct")
    at testExtend ( /selection/extend.js:82:5)
Pass
assert_equals(Element node <body><div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ </p><p id..., Element node <body><div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ </p><p id..., "Sanity check: endContainer must be correct")
    at testExtend ( /selection/extend.js:84:5)
Pass
assert_equals(1, 1, "Sanity check: endOffset must be correct")
    at testExtend ( /selection/extend.js:86:5)
Pass
assert_throws_dom("INDEX_SIZE_ERR", function "function() {             selection.extend(node, offset);         }", "extend() to an offset that's greater than node length (17) must throw IndexSizeError")
    at testExtend ( /selection/extend.js:117:9)
Passextend() backwards with range 19 [document.body, 0, document.body, 1] and point 7 [paras[0].firstChild, 65535]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(Element node <body><div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ </p><p id..., Element node <body><div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ </p><p id..., "Sanity check: startContainer must be correct")
    at testExtend ( /selection/extend.js:80:5)
Pass
assert_equals(0, 0, "Sanity check: startOffset must be correct")
    at testExtend ( /selection/extend.js:82:5)
Pass
assert_equals(Element node <body><div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ </p><p id..., Element node <body><div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ </p><p id..., "Sanity check: endContainer must be correct")
    at testExtend ( /selection/extend.js:84:5)
Pass
assert_equals(1, 1, "Sanity check: endOffset must be correct")
    at testExtend ( /selection/extend.js:86:5)
Pass
assert_throws_dom("INDEX_SIZE_ERR", function "function() {             selection.extend(node, offset);         }", "extend() to an offset that's greater than node length (17) must throw IndexSizeError")
    at testExtend ( /selection/extend.js:117:9)
Passextend() forwards with range 19 [document.body, 0, document.body, 1] and point 8 [paras[1].firstChild, -1]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(Element node <body><div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ </p><p id..., Element node <body><div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ </p><p id..., "Sanity check: startContainer must be correct")
    at testExtend ( /selection/extend.js:80:5)
Pass
assert_equals(0, 0, "Sanity check: startOffset must be correct")
    at testExtend ( /selection/extend.js:82:5)
Pass
assert_equals(Element node <body><div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ </p><p id..., Element node <body><div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ </p><p id..., "Sanity check: endContainer must be correct")
    at testExtend ( /selection/extend.js:84:5)
Pass
assert_equals(1, 1, "Sanity check: endOffset must be correct")
    at testExtend ( /selection/extend.js:86:5)
Pass
assert_throws_dom("INDEX_SIZE_ERR", function "function() {             selection.extend(node, offset);         }", "extend() to an offset that's greater than node length (9) must throw IndexSizeError")
    at testExtend ( /selection/extend.js:117:9)
Passextend() backwards with range 19 [document.body, 0, document.body, 1] and point 8 [paras[1].firstChild, -1]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(Element node <body><div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ </p><p id..., Element node <body><div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ </p><p id..., "Sanity check: startContainer must be correct")
    at testExtend ( /selection/extend.js:80:5)
Pass
assert_equals(0, 0, "Sanity check: startOffset must be correct")
    at testExtend ( /selection/extend.js:82:5)
Pass
assert_equals(Element node <body><div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ </p><p id..., Element node <body><div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ </p><p id..., "Sanity check: endContainer must be correct")
    at testExtend ( /selection/extend.js:84:5)
Pass
assert_equals(1, 1, "Sanity check: endOffset must be correct")
    at testExtend ( /selection/extend.js:86:5)
Pass
assert_throws_dom("INDEX_SIZE_ERR", function "function() {             selection.extend(node, offset);         }", "extend() to an offset that's greater than node length (9) must throw IndexSizeError")
    at testExtend ( /selection/extend.js:117:9)
Passextend() forwards with range 19 [document.body, 0, document.body, 1] and point 9 [paras[1].firstChild, 0]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(Element node <body><div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ </p><p id..., Element node <body><div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ </p><p id..., "Sanity check: startContainer must be correct")
    at testExtend ( /selection/extend.js:80:5)
Pass
assert_equals(0, 0, "Sanity check: startOffset must be correct")
    at testExtend ( /selection/extend.js:82:5)
Pass
assert_equals(Element node <body><div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ </p><p id..., Element node <body><div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ </p><p id..., "Sanity check: endContainer must be correct")
    at testExtend ( /selection/extend.js:84:5)
Pass
assert_equals(1, 1, "Sanity check: endOffset must be correct")
    at testExtend ( /selection/extend.js:86:5)
Pass
assert_equals(Element node <body><div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ </p><p id..., Element node <body><div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ </p><p id..., "anchorNode must not change if the node passed to extend() has the same root as the original range")
    at testExtend ( /selection/extend.js:145:9)
Pass
assert_equals(0, 0, "anchorOffset must not change if the node passed to extend() has the same root as the original range")
    at testExtend ( /selection/extend.js:147:9)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "focusNode must be the node passed to extend()")
    at testExtend ( /selection/extend.js:155:5)
Pass
assert_equals(0, 0, "focusOffset must be the offset passed to extend()")
    at testExtend ( /selection/extend.js:157:5)
Pass
assert_not_equals(object "Äb̈c̈d̈ëf̈g̈ḧ ", object "Äb̈c̈d̈ëf̈g̈ḧ Ijklmnop QrstuvwxYzabcdefGhijklmn", "extend() must replace any existing range with a new one, not mutate the existing one")
    at testExtend ( /selection/extend.js:159:5)
Passextend() backwards with range 19 [document.body, 0, document.body, 1] and point 9 [paras[1].firstChild, 0]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(Element node <body><div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ </p><p id..., Element node <body><div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ </p><p id..., "Sanity check: startContainer must be correct")
    at testExtend ( /selection/extend.js:80:5)
Pass
assert_equals(0, 0, "Sanity check: startOffset must be correct")
    at testExtend ( /selection/extend.js:82:5)
Pass
assert_equals(Element node <body><div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ </p><p id..., Element node <body><div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ </p><p id..., "Sanity check: endContainer must be correct")
    at testExtend ( /selection/extend.js:84:5)
Pass
assert_equals(1, 1, "Sanity check: endOffset must be correct")
    at testExtend ( /selection/extend.js:86:5)
Pass
assert_equals(Element node <body><div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ </p><p id..., Element node <body><div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ </p><p id..., "anchorNode must not change if the node passed to extend() has the same root as the original range")
    at testExtend ( /selection/extend.js:145:9)
Pass
assert_equals(1, 1, "anchorOffset must not change if the node passed to extend() has the same root as the original range")
    at testExtend ( /selection/extend.js:147:9)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "focusNode must be the node passed to extend()")
    at testExtend ( /selection/extend.js:155:5)
Pass
assert_equals(0, 0, "focusOffset must be the offset passed to extend()")
    at testExtend ( /selection/extend.js:157:5)
Pass
assert_not_equals(object "Ijklmnop QrstuvwxYzabcdefGhijklmn", object "Äb̈c̈d̈ëf̈g̈ḧ Ijklmnop QrstuvwxYzabcdefGhijklmn", "extend() must replace any existing range with a new one, not mutate the existing one")
    at testExtend ( /selection/extend.js:159:5)
Passextend() forwards with range 19 [document.body, 0, document.body, 1] and point 10 [paras[1].firstChild, 1]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(Element node <body><div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ </p><p id..., Element node <body><div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ </p><p id..., "Sanity check: startContainer must be correct")
    at testExtend ( /selection/extend.js:80:5)
Pass
assert_equals(0, 0, "Sanity check: startOffset must be correct")
    at testExtend ( /selection/extend.js:82:5)
Pass
assert_equals(Element node <body><div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ </p><p id..., Element node <body><div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ </p><p id..., "Sanity check: endContainer must be correct")
    at testExtend ( /selection/extend.js:84:5)
Pass
assert_equals(1, 1, "Sanity check: endOffset must be correct")
    at testExtend ( /selection/extend.js:86:5)
Pass
assert_equals(Element node <body><div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ </p><p id..., Element node <body><div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ </p><p id..., "anchorNode must not change if the node passed to extend() has the same root as the original range")
    at testExtend ( /selection/extend.js:145:9)
Pass
assert_equals(0, 0, "anchorOffset must not change if the node passed to extend() has the same root as the original range")
    at testExtend ( /selection/extend.js:147:9)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "focusNode must be the node passed to extend()")
    at testExtend ( /selection/extend.js:155:5)
Pass
assert_equals(1, 1, "focusOffset must be the offset passed to extend()")
    at testExtend ( /selection/extend.js:157:5)
Pass
assert_not_equals(object "Äb̈c̈d̈ëf̈g̈ḧ I", object "Äb̈c̈d̈ëf̈g̈ḧ Ijklmnop QrstuvwxYzabcdefGhijklmn", "extend() must replace any existing range with a new one, not mutate the existing one")
    at testExtend ( /selection/extend.js:159:5)
Passextend() backwards with range 19 [document.body, 0, document.body, 1] and point 10 [paras[1].firstChild, 1]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(Element node <body><div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ </p><p id..., Element node <body><div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ </p><p id..., "Sanity check: startContainer must be correct")
    at testExtend ( /selection/extend.js:80:5)
Pass
assert_equals(0, 0, "Sanity check: startOffset must be correct")
    at testExtend ( /selection/extend.js:82:5)
Pass
assert_equals(Element node <body><div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ </p><p id..., Element node <body><div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ </p><p id..., "Sanity check: endContainer must be correct")
    at testExtend ( /selection/extend.js:84:5)
Pass
assert_equals(1, 1, "Sanity check: endOffset must be correct")
    at testExtend ( /selection/extend.js:86:5)
Pass
assert_equals(Element node <body><div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ </p><p id..., Element node <body><div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ </p><p id..., "anchorNode must not change if the node passed to extend() has the same root as the original range")
    at testExtend ( /selection/extend.js:145:9)
Pass
assert_equals(1, 1, "anchorOffset must not change if the node passed to extend() has the same root as the original range")
    at testExtend ( /selection/extend.js:147:9)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "focusNode must be the node passed to extend()")
    at testExtend ( /selection/extend.js:155:5)
Pass
assert_equals(1, 1, "focusOffset must be the offset passed to extend()")
    at testExtend ( /selection/extend.js:157:5)
Pass
assert_not_equals(object "jklmnop QrstuvwxYzabcdefGhijklmn", object "Äb̈c̈d̈ëf̈g̈ḧ Ijklmnop QrstuvwxYzabcdefGhijklmn", "extend() must replace any existing range with a new one, not mutate the existing one")
    at testExtend ( /selection/extend.js:159:5)
Passextend() forwards with range 19 [document.body, 0, document.body, 1] and point 11 [paras[1].firstChild, 2]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(Element node <body><div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ </p><p id..., Element node <body><div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ </p><p id..., "Sanity check: startContainer must be correct")
    at testExtend ( /selection/extend.js:80:5)
Pass
assert_equals(0, 0, "Sanity check: startOffset must be correct")
    at testExtend ( /selection/extend.js:82:5)
Pass
assert_equals(Element node <body><div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ </p><p id..., Element node <body><div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ </p><p id..., "Sanity check: endContainer must be correct")
    at testExtend ( /selection/extend.js:84:5)
Pass
assert_equals(1, 1, "Sanity check: endOffset must be correct")
    at testExtend ( /selection/extend.js:86:5)
Pass
assert_equals(Element node <body><div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ </p><p id..., Element node <body><div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ </p><p id..., "anchorNode must not change if the node passed to extend() has the same root as the original range")
    at testExtend ( /selection/extend.js:145:9)
Pass
assert_equals(0, 0, "anchorOffset must not change if the node passed to extend() has the same root as the original range")
    at testExtend ( /selection/extend.js:147:9)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "focusNode must be the node passed to extend()")
    at testExtend ( /selection/extend.js:155:5)
Pass
assert_equals(2, 2, "focusOffset must be the offset passed to extend()")
    at testExtend ( /selection/extend.js:157:5)
Pass
assert_not_equals(object "Äb̈c̈d̈ëf̈g̈ḧ Ij", object "Äb̈c̈d̈ëf̈g̈ḧ Ijklmnop QrstuvwxYzabcdefGhijklmn", "extend() must replace any existing range with a new one, not mutate the existing one")
    at testExtend ( /selection/extend.js:159:5)
Passextend() backwards with range 19 [document.body, 0, document.body, 1] and point 11 [paras[1].firstChild, 2]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(Element node <body><div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ </p><p id..., Element node <body><div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ </p><p id..., "Sanity check: startContainer must be correct")
    at testExtend ( /selection/extend.js:80:5)
Pass
assert_equals(0, 0, "Sanity check: startOffset must be correct")
    at testExtend ( /selection/extend.js:82:5)
Pass
assert_equals(Element node <body><div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ </p><p id..., Element node <body><div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ </p><p id..., "Sanity check: endContainer must be correct")
    at testExtend ( /selection/extend.js:84:5)
Pass
assert_equals(1, 1, "Sanity check: endOffset must be correct")
    at testExtend ( /selection/extend.js:86:5)
Pass
assert_equals(Element node <body><div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ </p><p id..., Element node <body><div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ </p><p id..., "anchorNode must not change if the node passed to extend() has the same root as the original range")
    at testExtend ( /selection/extend.js:145:9)
Pass
assert_equals(1, 1, "anchorOffset must not change if the node passed to extend() has the same root as the original range")
    at testExtend ( /selection/extend.js:147:9)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "focusNode must be the node passed to extend()")
    at testExtend ( /selection/extend.js:155:5)
Pass
assert_equals(2, 2, "focusOffset must be the offset passed to extend()")
    at testExtend ( /selection/extend.js:157:5)
Pass
assert_not_equals(object "klmnop QrstuvwxYzabcdefGhijklmn", object "Äb̈c̈d̈ëf̈g̈ḧ Ijklmnop QrstuvwxYzabcdefGhijklmn", "extend() must replace any existing range with a new one, not mutate the existing one")
    at testExtend ( /selection/extend.js:159:5)
Passextend() forwards with range 19 [document.body, 0, document.body, 1] and point 12 [paras[1].firstChild, 8]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(Element node <body><div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ </p><p id..., Element node <body><div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ </p><p id..., "Sanity check: startContainer must be correct")
    at testExtend ( /selection/extend.js:80:5)
Pass
assert_equals(0, 0, "Sanity check: startOffset must be correct")
    at testExtend ( /selection/extend.js:82:5)
Pass
assert_equals(Element node <body><div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ </p><p id..., Element node <body><div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ </p><p id..., "Sanity check: endContainer must be correct")
    at testExtend ( /selection/extend.js:84:5)
Pass
assert_equals(1, 1, "Sanity check: endOffset must be correct")
    at testExtend ( /selection/extend.js:86:5)
Pass
assert_equals(Element node <body><div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ </p><p id..., Element node <body><div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ </p><p id..., "anchorNode must not change if the node passed to extend() has the same root as the original range")
    at testExtend ( /selection/extend.js:145:9)
Pass
assert_equals(0, 0, "anchorOffset must not change if the node passed to extend() has the same root as the original range")
    at testExtend ( /selection/extend.js:147:9)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "focusNode must be the node passed to extend()")
    at testExtend ( /selection/extend.js:155:5)
Pass
assert_equals(8, 8, "focusOffset must be the offset passed to extend()")
    at testExtend ( /selection/extend.js:157:5)
Pass
assert_not_equals(object "Äb̈c̈d̈ëf̈g̈ḧ Ijklmnop", object "Äb̈c̈d̈ëf̈g̈ḧ Ijklmnop QrstuvwxYzabcdefGhijklmn", "extend() must replace any existing range with a new one, not mutate the existing one")
    at testExtend ( /selection/extend.js:159:5)
Passextend() backwards with range 19 [document.body, 0, document.body, 1] and point 12 [paras[1].firstChild, 8]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(Element node <body><div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ </p><p id..., Element node <body><div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ </p><p id..., "Sanity check: startContainer must be correct")
    at testExtend ( /selection/extend.js:80:5)
Pass
assert_equals(0, 0, "Sanity check: startOffset must be correct")
    at testExtend ( /selection/extend.js:82:5)
Pass
assert_equals(Element node <body><div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ </p><p id..., Element node <body><div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ </p><p id..., "Sanity check: endContainer must be correct")
    at testExtend ( /selection/extend.js:84:5)
Pass
assert_equals(1, 1, "Sanity check: endOffset must be correct")
    at testExtend ( /selection/extend.js:86:5)
Pass
assert_equals(Element node <body><div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ </p><p id..., Element node <body><div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ </p><p id..., "anchorNode must not change if the node passed to extend() has the same root as the original range")
    at testExtend ( /selection/extend.js:145:9)
Pass
assert_equals(1, 1, "anchorOffset must not change if the node passed to extend() has the same root as the original range")
    at testExtend ( /selection/extend.js:147:9)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "focusNode must be the node passed to extend()")
    at testExtend ( /selection/extend.js:155:5)
Pass
assert_equals(8, 8, "focusOffset must be the offset passed to extend()")
    at testExtend ( /selection/extend.js:157:5)
Pass
assert_not_equals(object " QrstuvwxYzabcdefGhijklmn", object "Äb̈c̈d̈ëf̈g̈ḧ Ijklmnop QrstuvwxYzabcdefGhijklmn", "extend() must replace any existing range with a new one, not mutate the existing one")
    at testExtend ( /selection/extend.js:159:5)
Passextend() forwards with range 19 [document.body, 0, document.body, 1] and point 13 [paras[1].firstChild, 9]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(Element node <body><div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ </p><p id..., Element node <body><div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ </p><p id..., "Sanity check: startContainer must be correct")
    at testExtend ( /selection/extend.js:80:5)
Pass
assert_equals(0, 0, "Sanity check: startOffset must be correct")
    at testExtend ( /selection/extend.js:82:5)
Pass
assert_equals(Element node <body><div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ </p><p id..., Element node <body><div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ </p><p id..., "Sanity check: endContainer must be correct")
    at testExtend ( /selection/extend.js:84:5)
Pass
assert_equals(1, 1, "Sanity check: endOffset must be correct")
    at testExtend ( /selection/extend.js:86:5)
Pass
assert_equals(Element node <body><div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ </p><p id..., Element node <body><div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ </p><p id..., "anchorNode must not change if the node passed to extend() has the same root as the original range")
    at testExtend ( /selection/extend.js:145:9)
Pass
assert_equals(0, 0, "anchorOffset must not change if the node passed to extend() has the same root as the original range")
    at testExtend ( /selection/extend.js:147:9)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "focusNode must be the node passed to extend()")
    at testExtend ( /selection/extend.js:155:5)
Pass
assert_equals(9, 9, "focusOffset must be the offset passed to extend()")
    at testExtend ( /selection/extend.js:157:5)
Pass
assert_not_equals(object "Äb̈c̈d̈ëf̈g̈ḧ Ijklmnop ", object "Äb̈c̈d̈ëf̈g̈ḧ Ijklmnop QrstuvwxYzabcdefGhijklmn", "extend() must replace any existing range with a new one, not mutate the existing one")
    at testExtend ( /selection/extend.js:159:5)
Passextend() backwards with range 19 [document.body, 0, document.body, 1] and point 13 [paras[1].firstChild, 9]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(Element node <body><div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ </p><p id..., Element node <body><div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ </p><p id..., "Sanity check: startContainer must be correct")
    at testExtend ( /selection/extend.js:80:5)
Pass
assert_equals(0, 0, "Sanity check: startOffset must be correct")
    at testExtend ( /selection/extend.js:82:5)
Pass
assert_equals(Element node <body><div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ </p><p id..., Element node <body><div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ </p><p id..., "Sanity check: endContainer must be correct")
    at testExtend ( /selection/extend.js:84:5)
Pass
assert_equals(1, 1, "Sanity check: endOffset must be correct")
    at testExtend ( /selection/extend.js:86:5)
Pass
assert_equals(Element node <body><div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ </p><p id..., Element node <body><div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ </p><p id..., "anchorNode must not change if the node passed to extend() has the same root as the original range")
    at testExtend ( /selection/extend.js:145:9)
Pass
assert_equals(1, 1, "anchorOffset must not change if the node passed to extend() has the same root as the original range")
    at testExtend ( /selection/extend.js:147:9)
Pass
assert_equals(Text node "Ijklmnop ", Text node "Ijklmnop ", "focusNode must be the node passed to extend()")
    at testExtend ( /selection/extend.js:155:5)
Pass
assert_equals(9, 9, "focusOffset must be the offset passed to extend()")
    at testExtend ( /selection/extend.js:157:5)
Pass
assert_not_equals(object "QrstuvwxYzabcdefGhijklmn", object "Äb̈c̈d̈ëf̈g̈ḧ Ijklmnop QrstuvwxYzabcdefGhijklmn", "extend() must replace any existing range with a new one, not mutate the existing one")
    at testExtend ( /selection/extend.js:159:5)
Passextend() forwards with range 19 [document.body, 0, document.body, 1] and point 14 [paras[1].firstChild, 10]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(Element node <body><div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ </p><p id..., Element node <body><div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ </p><p id..., "Sanity check: startContainer must be correct")
    at testExtend ( /selection/extend.js:80:5)
Pass
assert_equals(0, 0, "Sanity check: startOffset must be correct")
    at testExtend ( /selection/extend.js:82:5)
Pass
assert_equals(Element node <body><div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ </p><p id..., Element node <body><div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ </p><p id..., "Sanity check: endContainer must be correct")
    at testExtend ( /selection/extend.js:84:5)
Pass
assert_equals(1, 1, "Sanity check: endOffset must be correct")
    at testExtend ( /selection/extend.js:86:5)
Pass
assert_throws_dom("INDEX_SIZE_ERR", function "function() {             selection.extend(node, offset);         }", "extend() to an offset that's greater than node length (9) must throw IndexSizeError")
    at testExtend ( /selection/extend.js:117:9)
Passextend() backwards with range 19 [document.body, 0, document.body, 1] and point 14 [paras[1].firstChild, 10]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(Element node <body><div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ </p><p id..., Element node <body><div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ </p><p id..., "Sanity check: startContainer must be correct")
    at testExtend ( /selection/extend.js:80:5)
Pass
assert_equals(0, 0, "Sanity check: startOffset must be correct")
    at testExtend ( /selection/extend.js:82:5)
Pass
assert_equals(Element node <body><div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ </p><p id..., Element node <body><div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ </p><p id..., "Sanity check: endContainer must be correct")
    at testExtend ( /selection/extend.js:84:5)
Pass
assert_equals(1, 1, "Sanity check: endOffset must be correct")
    at testExtend ( /selection/extend.js:86:5)
Pass
assert_throws_dom("INDEX_SIZE_ERR", function "function() {             selection.extend(node, offset);         }", "extend() to an offset that's greater than node length (9) must throw IndexSizeError")
    at testExtend ( /selection/extend.js:117:9)
Passextend() forwards with range 19 [document.body, 0, document.body, 1] and point 15 [paras[1].firstChild, 65535]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(Element node <body><div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ </p><p id..., Element node <body><div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ </p><p id..., "Sanity check: startContainer must be correct")
    at testExtend ( /selection/extend.js:80:5)
Pass
assert_equals(0, 0, "Sanity check: startOffset must be correct")
    at testExtend ( /selection/extend.js:82:5)
Pass
assert_equals(Element node <body><div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ </p><p id..., Element node <body><div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ </p><p id..., "Sanity check: endContainer must be correct")
    at testExtend ( /selection/extend.js:84:5)
Pass
assert_equals(1, 1, "Sanity check: endOffset must be correct")
    at testExtend ( /selection/extend.js:86:5)
Pass
assert_throws_dom("INDEX_SIZE_ERR", function "function() {             selection.extend(node, offset);         }", "extend() to an offset that's greater than node length (9) must throw IndexSizeError")
    at testExtend ( /selection/extend.js:117:9)
Passextend() backwards with range 19 [document.body, 0, document.body, 1] and point 15 [paras[1].firstChild, 65535]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(Element node <body><div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ </p><p id..., Element node <body><div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ </p><p id..., "Sanity check: startContainer must be correct")
    at testExtend ( /selection/extend.js:80:5)
Pass
assert_equals(0, 0, "Sanity check: startOffset must be correct")
    at testExtend ( /selection/extend.js:82:5)
Pass
assert_equals(Element node <body><div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ </p><p id..., Element node <body><div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ </p><p id..., "Sanity check: endContainer must be correct")
    at testExtend ( /selection/extend.js:84:5)
Pass
assert_equals(1, 1, "Sanity check: endOffset must be correct")
    at testExtend ( /selection/extend.js:86:5)
Pass
assert_throws_dom("INDEX_SIZE_ERR", function "function() {             selection.extend(node, offset);         }", "extend() to an offset that's greater than node length (9) must throw IndexSizeError")
    at testExtend ( /selection/extend.js:117:9)
Passextend() forwards with range 19 [document.body, 0, document.body, 1] and point 16 [detachedPara1.firstChild, 0]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(1, 1, "The operation should not add Range")
    at assertSelectionNoChange ( /selection/common.js:976:5)
Pass
assert_equals(Element node <body><div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ </p><p id..., Element node <body><div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ </p><p id..., "The operation should not update anchorNode")
    at assertSelectionNoChange ( /selection/common.js:978:5)
Pass
assert_equals(0, 0, "The operation should not update anchorOffset")
    at assertSelectionNoChange ( /selection/common.js:980:5)
Pass
assert_equals(Element node <body><div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ </p><p id..., Element node <body><div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ </p><p id..., "The operation should not update focusNode")
    at assertSelectionNoChange ( /selection/common.js:982:5)
Pass
assert_equals(1, 1, "The operation should not update focusOffset")
    at assertSelectionNoChange ( /selection/common.js:984:5)
Pass
assert_equals(object "Äb̈c̈d̈ëf̈g̈ḧ Ijklmnop QrstuvwxYzabcdefGhijklmn", object "Äb̈c̈d̈ëf̈g̈ḧ Ijklmnop QrstuvwxYzabcdefGhijklmn", "The operation should not replace a registered Range")
    at assertSelectionNoChange ( /selection/common.js:988:5)
Passextend() backwards with range 19 [document.body, 0, document.body, 1] and point 16 [detachedPara1.firstChild, 0]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(1, 1, "The operation should not add Range")
    at assertSelectionNoChange ( /selection/common.js:976:5)
Pass
assert_equals(Element node <body><div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ </p><p id..., Element node <body><div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ </p><p id..., "The operation should not update anchorNode")
    at assertSelectionNoChange ( /selection/common.js:978:5)
Pass
assert_equals(1, 1, "The operation should not update anchorOffset")
    at assertSelectionNoChange ( /selection/common.js:980:5)
Pass
assert_equals(Element node <body><div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ </p><p id..., Element node <body><div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ </p><p id..., "The operation should not update focusNode")
    at assertSelectionNoChange ( /selection/common.js:982:5)
Pass
assert_equals(0, 0, "The operation should not update focusOffset")
    at assertSelectionNoChange ( /selection/common.js:984:5)
Pass
assert_equals(object "Äb̈c̈d̈ëf̈g̈ḧ Ijklmnop QrstuvwxYzabcdefGhijklmn", object "Äb̈c̈d̈ëf̈g̈ḧ Ijklmnop QrstuvwxYzabcdefGhijklmn", "The operation should not replace a registered Range")
    at assertSelectionNoChange ( /selection/common.js:988:5)
Passextend() forwards with range 19 [document.body, 0, document.body, 1] and point 17 [detachedPara1.firstChild, 1]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(1, 1, "The operation should not add Range")
    at assertSelectionNoChange ( /selection/common.js:976:5)
Pass
assert_equals(Element node <body><div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ </p><p id..., Element node <body><div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ </p><p id..., "The operation should not update anchorNode")
    at assertSelectionNoChange ( /selection/common.js:978:5)
Pass
assert_equals(0, 0, "The operation should not update anchorOffset")
    at assertSelectionNoChange ( /selection/common.js:980:5)
Pass
assert_equals(Element node <body><div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ </p><p id..., Element node <body><div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ </p><p id..., "The operation should not update focusNode")
    at assertSelectionNoChange ( /selection/common.js:982:5)
Pass
assert_equals(1, 1, "The operation should not update focusOffset")
    at assertSelectionNoChange ( /selection/common.js:984:5)
Pass
assert_equals(object "Äb̈c̈d̈ëf̈g̈ḧ Ijklmnop QrstuvwxYzabcdefGhijklmn", object "Äb̈c̈d̈ëf̈g̈ḧ Ijklmnop QrstuvwxYzabcdefGhijklmn", "The operation should not replace a registered Range")
    at assertSelectionNoChange ( /selection/common.js:988:5)
Passextend() backwards with range 19 [document.body, 0, document.body, 1] and point 17 [detachedPara1.firstChild, 1]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(1, 1, "The operation should not add Range")
    at assertSelectionNoChange ( /selection/common.js:976:5)
Pass
assert_equals(Element node <body><div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ </p><p id..., Element node <body><div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ </p><p id..., "The operation should not update anchorNode")
    at assertSelectionNoChange ( /selection/common.js:978:5)
Pass
assert_equals(1, 1, "The operation should not update anchorOffset")
    at assertSelectionNoChange ( /selection/common.js:980:5)
Pass
assert_equals(Element node <body><div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ </p><p id..., Element node <body><div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ </p><p id..., "The operation should not update focusNode")
    at assertSelectionNoChange ( /selection/common.js:982:5)
Pass
assert_equals(0, 0, "The operation should not update focusOffset")
    at assertSelectionNoChange ( /selection/common.js:984:5)
Pass
assert_equals(object "Äb̈c̈d̈ëf̈g̈ḧ Ijklmnop QrstuvwxYzabcdefGhijklmn", object "Äb̈c̈d̈ëf̈g̈ḧ Ijklmnop QrstuvwxYzabcdefGhijklmn", "The operation should not replace a registered Range")
    at assertSelectionNoChange ( /selection/common.js:988:5)
Passextend() forwards with range 19 [document.body, 0, document.body, 1] and point 18 [detachedPara1.firstChild, 8]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(1, 1, "The operation should not add Range")
    at assertSelectionNoChange ( /selection/common.js:976:5)
Pass
assert_equals(Element node <body><div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ </p><p id..., Element node <body><div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ </p><p id..., "The operation should not update anchorNode")
    at assertSelectionNoChange ( /selection/common.js:978:5)
Pass
assert_equals(0, 0, "The operation should not update anchorOffset")
    at assertSelectionNoChange ( /selection/common.js:980:5)
Pass
assert_equals(Element node <body><div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ </p><p id..., Element node <body><div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ </p><p id..., "The operation should not update focusNode")
    at assertSelectionNoChange ( /selection/common.js:982:5)
Pass
assert_equals(1, 1, "The operation should not update focusOffset")
    at assertSelectionNoChange ( /selection/common.js:984:5)
Pass
assert_equals(object "Äb̈c̈d̈ëf̈g̈ḧ Ijklmnop QrstuvwxYzabcdefGhijklmn", object "Äb̈c̈d̈ëf̈g̈ḧ Ijklmnop QrstuvwxYzabcdefGhijklmn", "The operation should not replace a registered Range")
    at assertSelectionNoChange ( /selection/common.js:988:5)
Passextend() backwards with range 19 [document.body, 0, document.body, 1] and point 18 [detachedPara1.firstChild, 8]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(1, 1, "The operation should not add Range")
    at assertSelectionNoChange ( /selection/common.js:976:5)
Pass
assert_equals(Element node <body><div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ </p><p id..., Element node <body><div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ </p><p id..., "The operation should not update anchorNode")
    at assertSelectionNoChange ( /selection/common.js:978:5)
Pass
assert_equals(1, 1, "The operation should not update anchorOffset")
    at assertSelectionNoChange ( /selection/common.js:980:5)
Pass
assert_equals(Element node <body><div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ </p><p id..., Element node <body><div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ </p><p id..., "The operation should not update focusNode")
    at assertSelectionNoChange ( /selection/common.js:982:5)
Pass
assert_equals(0, 0, "The operation should not update focusOffset")
    at assertSelectionNoChange ( /selection/common.js:984:5)
Pass
assert_equals(object "Äb̈c̈d̈ëf̈g̈ḧ Ijklmnop QrstuvwxYzabcdefGhijklmn", object "Äb̈c̈d̈ëf̈g̈ḧ Ijklmnop QrstuvwxYzabcdefGhijklmn", "The operation should not replace a registered Range")
    at assertSelectionNoChange ( /selection/common.js:988:5)
Passextend() forwards with range 19 [document.body, 0, document.body, 1] and point 19 [detachedPara1.firstChild, 9]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(1, 1, "The operation should not add Range")
    at assertSelectionNoChange ( /selection/common.js:976:5)
Pass
assert_equals(Element node <body><div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ </p><p id..., Element node <body><div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ </p><p id..., "The operation should not update anchorNode")
    at assertSelectionNoChange ( /selection/common.js:978:5)
Pass
assert_equals(0, 0, "The operation should not update anchorOffset")
    at assertSelectionNoChange ( /selection/common.js:980:5)
Pass
assert_equals(Element node <body><div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ </p><p id..., Element node <body><div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ </p><p id..., "The operation should not update focusNode")
    at assertSelectionNoChange ( /selection/common.js:982:5)
Pass
assert_equals(1, 1, "The operation should not update focusOffset")
    at assertSelectionNoChange ( /selection/common.js:984:5)
Pass
assert_equals(object "Äb̈c̈d̈ëf̈g̈ḧ Ijklmnop QrstuvwxYzabcdefGhijklmn", object "Äb̈c̈d̈ëf̈g̈ḧ Ijklmnop QrstuvwxYzabcdefGhijklmn", "The operation should not replace a registered Range")
    at assertSelectionNoChange ( /selection/common.js:988:5)
Passextend() backwards with range 19 [document.body, 0, document.body, 1] and point 19 [detachedPara1.firstChild, 9]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(1, 1, "The operation should not add Range")
    at assertSelectionNoChange ( /selection/common.js:976:5)
Pass
assert_equals(Element node <body><div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ </p><p id..., Element node <body><div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ </p><p id..., "The operation should not update anchorNode")
    at assertSelectionNoChange ( /selection/common.js:978:5)
Pass
assert_equals(1, 1, "The operation should not update anchorOffset")
    at assertSelectionNoChange ( /selection/common.js:980:5)
Pass
assert_equals(Element node <body><div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ </p><p id..., Element node <body><div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ </p><p id..., "The operation should not update focusNode")
    at assertSelectionNoChange ( /selection/common.js:982:5)
Pass
assert_equals(0, 0, "The operation should not update focusOffset")
    at assertSelectionNoChange ( /selection/common.js:984:5)
Pass
assert_equals(object "Äb̈c̈d̈ëf̈g̈ḧ Ijklmnop QrstuvwxYzabcdefGhijklmn", object "Äb̈c̈d̈ëf̈g̈ḧ Ijklmnop QrstuvwxYzabcdefGhijklmn", "The operation should not replace a registered Range")
    at assertSelectionNoChange ( /selection/common.js:988:5)
Passextend() forwards with range 19 [document.body, 0, document.body, 1] and point 20 [foreignPara1.firstChild, 0]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(1, 1, "The operation should not add Range")
    at assertSelectionNoChange ( /selection/common.js:976:5)
Pass
assert_equals(Element node <body><div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ </p><p id..., Element node <body><div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ </p><p id..., "The operation should not update anchorNode")
    at assertSelectionNoChange ( /selection/common.js:978:5)
Pass
assert_equals(0, 0, "The operation should not update anchorOffset")
    at assertSelectionNoChange ( /selection/common.js:980:5)
Pass
assert_equals(Element node <body><div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ </p><p id..., Element node <body><div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ </p><p id..., "The operation should not update focusNode")
    at assertSelectionNoChange ( /selection/common.js:982:5)
Pass
assert_equals(1, 1, "The operation should not update focusOffset")
    at assertSelectionNoChange ( /selection/common.js:984:5)
Pass
assert_equals(object "Äb̈c̈d̈ëf̈g̈ḧ Ijklmnop QrstuvwxYzabcdefGhijklmn", object "Äb̈c̈d̈ëf̈g̈ḧ Ijklmnop QrstuvwxYzabcdefGhijklmn", "The operation should not replace a registered Range")
    at assertSelectionNoChange ( /selection/common.js:988:5)
Passextend() backwards with range 19 [document.body, 0, document.body, 1] and point 20 [foreignPara1.firstChild, 0]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(1, 1, "The operation should not add Range")
    at assertSelectionNoChange ( /selection/common.js:976:5)
Pass
assert_equals(Element node <body><div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ </p><p id..., Element node <body><div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ </p><p id..., "The operation should not update anchorNode")
    at assertSelectionNoChange ( /selection/common.js:978:5)
Pass
assert_equals(1, 1, "The operation should not update anchorOffset")
    at assertSelectionNoChange ( /selection/common.js:980:5)
Pass
assert_equals(Element node <body><div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ </p><p id..., Element node <body><div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ </p><p id..., "The operation should not update focusNode")
    at assertSelectionNoChange ( /selection/common.js:982:5)
Pass
assert_equals(0, 0, "The operation should not update focusOffset")
    at assertSelectionNoChange ( /selection/common.js:984:5)
Pass
assert_equals(object "Äb̈c̈d̈ëf̈g̈ḧ Ijklmnop QrstuvwxYzabcdefGhijklmn", object "Äb̈c̈d̈ëf̈g̈ḧ Ijklmnop QrstuvwxYzabcdefGhijklmn", "The operation should not replace a registered Range")
    at assertSelectionNoChange ( /selection/common.js:988:5)
Passextend() forwards with range 19 [document.body, 0, document.body, 1] and point 21 [foreignPara1.firstChild, 1]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(1, 1, "The operation should not add Range")
    at assertSelectionNoChange ( /selection/common.js:976:5)
Pass
assert_equals(Element node <body><div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ </p><p id..., Element node <body><div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ </p><p id..., "The operation should not update anchorNode")
    at assertSelectionNoChange ( /selection/common.js:978:5)
Pass
assert_equals(0, 0, "The operation should not update anchorOffset")
    at assertSelectionNoChange ( /selection/common.js:980:5)
Pass
assert_equals(Element node <body><div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ </p><p id..., Element node <body><div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ </p><p id..., "The operation should not update focusNode")
    at assertSelectionNoChange ( /selection/common.js:982:5)
Pass
assert_equals(1, 1, "The operation should not update focusOffset")
    at assertSelectionNoChange ( /selection/common.js:984:5)
Pass
assert_equals(object "Äb̈c̈d̈ëf̈g̈ḧ Ijklmnop QrstuvwxYzabcdefGhijklmn", object "Äb̈c̈d̈ëf̈g̈ḧ Ijklmnop QrstuvwxYzabcdefGhijklmn", "The operation should not replace a registered Range")
    at assertSelectionNoChange ( /selection/common.js:988:5)
Passextend() backwards with range 19 [document.body, 0, document.body, 1] and point 21 [foreignPara1.firstChild, 1]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(1, 1, "The operation should not add Range")
    at assertSelectionNoChange ( /selection/common.js:976:5)
Pass
assert_equals(Element node <body><div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ </p><p id..., Element node <body><div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ </p><p id..., "The operation should not update anchorNode")
    at assertSelectionNoChange ( /selection/common.js:978:5)
Pass
assert_equals(1, 1, "The operation should not update anchorOffset")
    at assertSelectionNoChange ( /selection/common.js:980:5)
Pass
assert_equals(Element node <body><div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ </p><p id..., Element node <body><div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ </p><p id..., "The operation should not update focusNode")
    at assertSelectionNoChange ( /selection/common.js:982:5)
Pass
assert_equals(0, 0, "The operation should not update focusOffset")
    at assertSelectionNoChange ( /selection/common.js:984:5)
Pass
assert_equals(object "Äb̈c̈d̈ëf̈g̈ḧ Ijklmnop QrstuvwxYzabcdefGhijklmn", object "Äb̈c̈d̈ëf̈g̈ḧ Ijklmnop QrstuvwxYzabcdefGhijklmn", "The operation should not replace a registered Range")
    at assertSelectionNoChange ( /selection/common.js:988:5)
Passextend() forwards with range 19 [document.body, 0, document.body, 1] and point 22 [foreignPara1.firstChild, 8]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(1, 1, "The operation should not add Range")
    at assertSelectionNoChange ( /selection/common.js:976:5)
Pass
assert_equals(Element node <body><div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ </p><p id..., Element node <body><div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ </p><p id..., "The operation should not update anchorNode")
    at assertSelectionNoChange ( /selection/common.js:978:5)
Pass
assert_equals(0, 0, "The operation should not update anchorOffset")
    at assertSelectionNoChange ( /selection/common.js:980:5)
Pass
assert_equals(Element node <body><div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ </p><p id..., Element node <body><div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ </p><p id..., "The operation should not update focusNode")
    at assertSelectionNoChange ( /selection/common.js:982:5)
Pass
assert_equals(1, 1, "The operation should not update focusOffset")
    at assertSelectionNoChange ( /selection/common.js:984:5)
Pass
assert_equals(object "Äb̈c̈d̈ëf̈g̈ḧ Ijklmnop QrstuvwxYzabcdefGhijklmn", object "Äb̈c̈d̈ëf̈g̈ḧ Ijklmnop QrstuvwxYzabcdefGhijklmn", "The operation should not replace a registered Range")
    at assertSelectionNoChange ( /selection/common.js:988:5)
Passextend() backwards with range 19 [document.body, 0, document.body, 1] and point 22 [foreignPara1.firstChild, 8]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(1, 1, "The operation should not add Range")
    at assertSelectionNoChange ( /selection/common.js:976:5)
Pass
assert_equals(Element node <body><div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ </p><p id..., Element node <body><div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ </p><p id..., "The operation should not update anchorNode")
    at assertSelectionNoChange ( /selection/common.js:978:5)
Pass
assert_equals(1, 1, "The operation should not update anchorOffset")
    at assertSelectionNoChange ( /selection/common.js:980:5)
Pass
assert_equals(Element node <body><div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ </p><p id..., Element node <body><div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ </p><p id..., "The operation should not update focusNode")
    at assertSelectionNoChange ( /selection/common.js:982:5)
Pass
assert_equals(0, 0, "The operation should not update focusOffset")
    at assertSelectionNoChange ( /selection/common.js:984:5)
Pass
assert_equals(object "Äb̈c̈d̈ëf̈g̈ḧ Ijklmnop QrstuvwxYzabcdefGhijklmn", object "Äb̈c̈d̈ëf̈g̈ḧ Ijklmnop QrstuvwxYzabcdefGhijklmn", "The operation should not replace a registered Range")
    at assertSelectionNoChange ( /selection/common.js:988:5)
Passextend() forwards with range 19 [document.body, 0, document.body, 1] and point 23 [foreignPara1.firstChild, 9]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(1, 1, "The operation should not add Range")
    at assertSelectionNoChange ( /selection/common.js:976:5)
Pass
assert_equals(Element node <body><div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ </p><p id..., Element node <body><div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ </p><p id..., "The operation should not update anchorNode")
    at assertSelectionNoChange ( /selection/common.js:978:5)
Pass
assert_equals(0, 0, "The operation should not update anchorOffset")
    at assertSelectionNoChange ( /selection/common.js:980:5)
Pass
assert_equals(Element node <body><div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ </p><p id..., Element node <body><div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ </p><p id..., "The operation should not update focusNode")
    at assertSelectionNoChange ( /selection/common.js:982:5)
Pass
assert_equals(1, 1, "The operation should not update focusOffset")
    at assertSelectionNoChange ( /selection/common.js:984:5)
Pass
assert_equals(object "Äb̈c̈d̈ëf̈g̈ḧ Ijklmnop QrstuvwxYzabcdefGhijklmn", object "Äb̈c̈d̈ëf̈g̈ḧ Ijklmnop QrstuvwxYzabcdefGhijklmn", "The operation should not replace a registered Range")
    at assertSelectionNoChange ( /selection/common.js:988:5)
Passextend() backwards with range 19 [document.body, 0, document.body, 1] and point 23 [foreignPara1.firstChild, 9]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(1, 1, "The operation should not add Range")
    at assertSelectionNoChange ( /selection/common.js:976:5)
Pass
assert_equals(Element node <body><div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ </p><p id..., Element node <body><div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ </p><p id..., "The operation should not update anchorNode")
    at assertSelectionNoChange ( /selection/common.js:978:5)
Pass
assert_equals(1, 1, "The operation should not update anchorOffset")
    at assertSelectionNoChange ( /selection/common.js:980:5)
Pass
assert_equals(Element node <body><div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ </p><p id..., Element node <body><div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ </p><p id..., "The operation should not update focusNode")
    at assertSelectionNoChange ( /selection/common.js:982:5)
Pass
assert_equals(0, 0, "The operation should not update focusOffset")
    at assertSelectionNoChange ( /selection/common.js:984:5)
Pass
assert_equals(object "Äb̈c̈d̈ëf̈g̈ḧ Ijklmnop QrstuvwxYzabcdefGhijklmn", object "Äb̈c̈d̈ëf̈g̈ḧ Ijklmnop QrstuvwxYzabcdefGhijklmn", "The operation should not replace a registered Range")
    at assertSelectionNoChange ( /selection/common.js:988:5)
Passextend() forwards with range 19 [document.body, 0, document.body, 1] and point 24 [document.documentElement, -1]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(Element node <body><div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ </p><p id..., Element node <body><div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ </p><p id..., "Sanity check: startContainer must be correct")
    at testExtend ( /selection/extend.js:80:5)
Pass
assert_equals(0, 0, "Sanity check: startOffset must be correct")
    at testExtend ( /selection/extend.js:82:5)
Pass
assert_equals(Element node <body><div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ </p><p id..., Element node <body><div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ </p><p id..., "Sanity check: endContainer must be correct")
    at testExtend ( /selection/extend.js:84:5)
Pass
assert_equals(1, 1, "Sanity check: endOffset must be correct")
    at testExtend ( /selection/extend.js:86:5)
Pass
assert_throws_dom("INDEX_SIZE_ERR", function "function() {             selection.extend(node, offset);         }", "extend() to an offset that's greater than node length (2) must throw IndexSizeError")
    at testExtend ( /selection/extend.js:117:9)
Passextend() backwards with range 19 [document.body, 0, document.body, 1] and point 24 [document.documentElement, -1]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(Element node <body><div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ </p><p id..., Element node <body><div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ </p><p id..., "Sanity check: startContainer must be correct")
    at testExtend ( /selection/extend.js:80:5)
Pass
assert_equals(0, 0, "Sanity check: startOffset must be correct")
    at testExtend ( /selection/extend.js:82:5)
Pass
assert_equals(Element node <body><div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ </p><p id..., Element node <body><div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ </p><p id..., "Sanity check: endContainer must be correct")
    at testExtend ( /selection/extend.js:84:5)
Pass
assert_equals(1, 1, "Sanity check: endOffset must be correct")
    at testExtend ( /selection/extend.js:86:5)
Pass
assert_throws_dom("INDEX_SIZE_ERR", function "function() {             selection.extend(node, offset);         }", "extend() to an offset that's greater than node length (2) must throw IndexSizeError")
    at testExtend ( /selection/extend.js:117:9)
Passextend() forwards with range 19 [document.body, 0, document.body, 1] and point 25 [document.documentElement, 0]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(Element node <body><div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ </p><p id..., Element node <body><div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ </p><p id..., "Sanity check: startContainer must be correct")
    at testExtend ( /selection/extend.js:80:5)
Pass
assert_equals(0, 0, "Sanity check: startOffset must be correct")
    at testExtend ( /selection/extend.js:82:5)
Pass
assert_equals(Element node <body><div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ </p><p id..., Element node <body><div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ </p><p id..., "Sanity check: endContainer must be correct")
    at testExtend ( /selection/extend.js:84:5)
Pass
assert_equals(1, 1, "Sanity check: endOffset must be correct")
    at testExtend ( /selection/extend.js:86:5)
Pass
assert_equals(Element node <body><div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ </p><p id..., Element node <body><div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ </p><p id..., "anchorNode must not change if the node passed to extend() has the same root as the original range")
    at testExtend ( /selection/extend.js:145:9)
Pass
assert_equals(0, 0, "anchorOffset must not change if the node passed to extend() has the same root as the original range")
    at testExtend ( /selection/extend.js:147:9)
Pass
assert_equals(Element node <html><head><title>Selection extend() tests</title> <meta..., Element node <html><head><title>Selection extend() tests</title> <meta..., "focusNode must be the node passed to extend()")
    at testExtend ( /selection/extend.js:155:5)
Pass
assert_equals(0, 0, "focusOffset must be the offset passed to extend()")
    at testExtend ( /selection/extend.js:157:5)
Pass
assert_not_equals(object "Selection extend() tests   ", object "Äb̈c̈d̈ëf̈g̈ḧ Ijklmnop QrstuvwxYzabcdefGhijklmn", "extend() must replace any existing range with a new one, not mutate the existing one")
    at testExtend ( /selection/extend.js:159:5)
Passextend() backwards with range 19 [document.body, 0, document.body, 1] and point 25 [document.documentElement, 0]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(Element node <body><div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ </p><p id..., Element node <body><div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ </p><p id..., "Sanity check: startContainer must be correct")
    at testExtend ( /selection/extend.js:80:5)
Pass
assert_equals(0, 0, "Sanity check: startOffset must be correct")
    at testExtend ( /selection/extend.js:82:5)
Pass
assert_equals(Element node <body><div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ </p><p id..., Element node <body><div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ </p><p id..., "Sanity check: endContainer must be correct")
    at testExtend ( /selection/extend.js:84:5)
Pass
assert_equals(1, 1, "Sanity check: endOffset must be correct")
    at testExtend ( /selection/extend.js:86:5)
Pass
assert_equals(Element node <body><div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ </p><p id..., Element node <body><div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ </p><p id..., "anchorNode must not change if the node passed to extend() has the same root as the original range")
    at testExtend ( /selection/extend.js:145:9)
Pass
assert_equals(1, 1, "anchorOffset must not change if the node passed to extend() has the same root as the original range")
    at testExtend ( /selection/extend.js:147:9)
Pass
assert_equals(Element node <html><head><title>Selection extend() tests</title> <meta..., Element node <html><head><title>Selection extend() tests</title> <meta..., "focusNode must be the node passed to extend()")
    at testExtend ( /selection/extend.js:155:5)
Pass
assert_equals(0, 0, "focusOffset must be the offset passed to extend()")
    at testExtend ( /selection/extend.js:157:5)
Pass
assert_not_equals(object "Selection extend() tests   Äb̈c̈d̈ëf̈g̈ḧ Ijklmnop QrstuvwxYzabcdefGhijklmn", object "Äb̈c̈d̈ëf̈g̈ḧ Ijklmnop QrstuvwxYzabcdefGhijklmn", "extend() must replace any existing range with a new one, not mutate the existing one")
    at testExtend ( /selection/extend.js:159:5)
Passextend() forwards with range 19 [document.body, 0, document.body, 1] and point 26 [document.documentElement, 1]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(Element node <body><div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ </p><p id..., Element node <body><div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ </p><p id..., "Sanity check: startContainer must be correct")
    at testExtend ( /selection/extend.js:80:5)
Pass
assert_equals(0, 0, "Sanity check: startOffset must be correct")
    at testExtend ( /selection/extend.js:82:5)
Pass
assert_equals(Element node <body><div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ </p><p id..., Element node <body><div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ </p><p id..., "Sanity check: endContainer must be correct")
    at testExtend ( /selection/extend.js:84:5)
Pass
assert_equals(1, 1, "Sanity check: endOffset must be correct")
    at testExtend ( /selection/extend.js:86:5)
Pass
assert_equals(Element node <body><div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ </p><p id..., Element node <body><div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ </p><p id..., "anchorNode must not change if the node passed to extend() has the same root as the original range")
    at testExtend ( /selection/extend.js:145:9)
Pass
assert_equals(0, 0, "anchorOffset must not change if the node passed to extend() has the same root as the original range")
    at testExtend ( /selection/extend.js:147:9)
Pass
assert_equals(Element node <html><head><title>Selection extend() tests</title> <meta..., Element node <html><head><title>Selection extend() tests</title> <meta..., "focusNode must be the node passed to extend()")
    at testExtend ( /selection/extend.js:155:5)
Pass
assert_equals(1, 1, "focusOffset must be the offset passed to extend()")
    at testExtend ( /selection/extend.js:157:5)
Pass
assert_not_equals(object "", object "Äb̈c̈d̈ëf̈g̈ḧ Ijklmnop QrstuvwxYzabcdefGhijklmn", "extend() must replace any existing range with a new one, not mutate the existing one")
    at testExtend ( /selection/extend.js:159:5)
Passextend() backwards with range 19 [document.body, 0, document.body, 1] and point 26 [document.documentElement, 1]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(Element node <body><div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ </p><p id..., Element node <body><div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ </p><p id..., "Sanity check: startContainer must be correct")
    at testExtend ( /selection/extend.js:80:5)
Pass
assert_equals(0, 0, "Sanity check: startOffset must be correct")
    at testExtend ( /selection/extend.js:82:5)
Pass
assert_equals(Element node <body><div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ </p><p id..., Element node <body><div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ </p><p id..., "Sanity check: endContainer must be correct")
    at testExtend ( /selection/extend.js:84:5)
Pass
assert_equals(1, 1, "Sanity check: endOffset must be correct")
    at testExtend ( /selection/extend.js:86:5)
Pass
assert_equals(Element node <body><div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ </p><p id..., Element node <body><div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ </p><p id..., "anchorNode must not change if the node passed to extend() has the same root as the original range")
    at testExtend ( /selection/extend.js:145:9)
Pass
assert_equals(1, 1, "anchorOffset must not change if the node passed to extend() has the same root as the original range")
    at testExtend ( /selection/extend.js:147:9)
Pass
assert_equals(Element node <html><head><title>Selection extend() tests</title> <meta..., Element node <html><head><title>Selection extend() tests</title> <meta..., "focusNode must be the node passed to extend()")
    at testExtend ( /selection/extend.js:155:5)
Pass
assert_equals(1, 1, "focusOffset must be the offset passed to extend()")
    at testExtend ( /selection/extend.js:157:5)
Pass
assert_not_equals(object "Äb̈c̈d̈ëf̈g̈ḧ Ijklmnop QrstuvwxYzabcdefGhijklmn", object "Äb̈c̈d̈ëf̈g̈ḧ Ijklmnop QrstuvwxYzabcdefGhijklmn", "extend() must replace any existing range with a new one, not mutate the existing one")
    at testExtend ( /selection/extend.js:159:5)
Passextend() forwards with range 19 [document.body, 0, document.body, 1] and point 27 [document.documentElement, 2]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(Element node <body><div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ </p><p id..., Element node <body><div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ </p><p id..., "Sanity check: startContainer must be correct")
    at testExtend ( /selection/extend.js:80:5)
Pass
assert_equals(0, 0, "Sanity check: startOffset must be correct")
    at testExtend ( /selection/extend.js:82:5)
Pass
assert_equals(Element node <body><div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ </p><p id..., Element node <body><div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ </p><p id..., "Sanity check: endContainer must be correct")
    at testExtend ( /selection/extend.js:84:5)
Pass
assert_equals(1, 1, "Sanity check: endOffset must be correct")
    at testExtend ( /selection/extend.js:86:5)
Pass
assert_equals(Element node <body><div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ </p><p id..., Element node <body><div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ </p><p id..., "anchorNode must not change if the node passed to extend() has the same root as the original range")
    at testExtend ( /selection/extend.js:145:9)
Pass
assert_equals(0, 0, "anchorOffset must not change if the node passed to extend() has the same root as the original range")
    at testExtend ( /selection/extend.js:147:9)
Pass
assert_equals(Element node <html><head><title>Selection extend() tests</title> <meta..., Element node <html><head><title>Selection extend() tests</title> <meta..., "focusNode must be the node passed to extend()")
    at testExtend ( /selection/extend.js:155:5)
Pass
assert_equals(2, 2, "focusOffset must be the offset passed to extend()")
    at testExtend ( /selection/extend.js:157:5)
Pass
assert_not_equals(object "Äb̈c̈d̈ëf̈g̈ḧ Ijklmnop QrstuvwxYzabcdefGhijklmn     Running, 1000 complete, 1 remain  "use strict";  testExtendSubSet(0, 20); testDiv.style.display = "none"; ", object "Äb̈c̈d̈ëf̈g̈ḧ Ijklmnop QrstuvwxYzabcdefGhijklmn", "extend() must replace any existing range with a new one, not mutate the existing one")
    at testExtend ( /selection/extend.js:159:5)
Passextend() backwards with range 19 [document.body, 0, document.body, 1] and point 27 [document.documentElement, 2]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(Element node <body><div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ </p><p id..., Element node <body><div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ </p><p id..., "Sanity check: startContainer must be correct")
    at testExtend ( /selection/extend.js:80:5)
Pass
assert_equals(0, 0, "Sanity check: startOffset must be correct")
    at testExtend ( /selection/extend.js:82:5)
Pass
assert_equals(Element node <body><div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ </p><p id..., Element node <body><div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ </p><p id..., "Sanity check: endContainer must be correct")
    at testExtend ( /selection/extend.js:84:5)
Pass
assert_equals(1, 1, "Sanity check: endOffset must be correct")
    at testExtend ( /selection/extend.js:86:5)
Pass
assert_equals(Element node <body><div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ </p><p id..., Element node <body><div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ </p><p id..., "anchorNode must not change if the node passed to extend() has the same root as the original range")
    at testExtend ( /selection/extend.js:145:9)
Pass
assert_equals(1, 1, "anchorOffset must not change if the node passed to extend() has the same root as the original range")
    at testExtend ( /selection/extend.js:147:9)
Pass
assert_equals(Element node <html><head><title>Selection extend() tests</title> <meta..., Element node <html><head><title>Selection extend() tests</title> <meta..., "focusNode must be the node passed to extend()")
    at testExtend ( /selection/extend.js:155:5)
Pass
assert_equals(2, 2, "focusOffset must be the offset passed to extend()")
    at testExtend ( /selection/extend.js:157:5)
Pass
assert_not_equals(object "     Running, 1000 complete, 1 remain  "use strict";  testExtendSubSet(0, 20); testDiv.style.display = "none"; ", object "Äb̈c̈d̈ëf̈g̈ḧ Ijklmnop QrstuvwxYzabcdefGhijklmn", "extend() must replace any existing range with a new one, not mutate the existing one")
    at testExtend ( /selection/extend.js:159:5)
Passextend() forwards with range 19 [document.body, 0, document.body, 1] and point 28 [document.documentElement, 7]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(Element node <body><div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ </p><p id..., Element node <body><div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ </p><p id..., "Sanity check: startContainer must be correct")
    at testExtend ( /selection/extend.js:80:5)
Pass
assert_equals(0, 0, "Sanity check: startOffset must be correct")
    at testExtend ( /selection/extend.js:82:5)
Pass
assert_equals(Element node <body><div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ </p><p id..., Element node <body><div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ </p><p id..., "Sanity check: endContainer must be correct")
    at testExtend ( /selection/extend.js:84:5)
Pass
assert_equals(1, 1, "Sanity check: endOffset must be correct")
    at testExtend ( /selection/extend.js:86:5)
Pass
assert_throws_dom("INDEX_SIZE_ERR", function "function() {             selection.extend(node, offset);         }", "extend() to an offset that's greater than node length (2) must throw IndexSizeError")
    at testExtend ( /selection/extend.js:117:9)
Passextend() backwards with range 19 [document.body, 0, document.body, 1] and point 28 [document.documentElement, 7]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(Element node <body><div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ </p><p id..., Element node <body><div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ </p><p id..., "Sanity check: startContainer must be correct")
    at testExtend ( /selection/extend.js:80:5)
Pass
assert_equals(0, 0, "Sanity check: startOffset must be correct")
    at testExtend ( /selection/extend.js:82:5)
Pass
assert_equals(Element node <body><div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ </p><p id..., Element node <body><div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ </p><p id..., "Sanity check: endContainer must be correct")
    at testExtend ( /selection/extend.js:84:5)
Pass
assert_equals(1, 1, "Sanity check: endOffset must be correct")
    at testExtend ( /selection/extend.js:86:5)
Pass
assert_throws_dom("INDEX_SIZE_ERR", function "function() {             selection.extend(node, offset);         }", "extend() to an offset that's greater than node length (2) must throw IndexSizeError")
    at testExtend ( /selection/extend.js:117:9)
Passextend() forwards with range 19 [document.body, 0, document.body, 1] and point 29 [document.head, 1]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(Element node <body><div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ </p><p id..., Element node <body><div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ </p><p id..., "Sanity check: startContainer must be correct")
    at testExtend ( /selection/extend.js:80:5)
Pass
assert_equals(0, 0, "Sanity check: startOffset must be correct")
    at testExtend ( /selection/extend.js:82:5)
Pass
assert_equals(Element node <body><div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ </p><p id..., Element node <body><div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ </p><p id..., "Sanity check: endContainer must be correct")
    at testExtend ( /selection/extend.js:84:5)
Pass
assert_equals(1, 1, "Sanity check: endOffset must be correct")
    at testExtend ( /selection/extend.js:86:5)
Pass
assert_equals(Element node <body><div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ </p><p id..., Element node <body><div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ </p><p id..., "anchorNode must not change if the node passed to extend() has the same root as the original range")
    at testExtend ( /selection/extend.js:145:9)
Pass
assert_equals(0, 0, "anchorOffset must not change if the node passed to extend() has the same root as the original range")
    at testExtend ( /selection/extend.js:147:9)
Pass
assert_equals(Element node <head><title>Selection extend() tests</title> <meta chars..., Element node <head><title>Selection extend() tests</title> <meta chars..., "focusNode must be the node passed to extend()")
    at testExtend ( /selection/extend.js:155:5)
Pass
assert_equals(1, 1, "focusOffset must be the offset passed to extend()")
    at testExtend ( /selection/extend.js:157:5)
Pass
assert_not_equals(object "   ", object "Äb̈c̈d̈ëf̈g̈ḧ Ijklmnop QrstuvwxYzabcdefGhijklmn", "extend() must replace any existing range with a new one, not mutate the existing one")
    at testExtend ( /selection/extend.js:159:5)
Passextend() backwards with range 19 [document.body, 0, document.body, 1] and point 29 [document.head, 1]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(Element node <body><div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ </p><p id..., Element node <body><div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ </p><p id..., "Sanity check: startContainer must be correct")
    at testExtend ( /selection/extend.js:80:5)
Pass
assert_equals(0, 0, "Sanity check: startOffset must be correct")
    at testExtend ( /selection/extend.js:82:5)
Pass
assert_equals(Element node <body><div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ </p><p id..., Element node <body><div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ </p><p id..., "Sanity check: endContainer must be correct")
    at testExtend ( /selection/extend.js:84:5)
Pass
assert_equals(1, 1, "Sanity check: endOffset must be correct")
    at testExtend ( /selection/extend.js:86:5)
Pass
assert_equals(Element node <body><div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ </p><p id..., Element node <body><div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ </p><p id..., "anchorNode must not change if the node passed to extend() has the same root as the original range")
    at testExtend ( /selection/extend.js:145:9)
Pass
assert_equals(1, 1, "anchorOffset must not change if the node passed to extend() has the same root as the original range")
    at testExtend ( /selection/extend.js:147:9)
Pass
assert_equals(Element node <head><title>Selection extend() tests</title> <meta chars..., Element node <head><title>Selection extend() tests</title> <meta chars..., "focusNode must be the node passed to extend()")
    at testExtend ( /selection/extend.js:155:5)
Pass
assert_equals(1, 1, "focusOffset must be the offset passed to extend()")
    at testExtend ( /selection/extend.js:157:5)
Pass
assert_not_equals(object "   Äb̈c̈d̈ëf̈g̈ḧ Ijklmnop QrstuvwxYzabcdefGhijklmn", object "Äb̈c̈d̈ëf̈g̈ḧ Ijklmnop QrstuvwxYzabcdefGhijklmn", "extend() must replace any existing range with a new one, not mutate the existing one")
    at testExtend ( /selection/extend.js:159:5)
Passextend() forwards with range 19 [document.body, 0, document.body, 1] and point 30 [document.body, 3]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(Element node <body><div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ </p><p id..., Element node <body><div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ </p><p id..., "Sanity check: startContainer must be correct")
    at testExtend ( /selection/extend.js:80:5)
Pass
assert_equals(0, 0, "Sanity check: startOffset must be correct")
    at testExtend ( /selection/extend.js:82:5)
Pass
assert_equals(Element node <body><div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ </p><p id..., Element node <body><div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ </p><p id..., "Sanity check: endContainer must be correct")
    at testExtend ( /selection/extend.js:84:5)
Pass
assert_equals(1, 1, "Sanity check: endOffset must be correct")
    at testExtend ( /selection/extend.js:86:5)
Pass
assert_equals(Element node <body><div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ </p><p id..., Element node <body><div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ </p><p id..., "anchorNode must not change if the node passed to extend() has the same root as the original range")
    at testExtend ( /selection/extend.js:145:9)
Pass
assert_equals(0, 0, "anchorOffset must not change if the node passed to extend() has the same root as the original range")
    at testExtend ( /selection/extend.js:147:9)
Pass
assert_equals(Element node <body><div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ </p><p id..., Element node <body><div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ </p><p id..., "focusNode must be the node passed to extend()")
    at testExtend ( /selection/extend.js:155:5)
Pass
assert_equals(3, 3, "focusOffset must be the offset passed to extend()")
    at testExtend ( /selection/extend.js:157:5)
Pass
assert_not_equals(object "Äb̈c̈d̈ëf̈g̈ḧ Ijklmnop QrstuvwxYzabcdefGhijklmn ", object "Äb̈c̈d̈ëf̈g̈ḧ Ijklmnop QrstuvwxYzabcdefGhijklmn", "extend() must replace any existing range with a new one, not mutate the existing one")
    at testExtend ( /selection/extend.js:159:5)
Passextend() backwards with range 19 [document.body, 0, document.body, 1] and point 30 [document.body, 3]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(Element node <body><div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ </p><p id..., Element node <body><div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ </p><p id..., "Sanity check: startContainer must be correct")
    at testExtend ( /selection/extend.js:80:5)
Pass
assert_equals(0, 0, "Sanity check: startOffset must be correct")
    at testExtend ( /selection/extend.js:82:5)
Pass
assert_equals(Element node <body><div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ </p><p id..., Element node <body><div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ </p><p id..., "Sanity check: endContainer must be correct")
    at testExtend ( /selection/extend.js:84:5)
Pass
assert_equals(1, 1, "Sanity check: endOffset must be correct")
    at testExtend ( /selection/extend.js:86:5)
Pass
assert_equals(Element node <body><div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ </p><p id..., Element node <body><div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ </p><p id..., "anchorNode must not change if the node passed to extend() has the same root as the original range")
    at testExtend ( /selection/extend.js:145:9)
Pass
assert_equals(1, 1, "anchorOffset must not change if the node passed to extend() has the same root as the original range")
    at testExtend ( /selection/extend.js:147:9)
Pass
assert_equals(Element node <body><div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ </p><p id..., Element node <body><div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ </p><p id..., "focusNode must be the node passed to extend()")
    at testExtend ( /selection/extend.js:155:5)
Pass
assert_equals(3, 3, "focusOffset must be the offset passed to extend()")
    at testExtend ( /selection/extend.js:157:5)
Pass
assert_not_equals(object " ", object "Äb̈c̈d̈ëf̈g̈ḧ Ijklmnop QrstuvwxYzabcdefGhijklmn", "extend() must replace any existing range with a new one, not mutate the existing one")
    at testExtend ( /selection/extend.js:159:5)
Passextend() forwards with range 19 [document.body, 0, document.body, 1] and point 31 [foreignDoc.documentElement, 0]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(1, 1, "The operation should not add Range")
    at assertSelectionNoChange ( /selection/common.js:976:5)
Pass
assert_equals(Element node <body><div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ </p><p id..., Element node <body><div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ </p><p id..., "The operation should not update anchorNode")
    at assertSelectionNoChange ( /selection/common.js:978:5)
Pass
assert_equals(0, 0, "The operation should not update anchorOffset")
    at assertSelectionNoChange ( /selection/common.js:980:5)
Pass
assert_equals(Element node <body><div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ </p><p id..., Element node <body><div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ </p><p id..., "The operation should not update focusNode")
    at assertSelectionNoChange ( /selection/common.js:982:5)
Pass
assert_equals(1, 1, "The operation should not update focusOffset")
    at assertSelectionNoChange ( /selection/common.js:984:5)
Pass
assert_equals(object "Äb̈c̈d̈ëf̈g̈ḧ Ijklmnop QrstuvwxYzabcdefGhijklmn", object "Äb̈c̈d̈ëf̈g̈ḧ Ijklmnop QrstuvwxYzabcdefGhijklmn", "The operation should not replace a registered Range")
    at assertSelectionNoChange ( /selection/common.js:988:5)
Passextend() backwards with range 19 [document.body, 0, document.body, 1] and point 31 [foreignDoc.documentElement, 0]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(1, 1, "The operation should not add Range")
    at assertSelectionNoChange ( /selection/common.js:976:5)
Pass
assert_equals(Element node <body><div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ </p><p id..., Element node <body><div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ </p><p id..., "The operation should not update anchorNode")
    at assertSelectionNoChange ( /selection/common.js:978:5)
Pass
assert_equals(1, 1, "The operation should not update anchorOffset")
    at assertSelectionNoChange ( /selection/common.js:980:5)
Pass
assert_equals(Element node <body><div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ </p><p id..., Element node <body><div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ </p><p id..., "The operation should not update focusNode")
    at assertSelectionNoChange ( /selection/common.js:982:5)
Pass
assert_equals(0, 0, "The operation should not update focusOffset")
    at assertSelectionNoChange ( /selection/common.js:984:5)
Pass
assert_equals(object "Äb̈c̈d̈ëf̈g̈ḧ Ijklmnop QrstuvwxYzabcdefGhijklmn", object "Äb̈c̈d̈ëf̈g̈ḧ Ijklmnop QrstuvwxYzabcdefGhijklmn", "The operation should not replace a registered Range")
    at assertSelectionNoChange ( /selection/common.js:988:5)
Passextend() forwards with range 19 [document.body, 0, document.body, 1] and point 32 [foreignDoc.documentElement, 1]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(1, 1, "The operation should not add Range")
    at assertSelectionNoChange ( /selection/common.js:976:5)
Pass
assert_equals(Element node <body><div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ </p><p id..., Element node <body><div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ </p><p id..., "The operation should not update anchorNode")
    at assertSelectionNoChange ( /selection/common.js:978:5)
Pass
assert_equals(0, 0, "The operation should not update anchorOffset")
    at assertSelectionNoChange ( /selection/common.js:980:5)
Pass
assert_equals(Element node <body><div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ </p><p id..., Element node <body><div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ </p><p id..., "The operation should not update focusNode")
    at assertSelectionNoChange ( /selection/common.js:982:5)
Pass
assert_equals(1, 1, "The operation should not update focusOffset")
    at assertSelectionNoChange ( /selection/common.js:984:5)
Pass
assert_equals(object "Äb̈c̈d̈ëf̈g̈ḧ Ijklmnop QrstuvwxYzabcdefGhijklmn", object "Äb̈c̈d̈ëf̈g̈ḧ Ijklmnop QrstuvwxYzabcdefGhijklmn", "The operation should not replace a registered Range")
    at assertSelectionNoChange ( /selection/common.js:988:5)
Passextend() backwards with range 19 [document.body, 0, document.body, 1] and point 32 [foreignDoc.documentElement, 1]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(1, 1, "The operation should not add Range")
    at assertSelectionNoChange ( /selection/common.js:976:5)
Pass
assert_equals(Element node <body><div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ </p><p id..., Element node <body><div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ </p><p id..., "The operation should not update anchorNode")
    at assertSelectionNoChange ( /selection/common.js:978:5)
Pass
assert_equals(1, 1, "The operation should not update anchorOffset")
    at assertSelectionNoChange ( /selection/common.js:980:5)
Pass
assert_equals(Element node <body><div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ </p><p id..., Element node <body><div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ </p><p id..., "The operation should not update focusNode")
    at assertSelectionNoChange ( /selection/common.js:982:5)
Pass
assert_equals(0, 0, "The operation should not update focusOffset")
    at assertSelectionNoChange ( /selection/common.js:984:5)
Pass
assert_equals(object "Äb̈c̈d̈ëf̈g̈ḧ Ijklmnop QrstuvwxYzabcdefGhijklmn", object "Äb̈c̈d̈ëf̈g̈ḧ Ijklmnop QrstuvwxYzabcdefGhijklmn", "The operation should not replace a registered Range")
    at assertSelectionNoChange ( /selection/common.js:988:5)
Passextend() forwards with range 19 [document.body, 0, document.body, 1] and point 33 [foreignDoc.head, 0]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(1, 1, "The operation should not add Range")
    at assertSelectionNoChange ( /selection/common.js:976:5)
Pass
assert_equals(Element node <body><div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ </p><p id..., Element node <body><div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ </p><p id..., "The operation should not update anchorNode")
    at assertSelectionNoChange ( /selection/common.js:978:5)
Pass
assert_equals(0, 0, "The operation should not update anchorOffset")
    at assertSelectionNoChange ( /selection/common.js:980:5)
Pass
assert_equals(Element node <body><div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ </p><p id..., Element node <body><div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ </p><p id..., "The operation should not update focusNode")
    at assertSelectionNoChange ( /selection/common.js:982:5)
Pass
assert_equals(1, 1, "The operation should not update focusOffset")
    at assertSelectionNoChange ( /selection/common.js:984:5)
Pass
assert_equals(object "Äb̈c̈d̈ëf̈g̈ḧ Ijklmnop QrstuvwxYzabcdefGhijklmn", object "Äb̈c̈d̈ëf̈g̈ḧ Ijklmnop QrstuvwxYzabcdefGhijklmn", "The operation should not replace a registered Range")
    at assertSelectionNoChange ( /selection/common.js:988:5)
Passextend() backwards with range 19 [document.body, 0, document.body, 1] and point 33 [foreignDoc.head, 0]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(1, 1, "The operation should not add Range")
    at assertSelectionNoChange ( /selection/common.js:976:5)
Pass
assert_equals(Element node <body><div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ </p><p id..., Element node <body><div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ </p><p id..., "The operation should not update anchorNode")
    at assertSelectionNoChange ( /selection/common.js:978:5)
Pass
assert_equals(1, 1, "The operation should not update anchorOffset")
    at assertSelectionNoChange ( /selection/common.js:980:5)
Pass
assert_equals(Element node <body><div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ </p><p id..., Element node <body><div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ </p><p id..., "The operation should not update focusNode")
    at assertSelectionNoChange ( /selection/common.js:982:5)
Pass
assert_equals(0, 0, "The operation should not update focusOffset")
    at assertSelectionNoChange ( /selection/common.js:984:5)
Pass
assert_equals(object "Äb̈c̈d̈ëf̈g̈ḧ Ijklmnop QrstuvwxYzabcdefGhijklmn", object "Äb̈c̈d̈ëf̈g̈ḧ Ijklmnop QrstuvwxYzabcdefGhijklmn", "The operation should not replace a registered Range")
    at assertSelectionNoChange ( /selection/common.js:988:5)
Passextend() forwards with range 19 [document.body, 0, document.body, 1] and point 34 [foreignDoc.body, 1]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(1, 1, "The operation should not add Range")
    at assertSelectionNoChange ( /selection/common.js:976:5)
Pass
assert_equals(Element node <body><div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ </p><p id..., Element node <body><div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ </p><p id..., "The operation should not update anchorNode")
    at assertSelectionNoChange ( /selection/common.js:978:5)
Pass
assert_equals(0, 0, "The operation should not update anchorOffset")
    at assertSelectionNoChange ( /selection/common.js:980:5)
Pass
assert_equals(Element node <body><div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ </p><p id..., Element node <body><div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ </p><p id..., "The operation should not update focusNode")
    at assertSelectionNoChange ( /selection/common.js:982:5)
Pass
assert_equals(1, 1, "The operation should not update focusOffset")
    at assertSelectionNoChange ( /selection/common.js:984:5)
Pass
assert_equals(object "Äb̈c̈d̈ëf̈g̈ḧ Ijklmnop QrstuvwxYzabcdefGhijklmn", object "Äb̈c̈d̈ëf̈g̈ḧ Ijklmnop QrstuvwxYzabcdefGhijklmn", "The operation should not replace a registered Range")
    at assertSelectionNoChange ( /selection/common.js:988:5)
Passextend() backwards with range 19 [document.body, 0, document.body, 1] and point 34 [foreignDoc.body, 1]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(1, 1, "The operation should not add Range")
    at assertSelectionNoChange ( /selection/common.js:976:5)
Pass
assert_equals(Element node <body><div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ </p><p id..., Element node <body><div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ </p><p id..., "The operation should not update anchorNode")
    at assertSelectionNoChange ( /selection/common.js:978:5)
Pass
assert_equals(1, 1, "The operation should not update anchorOffset")
    at assertSelectionNoChange ( /selection/common.js:980:5)
Pass
assert_equals(Element node <body><div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ </p><p id..., Element node <body><div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ </p><p id..., "The operation should not update focusNode")
    at assertSelectionNoChange ( /selection/common.js:982:5)
Pass
assert_equals(0, 0, "The operation should not update focusOffset")
    at assertSelectionNoChange ( /selection/common.js:984:5)
Pass
assert_equals(object "Äb̈c̈d̈ëf̈g̈ḧ Ijklmnop QrstuvwxYzabcdefGhijklmn", object "Äb̈c̈d̈ëf̈g̈ḧ Ijklmnop QrstuvwxYzabcdefGhijklmn", "The operation should not replace a registered Range")
    at assertSelectionNoChange ( /selection/common.js:988:5)
Passextend() forwards with range 19 [document.body, 0, document.body, 1] and point 35 [paras[0], 0]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(Element node <body><div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ </p><p id..., Element node <body><div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ </p><p id..., "Sanity check: startContainer must be correct")
    at testExtend ( /selection/extend.js:80:5)
Pass
assert_equals(0, 0, "Sanity check: startOffset must be correct")
    at testExtend ( /selection/extend.js:82:5)
Pass
assert_equals(Element node <body><div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ </p><p id..., Element node <body><div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ </p><p id..., "Sanity check: endContainer must be correct")
    at testExtend ( /selection/extend.js:84:5)
Pass
assert_equals(1, 1, "Sanity check: endOffset must be correct")
    at testExtend ( /selection/extend.js:86:5)
Pass
assert_equals(Element node <body><div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ </p><p id..., Element node <body><div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ </p><p id..., "anchorNode must not change if the node passed to extend() has the same root as the original range")
    at testExtend ( /selection/extend.js:145:9)
Pass
assert_equals(0, 0, "anchorOffset must not change if the node passed to extend() has the same root as the original range")
    at testExtend ( /selection/extend.js:147:9)
Pass
assert_equals(Element node <p id="a">Äb̈c̈d̈ëf̈g̈ḧ </p>, Element node <p id="a">Äb̈c̈d̈ëf̈g̈ḧ </p>, "focusNode must be the node passed to extend()")
    at testExtend ( /selection/extend.js:155:5)
Pass
assert_equals(0, 0, "focusOffset must be the offset passed to extend()")
    at testExtend ( /selection/extend.js:157:5)
Pass
assert_not_equals(object "", object "Äb̈c̈d̈ëf̈g̈ḧ Ijklmnop QrstuvwxYzabcdefGhijklmn", "extend() must replace any existing range with a new one, not mutate the existing one")
    at testExtend ( /selection/extend.js:159:5)
Passextend() backwards with range 19 [document.body, 0, document.body, 1] and point 35 [paras[0], 0]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(Element node <body><div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ </p><p id..., Element node <body><div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ </p><p id..., "Sanity check: startContainer must be correct")
    at testExtend ( /selection/extend.js:80:5)
Pass
assert_equals(0, 0, "Sanity check: startOffset must be correct")
    at testExtend ( /selection/extend.js:82:5)
Pass
assert_equals(Element node <body><div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ </p><p id..., Element node <body><div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ </p><p id..., "Sanity check: endContainer must be correct")
    at testExtend ( /selection/extend.js:84:5)
Pass
assert_equals(1, 1, "Sanity check: endOffset must be correct")
    at testExtend ( /selection/extend.js:86:5)
Pass
assert_equals(Element node <body><div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ </p><p id..., Element node <body><div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ </p><p id..., "anchorNode must not change if the node passed to extend() has the same root as the original range")
    at testExtend ( /selection/extend.js:145:9)
Pass
assert_equals(1, 1, "anchorOffset must not change if the node passed to extend() has the same root as the original range")
    at testExtend ( /selection/extend.js:147:9)
Pass
assert_equals(Element node <p id="a">Äb̈c̈d̈ëf̈g̈ḧ </p>, Element node <p id="a">Äb̈c̈d̈ëf̈g̈ḧ </p>, "focusNode must be the node passed to extend()")
    at testExtend ( /selection/extend.js:155:5)
Pass
assert_equals(0, 0, "focusOffset must be the offset passed to extend()")
    at testExtend ( /selection/extend.js:157:5)
Pass
assert_not_equals(object "Äb̈c̈d̈ëf̈g̈ḧ Ijklmnop QrstuvwxYzabcdefGhijklmn", object "Äb̈c̈d̈ëf̈g̈ḧ Ijklmnop QrstuvwxYzabcdefGhijklmn", "extend() must replace any existing range with a new one, not mutate the existing one")
    at testExtend ( /selection/extend.js:159:5)
Passextend() forwards with range 19 [document.body, 0, document.body, 1] and point 36 [paras[0], 1]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(Element node <body><div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ </p><p id..., Element node <body><div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ </p><p id..., "Sanity check: startContainer must be correct")
    at testExtend ( /selection/extend.js:80:5)
Pass
assert_equals(0, 0, "Sanity check: startOffset must be correct")
    at testExtend ( /selection/extend.js:82:5)
Pass
assert_equals(Element node <body><div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ </p><p id..., Element node <body><div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ </p><p id..., "Sanity check: endContainer must be correct")
    at testExtend ( /selection/extend.js:84:5)
Pass
assert_equals(1, 1, "Sanity check: endOffset must be correct")
    at testExtend ( /selection/extend.js:86:5)
Pass
assert_equals(Element node <body><div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ </p><p id..., Element node <body><div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ </p><p id..., "anchorNode must not change if the node passed to extend() has the same root as the original range")
    at testExtend ( /selection/extend.js:145:9)
Pass
assert_equals(0, 0, "anchorOffset must not change if the node passed to extend() has the same root as the original range")
    at testExtend ( /selection/extend.js:147:9)
Pass
assert_equals(Element node <p id="a">Äb̈c̈d̈ëf̈g̈ḧ </p>, Element node <p id="a">Äb̈c̈d̈ëf̈g̈ḧ </p>, "focusNode must be the node passed to extend()")
    at testExtend ( /selection/extend.js:155:5)
Pass
assert_equals(1, 1, "focusOffset must be the offset passed to extend()")
    at testExtend ( /selection/extend.js:157:5)
Pass
assert_not_equals(object "Äb̈c̈d̈ëf̈g̈ḧ ", object "Äb̈c̈d̈ëf̈g̈ḧ Ijklmnop QrstuvwxYzabcdefGhijklmn", "extend() must replace any existing range with a new one, not mutate the existing one")
    at testExtend ( /selection/extend.js:159:5)
Passextend() backwards with range 19 [document.body, 0, document.body, 1] and point 36 [paras[0], 1]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(Element node <body><div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ </p><p id..., Element node <body><div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ </p><p id..., "Sanity check: startContainer must be correct")
    at testExtend ( /selection/extend.js:80:5)
Pass
assert_equals(0, 0, "Sanity check: startOffset must be correct")
    at testExtend ( /selection/extend.js:82:5)
Pass
assert_equals(Element node <body><div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ </p><p id..., Element node <body><div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ </p><p id..., "Sanity check: endContainer must be correct")
    at testExtend ( /selection/extend.js:84:5)
Pass
assert_equals(1, 1, "Sanity check: endOffset must be correct")
    at testExtend ( /selection/extend.js:86:5)
Pass
assert_equals(Element node <body><div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ </p><p id..., Element node <body><div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ </p><p id..., "anchorNode must not change if the node passed to extend() has the same root as the original range")
    at testExtend ( /selection/extend.js:145:9)
Pass
assert_equals(1, 1, "anchorOffset must not change if the node passed to extend() has the same root as the original range")
    at testExtend ( /selection/extend.js:147:9)
Pass
assert_equals(Element node <p id="a">Äb̈c̈d̈ëf̈g̈ḧ </p>, Element node <p id="a">Äb̈c̈d̈ëf̈g̈ḧ </p>, "focusNode must be the node passed to extend()")
    at testExtend ( /selection/extend.js:155:5)
Pass
assert_equals(1, 1, "focusOffset must be the offset passed to extend()")
    at testExtend ( /selection/extend.js:157:5)
Pass
assert_not_equals(object "Ijklmnop QrstuvwxYzabcdefGhijklmn", object "Äb̈c̈d̈ëf̈g̈ḧ Ijklmnop QrstuvwxYzabcdefGhijklmn", "extend() must replace any existing range with a new one, not mutate the existing one")
    at testExtend ( /selection/extend.js:159:5)
Passextend() forwards with range 19 [document.body, 0, document.body, 1] and point 37 [paras[0], 2]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(Element node <body><div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ </p><p id..., Element node <body><div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ </p><p id..., "Sanity check: startContainer must be correct")
    at testExtend ( /selection/extend.js:80:5)
Pass
assert_equals(0, 0, "Sanity check: startOffset must be correct")
    at testExtend ( /selection/extend.js:82:5)
Pass
assert_equals(Element node <body><div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ </p><p id..., Element node <body><div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ </p><p id..., "Sanity check: endContainer must be correct")
    at testExtend ( /selection/extend.js:84:5)
Pass
assert_equals(1, 1, "Sanity check: endOffset must be correct")
    at testExtend ( /selection/extend.js:86:5)
Pass
assert_throws_dom("INDEX_SIZE_ERR", function "function() {             selection.extend(node, offset);         }", "extend() to an offset that's greater than node length (1) must throw IndexSizeError")
    at testExtend ( /selection/extend.js:117:9)
Passextend() backwards with range 19 [document.body, 0, document.body, 1] and point 37 [paras[0], 2]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(Element node <body><div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ </p><p id..., Element node <body><div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ </p><p id..., "Sanity check: startContainer must be correct")
    at testExtend ( /selection/extend.js:80:5)
Pass
assert_equals(0, 0, "Sanity check: startOffset must be correct")
    at testExtend ( /selection/extend.js:82:5)
Pass
assert_equals(Element node <body><div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ </p><p id..., Element node <body><div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ </p><p id..., "Sanity check: endContainer must be correct")
    at testExtend ( /selection/extend.js:84:5)
Pass
assert_equals(1, 1, "Sanity check: endOffset must be correct")
    at testExtend ( /selection/extend.js:86:5)
Pass
assert_throws_dom("INDEX_SIZE_ERR", function "function() {             selection.extend(node, offset);         }", "extend() to an offset that's greater than node length (1) must throw IndexSizeError")
    at testExtend ( /selection/extend.js:117:9)
Passextend() forwards with range 19 [document.body, 0, document.body, 1] and point 38 [paras[1], 0]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(Element node <body><div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ </p><p id..., Element node <body><div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ </p><p id..., "Sanity check: startContainer must be correct")
    at testExtend ( /selection/extend.js:80:5)
Pass
assert_equals(0, 0, "Sanity check: startOffset must be correct")
    at testExtend ( /selection/extend.js:82:5)
Pass
assert_equals(Element node <body><div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ </p><p id..., Element node <body><div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ </p><p id..., "Sanity check: endContainer must be correct")
    at testExtend ( /selection/extend.js:84:5)
Pass
assert_equals(1, 1, "Sanity check: endOffset must be correct")
    at testExtend ( /selection/extend.js:86:5)
Pass
assert_equals(Element node <body><div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ </p><p id..., Element node <body><div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ </p><p id..., "anchorNode must not change if the node passed to extend() has the same root as the original range")
    at testExtend ( /selection/extend.js:145:9)
Pass
assert_equals(0, 0, "anchorOffset must not change if the node passed to extend() has the same root as the original range")
    at testExtend ( /selection/extend.js:147:9)
Pass
assert_equals(Element node <p id="b" style="display:none">Ijklmnop </p>, Element node <p id="b" style="display:none">Ijklmnop </p>, "focusNode must be the node passed to extend()")
    at testExtend ( /selection/extend.js:155:5)
Pass
assert_equals(0, 0, "focusOffset must be the offset passed to extend()")
    at testExtend ( /selection/extend.js:157:5)
Pass
assert_not_equals(object "Äb̈c̈d̈ëf̈g̈ḧ ", object "Äb̈c̈d̈ëf̈g̈ḧ Ijklmnop QrstuvwxYzabcdefGhijklmn", "extend() must replace any existing range with a new one, not mutate the existing one")
    at testExtend ( /selection/extend.js:159:5)
Passextend() backwards with range 19 [document.body, 0, document.body, 1] and point 38 [paras[1], 0]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(Element node <body><div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ </p><p id..., Element node <body><div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ </p><p id..., "Sanity check: startContainer must be correct")
    at testExtend ( /selection/extend.js:80:5)
Pass
assert_equals(0, 0, "Sanity check: startOffset must be correct")
    at testExtend ( /selection/extend.js:82:5)
Pass
assert_equals(Element node <body><div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ </p><p id..., Element node <body><div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ </p><p id..., "Sanity check: endContainer must be correct")
    at testExtend ( /selection/extend.js:84:5)
Pass
assert_equals(1, 1, "Sanity check: endOffset must be correct")
    at testExtend ( /selection/extend.js:86:5)
Pass
assert_equals(Element node <body><div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ </p><p id..., Element node <body><div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ </p><p id..., "anchorNode must not change if the node passed to extend() has the same root as the original range")
    at testExtend ( /selection/extend.js:145:9)
Pass
assert_equals(1, 1, "anchorOffset must not change if the node passed to extend() has the same root as the original range")
    at testExtend ( /selection/extend.js:147:9)
Pass
assert_equals(Element node <p id="b" style="display:none">Ijklmnop </p>, Element node <p id="b" style="display:none">Ijklmnop </p>, "focusNode must be the node passed to extend()")
    at testExtend ( /selection/extend.js:155:5)
Pass
assert_equals(0, 0, "focusOffset must be the offset passed to extend()")
    at testExtend ( /selection/extend.js:157:5)
Pass
assert_not_equals(object "Ijklmnop QrstuvwxYzabcdefGhijklmn", object "Äb̈c̈d̈ëf̈g̈ḧ Ijklmnop QrstuvwxYzabcdefGhijklmn", "extend() must replace any existing range with a new one, not mutate the existing one")
    at testExtend ( /selection/extend.js:159:5)
Passextend() forwards with range 19 [document.body, 0, document.body, 1] and point 39 [paras[1], 1]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(Element node <body><div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ </p><p id..., Element node <body><div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ </p><p id..., "Sanity check: startContainer must be correct")
    at testExtend ( /selection/extend.js:80:5)
Pass
assert_equals(0, 0, "Sanity check: startOffset must be correct")
    at testExtend ( /selection/extend.js:82:5)
Pass
assert_equals(Element node <body><div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ </p><p id..., Element node <body><div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ </p><p id..., "Sanity check: endContainer must be correct")
    at testExtend ( /selection/extend.js:84:5)
Pass
assert_equals(1, 1, "Sanity check: endOffset must be correct")
    at testExtend ( /selection/extend.js:86:5)
Pass
assert_equals(Element node <body><div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ </p><p id..., Element node <body><div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ </p><p id..., "anchorNode must not change if the node passed to extend() has the same root as the original range")
    at testExtend ( /selection/extend.js:145:9)
Pass
assert_equals(0, 0, "anchorOffset must not change if the node passed to extend() has the same root as the original range")
    at testExtend ( /selection/extend.js:147:9)
Pass
assert_equals(Element node <p id="b" style="display:none">Ijklmnop </p>, Element node <p id="b" style="display:none">Ijklmnop </p>, "focusNode must be the node passed to extend()")
    at testExtend ( /selection/extend.js:155:5)
Pass
assert_equals(1, 1, "focusOffset must be the offset passed to extend()")
    at testExtend ( /selection/extend.js:157:5)
Pass
assert_not_equals(object "Äb̈c̈d̈ëf̈g̈ḧ Ijklmnop ", object "Äb̈c̈d̈ëf̈g̈ḧ Ijklmnop QrstuvwxYzabcdefGhijklmn", "extend() must replace any existing range with a new one, not mutate the existing one")
    at testExtend ( /selection/extend.js:159:5)
Passextend() backwards with range 19 [document.body, 0, document.body, 1] and point 39 [paras[1], 1]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(Element node <body><div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ </p><p id..., Element node <body><div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ </p><p id..., "Sanity check: startContainer must be correct")
    at testExtend ( /selection/extend.js:80:5)
Pass
assert_equals(0, 0, "Sanity check: startOffset must be correct")
    at testExtend ( /selection/extend.js:82:5)
Pass
assert_equals(Element node <body><div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ </p><p id..., Element node <body><div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ </p><p id..., "Sanity check: endContainer must be correct")
    at testExtend ( /selection/extend.js:84:5)
Pass
assert_equals(1, 1, "Sanity check: endOffset must be correct")
    at testExtend ( /selection/extend.js:86:5)
Pass
assert_equals(Element node <body><div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ </p><p id..., Element node <body><div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ </p><p id..., "anchorNode must not change if the node passed to extend() has the same root as the original range")
    at testExtend ( /selection/extend.js:145:9)
Pass
assert_equals(1, 1, "anchorOffset must not change if the node passed to extend() has the same root as the original range")
    at testExtend ( /selection/extend.js:147:9)
Pass
assert_equals(Element node <p id="b" style="display:none">Ijklmnop </p>, Element node <p id="b" style="display:none">Ijklmnop </p>, "focusNode must be the node passed to extend()")
    at testExtend ( /selection/extend.js:155:5)
Pass
assert_equals(1, 1, "focusOffset must be the offset passed to extend()")
    at testExtend ( /selection/extend.js:157:5)
Pass
assert_not_equals(object "QrstuvwxYzabcdefGhijklmn", object "Äb̈c̈d̈ëf̈g̈ḧ Ijklmnop QrstuvwxYzabcdefGhijklmn", "extend() must replace any existing range with a new one, not mutate the existing one")
    at testExtend ( /selection/extend.js:159:5)
Passextend() forwards with range 19 [document.body, 0, document.body, 1] and point 40 [paras[1], 2]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(Element node <body><div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ </p><p id..., Element node <body><div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ </p><p id..., "Sanity check: startContainer must be correct")
    at testExtend ( /selection/extend.js:80:5)
Pass
assert_equals(0, 0, "Sanity check: startOffset must be correct")
    at testExtend ( /selection/extend.js:82:5)
Pass
assert_equals(Element node <body><div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ </p><p id..., Element node <body><div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ </p><p id..., "Sanity check: endContainer must be correct")
    at testExtend ( /selection/extend.js:84:5)
Pass
assert_equals(1, 1, "Sanity check: endOffset must be correct")
    at testExtend ( /selection/extend.js:86:5)
Pass
assert_throws_dom("INDEX_SIZE_ERR", function "function() {             selection.extend(node, offset);         }", "extend() to an offset that's greater than node length (1) must throw IndexSizeError")
    at testExtend ( /selection/extend.js:117:9)
Passextend() backwards with range 19 [document.body, 0, document.body, 1] and point 40 [paras[1], 2]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(Element node <body><div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ </p><p id..., Element node <body><div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ </p><p id..., "Sanity check: startContainer must be correct")
    at testExtend ( /selection/extend.js:80:5)
Pass
assert_equals(0, 0, "Sanity check: startOffset must be correct")
    at testExtend ( /selection/extend.js:82:5)
Pass
assert_equals(Element node <body><div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ </p><p id..., Element node <body><div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ </p><p id..., "Sanity check: endContainer must be correct")
    at testExtend ( /selection/extend.js:84:5)
Pass
assert_equals(1, 1, "Sanity check: endOffset must be correct")
    at testExtend ( /selection/extend.js:86:5)
Pass
assert_throws_dom("INDEX_SIZE_ERR", function "function() {             selection.extend(node, offset);         }", "extend() to an offset that's greater than node length (1) must throw IndexSizeError")
    at testExtend ( /selection/extend.js:117:9)
Passextend() forwards with range 19 [document.body, 0, document.body, 1] and point 41 [detachedPara1, 0]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(1, 1, "The operation should not add Range")
    at assertSelectionNoChange ( /selection/common.js:976:5)
Pass
assert_equals(Element node <body><div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ </p><p id..., Element node <body><div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ </p><p id..., "The operation should not update anchorNode")
    at assertSelectionNoChange ( /selection/common.js:978:5)
Pass
assert_equals(0, 0, "The operation should not update anchorOffset")
    at assertSelectionNoChange ( /selection/common.js:980:5)
Pass
assert_equals(Element node <body><div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ </p><p id..., Element node <body><div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ </p><p id..., "The operation should not update focusNode")
    at assertSelectionNoChange ( /selection/common.js:982:5)
Pass
assert_equals(1, 1, "The operation should not update focusOffset")
    at assertSelectionNoChange ( /selection/common.js:984:5)
Pass
assert_equals(object "Äb̈c̈d̈ëf̈g̈ḧ Ijklmnop QrstuvwxYzabcdefGhijklmn", object "Äb̈c̈d̈ëf̈g̈ḧ Ijklmnop QrstuvwxYzabcdefGhijklmn", "The operation should not replace a registered Range")
    at assertSelectionNoChange ( /selection/common.js:988:5)
Passextend() backwards with range 19 [document.body, 0, document.body, 1] and point 41 [detachedPara1, 0]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(1, 1, "The operation should not add Range")
    at assertSelectionNoChange ( /selection/common.js:976:5)
Pass
assert_equals(Element node <body><div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ </p><p id..., Element node <body><div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ </p><p id..., "The operation should not update anchorNode")
    at assertSelectionNoChange ( /selection/common.js:978:5)
Pass
assert_equals(1, 1, "The operation should not update anchorOffset")
    at assertSelectionNoChange ( /selection/common.js:980:5)
Pass
assert_equals(Element node <body><div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ </p><p id..., Element node <body><div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ </p><p id..., "The operation should not update focusNode")
    at assertSelectionNoChange ( /selection/common.js:982:5)
Pass
assert_equals(0, 0, "The operation should not update focusOffset")
    at assertSelectionNoChange ( /selection/common.js:984:5)
Pass
assert_equals(object "Äb̈c̈d̈ëf̈g̈ḧ Ijklmnop QrstuvwxYzabcdefGhijklmn", object "Äb̈c̈d̈ëf̈g̈ḧ Ijklmnop QrstuvwxYzabcdefGhijklmn", "The operation should not replace a registered Range")
    at assertSelectionNoChange ( /selection/common.js:988:5)
Passextend() forwards with range 19 [document.body, 0, document.body, 1] and point 42 [detachedPara1, 1]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(1, 1, "The operation should not add Range")
    at assertSelectionNoChange ( /selection/common.js:976:5)
Pass
assert_equals(Element node <body><div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ </p><p id..., Element node <body><div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ </p><p id..., "The operation should not update anchorNode")
    at assertSelectionNoChange ( /selection/common.js:978:5)
Pass
assert_equals(0, 0, "The operation should not update anchorOffset")
    at assertSelectionNoChange ( /selection/common.js:980:5)
Pass
assert_equals(Element node <body><div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ </p><p id..., Element node <body><div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ </p><p id..., "The operation should not update focusNode")
    at assertSelectionNoChange ( /selection/common.js:982:5)
Pass
assert_equals(1, 1, "The operation should not update focusOffset")
    at assertSelectionNoChange ( /selection/common.js:984:5)
Pass
assert_equals(object "Äb̈c̈d̈ëf̈g̈ḧ Ijklmnop QrstuvwxYzabcdefGhijklmn", object "Äb̈c̈d̈ëf̈g̈ḧ Ijklmnop QrstuvwxYzabcdefGhijklmn", "The operation should not replace a registered Range")
    at assertSelectionNoChange ( /selection/common.js:988:5)
Passextend() backwards with range 19 [document.body, 0, document.body, 1] and point 42 [detachedPara1, 1]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(1, 1, "The operation should not add Range")
    at assertSelectionNoChange ( /selection/common.js:976:5)
Pass
assert_equals(Element node <body><div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ </p><p id..., Element node <body><div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ </p><p id..., "The operation should not update anchorNode")
    at assertSelectionNoChange ( /selection/common.js:978:5)
Pass
assert_equals(1, 1, "The operation should not update anchorOffset")
    at assertSelectionNoChange ( /selection/common.js:980:5)
Pass
assert_equals(Element node <body><div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ </p><p id..., Element node <body><div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ </p><p id..., "The operation should not update focusNode")
    at assertSelectionNoChange ( /selection/common.js:982:5)
Pass
assert_equals(0, 0, "The operation should not update focusOffset")
    at assertSelectionNoChange ( /selection/common.js:984:5)
Pass
assert_equals(object "Äb̈c̈d̈ëf̈g̈ḧ Ijklmnop QrstuvwxYzabcdefGhijklmn", object "Äb̈c̈d̈ëf̈g̈ḧ Ijklmnop QrstuvwxYzabcdefGhijklmn", "The operation should not replace a registered Range")
    at assertSelectionNoChange ( /selection/common.js:988:5)
Passextend() forwards with range 19 [document.body, 0, document.body, 1] and point 43 [testDiv, 0]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(Element node <body><div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ </p><p id..., Element node <body><div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ </p><p id..., "Sanity check: startContainer must be correct")
    at testExtend ( /selection/extend.js:80:5)
Pass
assert_equals(0, 0, "Sanity check: startOffset must be correct")
    at testExtend ( /selection/extend.js:82:5)
Pass
assert_equals(Element node <body><div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ </p><p id..., Element node <body><div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ </p><p id..., "Sanity check: endContainer must be correct")
    at testExtend ( /selection/extend.js:84:5)
Pass
assert_equals(1, 1, "Sanity check: endOffset must be correct")
    at testExtend ( /selection/extend.js:86:5)
Pass
assert_equals(Element node <body><div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ </p><p id..., Element node <body><div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ </p><p id..., "anchorNode must not change if the node passed to extend() has the same root as the original range")
    at testExtend ( /selection/extend.js:145:9)
Pass
assert_equals(0, 0, "anchorOffset must not change if the node passed to extend() has the same root as the original range")
    at testExtend ( /selection/extend.js:147:9)
Pass
assert_equals(Element node <div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ </p><p id="b" s..., Element node <div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ </p><p id="b" s..., "focusNode must be the node passed to extend()")
    at testExtend ( /selection/extend.js:155:5)
Pass
assert_equals(0, 0, "focusOffset must be the offset passed to extend()")
    at testExtend ( /selection/extend.js:157:5)
Pass
assert_not_equals(object "", object "Äb̈c̈d̈ëf̈g̈ḧ Ijklmnop QrstuvwxYzabcdefGhijklmn", "extend() must replace any existing range with a new one, not mutate the existing one")
    at testExtend ( /selection/extend.js:159:5)
Passextend() backwards with range 19 [document.body, 0, document.body, 1] and point 43 [testDiv, 0]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(Element node <body><div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ </p><p id..., Element node <body><div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ </p><p id..., "Sanity check: startContainer must be correct")
    at testExtend ( /selection/extend.js:80:5)
Pass
assert_equals(0, 0, "Sanity check: startOffset must be correct")
    at testExtend ( /selection/extend.js:82:5)
Pass
assert_equals(Element node <body><div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ </p><p id..., Element node <body><div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ </p><p id..., "Sanity check: endContainer must be correct")
    at testExtend ( /selection/extend.js:84:5)
Pass
assert_equals(1, 1, "Sanity check: endOffset must be correct")
    at testExtend ( /selection/extend.js:86:5)
Pass
assert_equals(Element node <body><div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ </p><p id..., Element node <body><div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ </p><p id..., "anchorNode must not change if the node passed to extend() has the same root as the original range")
    at testExtend ( /selection/extend.js:145:9)
Pass
assert_equals(1, 1, "anchorOffset must not change if the node passed to extend() has the same root as the original range")
    at testExtend ( /selection/extend.js:147:9)
Pass
assert_equals(Element node <div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ </p><p id="b" s..., Element node <div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ </p><p id="b" s..., "focusNode must be the node passed to extend()")
    at testExtend ( /selection/extend.js:155:5)
Pass
assert_equals(0, 0, "focusOffset must be the offset passed to extend()")
    at testExtend ( /selection/extend.js:157:5)
Pass
assert_not_equals(object "Äb̈c̈d̈ëf̈g̈ḧ Ijklmnop QrstuvwxYzabcdefGhijklmn", object "Äb̈c̈d̈ëf̈g̈ḧ Ijklmnop QrstuvwxYzabcdefGhijklmn", "extend() must replace any existing range with a new one, not mutate the existing one")
    at testExtend ( /selection/extend.js:159:5)
Passextend() forwards with range 19 [document.body, 0, document.body, 1] and point 44 [testDiv, 3]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(Element node <body><div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ </p><p id..., Element node <body><div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ </p><p id..., "Sanity check: startContainer must be correct")
    at testExtend ( /selection/extend.js:80:5)
Pass
assert_equals(0, 0, "Sanity check: startOffset must be correct")
    at testExtend ( /selection/extend.js:82:5)
Pass
assert_equals(Element node <body><div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ </p><p id..., Element node <body><div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ </p><p id..., "Sanity check: endContainer must be correct")
    at testExtend ( /selection/extend.js:84:5)
Pass
assert_equals(1, 1, "Sanity check: endOffset must be correct")
    at testExtend ( /selection/extend.js:86:5)
Pass
assert_equals(Element node <body><div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ </p><p id..., Element node <body><div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ </p><p id..., "anchorNode must not change if the node passed to extend() has the same root as the original range")
    at testExtend ( /selection/extend.js:145:9)
Pass
assert_equals(0, 0, "anchorOffset must not change if the node passed to extend() has the same root as the original range")
    at testExtend ( /selection/extend.js:147:9)
Pass
assert_equals(Element node <div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ </p><p id="b" s..., Element node <div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ </p><p id="b" s..., "focusNode must be the node passed to extend()")
    at testExtend ( /selection/extend.js:155:5)
Pass
assert_equals(3, 3, "focusOffset must be the offset passed to extend()")
    at testExtend ( /selection/extend.js:157:5)
Pass
assert_not_equals(object "Äb̈c̈d̈ëf̈g̈ḧ Ijklmnop Qrstuvwx", object "Äb̈c̈d̈ëf̈g̈ḧ Ijklmnop QrstuvwxYzabcdefGhijklmn", "extend() must replace any existing range with a new one, not mutate the existing one")
    at testExtend ( /selection/extend.js:159:5)
Passextend() backwards with range 19 [document.body, 0, document.body, 1] and point 44 [testDiv, 3]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(Element node <body><div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ </p><p id..., Element node <body><div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ </p><p id..., "Sanity check: startContainer must be correct")
    at testExtend ( /selection/extend.js:80:5)
Pass
assert_equals(0, 0, "Sanity check: startOffset must be correct")
    at testExtend ( /selection/extend.js:82:5)
Pass
assert_equals(Element node <body><div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ </p><p id..., Element node <body><div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ </p><p id..., "Sanity check: endContainer must be correct")
    at testExtend ( /selection/extend.js:84:5)
Pass
assert_equals(1, 1, "Sanity check: endOffset must be correct")
    at testExtend ( /selection/extend.js:86:5)
Pass
assert_equals(Element node <body><div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ </p><p id..., Element node <body><div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ </p><p id..., "anchorNode must not change if the node passed to extend() has the same root as the original range")
    at testExtend ( /selection/extend.js:145:9)
Pass
assert_equals(1, 1, "anchorOffset must not change if the node passed to extend() has the same root as the original range")
    at testExtend ( /selection/extend.js:147:9)
Pass
assert_equals(Element node <div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ </p><p id="b" s..., Element node <div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ </p><p id="b" s..., "focusNode must be the node passed to extend()")
    at testExtend ( /selection/extend.js:155:5)
Pass
assert_equals(3, 3, "focusOffset must be the offset passed to extend()")
    at testExtend ( /selection/extend.js:157:5)
Pass
assert_not_equals(object "YzabcdefGhijklmn", object "Äb̈c̈d̈ëf̈g̈ḧ Ijklmnop QrstuvwxYzabcdefGhijklmn", "extend() must replace any existing range with a new one, not mutate the existing one")
    at testExtend ( /selection/extend.js:159:5)
Passextend() forwards with range 19 [document.body, 0, document.body, 1] and point 45 [document, -1]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(Element node <body><div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ </p><p id..., Element node <body><div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ </p><p id..., "Sanity check: startContainer must be correct")
    at testExtend ( /selection/extend.js:80:5)
Pass
assert_equals(0, 0, "Sanity check: startOffset must be correct")
    at testExtend ( /selection/extend.js:82:5)
Pass
assert_equals(Element node <body><div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ </p><p id..., Element node <body><div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ </p><p id..., "Sanity check: endContainer must be correct")
    at testExtend ( /selection/extend.js:84:5)
Pass
assert_equals(1, 1, "Sanity check: endOffset must be correct")
    at testExtend ( /selection/extend.js:86:5)
Pass
assert_throws_dom("INDEX_SIZE_ERR", function "function() {             selection.extend(node, offset);         }", "extend() to an offset that's greater than node length (2) must throw IndexSizeError")
    at testExtend ( /selection/extend.js:117:9)
Passextend() backwards with range 19 [document.body, 0, document.body, 1] and point 45 [document, -1]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(Element node <body><div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ </p><p id..., Element node <body><div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ </p><p id..., "Sanity check: startContainer must be correct")
    at testExtend ( /selection/extend.js:80:5)
Pass
assert_equals(0, 0, "Sanity check: startOffset must be correct")
    at testExtend ( /selection/extend.js:82:5)
Pass
assert_equals(Element node <body><div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ </p><p id..., Element node <body><div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ </p><p id..., "Sanity check: endContainer must be correct")
    at testExtend ( /selection/extend.js:84:5)
Pass
assert_equals(1, 1, "Sanity check: endOffset must be correct")
    at testExtend ( /selection/extend.js:86:5)
Pass
assert_throws_dom("INDEX_SIZE_ERR", function "function() {             selection.extend(node, offset);         }", "extend() to an offset that's greater than node length (2) must throw IndexSizeError")
    at testExtend ( /selection/extend.js:117:9)
Passextend() forwards with range 19 [document.body, 0, document.body, 1] and point 46 [document, 0]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(Element node <body><div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ </p><p id..., Element node <body><div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ </p><p id..., "Sanity check: startContainer must be correct")
    at testExtend ( /selection/extend.js:80:5)
Pass
assert_equals(0, 0, "Sanity check: startOffset must be correct")
    at testExtend ( /selection/extend.js:82:5)
Pass
assert_equals(Element node <body><div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ </p><p id..., Element node <body><div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ </p><p id..., "Sanity check: endContainer must be correct")
    at testExtend ( /selection/extend.js:84:5)
Pass
assert_equals(1, 1, "Sanity check: endOffset must be correct")
    at testExtend ( /selection/extend.js:86:5)
Pass
assert_equals(Element node <body><div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ </p><p id..., Element node <body><div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ </p><p id..., "anchorNode must not change if the node passed to extend() has the same root as the original range")
    at testExtend ( /selection/extend.js:145:9)
Pass
assert_equals(0, 0, "anchorOffset must not change if the node passed to extend() has the same root as the original range")
    at testExtend ( /selection/extend.js:147:9)
Pass
assert_equals(Document node with 2 children, Document node with 2 children, "focusNode must be the node passed to extend()")
    at testExtend ( /selection/extend.js:155:5)
Pass
assert_equals(0, 0, "focusOffset must be the offset passed to extend()")
    at testExtend ( /selection/extend.js:157:5)
Pass
assert_not_equals(object "Selection extend() tests   ", object "Äb̈c̈d̈ëf̈g̈ḧ Ijklmnop QrstuvwxYzabcdefGhijklmn", "extend() must replace any existing range with a new one, not mutate the existing one")
    at testExtend ( /selection/extend.js:159:5)
Passextend() backwards with range 19 [document.body, 0, document.body, 1] and point 46 [document, 0]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(Element node <body><div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ </p><p id..., Element node <body><div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ </p><p id..., "Sanity check: startContainer must be correct")
    at testExtend ( /selection/extend.js:80:5)
Pass
assert_equals(0, 0, "Sanity check: startOffset must be correct")
    at testExtend ( /selection/extend.js:82:5)
Pass
assert_equals(Element node <body><div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ </p><p id..., Element node <body><div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ </p><p id..., "Sanity check: endContainer must be correct")
    at testExtend ( /selection/extend.js:84:5)
Pass
assert_equals(1, 1, "Sanity check: endOffset must be correct")
    at testExtend ( /selection/extend.js:86:5)
Pass
assert_equals(Element node <body><div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ </p><p id..., Element node <body><div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ </p><p id..., "anchorNode must not change if the node passed to extend() has the same root as the original range")
    at testExtend ( /selection/extend.js:145:9)
Pass
assert_equals(1, 1, "anchorOffset must not change if the node passed to extend() has the same root as the original range")
    at testExtend ( /selection/extend.js:147:9)
Pass
assert_equals(Document node with 2 children, Document node with 2 children, "focusNode must be the node passed to extend()")
    at testExtend ( /selection/extend.js:155:5)
Pass
assert_equals(0, 0, "focusOffset must be the offset passed to extend()")
    at testExtend ( /selection/extend.js:157:5)
Pass
assert_not_equals(object "Selection extend() tests   Äb̈c̈d̈ëf̈g̈ḧ Ijklmnop QrstuvwxYzabcdefGhijklmn", object "Äb̈c̈d̈ëf̈g̈ḧ Ijklmnop QrstuvwxYzabcdefGhijklmn", "extend() must replace any existing range with a new one, not mutate the existing one")
    at testExtend ( /selection/extend.js:159:5)
Passextend() forwards with range 19 [document.body, 0, document.body, 1] and point 47 [document, 1]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(Element node <body><div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ </p><p id..., Element node <body><div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ </p><p id..., "Sanity check: startContainer must be correct")
    at testExtend ( /selection/extend.js:80:5)
Pass
assert_equals(0, 0, "Sanity check: startOffset must be correct")
    at testExtend ( /selection/extend.js:82:5)
Pass
assert_equals(Element node <body><div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ </p><p id..., Element node <body><div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ </p><p id..., "Sanity check: endContainer must be correct")
    at testExtend ( /selection/extend.js:84:5)
Pass
assert_equals(1, 1, "Sanity check: endOffset must be correct")
    at testExtend ( /selection/extend.js:86:5)
Pass
assert_equals(Element node <body><div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ </p><p id..., Element node <body><div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ </p><p id..., "anchorNode must not change if the node passed to extend() has the same root as the original range")
    at testExtend ( /selection/extend.js:145:9)
Pass
assert_equals(0, 0, "anchorOffset must not change if the node passed to extend() has the same root as the original range")
    at testExtend ( /selection/extend.js:147:9)
Pass
assert_equals(Document node with 2 children, Document node with 2 children, "focusNode must be the node passed to extend()")
    at testExtend ( /selection/extend.js:155:5)
Pass
assert_equals(1, 1, "focusOffset must be the offset passed to extend()")
    at testExtend ( /selection/extend.js:157:5)
Pass
assert_not_equals(object "Selection extend() tests   ", object "Äb̈c̈d̈ëf̈g̈ḧ Ijklmnop QrstuvwxYzabcdefGhijklmn", "extend() must replace any existing range with a new one, not mutate the existing one")
    at testExtend ( /selection/extend.js:159:5)
Passextend() backwards with range 19 [document.body, 0, document.body, 1] and point 47 [document, 1]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(Element node <body><div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ </p><p id..., Element node <body><div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ </p><p id..., "Sanity check: startContainer must be correct")
    at testExtend ( /selection/extend.js:80:5)
Pass
assert_equals(0, 0, "Sanity check: startOffset must be correct")
    at testExtend ( /selection/extend.js:82:5)
Pass
assert_equals(Element node <body><div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ </p><p id..., Element node <body><div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ </p><p id..., "Sanity check: endContainer must be correct")
    at testExtend ( /selection/extend.js:84:5)
Pass
assert_equals(1, 1, "Sanity check: endOffset must be correct")
    at testExtend ( /selection/extend.js:86:5)
Pass
assert_equals(Element node <body><div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ </p><p id..., Element node <body><div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ </p><p id..., "anchorNode must not change if the node passed to extend() has the same root as the original range")
    at testExtend ( /selection/extend.js:145:9)
Pass
assert_equals(1, 1, "anchorOffset must not change if the node passed to extend() has the same root as the original range")
    at testExtend ( /selection/extend.js:147:9)
Pass
assert_equals(Document node with 2 children, Document node with 2 children, "focusNode must be the node passed to extend()")
    at testExtend ( /selection/extend.js:155:5)
Pass
assert_equals(1, 1, "focusOffset must be the offset passed to extend()")
    at testExtend ( /selection/extend.js:157:5)
Pass
assert_not_equals(object "Selection extend() tests   Äb̈c̈d̈ëf̈g̈ḧ Ijklmnop QrstuvwxYzabcdefGhijklmn", object "Äb̈c̈d̈ëf̈g̈ḧ Ijklmnop QrstuvwxYzabcdefGhijklmn", "extend() must replace any existing range with a new one, not mutate the existing one")
    at testExtend ( /selection/extend.js:159:5)
Passextend() forwards with range 19 [document.body, 0, document.body, 1] and point 48 [document, 2]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(Element node <body><div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ </p><p id..., Element node <body><div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ </p><p id..., "Sanity check: startContainer must be correct")
    at testExtend ( /selection/extend.js:80:5)
Pass
assert_equals(0, 0, "Sanity check: startOffset must be correct")
    at testExtend ( /selection/extend.js:82:5)
Pass
assert_equals(Element node <body><div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ </p><p id..., Element node <body><div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ </p><p id..., "Sanity check: endContainer must be correct")
    at testExtend ( /selection/extend.js:84:5)
Pass
assert_equals(1, 1, "Sanity check: endOffset must be correct")
    at testExtend ( /selection/extend.js:86:5)
Pass
assert_equals(Element node <body><div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ </p><p id..., Element node <body><div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ </p><p id..., "anchorNode must not change if the node passed to extend() has the same root as the original range")
    at testExtend ( /selection/extend.js:145:9)
Pass
assert_equals(0, 0, "anchorOffset must not change if the node passed to extend() has the same root as the original range")
    at testExtend ( /selection/extend.js:147:9)
Pass
assert_equals(Document node with 2 children, Document node with 2 children, "focusNode must be the node passed to extend()")
    at testExtend ( /selection/extend.js:155:5)
Pass
assert_equals(2, 2, "focusOffset must be the offset passed to extend()")
    at testExtend ( /selection/extend.js:157:5)
Pass
assert_not_equals(object "Äb̈c̈d̈ëf̈g̈ḧ Ijklmnop QrstuvwxYzabcdefGhijklmn     Running, 1000 complete, 1 remain  "use strict";  testExtendSubSet(0, 20); testDiv.style.display = "none"; ", object "Äb̈c̈d̈ëf̈g̈ḧ Ijklmnop QrstuvwxYzabcdefGhijklmn", "extend() must replace any existing range with a new one, not mutate the existing one")
    at testExtend ( /selection/extend.js:159:5)
Passextend() backwards with range 19 [document.body, 0, document.body, 1] and point 48 [document, 2]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(Element node <body><div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ </p><p id..., Element node <body><div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ </p><p id..., "Sanity check: startContainer must be correct")
    at testExtend ( /selection/extend.js:80:5)
Pass
assert_equals(0, 0, "Sanity check: startOffset must be correct")
    at testExtend ( /selection/extend.js:82:5)
Pass
assert_equals(Element node <body><div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ </p><p id..., Element node <body><div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ </p><p id..., "Sanity check: endContainer must be correct")
    at testExtend ( /selection/extend.js:84:5)
Pass
assert_equals(1, 1, "Sanity check: endOffset must be correct")
    at testExtend ( /selection/extend.js:86:5)
Pass
assert_equals(Element node <body><div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ </p><p id..., Element node <body><div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ </p><p id..., "anchorNode must not change if the node passed to extend() has the same root as the original range")
    at testExtend ( /selection/extend.js:145:9)
Pass
assert_equals(1, 1, "anchorOffset must not change if the node passed to extend() has the same root as the original range")
    at testExtend ( /selection/extend.js:147:9)
Pass
assert_equals(Document node with 2 children, Document node with 2 children, "focusNode must be the node passed to extend()")
    at testExtend ( /selection/extend.js:155:5)
Pass
assert_equals(2, 2, "focusOffset must be the offset passed to extend()")
    at testExtend ( /selection/extend.js:157:5)
Pass
assert_not_equals(object "     Running, 1000 complete, 1 remain  "use strict";  testExtendSubSet(0, 20); testDiv.style.display = "none"; ", object "Äb̈c̈d̈ëf̈g̈ḧ Ijklmnop QrstuvwxYzabcdefGhijklmn", "extend() must replace any existing range with a new one, not mutate the existing one")
    at testExtend ( /selection/extend.js:159:5)
Passextend() forwards with range 19 [document.body, 0, document.body, 1] and point 49 [document, 3]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(Element node <body><div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ </p><p id..., Element node <body><div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ </p><p id..., "Sanity check: startContainer must be correct")
    at testExtend ( /selection/extend.js:80:5)
Pass
assert_equals(0, 0, "Sanity check: startOffset must be correct")
    at testExtend ( /selection/extend.js:82:5)
Pass
assert_equals(Element node <body><div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ </p><p id..., Element node <body><div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ </p><p id..., "Sanity check: endContainer must be correct")
    at testExtend ( /selection/extend.js:84:5)
Pass
assert_equals(1, 1, "Sanity check: endOffset must be correct")
    at testExtend ( /selection/extend.js:86:5)
Pass
assert_throws_dom("INDEX_SIZE_ERR", function "function() {             selection.extend(node, offset);         }", "extend() to an offset that's greater than node length (2) must throw IndexSizeError")
    at testExtend ( /selection/extend.js:117:9)
Passextend() backwards with range 19 [document.body, 0, document.body, 1] and point 49 [document, 3]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(Element node <body><div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ </p><p id..., Element node <body><div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ </p><p id..., "Sanity check: startContainer must be correct")
    at testExtend ( /selection/extend.js:80:5)
Pass
assert_equals(0, 0, "Sanity check: startOffset must be correct")
    at testExtend ( /selection/extend.js:82:5)
Pass
assert_equals(Element node <body><div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ </p><p id..., Element node <body><div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ </p><p id..., "Sanity check: endContainer must be correct")
    at testExtend ( /selection/extend.js:84:5)
Pass
assert_equals(1, 1, "Sanity check: endOffset must be correct")
    at testExtend ( /selection/extend.js:86:5)
Pass
assert_throws_dom("INDEX_SIZE_ERR", function "function() {             selection.extend(node, offset);         }", "extend() to an offset that's greater than node length (2) must throw IndexSizeError")
    at testExtend ( /selection/extend.js:117:9)
Passextend() forwards with range 19 [document.body, 0, document.body, 1] and point 50 [comment, -1]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(Element node <body><div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ </p><p id..., Element node <body><div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ </p><p id..., "Sanity check: startContainer must be correct")
    at testExtend ( /selection/extend.js:80:5)
Pass
assert_equals(0, 0, "Sanity check: startOffset must be correct")
    at testExtend ( /selection/extend.js:82:5)
Pass
assert_equals(Element node <body><div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ </p><p id..., Element node <body><div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ </p><p id..., "Sanity check: endContainer must be correct")
    at testExtend ( /selection/extend.js:84:5)
Pass
assert_equals(1, 1, "Sanity check: endOffset must be correct")
    at testExtend ( /selection/extend.js:86:5)
Pass
assert_throws_dom("INDEX_SIZE_ERR", function "function() {             selection.extend(node, offset);         }", "extend() to an offset that's greater than node length (14) must throw IndexSizeError")
    at testExtend ( /selection/extend.js:117:9)
Passextend() backwards with range 19 [document.body, 0, document.body, 1] and point 50 [comment, -1]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(Element node <body><div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ </p><p id..., Element node <body><div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ </p><p id..., "Sanity check: startContainer must be correct")
    at testExtend ( /selection/extend.js:80:5)
Pass
assert_equals(0, 0, "Sanity check: startOffset must be correct")
    at testExtend ( /selection/extend.js:82:5)
Pass
assert_equals(Element node <body><div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ </p><p id..., Element node <body><div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ </p><p id..., "Sanity check: endContainer must be correct")
    at testExtend ( /selection/extend.js:84:5)
Pass
assert_equals(1, 1, "Sanity check: endOffset must be correct")
    at testExtend ( /selection/extend.js:86:5)
Pass
assert_throws_dom("INDEX_SIZE_ERR", function "function() {             selection.extend(node, offset);         }", "extend() to an offset that's greater than node length (14) must throw IndexSizeError")
    at testExtend ( /selection/extend.js:117:9)
Passextend() forwards with range 19 [document.body, 0, document.body, 1] and point 51 [comment, 0]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(Element node <body><div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ </p><p id..., Element node <body><div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ </p><p id..., "Sanity check: startContainer must be correct")
    at testExtend ( /selection/extend.js:80:5)
Pass
assert_equals(0, 0, "Sanity check: startOffset must be correct")
    at testExtend ( /selection/extend.js:82:5)
Pass
assert_equals(Element node <body><div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ </p><p id..., Element node <body><div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ </p><p id..., "Sanity check: endContainer must be correct")
    at testExtend ( /selection/extend.js:84:5)
Pass
assert_equals(1, 1, "Sanity check: endOffset must be correct")
    at testExtend ( /selection/extend.js:86:5)
Pass
assert_equals(Element node <body><div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ </p><p id..., Element node <body><div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ </p><p id..., "anchorNode must not change if the node passed to extend() has the same root as the original range")
    at testExtend ( /selection/extend.js:145:9)
Pass
assert_equals(0, 0, "anchorOffset must not change if the node passed to extend() has the same root as the original range")
    at testExtend ( /selection/extend.js:147:9)
Pass
assert_equals(Comment node <!--Alphabet soup?-->, Comment node <!--Alphabet soup?-->, "focusNode must be the node passed to extend()")
    at testExtend ( /selection/extend.js:155:5)
Pass
assert_equals(0, 0, "focusOffset must be the offset passed to extend()")
    at testExtend ( /selection/extend.js:157:5)
Pass
assert_not_equals(object "Äb̈c̈d̈ëf̈g̈ḧ Ijklmnop QrstuvwxYzabcdefGhijklmn", object "Äb̈c̈d̈ëf̈g̈ḧ Ijklmnop QrstuvwxYzabcdefGhijklmn", "extend() must replace any existing range with a new one, not mutate the existing one")
    at testExtend ( /selection/extend.js:159:5)
Passextend() backwards with range 19 [document.body, 0, document.body, 1] and point 51 [comment, 0]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(Element node <body><div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ </p><p id..., Element node <body><div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ </p><p id..., "Sanity check: startContainer must be correct")
    at testExtend ( /selection/extend.js:80:5)
Pass
assert_equals(0, 0, "Sanity check: startOffset must be correct")
    at testExtend ( /selection/extend.js:82:5)
Pass
assert_equals(Element node <body><div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ </p><p id..., Element node <body><div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ </p><p id..., "Sanity check: endContainer must be correct")
    at testExtend ( /selection/extend.js:84:5)
Pass
assert_equals(1, 1, "Sanity check: endOffset must be correct")
    at testExtend ( /selection/extend.js:86:5)
Pass
assert_equals(Element node <body><div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ </p><p id..., Element node <body><div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ </p><p id..., "anchorNode must not change if the node passed to extend() has the same root as the original range")
    at testExtend ( /selection/extend.js:145:9)
Pass
assert_equals(1, 1, "anchorOffset must not change if the node passed to extend() has the same root as the original range")
    at testExtend ( /selection/extend.js:147:9)
Pass
assert_equals(Comment node <!--Alphabet soup?-->, Comment node <!--Alphabet soup?-->, "focusNode must be the node passed to extend()")
    at testExtend ( /selection/extend.js:155:5)
Pass
assert_equals(0, 0, "focusOffset must be the offset passed to extend()")
    at testExtend ( /selection/extend.js:157:5)
Pass
assert_not_equals(object "", object "Äb̈c̈d̈ëf̈g̈ḧ Ijklmnop QrstuvwxYzabcdefGhijklmn", "extend() must replace any existing range with a new one, not mutate the existing one")
    at testExtend ( /selection/extend.js:159:5)
Passextend() forwards with range 19 [document.body, 0, document.body, 1] and point 52 [comment, 4]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(Element node <body><div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ </p><p id..., Element node <body><div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ </p><p id..., "Sanity check: startContainer must be correct")
    at testExtend ( /selection/extend.js:80:5)
Pass
assert_equals(0, 0, "Sanity check: startOffset must be correct")
    at testExtend ( /selection/extend.js:82:5)
Pass
assert_equals(Element node <body><div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ </p><p id..., Element node <body><div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ </p><p id..., "Sanity check: endContainer must be correct")
    at testExtend ( /selection/extend.js:84:5)
Pass
assert_equals(1, 1, "Sanity check: endOffset must be correct")
    at testExtend ( /selection/extend.js:86:5)
Pass
assert_equals(Element node <body><div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ </p><p id..., Element node <body><div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ </p><p id..., "anchorNode must not change if the node passed to extend() has the same root as the original range")
    at testExtend ( /selection/extend.js:145:9)
Pass
assert_equals(0, 0, "anchorOffset must not change if the node passed to extend() has the same root as the original range")
    at testExtend ( /selection/extend.js:147:9)
Pass
assert_equals(Comment node <!--Alphabet soup?-->, Comment node <!--Alphabet soup?-->, "focusNode must be the node passed to extend()")
    at testExtend ( /selection/extend.js:155:5)
Pass
assert_equals(4, 4, "focusOffset must be the offset passed to extend()")
    at testExtend ( /selection/extend.js:157:5)
Pass
assert_not_equals(object "Äb̈c̈d̈ëf̈g̈ḧ Ijklmnop QrstuvwxYzabcdefGhijklmn", object "Äb̈c̈d̈ëf̈g̈ḧ Ijklmnop QrstuvwxYzabcdefGhijklmn", "extend() must replace any existing range with a new one, not mutate the existing one")
    at testExtend ( /selection/extend.js:159:5)
Passextend() backwards with range 19 [document.body, 0, document.body, 1] and point 52 [comment, 4]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(Element node <body><div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ </p><p id..., Element node <body><div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ </p><p id..., "Sanity check: startContainer must be correct")
    at testExtend ( /selection/extend.js:80:5)
Pass
assert_equals(0, 0, "Sanity check: startOffset must be correct")
    at testExtend ( /selection/extend.js:82:5)
Pass
assert_equals(Element node <body><div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ </p><p id..., Element node <body><div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ </p><p id..., "Sanity check: endContainer must be correct")
    at testExtend ( /selection/extend.js:84:5)
Pass
assert_equals(1, 1, "Sanity check: endOffset must be correct")
    at testExtend ( /selection/extend.js:86:5)
Pass
assert_equals(Element node <body><div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ </p><p id..., Element node <body><div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ </p><p id..., "anchorNode must not change if the node passed to extend() has the same root as the original range")
    at testExtend ( /selection/extend.js:145:9)
Pass
assert_equals(1, 1, "anchorOffset must not change if the node passed to extend() has the same root as the original range")
    at testExtend ( /selection/extend.js:147:9)
Pass
assert_equals(Comment node <!--Alphabet soup?-->, Comment node <!--Alphabet soup?-->, "focusNode must be the node passed to extend()")
    at testExtend ( /selection/extend.js:155:5)
Pass
assert_equals(4, 4, "focusOffset must be the offset passed to extend()")
    at testExtend ( /selection/extend.js:157:5)
Pass
assert_not_equals(object "", object "Äb̈c̈d̈ëf̈g̈ḧ Ijklmnop QrstuvwxYzabcdefGhijklmn", "extend() must replace any existing range with a new one, not mutate the existing one")
    at testExtend ( /selection/extend.js:159:5)
Passextend() forwards with range 19 [document.body, 0, document.body, 1] and point 53 [comment, 96]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(Element node <body><div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ </p><p id..., Element node <body><div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ </p><p id..., "Sanity check: startContainer must be correct")
    at testExtend ( /selection/extend.js:80:5)
Pass
assert_equals(0, 0, "Sanity check: startOffset must be correct")
    at testExtend ( /selection/extend.js:82:5)
Pass
assert_equals(Element node <body><div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ </p><p id..., Element node <body><div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ </p><p id..., "Sanity check: endContainer must be correct")
    at testExtend ( /selection/extend.js:84:5)
Pass
assert_equals(1, 1, "Sanity check: endOffset must be correct")
    at testExtend ( /selection/extend.js:86:5)
Pass
assert_throws_dom("INDEX_SIZE_ERR", function "function() {             selection.extend(node, offset);         }", "extend() to an offset that's greater than node length (14) must throw IndexSizeError")
    at testExtend ( /selection/extend.js:117:9)
Passextend() backwards with range 19 [document.body, 0, document.body, 1] and point 53 [comment, 96]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(Element node <body><div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ </p><p id..., Element node <body><div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ </p><p id..., "Sanity check: startContainer must be correct")
    at testExtend ( /selection/extend.js:80:5)
Pass
assert_equals(0, 0, "Sanity check: startOffset must be correct")
    at testExtend ( /selection/extend.js:82:5)
Pass
assert_equals(Element node <body><div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ </p><p id..., Element node <body><div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ </p><p id..., "Sanity check: endContainer must be correct")
    at testExtend ( /selection/extend.js:84:5)
Pass
assert_equals(1, 1, "Sanity check: endOffset must be correct")
    at testExtend ( /selection/extend.js:86:5)
Pass
assert_throws_dom("INDEX_SIZE_ERR", function "function() {             selection.extend(node, offset);         }", "extend() to an offset that's greater than node length (14) must throw IndexSizeError")
    at testExtend ( /selection/extend.js:117:9)
Passextend() forwards with range 19 [document.body, 0, document.body, 1] and point 54 [foreignDoc, 0]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(1, 1, "The operation should not add Range")
    at assertSelectionNoChange ( /selection/common.js:976:5)
Pass
assert_equals(Element node <body><div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ </p><p id..., Element node <body><div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ </p><p id..., "The operation should not update anchorNode")
    at assertSelectionNoChange ( /selection/common.js:978:5)
Pass
assert_equals(0, 0, "The operation should not update anchorOffset")
    at assertSelectionNoChange ( /selection/common.js:980:5)
Pass
assert_equals(Element node <body><div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ </p><p id..., Element node <body><div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ </p><p id..., "The operation should not update focusNode")
    at assertSelectionNoChange ( /selection/common.js:982:5)
Pass
assert_equals(1, 1, "The operation should not update focusOffset")
    at assertSelectionNoChange ( /selection/common.js:984:5)
Pass
assert_equals(object "Äb̈c̈d̈ëf̈g̈ḧ Ijklmnop QrstuvwxYzabcdefGhijklmn", object "Äb̈c̈d̈ëf̈g̈ḧ Ijklmnop QrstuvwxYzabcdefGhijklmn", "The operation should not replace a registered Range")
    at assertSelectionNoChange ( /selection/common.js:988:5)
Passextend() backwards with range 19 [document.body, 0, document.body, 1] and point 54 [foreignDoc, 0]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(1, 1, "The operation should not add Range")
    at assertSelectionNoChange ( /selection/common.js:976:5)
Pass
assert_equals(Element node <body><div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ </p><p id..., Element node <body><div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ </p><p id..., "The operation should not update anchorNode")
    at assertSelectionNoChange ( /selection/common.js:978:5)
Pass
assert_equals(1, 1, "The operation should not update anchorOffset")
    at assertSelectionNoChange ( /selection/common.js:980:5)
Pass
assert_equals(Element node <body><div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ </p><p id..., Element node <body><div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ </p><p id..., "The operation should not update focusNode")
    at assertSelectionNoChange ( /selection/common.js:982:5)
Pass
assert_equals(0, 0, "The operation should not update focusOffset")
    at assertSelectionNoChange ( /selection/common.js:984:5)
Pass
assert_equals(object "Äb̈c̈d̈ëf̈g̈ḧ Ijklmnop QrstuvwxYzabcdefGhijklmn", object "Äb̈c̈d̈ëf̈g̈ḧ Ijklmnop QrstuvwxYzabcdefGhijklmn", "The operation should not replace a registered Range")
    at assertSelectionNoChange ( /selection/common.js:988:5)
Passextend() forwards with range 19 [document.body, 0, document.body, 1] and point 55 [foreignDoc, 1]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(1, 1, "The operation should not add Range")
    at assertSelectionNoChange ( /selection/common.js:976:5)
Pass
assert_equals(Element node <body><div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ </p><p id..., Element node <body><div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ </p><p id..., "The operation should not update anchorNode")
    at assertSelectionNoChange ( /selection/common.js:978:5)
Pass
assert_equals(0, 0, "The operation should not update anchorOffset")
    at assertSelectionNoChange ( /selection/common.js:980:5)
Pass
assert_equals(Element node <body><div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ </p><p id..., Element node <body><div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ </p><p id..., "The operation should not update focusNode")
    at assertSelectionNoChange ( /selection/common.js:982:5)
Pass
assert_equals(1, 1, "The operation should not update focusOffset")
    at assertSelectionNoChange ( /selection/common.js:984:5)
Pass
assert_equals(object "Äb̈c̈d̈ëf̈g̈ḧ Ijklmnop QrstuvwxYzabcdefGhijklmn", object "Äb̈c̈d̈ëf̈g̈ḧ Ijklmnop QrstuvwxYzabcdefGhijklmn", "The operation should not replace a registered Range")
    at assertSelectionNoChange ( /selection/common.js:988:5)
Passextend() backwards with range 19 [document.body, 0, document.body, 1] and point 55 [foreignDoc, 1]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(1, 1, "The operation should not add Range")
    at assertSelectionNoChange ( /selection/common.js:976:5)
Pass
assert_equals(Element node <body><div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ </p><p id..., Element node <body><div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ </p><p id..., "The operation should not update anchorNode")
    at assertSelectionNoChange ( /selection/common.js:978:5)
Pass
assert_equals(1, 1, "The operation should not update anchorOffset")
    at assertSelectionNoChange ( /selection/common.js:980:5)
Pass
assert_equals(Element node <body><div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ </p><p id..., Element node <body><div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ </p><p id..., "The operation should not update focusNode")
    at assertSelectionNoChange ( /selection/common.js:982:5)
Pass
assert_equals(0, 0, "The operation should not update focusOffset")
    at assertSelectionNoChange ( /selection/common.js:984:5)
Pass
assert_equals(object "Äb̈c̈d̈ëf̈g̈ḧ Ijklmnop QrstuvwxYzabcdefGhijklmn", object "Äb̈c̈d̈ëf̈g̈ḧ Ijklmnop QrstuvwxYzabcdefGhijklmn", "The operation should not replace a registered Range")
    at assertSelectionNoChange ( /selection/common.js:988:5)
Passextend() forwards with range 19 [document.body, 0, document.body, 1] and point 56 [foreignComment, 2]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(1, 1, "The operation should not add Range")
    at assertSelectionNoChange ( /selection/common.js:976:5)
Pass
assert_equals(Element node <body><div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ </p><p id..., Element node <body><div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ </p><p id..., "The operation should not update anchorNode")
    at assertSelectionNoChange ( /selection/common.js:978:5)
Pass
assert_equals(0, 0, "The operation should not update anchorOffset")
    at assertSelectionNoChange ( /selection/common.js:980:5)
Pass
assert_equals(Element node <body><div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ </p><p id..., Element node <body><div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ </p><p id..., "The operation should not update focusNode")
    at assertSelectionNoChange ( /selection/common.js:982:5)
Pass
assert_equals(1, 1, "The operation should not update focusOffset")
    at assertSelectionNoChange ( /selection/common.js:984:5)
Pass
assert_equals(object "Äb̈c̈d̈ëf̈g̈ḧ Ijklmnop QrstuvwxYzabcdefGhijklmn", object "Äb̈c̈d̈ëf̈g̈ḧ Ijklmnop QrstuvwxYzabcdefGhijklmn", "The operation should not replace a registered Range")
    at assertSelectionNoChange ( /selection/common.js:988:5)
Passextend() backwards with range 19 [document.body, 0, document.body, 1] and point 56 [foreignComment, 2]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(1, 1, "The operation should not add Range")
    at assertSelectionNoChange ( /selection/common.js:976:5)
Pass
assert_equals(Element node <body><div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ </p><p id..., Element node <body><div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ </p><p id..., "The operation should not update anchorNode")
    at assertSelectionNoChange ( /selection/common.js:978:5)
Pass
assert_equals(1, 1, "The operation should not update anchorOffset")
    at assertSelectionNoChange ( /selection/common.js:980:5)
Pass
assert_equals(Element node <body><div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ </p><p id..., Element node <body><div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ </p><p id..., "The operation should not update focusNode")
    at assertSelectionNoChange ( /selection/common.js:982:5)
Pass
assert_equals(0, 0, "The operation should not update focusOffset")
    at assertSelectionNoChange ( /selection/common.js:984:5)
Pass
assert_equals(object "Äb̈c̈d̈ëf̈g̈ḧ Ijklmnop QrstuvwxYzabcdefGhijklmn", object "Äb̈c̈d̈ëf̈g̈ḧ Ijklmnop QrstuvwxYzabcdefGhijklmn", "The operation should not replace a registered Range")
    at assertSelectionNoChange ( /selection/common.js:988:5)
Passextend() forwards with range 19 [document.body, 0, document.body, 1] and point 57 [foreignTextNode, 0]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(1, 1, "The operation should not add Range")
    at assertSelectionNoChange ( /selection/common.js:976:5)
Pass
assert_equals(Element node <body><div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ </p><p id..., Element node <body><div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ </p><p id..., "The operation should not update anchorNode")
    at assertSelectionNoChange ( /selection/common.js:978:5)
Pass
assert_equals(0, 0, "The operation should not update anchorOffset")
    at assertSelectionNoChange ( /selection/common.js:980:5)
Pass
assert_equals(Element node <body><div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ </p><p id..., Element node <body><div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ </p><p id..., "The operation should not update focusNode")
    at assertSelectionNoChange ( /selection/common.js:982:5)
Pass
assert_equals(1, 1, "The operation should not update focusOffset")
    at assertSelectionNoChange ( /selection/common.js:984:5)
Pass
assert_equals(object "Äb̈c̈d̈ëf̈g̈ḧ Ijklmnop QrstuvwxYzabcdefGhijklmn", object "Äb̈c̈d̈ëf̈g̈ḧ Ijklmnop QrstuvwxYzabcdefGhijklmn", "The operation should not replace a registered Range")
    at assertSelectionNoChange ( /selection/common.js:988:5)
Passextend() backwards with range 19 [document.body, 0, document.body, 1] and point 57 [foreignTextNode, 0]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(1, 1, "The operation should not add Range")
    at assertSelectionNoChange ( /selection/common.js:976:5)
Pass
assert_equals(Element node <body><div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ </p><p id..., Element node <body><div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ </p><p id..., "The operation should not update anchorNode")
    at assertSelectionNoChange ( /selection/common.js:978:5)
Pass
assert_equals(1, 1, "The operation should not update anchorOffset")
    at assertSelectionNoChange ( /selection/common.js:980:5)
Pass
assert_equals(Element node <body><div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ </p><p id..., Element node <body><div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ </p><p id..., "The operation should not update focusNode")
    at assertSelectionNoChange ( /selection/common.js:982:5)
Pass
assert_equals(0, 0, "The operation should not update focusOffset")
    at assertSelectionNoChange ( /selection/common.js:984:5)
Pass
assert_equals(object "Äb̈c̈d̈ëf̈g̈ḧ Ijklmnop QrstuvwxYzabcdefGhijklmn", object "Äb̈c̈d̈ëf̈g̈ḧ Ijklmnop QrstuvwxYzabcdefGhijklmn", "The operation should not replace a registered Range")
    at assertSelectionNoChange ( /selection/common.js:988:5)
Passextend() forwards with range 19 [document.body, 0, document.body, 1] and point 58 [foreignTextNode, 36]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(1, 1, "The operation should not add Range")
    at assertSelectionNoChange ( /selection/common.js:976:5)
Pass
assert_equals(Element node <body><div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ </p><p id..., Element node <body><div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ </p><p id..., "The operation should not update anchorNode")
    at assertSelectionNoChange ( /selection/common.js:978:5)
Pass
assert_equals(0, 0, "The operation should not update anchorOffset")
    at assertSelectionNoChange ( /selection/common.js:980:5)
Pass
assert_equals(Element node <body><div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ </p><p id..., Element node <body><div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ </p><p id..., "The operation should not update focusNode")
    at assertSelectionNoChange ( /selection/common.js:982:5)
Pass
assert_equals(1, 1, "The operation should not update focusOffset")
    at assertSelectionNoChange ( /selection/common.js:984:5)
Pass
assert_equals(object "Äb̈c̈d̈ëf̈g̈ḧ Ijklmnop QrstuvwxYzabcdefGhijklmn", object "Äb̈c̈d̈ëf̈g̈ḧ Ijklmnop QrstuvwxYzabcdefGhijklmn", "The operation should not replace a registered Range")
    at assertSelectionNoChange ( /selection/common.js:988:5)
Passextend() backwards with range 19 [document.body, 0, document.body, 1] and point 58 [foreignTextNode, 36]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(1, 1, "The operation should not add Range")
    at assertSelectionNoChange ( /selection/common.js:976:5)
Pass
assert_equals(Element node <body><div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ </p><p id..., Element node <body><div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ </p><p id..., "The operation should not update anchorNode")
    at assertSelectionNoChange ( /selection/common.js:978:5)
Pass
assert_equals(1, 1, "The operation should not update anchorOffset")
    at assertSelectionNoChange ( /selection/common.js:980:5)
Pass
assert_equals(Element node <body><div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ </p><p id..., Element node <body><div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ </p><p id..., "The operation should not update focusNode")
    at assertSelectionNoChange ( /selection/common.js:982:5)
Pass
assert_equals(0, 0, "The operation should not update focusOffset")
    at assertSelectionNoChange ( /selection/common.js:984:5)
Pass
assert_equals(object "Äb̈c̈d̈ëf̈g̈ḧ Ijklmnop QrstuvwxYzabcdefGhijklmn", object "Äb̈c̈d̈ëf̈g̈ḧ Ijklmnop QrstuvwxYzabcdefGhijklmn", "The operation should not replace a registered Range")
    at assertSelectionNoChange ( /selection/common.js:988:5)
Passextend() forwards with range 19 [document.body, 0, document.body, 1] and point 59 [xmlDoc, -1]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(1, 1, "The operation should not add Range")
    at assertSelectionNoChange ( /selection/common.js:976:5)
Pass
assert_equals(Element node <body><div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ </p><p id..., Element node <body><div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ </p><p id..., "The operation should not update anchorNode")
    at assertSelectionNoChange ( /selection/common.js:978:5)
Pass
assert_equals(0, 0, "The operation should not update anchorOffset")
    at assertSelectionNoChange ( /selection/common.js:980:5)
Pass
assert_equals(Element node <body><div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ </p><p id..., Element node <body><div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ </p><p id..., "The operation should not update focusNode")
    at assertSelectionNoChange ( /selection/common.js:982:5)
Pass
assert_equals(1, 1, "The operation should not update focusOffset")
    at assertSelectionNoChange ( /selection/common.js:984:5)
Pass
assert_equals(object "Äb̈c̈d̈ëf̈g̈ḧ Ijklmnop QrstuvwxYzabcdefGhijklmn", object "Äb̈c̈d̈ëf̈g̈ḧ Ijklmnop QrstuvwxYzabcdefGhijklmn", "The operation should not replace a registered Range")
    at assertSelectionNoChange ( /selection/common.js:988:5)
Passextend() backwards with range 19 [document.body, 0, document.body, 1] and point 59 [xmlDoc, -1]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(1, 1, "The operation should not add Range")
    at assertSelectionNoChange ( /selection/common.js:976:5)
Pass
assert_equals(Element node <body><div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ </p><p id..., Element node <body><div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ </p><p id..., "The operation should not update anchorNode")
    at assertSelectionNoChange ( /selection/common.js:978:5)
Pass
assert_equals(1, 1, "The operation should not update anchorOffset")
    at assertSelectionNoChange ( /selection/common.js:980:5)
Pass
assert_equals(Element node <body><div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ </p><p id..., Element node <body><div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ </p><p id..., "The operation should not update focusNode")
    at assertSelectionNoChange ( /selection/common.js:982:5)
Pass
assert_equals(0, 0, "The operation should not update focusOffset")
    at assertSelectionNoChange ( /selection/common.js:984:5)
Pass
assert_equals(object "Äb̈c̈d̈ëf̈g̈ḧ Ijklmnop QrstuvwxYzabcdefGhijklmn", object "Äb̈c̈d̈ëf̈g̈ḧ Ijklmnop QrstuvwxYzabcdefGhijklmn", "The operation should not replace a registered Range")
    at assertSelectionNoChange ( /selection/common.js:988:5)
Passextend() forwards with range 19 [document.body, 0, document.body, 1] and point 60 [xmlDoc, 0]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(1, 1, "The operation should not add Range")
    at assertSelectionNoChange ( /selection/common.js:976:5)
Pass
assert_equals(Element node <body><div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ </p><p id..., Element node <body><div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ </p><p id..., "The operation should not update anchorNode")
    at assertSelectionNoChange ( /selection/common.js:978:5)
Pass
assert_equals(0, 0, "The operation should not update anchorOffset")
    at assertSelectionNoChange ( /selection/common.js:980:5)
Pass
assert_equals(Element node <body><div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ </p><p id..., Element node <body><div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ </p><p id..., "The operation should not update focusNode")
    at assertSelectionNoChange ( /selection/common.js:982:5)
Pass
assert_equals(1, 1, "The operation should not update focusOffset")
    at assertSelectionNoChange ( /selection/common.js:984:5)
Pass
assert_equals(object "Äb̈c̈d̈ëf̈g̈ḧ Ijklmnop QrstuvwxYzabcdefGhijklmn", object "Äb̈c̈d̈ëf̈g̈ḧ Ijklmnop QrstuvwxYzabcdefGhijklmn", "The operation should not replace a registered Range")
    at assertSelectionNoChange ( /selection/common.js:988:5)
Passextend() backwards with range 19 [document.body, 0, document.body, 1] and point 60 [xmlDoc, 0]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(1, 1, "The operation should not add Range")
    at assertSelectionNoChange ( /selection/common.js:976:5)
Pass
assert_equals(Element node <body><div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ </p><p id..., Element node <body><div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ </p><p id..., "The operation should not update anchorNode")
    at assertSelectionNoChange ( /selection/common.js:978:5)
Pass
assert_equals(1, 1, "The operation should not update anchorOffset")
    at assertSelectionNoChange ( /selection/common.js:980:5)
Pass
assert_equals(Element node <body><div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ </p><p id..., Element node <body><div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ </p><p id..., "The operation should not update focusNode")
    at assertSelectionNoChange ( /selection/common.js:982:5)
Pass
assert_equals(0, 0, "The operation should not update focusOffset")
    at assertSelectionNoChange ( /selection/common.js:984:5)
Pass
assert_equals(object "Äb̈c̈d̈ëf̈g̈ḧ Ijklmnop QrstuvwxYzabcdefGhijklmn", object "Äb̈c̈d̈ëf̈g̈ḧ Ijklmnop QrstuvwxYzabcdefGhijklmn", "The operation should not replace a registered Range")
    at assertSelectionNoChange ( /selection/common.js:988:5)
Passextend() forwards with range 19 [document.body, 0, document.body, 1] and point 61 [xmlDoc, 1]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(1, 1, "The operation should not add Range")
    at assertSelectionNoChange ( /selection/common.js:976:5)
Pass
assert_equals(Element node <body><div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ </p><p id..., Element node <body><div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ </p><p id..., "The operation should not update anchorNode")
    at assertSelectionNoChange ( /selection/common.js:978:5)
Pass
assert_equals(0, 0, "The operation should not update anchorOffset")
    at assertSelectionNoChange ( /selection/common.js:980:5)
Pass
assert_equals(Element node <body><div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ </p><p id..., Element node <body><div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ </p><p id..., "The operation should not update focusNode")
    at assertSelectionNoChange ( /selection/common.js:982:5)
Pass
assert_equals(1, 1, "The operation should not update focusOffset")
    at assertSelectionNoChange ( /selection/common.js:984:5)
Pass
assert_equals(object "Äb̈c̈d̈ëf̈g̈ḧ Ijklmnop QrstuvwxYzabcdefGhijklmn", object "Äb̈c̈d̈ëf̈g̈ḧ Ijklmnop QrstuvwxYzabcdefGhijklmn", "The operation should not replace a registered Range")
    at assertSelectionNoChange ( /selection/common.js:988:5)
Passextend() backwards with range 19 [document.body, 0, document.body, 1] and point 61 [xmlDoc, 1]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(1, 1, "The operation should not add Range")
    at assertSelectionNoChange ( /selection/common.js:976:5)
Pass
assert_equals(Element node <body><div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ </p><p id..., Element node <body><div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ </p><p id..., "The operation should not update anchorNode")
    at assertSelectionNoChange ( /selection/common.js:978:5)
Pass
assert_equals(1, 1, "The operation should not update anchorOffset")
    at assertSelectionNoChange ( /selection/common.js:980:5)
Pass
assert_equals(Element node <body><div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ </p><p id..., Element node <body><div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ </p><p id..., "The operation should not update focusNode")
    at assertSelectionNoChange ( /selection/common.js:982:5)
Pass
assert_equals(0, 0, "The operation should not update focusOffset")
    at assertSelectionNoChange ( /selection/common.js:984:5)
Pass
assert_equals(object "Äb̈c̈d̈ëf̈g̈ḧ Ijklmnop QrstuvwxYzabcdefGhijklmn", object "Äb̈c̈d̈ëf̈g̈ḧ Ijklmnop QrstuvwxYzabcdefGhijklmn", "The operation should not replace a registered Range")
    at assertSelectionNoChange ( /selection/common.js:988:5)
Passextend() forwards with range 19 [document.body, 0, document.body, 1] and point 62 [xmlDoc, 5]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(1, 1, "The operation should not add Range")
    at assertSelectionNoChange ( /selection/common.js:976:5)
Pass
assert_equals(Element node <body><div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ </p><p id..., Element node <body><div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ </p><p id..., "The operation should not update anchorNode")
    at assertSelectionNoChange ( /selection/common.js:978:5)
Pass
assert_equals(0, 0, "The operation should not update anchorOffset")
    at assertSelectionNoChange ( /selection/common.js:980:5)
Pass
assert_equals(Element node <body><div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ </p><p id..., Element node <body><div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ </p><p id..., "The operation should not update focusNode")
    at assertSelectionNoChange ( /selection/common.js:982:5)
Pass
assert_equals(1, 1, "The operation should not update focusOffset")
    at assertSelectionNoChange ( /selection/common.js:984:5)
Pass
assert_equals(object "Äb̈c̈d̈ëf̈g̈ḧ Ijklmnop QrstuvwxYzabcdefGhijklmn", object "Äb̈c̈d̈ëf̈g̈ḧ Ijklmnop QrstuvwxYzabcdefGhijklmn", "The operation should not replace a registered Range")
    at assertSelectionNoChange ( /selection/common.js:988:5)
Passextend() backwards with range 19 [document.body, 0, document.body, 1] and point 62 [xmlDoc, 5]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(1, 1, "The operation should not add Range")
    at assertSelectionNoChange ( /selection/common.js:976:5)
Pass
assert_equals(Element node <body><div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ </p><p id..., Element node <body><div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ </p><p id..., "The operation should not update anchorNode")
    at assertSelectionNoChange ( /selection/common.js:978:5)
Pass
assert_equals(1, 1, "The operation should not update anchorOffset")
    at assertSelectionNoChange ( /selection/common.js:980:5)
Pass
assert_equals(Element node <body><div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ </p><p id..., Element node <body><div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ </p><p id..., "The operation should not update focusNode")
    at assertSelectionNoChange ( /selection/common.js:982:5)
Pass
assert_equals(0, 0, "The operation should not update focusOffset")
    at assertSelectionNoChange ( /selection/common.js:984:5)
Pass
assert_equals(object "Äb̈c̈d̈ëf̈g̈ḧ Ijklmnop QrstuvwxYzabcdefGhijklmn", object "Äb̈c̈d̈ëf̈g̈ḧ Ijklmnop QrstuvwxYzabcdefGhijklmn", "The operation should not replace a registered Range")
    at assertSelectionNoChange ( /selection/common.js:988:5)
Passextend() forwards with range 19 [document.body, 0, document.body, 1] and point 63 [xmlComment, 0]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(1, 1, "The operation should not add Range")
    at assertSelectionNoChange ( /selection/common.js:976:5)
Pass
assert_equals(Element node <body><div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ </p><p id..., Element node <body><div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ </p><p id..., "The operation should not update anchorNode")
    at assertSelectionNoChange ( /selection/common.js:978:5)
Pass
assert_equals(0, 0, "The operation should not update anchorOffset")
    at assertSelectionNoChange ( /selection/common.js:980:5)
Pass
assert_equals(Element node <body><div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ </p><p id..., Element node <body><div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ </p><p id..., "The operation should not update focusNode")
    at assertSelectionNoChange ( /selection/common.js:982:5)
Pass
assert_equals(1, 1, "The operation should not update focusOffset")
    at assertSelectionNoChange ( /selection/common.js:984:5)
Pass
assert_equals(object "Äb̈c̈d̈ëf̈g̈ḧ Ijklmnop QrstuvwxYzabcdefGhijklmn", object "Äb̈c̈d̈ëf̈g̈ḧ Ijklmnop QrstuvwxYzabcdefGhijklmn", "The operation should not replace a registered Range")
    at assertSelectionNoChange ( /selection/common.js:988:5)
Passextend() backwards with range 19 [document.body, 0, document.body, 1] and point 63 [xmlComment, 0]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(1, 1, "The operation should not add Range")
    at assertSelectionNoChange ( /selection/common.js:976:5)
Pass
assert_equals(Element node <body><div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ </p><p id..., Element node <body><div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ </p><p id..., "The operation should not update anchorNode")
    at assertSelectionNoChange ( /selection/common.js:978:5)
Pass
assert_equals(1, 1, "The operation should not update anchorOffset")
    at assertSelectionNoChange ( /selection/common.js:980:5)
Pass
assert_equals(Element node <body><div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ </p><p id..., Element node <body><div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ </p><p id..., "The operation should not update focusNode")
    at assertSelectionNoChange ( /selection/common.js:982:5)
Pass
assert_equals(0, 0, "The operation should not update focusOffset")
    at assertSelectionNoChange ( /selection/common.js:984:5)
Pass
assert_equals(object "Äb̈c̈d̈ëf̈g̈ḧ Ijklmnop QrstuvwxYzabcdefGhijklmn", object "Äb̈c̈d̈ëf̈g̈ḧ Ijklmnop QrstuvwxYzabcdefGhijklmn", "The operation should not replace a registered Range")
    at assertSelectionNoChange ( /selection/common.js:988:5)
Passextend() forwards with range 19 [document.body, 0, document.body, 1] and point 64 [xmlComment, 4]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(1, 1, "The operation should not add Range")
    at assertSelectionNoChange ( /selection/common.js:976:5)
Pass
assert_equals(Element node <body><div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ </p><p id..., Element node <body><div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ </p><p id..., "The operation should not update anchorNode")
    at assertSelectionNoChange ( /selection/common.js:978:5)
Pass
assert_equals(0, 0, "The operation should not update anchorOffset")
    at assertSelectionNoChange ( /selection/common.js:980:5)
Pass
assert_equals(Element node <body><div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ </p><p id..., Element node <body><div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ </p><p id..., "The operation should not update focusNode")
    at assertSelectionNoChange ( /selection/common.js:982:5)
Pass
assert_equals(1, 1, "The operation should not update focusOffset")
    at assertSelectionNoChange ( /selection/common.js:984:5)
Pass
assert_equals(object "Äb̈c̈d̈ëf̈g̈ḧ Ijklmnop QrstuvwxYzabcdefGhijklmn", object "Äb̈c̈d̈ëf̈g̈ḧ Ijklmnop QrstuvwxYzabcdefGhijklmn", "The operation should not replace a registered Range")
    at assertSelectionNoChange ( /selection/common.js:988:5)
Passextend() backwards with range 19 [document.body, 0, document.body, 1] and point 64 [xmlComment, 4]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(1, 1, "The operation should not add Range")
    at assertSelectionNoChange ( /selection/common.js:976:5)
Pass
assert_equals(Element node <body><div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ </p><p id..., Element node <body><div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ </p><p id..., "The operation should not update anchorNode")
    at assertSelectionNoChange ( /selection/common.js:978:5)
Pass
assert_equals(1, 1, "The operation should not update anchorOffset")
    at assertSelectionNoChange ( /selection/common.js:980:5)
Pass
assert_equals(Element node <body><div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ </p><p id..., Element node <body><div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ </p><p id..., "The operation should not update focusNode")
    at assertSelectionNoChange ( /selection/common.js:982:5)
Pass
assert_equals(0, 0, "The operation should not update focusOffset")
    at assertSelectionNoChange ( /selection/common.js:984:5)
Pass
assert_equals(object "Äb̈c̈d̈ëf̈g̈ḧ Ijklmnop QrstuvwxYzabcdefGhijklmn", object "Äb̈c̈d̈ëf̈g̈ḧ Ijklmnop QrstuvwxYzabcdefGhijklmn", "The operation should not replace a registered Range")
    at assertSelectionNoChange ( /selection/common.js:988:5)
Passextend() forwards with range 19 [document.body, 0, document.body, 1] and point 65 [processingInstruction, 0]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(1, 1, "The operation should not add Range")
    at assertSelectionNoChange ( /selection/common.js:976:5)
Pass
assert_equals(Element node <body><div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ </p><p id..., Element node <body><div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ </p><p id..., "The operation should not update anchorNode")
    at assertSelectionNoChange ( /selection/common.js:978:5)
Pass
assert_equals(0, 0, "The operation should not update anchorOffset")
    at assertSelectionNoChange ( /selection/common.js:980:5)
Pass
assert_equals(Element node <body><div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ </p><p id..., Element node <body><div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ </p><p id..., "The operation should not update focusNode")
    at assertSelectionNoChange ( /selection/common.js:982:5)
Pass
assert_equals(1, 1, "The operation should not update focusOffset")
    at assertSelectionNoChange ( /selection/common.js:984:5)
Pass
assert_equals(object "Äb̈c̈d̈ëf̈g̈ḧ Ijklmnop QrstuvwxYzabcdefGhijklmn", object "Äb̈c̈d̈ëf̈g̈ḧ Ijklmnop QrstuvwxYzabcdefGhijklmn", "The operation should not replace a registered Range")
    at assertSelectionNoChange ( /selection/common.js:988:5)
Passextend() backwards with range 19 [document.body, 0, document.body, 1] and point 65 [processingInstruction, 0]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(1, 1, "The operation should not add Range")
    at assertSelectionNoChange ( /selection/common.js:976:5)
Pass
assert_equals(Element node <body><div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ </p><p id..., Element node <body><div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ </p><p id..., "The operation should not update anchorNode")
    at assertSelectionNoChange ( /selection/common.js:978:5)
Pass
assert_equals(1, 1, "The operation should not update anchorOffset")
    at assertSelectionNoChange ( /selection/common.js:980:5)
Pass
assert_equals(Element node <body><div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ </p><p id..., Element node <body><div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ </p><p id..., "The operation should not update focusNode")
    at assertSelectionNoChange ( /selection/common.js:982:5)
Pass
assert_equals(0, 0, "The operation should not update focusOffset")
    at assertSelectionNoChange ( /selection/common.js:984:5)
Pass
assert_equals(object "Äb̈c̈d̈ëf̈g̈ḧ Ijklmnop QrstuvwxYzabcdefGhijklmn", object "Äb̈c̈d̈ëf̈g̈ḧ Ijklmnop QrstuvwxYzabcdefGhijklmn", "The operation should not replace a registered Range")
    at assertSelectionNoChange ( /selection/common.js:988:5)
Passextend() forwards with range 19 [document.body, 0, document.body, 1] and point 66 [processingInstruction, 5]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(1, 1, "The operation should not add Range")
    at assertSelectionNoChange ( /selection/common.js:976:5)
Pass
assert_equals(Element node <body><div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ </p><p id..., Element node <body><div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ </p><p id..., "The operation should not update anchorNode")
    at assertSelectionNoChange ( /selection/common.js:978:5)
Pass
assert_equals(0, 0, "The operation should not update anchorOffset")
    at assertSelectionNoChange ( /selection/common.js:980:5)
Pass
assert_equals(Element node <body><div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ </p><p id..., Element node <body><div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ </p><p id..., "The operation should not update focusNode")
    at assertSelectionNoChange ( /selection/common.js:982:5)
Pass
assert_equals(1, 1, "The operation should not update focusOffset")
    at assertSelectionNoChange ( /selection/common.js:984:5)
Pass
assert_equals(object "Äb̈c̈d̈ëf̈g̈ḧ Ijklmnop QrstuvwxYzabcdefGhijklmn", object "Äb̈c̈d̈ëf̈g̈ḧ Ijklmnop QrstuvwxYzabcdefGhijklmn", "The operation should not replace a registered Range")
    at assertSelectionNoChange ( /selection/common.js:988:5)
Passextend() backwards with range 19 [document.body, 0, document.body, 1] and point 66 [processingInstruction, 5]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(1, 1, "The operation should not add Range")
    at assertSelectionNoChange ( /selection/common.js:976:5)
Pass
assert_equals(Element node <body><div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ </p><p id..., Element node <body><div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ </p><p id..., "The operation should not update anchorNode")
    at assertSelectionNoChange ( /selection/common.js:978:5)
Pass
assert_equals(1, 1, "The operation should not update anchorOffset")
    at assertSelectionNoChange ( /selection/common.js:980:5)
Pass
assert_equals(Element node <body><div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ </p><p id..., Element node <body><div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ </p><p id..., "The operation should not update focusNode")
    at assertSelectionNoChange ( /selection/common.js:982:5)
Pass
assert_equals(0, 0, "The operation should not update focusOffset")
    at assertSelectionNoChange ( /selection/common.js:984:5)
Pass
assert_equals(object "Äb̈c̈d̈ëf̈g̈ḧ Ijklmnop QrstuvwxYzabcdefGhijklmn", object "Äb̈c̈d̈ëf̈g̈ḧ Ijklmnop QrstuvwxYzabcdefGhijklmn", "The operation should not replace a registered Range")
    at assertSelectionNoChange ( /selection/common.js:988:5)
Passextend() forwards with range 19 [document.body, 0, document.body, 1] and point 67 [processingInstruction, 9]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(1, 1, "The operation should not add Range")
    at assertSelectionNoChange ( /selection/common.js:976:5)
Pass
assert_equals(Element node <body><div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ </p><p id..., Element node <body><div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ </p><p id..., "The operation should not update anchorNode")
    at assertSelectionNoChange ( /selection/common.js:978:5)
Pass
assert_equals(0, 0, "The operation should not update anchorOffset")
    at assertSelectionNoChange ( /selection/common.js:980:5)
Pass
assert_equals(Element node <body><div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ </p><p id..., Element node <body><div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ </p><p id..., "The operation should not update focusNode")
    at assertSelectionNoChange ( /selection/common.js:982:5)
Pass
assert_equals(1, 1, "The operation should not update focusOffset")
    at assertSelectionNoChange ( /selection/common.js:984:5)
Pass
assert_equals(object "Äb̈c̈d̈ëf̈g̈ḧ Ijklmnop QrstuvwxYzabcdefGhijklmn", object "Äb̈c̈d̈ëf̈g̈ḧ Ijklmnop QrstuvwxYzabcdefGhijklmn", "The operation should not replace a registered Range")
    at assertSelectionNoChange ( /selection/common.js:988:5)
Passextend() backwards with range 19 [document.body, 0, document.body, 1] and point 67 [processingInstruction, 9]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(1, 1, "The operation should not add Range")
    at assertSelectionNoChange ( /selection/common.js:976:5)
Pass
assert_equals(Element node <body><div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ </p><p id..., Element node <body><div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ </p><p id..., "The operation should not update anchorNode")
    at assertSelectionNoChange ( /selection/common.js:978:5)
Pass
assert_equals(1, 1, "The operation should not update anchorOffset")
    at assertSelectionNoChange ( /selection/common.js:980:5)
Pass
assert_equals(Element node <body><div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ </p><p id..., Element node <body><div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ </p><p id..., "The operation should not update focusNode")
    at assertSelectionNoChange ( /selection/common.js:982:5)
Pass
assert_equals(0, 0, "The operation should not update focusOffset")
    at assertSelectionNoChange ( /selection/common.js:984:5)
Pass
assert_equals(object "Äb̈c̈d̈ëf̈g̈ḧ Ijklmnop QrstuvwxYzabcdefGhijklmn", object "Äb̈c̈d̈ëf̈g̈ḧ Ijklmnop QrstuvwxYzabcdefGhijklmn", "The operation should not replace a registered Range")
    at assertSelectionNoChange ( /selection/common.js:988:5)
Passextend() forwards with range 19 [document.body, 0, document.body, 1] and point 68 [detachedTextNode, 0]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(1, 1, "The operation should not add Range")
    at assertSelectionNoChange ( /selection/common.js:976:5)
Pass
assert_equals(Element node <body><div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ </p><p id..., Element node <body><div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ </p><p id..., "The operation should not update anchorNode")
    at assertSelectionNoChange ( /selection/common.js:978:5)
Pass
assert_equals(0, 0, "The operation should not update anchorOffset")
    at assertSelectionNoChange ( /selection/common.js:980:5)
Pass
assert_equals(Element node <body><div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ </p><p id..., Element node <body><div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ </p><p id..., "The operation should not update focusNode")
    at assertSelectionNoChange ( /selection/common.js:982:5)
Pass
assert_equals(1, 1, "The operation should not update focusOffset")
    at assertSelectionNoChange ( /selection/common.js:984:5)
Pass
assert_equals(object "Äb̈c̈d̈ëf̈g̈ḧ Ijklmnop QrstuvwxYzabcdefGhijklmn", object "Äb̈c̈d̈ëf̈g̈ḧ Ijklmnop QrstuvwxYzabcdefGhijklmn", "The operation should not replace a registered Range")
    at assertSelectionNoChange ( /selection/common.js:988:5)
Passextend() backwards with range 19 [document.body, 0, document.body, 1] and point 68 [detachedTextNode, 0]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(1, 1, "The operation should not add Range")
    at assertSelectionNoChange ( /selection/common.js:976:5)
Pass
assert_equals(Element node <body><div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ </p><p id..., Element node <body><div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ </p><p id..., "The operation should not update anchorNode")
    at assertSelectionNoChange ( /selection/common.js:978:5)
Pass
assert_equals(1, 1, "The operation should not update anchorOffset")
    at assertSelectionNoChange ( /selection/common.js:980:5)
Pass
assert_equals(Element node <body><div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ </p><p id..., Element node <body><div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ </p><p id..., "The operation should not update focusNode")
    at assertSelectionNoChange ( /selection/common.js:982:5)
Pass
assert_equals(0, 0, "The operation should not update focusOffset")
    at assertSelectionNoChange ( /selection/common.js:984:5)
Pass
assert_equals(object "Äb̈c̈d̈ëf̈g̈ḧ Ijklmnop QrstuvwxYzabcdefGhijklmn", object "Äb̈c̈d̈ëf̈g̈ḧ Ijklmnop QrstuvwxYzabcdefGhijklmn", "The operation should not replace a registered Range")
    at assertSelectionNoChange ( /selection/common.js:988:5)
Passextend() forwards with range 19 [document.body, 0, document.body, 1] and point 69 [detachedTextNode, 8]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(1, 1, "The operation should not add Range")
    at assertSelectionNoChange ( /selection/common.js:976:5)
Pass
assert_equals(Element node <body><div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ </p><p id..., Element node <body><div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ </p><p id..., "The operation should not update anchorNode")
    at assertSelectionNoChange ( /selection/common.js:978:5)
Pass
assert_equals(0, 0, "The operation should not update anchorOffset")
    at assertSelectionNoChange ( /selection/common.js:980:5)
Pass
assert_equals(Element node <body><div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ </p><p id..., Element node <body><div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ </p><p id..., "The operation should not update focusNode")
    at assertSelectionNoChange ( /selection/common.js:982:5)
Pass
assert_equals(1, 1, "The operation should not update focusOffset")
    at assertSelectionNoChange ( /selection/common.js:984:5)
Pass
assert_equals(object "Äb̈c̈d̈ëf̈g̈ḧ Ijklmnop QrstuvwxYzabcdefGhijklmn", object "Äb̈c̈d̈ëf̈g̈ḧ Ijklmnop QrstuvwxYzabcdefGhijklmn", "The operation should not replace a registered Range")
    at assertSelectionNoChange ( /selection/common.js:988:5)
Passextend() backwards with range 19 [document.body, 0, document.body, 1] and point 69 [detachedTextNode, 8]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(1, 1, "The operation should not add Range")
    at assertSelectionNoChange ( /selection/common.js:976:5)
Pass
assert_equals(Element node <body><div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ </p><p id..., Element node <body><div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ </p><p id..., "The operation should not update anchorNode")
    at assertSelectionNoChange ( /selection/common.js:978:5)
Pass
assert_equals(1, 1, "The operation should not update anchorOffset")
    at assertSelectionNoChange ( /selection/common.js:980:5)
Pass
assert_equals(Element node <body><div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ </p><p id..., Element node <body><div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ </p><p id..., "The operation should not update focusNode")
    at assertSelectionNoChange ( /selection/common.js:982:5)
Pass
assert_equals(0, 0, "The operation should not update focusOffset")
    at assertSelectionNoChange ( /selection/common.js:984:5)
Pass
assert_equals(object "Äb̈c̈d̈ëf̈g̈ḧ Ijklmnop QrstuvwxYzabcdefGhijklmn", object "Äb̈c̈d̈ëf̈g̈ḧ Ijklmnop QrstuvwxYzabcdefGhijklmn", "The operation should not replace a registered Range")
    at assertSelectionNoChange ( /selection/common.js:988:5)
Passextend() forwards with range 19 [document.body, 0, document.body, 1] and point 70 [detachedForeignTextNode, 0]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(1, 1, "The operation should not add Range")
    at assertSelectionNoChange ( /selection/common.js:976:5)
Pass
assert_equals(Element node <body><div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ </p><p id..., Element node <body><div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ </p><p id..., "The operation should not update anchorNode")
    at assertSelectionNoChange ( /selection/common.js:978:5)
Pass
assert_equals(0, 0, "The operation should not update anchorOffset")
    at assertSelectionNoChange ( /selection/common.js:980:5)
Pass
assert_equals(Element node <body><div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ </p><p id..., Element node <body><div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ </p><p id..., "The operation should not update focusNode")
    at assertSelectionNoChange ( /selection/common.js:982:5)
Pass
assert_equals(1, 1, "The operation should not update focusOffset")
    at assertSelectionNoChange ( /selection/common.js:984:5)
Pass
assert_equals(object "Äb̈c̈d̈ëf̈g̈ḧ Ijklmnop QrstuvwxYzabcdefGhijklmn", object "Äb̈c̈d̈ëf̈g̈ḧ Ijklmnop QrstuvwxYzabcdefGhijklmn", "The operation should not replace a registered Range")
    at assertSelectionNoChange ( /selection/common.js:988:5)
Passextend() backwards with range 19 [document.body, 0, document.body, 1] and point 70 [detachedForeignTextNode, 0]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(1, 1, "The operation should not add Range")
    at assertSelectionNoChange ( /selection/common.js:976:5)
Pass
assert_equals(Element node <body><div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ </p><p id..., Element node <body><div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ </p><p id..., "The operation should not update anchorNode")
    at assertSelectionNoChange ( /selection/common.js:978:5)
Pass
assert_equals(1, 1, "The operation should not update anchorOffset")
    at assertSelectionNoChange ( /selection/common.js:980:5)
Pass
assert_equals(Element node <body><div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ </p><p id..., Element node <body><div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ </p><p id..., "The operation should not update focusNode")
    at assertSelectionNoChange ( /selection/common.js:982:5)
Pass
assert_equals(0, 0, "The operation should not update focusOffset")
    at assertSelectionNoChange ( /selection/common.js:984:5)
Pass
assert_equals(object "Äb̈c̈d̈ëf̈g̈ḧ Ijklmnop QrstuvwxYzabcdefGhijklmn", object "Äb̈c̈d̈ëf̈g̈ḧ Ijklmnop QrstuvwxYzabcdefGhijklmn", "The operation should not replace a registered Range")
    at assertSelectionNoChange ( /selection/common.js:988:5)
Passextend() forwards with range 19 [document.body, 0, document.body, 1] and point 71 [detachedForeignTextNode, 8]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(1, 1, "The operation should not add Range")
    at assertSelectionNoChange ( /selection/common.js:976:5)
Pass
assert_equals(Element node <body><div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ </p><p id..., Element node <body><div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ </p><p id..., "The operation should not update anchorNode")
    at assertSelectionNoChange ( /selection/common.js:978:5)
Pass
assert_equals(0, 0, "The operation should not update anchorOffset")
    at assertSelectionNoChange ( /selection/common.js:980:5)
Pass
assert_equals(Element node <body><div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ </p><p id..., Element node <body><div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ </p><p id..., "The operation should not update focusNode")
    at assertSelectionNoChange ( /selection/common.js:982:5)
Pass
assert_equals(1, 1, "The operation should not update focusOffset")
    at assertSelectionNoChange ( /selection/common.js:984:5)
Pass
assert_equals(object "Äb̈c̈d̈ëf̈g̈ḧ Ijklmnop QrstuvwxYzabcdefGhijklmn", object "Äb̈c̈d̈ëf̈g̈ḧ Ijklmnop QrstuvwxYzabcdefGhijklmn", "The operation should not replace a registered Range")
    at assertSelectionNoChange ( /selection/common.js:988:5)
Passextend() backwards with range 19 [document.body, 0, document.body, 1] and point 71 [detachedForeignTextNode, 8]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(1, 1, "The operation should not add Range")
    at assertSelectionNoChange ( /selection/common.js:976:5)
Pass
assert_equals(Element node <body><div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ </p><p id..., Element node <body><div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ </p><p id..., "The operation should not update anchorNode")
    at assertSelectionNoChange ( /selection/common.js:978:5)
Pass
assert_equals(1, 1, "The operation should not update anchorOffset")
    at assertSelectionNoChange ( /selection/common.js:980:5)
Pass
assert_equals(Element node <body><div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ </p><p id..., Element node <body><div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ </p><p id..., "The operation should not update focusNode")
    at assertSelectionNoChange ( /selection/common.js:982:5)
Pass
assert_equals(0, 0, "The operation should not update focusOffset")
    at assertSelectionNoChange ( /selection/common.js:984:5)
Pass
assert_equals(object "Äb̈c̈d̈ëf̈g̈ḧ Ijklmnop QrstuvwxYzabcdefGhijklmn", object "Äb̈c̈d̈ëf̈g̈ḧ Ijklmnop QrstuvwxYzabcdefGhijklmn", "The operation should not replace a registered Range")
    at assertSelectionNoChange ( /selection/common.js:988:5)
Passextend() forwards with range 19 [document.body, 0, document.body, 1] and point 72 [detachedXmlTextNode, 0]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(1, 1, "The operation should not add Range")
    at assertSelectionNoChange ( /selection/common.js:976:5)
Pass
assert_equals(Element node <body><div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ </p><p id..., Element node <body><div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ </p><p id..., "The operation should not update anchorNode")
    at assertSelectionNoChange ( /selection/common.js:978:5)
Pass
assert_equals(0, 0, "The operation should not update anchorOffset")
    at assertSelectionNoChange ( /selection/common.js:980:5)
Pass
assert_equals(Element node <body><div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ </p><p id..., Element node <body><div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ </p><p id..., "The operation should not update focusNode")
    at assertSelectionNoChange ( /selection/common.js:982:5)
Pass
assert_equals(1, 1, "The operation should not update focusOffset")
    at assertSelectionNoChange ( /selection/common.js:984:5)
Pass
assert_equals(object "Äb̈c̈d̈ëf̈g̈ḧ Ijklmnop QrstuvwxYzabcdefGhijklmn", object "Äb̈c̈d̈ëf̈g̈ḧ Ijklmnop QrstuvwxYzabcdefGhijklmn", "The operation should not replace a registered Range")
    at assertSelectionNoChange ( /selection/common.js:988:5)
Passextend() backwards with range 19 [document.body, 0, document.body, 1] and point 72 [detachedXmlTextNode, 0]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(1, 1, "The operation should not add Range")
    at assertSelectionNoChange ( /selection/common.js:976:5)
Pass
assert_equals(Element node <body><div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ </p><p id..., Element node <body><div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ </p><p id..., "The operation should not update anchorNode")
    at assertSelectionNoChange ( /selection/common.js:978:5)
Pass
assert_equals(1, 1, "The operation should not update anchorOffset")
    at assertSelectionNoChange ( /selection/common.js:980:5)
Pass
assert_equals(Element node <body><div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ </p><p id..., Element node <body><div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ </p><p id..., "The operation should not update focusNode")
    at assertSelectionNoChange ( /selection/common.js:982:5)
Pass
assert_equals(0, 0, "The operation should not update focusOffset")
    at assertSelectionNoChange ( /selection/common.js:984:5)
Pass
assert_equals(object "Äb̈c̈d̈ëf̈g̈ḧ Ijklmnop QrstuvwxYzabcdefGhijklmn", object "Äb̈c̈d̈ëf̈g̈ḧ Ijklmnop QrstuvwxYzabcdefGhijklmn", "The operation should not replace a registered Range")
    at assertSelectionNoChange ( /selection/common.js:988:5)
Passextend() forwards with range 19 [document.body, 0, document.body, 1] and point 73 [detachedXmlTextNode, 8]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(1, 1, "The operation should not add Range")
    at assertSelectionNoChange ( /selection/common.js:976:5)
Pass
assert_equals(Element node <body><div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ </p><p id..., Element node <body><div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ </p><p id..., "The operation should not update anchorNode")
    at assertSelectionNoChange ( /selection/common.js:978:5)
Pass
assert_equals(0, 0, "The operation should not update anchorOffset")
    at assertSelectionNoChange ( /selection/common.js:980:5)
Pass
assert_equals(Element node <body><div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ </p><p id..., Element node <body><div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ </p><p id..., "The operation should not update focusNode")
    at assertSelectionNoChange ( /selection/common.js:982:5)
Pass
assert_equals(1, 1, "The operation should not update focusOffset")
    at assertSelectionNoChange ( /selection/common.js:984:5)
Pass
assert_equals(object "Äb̈c̈d̈ëf̈g̈ḧ Ijklmnop QrstuvwxYzabcdefGhijklmn", object "Äb̈c̈d̈ëf̈g̈ḧ Ijklmnop QrstuvwxYzabcdefGhijklmn", "The operation should not replace a registered Range")
    at assertSelectionNoChange ( /selection/common.js:988:5)
Passextend() backwards with range 19 [document.body, 0, document.body, 1] and point 73 [detachedXmlTextNode, 8]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(1, 1, "The operation should not add Range")
    at assertSelectionNoChange ( /selection/common.js:976:5)
Pass
assert_equals(Element node <body><div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ </p><p id..., Element node <body><div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ </p><p id..., "The operation should not update anchorNode")
    at assertSelectionNoChange ( /selection/common.js:978:5)
Pass
assert_equals(1, 1, "The operation should not update anchorOffset")
    at assertSelectionNoChange ( /selection/common.js:980:5)
Pass
assert_equals(Element node <body><div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ </p><p id..., Element node <body><div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ </p><p id..., "The operation should not update focusNode")
    at assertSelectionNoChange ( /selection/common.js:982:5)
Pass
assert_equals(0, 0, "The operation should not update focusOffset")
    at assertSelectionNoChange ( /selection/common.js:984:5)
Pass
assert_equals(object "Äb̈c̈d̈ëf̈g̈ḧ Ijklmnop QrstuvwxYzabcdefGhijklmn", object "Äb̈c̈d̈ëf̈g̈ḧ Ijklmnop QrstuvwxYzabcdefGhijklmn", "The operation should not replace a registered Range")
    at assertSelectionNoChange ( /selection/common.js:988:5)
Passextend() forwards with range 19 [document.body, 0, document.body, 1] and point 74 [detachedProcessingInstruction, 12]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(1, 1, "The operation should not add Range")
    at assertSelectionNoChange ( /selection/common.js:976:5)
Pass
assert_equals(Element node <body><div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ </p><p id..., Element node <body><div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ </p><p id..., "The operation should not update anchorNode")
    at assertSelectionNoChange ( /selection/common.js:978:5)
Pass
assert_equals(0, 0, "The operation should not update anchorOffset")
    at assertSelectionNoChange ( /selection/common.js:980:5)
Pass
assert_equals(Element node <body><div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ </p><p id..., Element node <body><div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ </p><p id..., "The operation should not update focusNode")
    at assertSelectionNoChange ( /selection/common.js:982:5)
Pass
assert_equals(1, 1, "The operation should not update focusOffset")
    at assertSelectionNoChange ( /selection/common.js:984:5)
Pass
assert_equals(object "Äb̈c̈d̈ëf̈g̈ḧ Ijklmnop QrstuvwxYzabcdefGhijklmn", object "Äb̈c̈d̈ëf̈g̈ḧ Ijklmnop QrstuvwxYzabcdefGhijklmn", "The operation should not replace a registered Range")
    at assertSelectionNoChange ( /selection/common.js:988:5)
Passextend() backwards with range 19 [document.body, 0, document.body, 1] and point 74 [detachedProcessingInstruction, 12]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(1, 1, "The operation should not add Range")
    at assertSelectionNoChange ( /selection/common.js:976:5)
Pass
assert_equals(Element node <body><div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ </p><p id..., Element node <body><div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ </p><p id..., "The operation should not update anchorNode")
    at assertSelectionNoChange ( /selection/common.js:978:5)
Pass
assert_equals(1, 1, "The operation should not update anchorOffset")
    at assertSelectionNoChange ( /selection/common.js:980:5)
Pass
assert_equals(Element node <body><div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ </p><p id..., Element node <body><div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ </p><p id..., "The operation should not update focusNode")
    at assertSelectionNoChange ( /selection/common.js:982:5)
Pass
assert_equals(0, 0, "The operation should not update focusOffset")
    at assertSelectionNoChange ( /selection/common.js:984:5)
Pass
assert_equals(object "Äb̈c̈d̈ëf̈g̈ḧ Ijklmnop QrstuvwxYzabcdefGhijklmn", object "Äb̈c̈d̈ëf̈g̈ḧ Ijklmnop QrstuvwxYzabcdefGhijklmn", "The operation should not replace a registered Range")
    at assertSelectionNoChange ( /selection/common.js:988:5)
Passextend() forwards with range 19 [document.body, 0, document.body, 1] and point 75 [detachedComment, 3]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(1, 1, "The operation should not add Range")
    at assertSelectionNoChange ( /selection/common.js:976:5)
Pass
assert_equals(Element node <body><div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ </p><p id..., Element node <body><div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ </p><p id..., "The operation should not update anchorNode")
    at assertSelectionNoChange ( /selection/common.js:978:5)
Pass
assert_equals(0, 0, "The operation should not update anchorOffset")
    at assertSelectionNoChange ( /selection/common.js:980:5)
Pass
assert_equals(Element node <body><div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ </p><p id..., Element node <body><div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ </p><p id..., "The operation should not update focusNode")
    at assertSelectionNoChange ( /selection/common.js:982:5)
Pass
assert_equals(1, 1, "The operation should not update focusOffset")
    at assertSelectionNoChange ( /selection/common.js:984:5)
Pass
assert_equals(object "Äb̈c̈d̈ëf̈g̈ḧ Ijklmnop QrstuvwxYzabcdefGhijklmn", object "Äb̈c̈d̈ëf̈g̈ḧ Ijklmnop QrstuvwxYzabcdefGhijklmn", "The operation should not replace a registered Range")
    at assertSelectionNoChange ( /selection/common.js:988:5)
Passextend() backwards with range 19 [document.body, 0, document.body, 1] and point 75 [detachedComment, 3]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(1, 1, "The operation should not add Range")
    at assertSelectionNoChange ( /selection/common.js:976:5)
Pass
assert_equals(Element node <body><div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ </p><p id..., Element node <body><div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ </p><p id..., "The operation should not update anchorNode")
    at assertSelectionNoChange ( /selection/common.js:978:5)
Pass
assert_equals(1, 1, "The operation should not update anchorOffset")
    at assertSelectionNoChange ( /selection/common.js:980:5)
Pass
assert_equals(Element node <body><div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ </p><p id..., Element node <body><div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ </p><p id..., "The operation should not update focusNode")
    at assertSelectionNoChange ( /selection/common.js:982:5)
Pass
assert_equals(0, 0, "The operation should not update focusOffset")
    at assertSelectionNoChange ( /selection/common.js:984:5)
Pass
assert_equals(object "Äb̈c̈d̈ëf̈g̈ḧ Ijklmnop QrstuvwxYzabcdefGhijklmn", object "Äb̈c̈d̈ëf̈g̈ḧ Ijklmnop QrstuvwxYzabcdefGhijklmn", "The operation should not replace a registered Range")
    at assertSelectionNoChange ( /selection/common.js:988:5)
Passextend() forwards with range 19 [document.body, 0, document.body, 1] and point 76 [detachedComment, 5]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(1, 1, "The operation should not add Range")
    at assertSelectionNoChange ( /selection/common.js:976:5)
Pass
assert_equals(Element node <body><div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ </p><p id..., Element node <body><div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ </p><p id..., "The operation should not update anchorNode")
    at assertSelectionNoChange ( /selection/common.js:978:5)
Pass
assert_equals(0, 0, "The operation should not update anchorOffset")
    at assertSelectionNoChange ( /selection/common.js:980:5)
Pass
assert_equals(Element node <body><div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ </p><p id..., Element node <body><div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ </p><p id..., "The operation should not update focusNode")
    at assertSelectionNoChange ( /selection/common.js:982:5)
Pass
assert_equals(1, 1, "The operation should not update focusOffset")
    at assertSelectionNoChange ( /selection/common.js:984:5)
Pass
assert_equals(object "Äb̈c̈d̈ëf̈g̈ḧ Ijklmnop QrstuvwxYzabcdefGhijklmn", object "Äb̈c̈d̈ëf̈g̈ḧ Ijklmnop QrstuvwxYzabcdefGhijklmn", "The operation should not replace a registered Range")
    at assertSelectionNoChange ( /selection/common.js:988:5)
Passextend() backwards with range 19 [document.body, 0, document.body, 1] and point 76 [detachedComment, 5]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(1, 1, "The operation should not add Range")
    at assertSelectionNoChange ( /selection/common.js:976:5)
Pass
assert_equals(Element node <body><div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ </p><p id..., Element node <body><div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ </p><p id..., "The operation should not update anchorNode")
    at assertSelectionNoChange ( /selection/common.js:978:5)
Pass
assert_equals(1, 1, "The operation should not update anchorOffset")
    at assertSelectionNoChange ( /selection/common.js:980:5)
Pass
assert_equals(Element node <body><div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ </p><p id..., Element node <body><div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ </p><p id..., "The operation should not update focusNode")
    at assertSelectionNoChange ( /selection/common.js:982:5)
Pass
assert_equals(0, 0, "The operation should not update focusOffset")
    at assertSelectionNoChange ( /selection/common.js:984:5)
Pass
assert_equals(object "Äb̈c̈d̈ëf̈g̈ḧ Ijklmnop QrstuvwxYzabcdefGhijklmn", object "Äb̈c̈d̈ëf̈g̈ḧ Ijklmnop QrstuvwxYzabcdefGhijklmn", "The operation should not replace a registered Range")
    at assertSelectionNoChange ( /selection/common.js:988:5)
Passextend() forwards with range 19 [document.body, 0, document.body, 1] and point 77 [detachedForeignComment, 0]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(1, 1, "The operation should not add Range")
    at assertSelectionNoChange ( /selection/common.js:976:5)
Pass
assert_equals(Element node <body><div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ </p><p id..., Element node <body><div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ </p><p id..., "The operation should not update anchorNode")
    at assertSelectionNoChange ( /selection/common.js:978:5)
Pass
assert_equals(0, 0, "The operation should not update anchorOffset")
    at assertSelectionNoChange ( /selection/common.js:980:5)
Pass
assert_equals(Element node <body><div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ </p><p id..., Element node <body><div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ </p><p id..., "The operation should not update focusNode")
    at assertSelectionNoChange ( /selection/common.js:982:5)
Pass
assert_equals(1, 1, "The operation should not update focusOffset")
    at assertSelectionNoChange ( /selection/common.js:984:5)
Pass
assert_equals(object "Äb̈c̈d̈ëf̈g̈ḧ Ijklmnop QrstuvwxYzabcdefGhijklmn", object "Äb̈c̈d̈ëf̈g̈ḧ Ijklmnop QrstuvwxYzabcdefGhijklmn", "The operation should not replace a registered Range")
    at assertSelectionNoChange ( /selection/common.js:988:5)
Passextend() backwards with range 19 [document.body, 0, document.body, 1] and point 77 [detachedForeignComment, 0]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(1, 1, "The operation should not add Range")
    at assertSelectionNoChange ( /selection/common.js:976:5)
Pass
assert_equals(Element node <body><div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ </p><p id..., Element node <body><div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ </p><p id..., "The operation should not update anchorNode")
    at assertSelectionNoChange ( /selection/common.js:978:5)
Pass
assert_equals(1, 1, "The operation should not update anchorOffset")
    at assertSelectionNoChange ( /selection/common.js:980:5)
Pass
assert_equals(Element node <body><div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ </p><p id..., Element node <body><div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ </p><p id..., "The operation should not update focusNode")
    at assertSelectionNoChange ( /selection/common.js:982:5)
Pass
assert_equals(0, 0, "The operation should not update focusOffset")
    at assertSelectionNoChange ( /selection/common.js:984:5)
Pass
assert_equals(object "Äb̈c̈d̈ëf̈g̈ḧ Ijklmnop QrstuvwxYzabcdefGhijklmn", object "Äb̈c̈d̈ëf̈g̈ḧ Ijklmnop QrstuvwxYzabcdefGhijklmn", "The operation should not replace a registered Range")
    at assertSelectionNoChange ( /selection/common.js:988:5)
Passextend() forwards with range 19 [document.body, 0, document.body, 1] and point 78 [detachedForeignComment, 4]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(1, 1, "The operation should not add Range")
    at assertSelectionNoChange ( /selection/common.js:976:5)
Pass
assert_equals(Element node <body><div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ </p><p id..., Element node <body><div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ </p><p id..., "The operation should not update anchorNode")
    at assertSelectionNoChange ( /selection/common.js:978:5)
Pass
assert_equals(0, 0, "The operation should not update anchorOffset")
    at assertSelectionNoChange ( /selection/common.js:980:5)
Pass
assert_equals(Element node <body><div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ </p><p id..., Element node <body><div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ </p><p id..., "The operation should not update focusNode")
    at assertSelectionNoChange ( /selection/common.js:982:5)
Pass
assert_equals(1, 1, "The operation should not update focusOffset")
    at assertSelectionNoChange ( /selection/common.js:984:5)
Pass
assert_equals(object "Äb̈c̈d̈ëf̈g̈ḧ Ijklmnop QrstuvwxYzabcdefGhijklmn", object "Äb̈c̈d̈ëf̈g̈ḧ Ijklmnop QrstuvwxYzabcdefGhijklmn", "The operation should not replace a registered Range")
    at assertSelectionNoChange ( /selection/common.js:988:5)
Passextend() backwards with range 19 [document.body, 0, document.body, 1] and point 78 [detachedForeignComment, 4]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(1, 1, "The operation should not add Range")
    at assertSelectionNoChange ( /selection/common.js:976:5)
Pass
assert_equals(Element node <body><div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ </p><p id..., Element node <body><div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ </p><p id..., "The operation should not update anchorNode")
    at assertSelectionNoChange ( /selection/common.js:978:5)
Pass
assert_equals(1, 1, "The operation should not update anchorOffset")
    at assertSelectionNoChange ( /selection/common.js:980:5)
Pass
assert_equals(Element node <body><div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ </p><p id..., Element node <body><div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ </p><p id..., "The operation should not update focusNode")
    at assertSelectionNoChange ( /selection/common.js:982:5)
Pass
assert_equals(0, 0, "The operation should not update focusOffset")
    at assertSelectionNoChange ( /selection/common.js:984:5)
Pass
assert_equals(object "Äb̈c̈d̈ëf̈g̈ḧ Ijklmnop QrstuvwxYzabcdefGhijklmn", object "Äb̈c̈d̈ëf̈g̈ḧ Ijklmnop QrstuvwxYzabcdefGhijklmn", "The operation should not replace a registered Range")
    at assertSelectionNoChange ( /selection/common.js:988:5)
Passextend() forwards with range 19 [document.body, 0, document.body, 1] and point 79 [detachedXmlComment, 2]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(1, 1, "The operation should not add Range")
    at assertSelectionNoChange ( /selection/common.js:976:5)
Pass
assert_equals(Element node <body><div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ </p><p id..., Element node <body><div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ </p><p id..., "The operation should not update anchorNode")
    at assertSelectionNoChange ( /selection/common.js:978:5)
Pass
assert_equals(0, 0, "The operation should not update anchorOffset")
    at assertSelectionNoChange ( /selection/common.js:980:5)
Pass
assert_equals(Element node <body><div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ </p><p id..., Element node <body><div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ </p><p id..., "The operation should not update focusNode")
    at assertSelectionNoChange ( /selection/common.js:982:5)
Pass
assert_equals(1, 1, "The operation should not update focusOffset")
    at assertSelectionNoChange ( /selection/common.js:984:5)
Pass
assert_equals(object "Äb̈c̈d̈ëf̈g̈ḧ Ijklmnop QrstuvwxYzabcdefGhijklmn", object "Äb̈c̈d̈ëf̈g̈ḧ Ijklmnop QrstuvwxYzabcdefGhijklmn", "The operation should not replace a registered Range")
    at assertSelectionNoChange ( /selection/common.js:988:5)
Passextend() backwards with range 19 [document.body, 0, document.body, 1] and point 79 [detachedXmlComment, 2]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(1, 1, "The operation should not add Range")
    at assertSelectionNoChange ( /selection/common.js:976:5)
Pass
assert_equals(Element node <body><div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ </p><p id..., Element node <body><div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ </p><p id..., "The operation should not update anchorNode")
    at assertSelectionNoChange ( /selection/common.js:978:5)
Pass
assert_equals(1, 1, "The operation should not update anchorOffset")
    at assertSelectionNoChange ( /selection/common.js:980:5)
Pass
assert_equals(Element node <body><div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ </p><p id..., Element node <body><div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ </p><p id..., "The operation should not update focusNode")
    at assertSelectionNoChange ( /selection/common.js:982:5)
Pass
assert_equals(0, 0, "The operation should not update focusOffset")
    at assertSelectionNoChange ( /selection/common.js:984:5)
Pass
assert_equals(object "Äb̈c̈d̈ëf̈g̈ḧ Ijklmnop QrstuvwxYzabcdefGhijklmn", object "Äb̈c̈d̈ëf̈g̈ḧ Ijklmnop QrstuvwxYzabcdefGhijklmn", "The operation should not replace a registered Range")
    at assertSelectionNoChange ( /selection/common.js:988:5)
Passextend() forwards with range 19 [document.body, 0, document.body, 1] and point 80 [docfrag, 0]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(1, 1, "The operation should not add Range")
    at assertSelectionNoChange ( /selection/common.js:976:5)
Pass
assert_equals(Element node <body><div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ </p><p id..., Element node <body><div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ </p><p id..., "The operation should not update anchorNode")
    at assertSelectionNoChange ( /selection/common.js:978:5)
Pass
assert_equals(0, 0, "The operation should not update anchorOffset")
    at assertSelectionNoChange ( /selection/common.js:980:5)
Pass
assert_equals(Element node <body><div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ </p><p id..., Element node <body><div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ </p><p id..., "The operation should not update focusNode")
    at assertSelectionNoChange ( /selection/common.js:982:5)
Pass
assert_equals(1, 1, "The operation should not update focusOffset")
    at assertSelectionNoChange ( /selection/common.js:984:5)
Pass
assert_equals(object "Äb̈c̈d̈ëf̈g̈ḧ Ijklmnop QrstuvwxYzabcdefGhijklmn", object "Äb̈c̈d̈ëf̈g̈ḧ Ijklmnop QrstuvwxYzabcdefGhijklmn", "The operation should not replace a registered Range")
    at assertSelectionNoChange ( /selection/common.js:988:5)
Passextend() backwards with range 19 [document.body, 0, document.body, 1] and point 80 [docfrag, 0]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(1, 1, "The operation should not add Range")
    at assertSelectionNoChange ( /selection/common.js:976:5)
Pass
assert_equals(Element node <body><div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ </p><p id..., Element node <body><div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ </p><p id..., "The operation should not update anchorNode")
    at assertSelectionNoChange ( /selection/common.js:978:5)
Pass
assert_equals(1, 1, "The operation should not update anchorOffset")
    at assertSelectionNoChange ( /selection/common.js:980:5)
Pass
assert_equals(Element node <body><div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ </p><p id..., Element node <body><div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ </p><p id..., "The operation should not update focusNode")
    at assertSelectionNoChange ( /selection/common.js:982:5)
Pass
assert_equals(0, 0, "The operation should not update focusOffset")
    at assertSelectionNoChange ( /selection/common.js:984:5)
Pass
assert_equals(object "Äb̈c̈d̈ëf̈g̈ḧ Ijklmnop QrstuvwxYzabcdefGhijklmn", object "Äb̈c̈d̈ëf̈g̈ḧ Ijklmnop QrstuvwxYzabcdefGhijklmn", "The operation should not replace a registered Range")
    at assertSelectionNoChange ( /selection/common.js:988:5)
Passextend() forwards with range 19 [document.body, 0, document.body, 1] and point 81 [foreignDocfrag, 0]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(1, 1, "The operation should not add Range")
    at assertSelectionNoChange ( /selection/common.js:976:5)
Pass
assert_equals(Element node <body><div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ </p><p id..., Element node <body><div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ </p><p id..., "The operation should not update anchorNode")
    at assertSelectionNoChange ( /selection/common.js:978:5)
Pass
assert_equals(0, 0, "The operation should not update anchorOffset")
    at assertSelectionNoChange ( /selection/common.js:980:5)
Pass
assert_equals(Element node <body><div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ </p><p id..., Element node <body><div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ </p><p id..., "The operation should not update focusNode")
    at assertSelectionNoChange ( /selection/common.js:982:5)
Pass
assert_equals(1, 1, "The operation should not update focusOffset")
    at assertSelectionNoChange ( /selection/common.js:984:5)
Pass
assert_equals(object "Äb̈c̈d̈ëf̈g̈ḧ Ijklmnop QrstuvwxYzabcdefGhijklmn", object "Äb̈c̈d̈ëf̈g̈ḧ Ijklmnop QrstuvwxYzabcdefGhijklmn", "The operation should not replace a registered Range")
    at assertSelectionNoChange ( /selection/common.js:988:5)
Passextend() backwards with range 19 [document.body, 0, document.body, 1] and point 81 [foreignDocfrag, 0]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(1, 1, "The operation should not add Range")
    at assertSelectionNoChange ( /selection/common.js:976:5)
Pass
assert_equals(Element node <body><div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ </p><p id..., Element node <body><div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ </p><p id..., "The operation should not update anchorNode")
    at assertSelectionNoChange ( /selection/common.js:978:5)
Pass
assert_equals(1, 1, "The operation should not update anchorOffset")
    at assertSelectionNoChange ( /selection/common.js:980:5)
Pass
assert_equals(Element node <body><div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ </p><p id..., Element node <body><div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ </p><p id..., "The operation should not update focusNode")
    at assertSelectionNoChange ( /selection/common.js:982:5)
Pass
assert_equals(0, 0, "The operation should not update focusOffset")
    at assertSelectionNoChange ( /selection/common.js:984:5)
Pass
assert_equals(object "Äb̈c̈d̈ëf̈g̈ḧ Ijklmnop QrstuvwxYzabcdefGhijklmn", object "Äb̈c̈d̈ëf̈g̈ḧ Ijklmnop QrstuvwxYzabcdefGhijklmn", "The operation should not replace a registered Range")
    at assertSelectionNoChange ( /selection/common.js:988:5)
Passextend() forwards with range 19 [document.body, 0, document.body, 1] and point 82 [xmlDocfrag, 0]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(1, 1, "The operation should not add Range")
    at assertSelectionNoChange ( /selection/common.js:976:5)
Pass
assert_equals(Element node <body><div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ </p><p id..., Element node <body><div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ </p><p id..., "The operation should not update anchorNode")
    at assertSelectionNoChange ( /selection/common.js:978:5)
Pass
assert_equals(0, 0, "The operation should not update anchorOffset")
    at assertSelectionNoChange ( /selection/common.js:980:5)
Pass
assert_equals(Element node <body><div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ </p><p id..., Element node <body><div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ </p><p id..., "The operation should not update focusNode")
    at assertSelectionNoChange ( /selection/common.js:982:5)
Pass
assert_equals(1, 1, "The operation should not update focusOffset")
    at assertSelectionNoChange ( /selection/common.js:984:5)
Pass
assert_equals(object "Äb̈c̈d̈ëf̈g̈ḧ Ijklmnop QrstuvwxYzabcdefGhijklmn", object "Äb̈c̈d̈ëf̈g̈ḧ Ijklmnop QrstuvwxYzabcdefGhijklmn", "The operation should not replace a registered Range")
    at assertSelectionNoChange ( /selection/common.js:988:5)
Passextend() backwards with range 19 [document.body, 0, document.body, 1] and point 82 [xmlDocfrag, 0]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(1, 1, "The operation should not add Range")
    at assertSelectionNoChange ( /selection/common.js:976:5)
Pass
assert_equals(Element node <body><div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ </p><p id..., Element node <body><div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ </p><p id..., "The operation should not update anchorNode")
    at assertSelectionNoChange ( /selection/common.js:978:5)
Pass
assert_equals(1, 1, "The operation should not update anchorOffset")
    at assertSelectionNoChange ( /selection/common.js:980:5)
Pass
assert_equals(Element node <body><div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ </p><p id..., Element node <body><div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ </p><p id..., "The operation should not update focusNode")
    at assertSelectionNoChange ( /selection/common.js:982:5)
Pass
assert_equals(0, 0, "The operation should not update focusOffset")
    at assertSelectionNoChange ( /selection/common.js:984:5)
Pass
assert_equals(object "Äb̈c̈d̈ëf̈g̈ḧ Ijklmnop QrstuvwxYzabcdefGhijklmn", object "Äb̈c̈d̈ëf̈g̈ḧ Ijklmnop QrstuvwxYzabcdefGhijklmn", "The operation should not replace a registered Range")
    at assertSelectionNoChange ( /selection/common.js:988:5)
Passextend() forwards with range 19 [document.body, 0, document.body, 1] and point 83 [doctype, 0]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(Element node <body><div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ </p><p id..., Element node <body><div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ </p><p id..., "Sanity check: startContainer must be correct")
    at testExtend ( /selection/extend.js:80:5)
Pass
assert_equals(0, 0, "Sanity check: startOffset must be correct")
    at testExtend ( /selection/extend.js:82:5)
Pass
assert_equals(Element node <body><div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ </p><p id..., Element node <body><div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ </p><p id..., "Sanity check: endContainer must be correct")
    at testExtend ( /selection/extend.js:84:5)
Pass
assert_equals(1, 1, "Sanity check: endOffset must be correct")
    at testExtend ( /selection/extend.js:86:5)
Pass
assert_throws_dom("INVALID_NODE_TYPE_ERR", function "function() {             selection.extend(node, offset);         }", "extend() to a doctype must throw InvalidNodeTypeError")
    at testExtend ( /selection/extend.js:104:9)
Passextend() backwards with range 19 [document.body, 0, document.body, 1] and point 83 [doctype, 0]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(Element node <body><div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ </p><p id..., Element node <body><div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ </p><p id..., "Sanity check: startContainer must be correct")
    at testExtend ( /selection/extend.js:80:5)
Pass
assert_equals(0, 0, "Sanity check: startOffset must be correct")
    at testExtend ( /selection/extend.js:82:5)
Pass
assert_equals(Element node <body><div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ </p><p id..., Element node <body><div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ </p><p id..., "Sanity check: endContainer must be correct")
    at testExtend ( /selection/extend.js:84:5)
Pass
assert_equals(1, 1, "Sanity check: endOffset must be correct")
    at testExtend ( /selection/extend.js:86:5)
Pass
assert_throws_dom("INVALID_NODE_TYPE_ERR", function "function() {             selection.extend(node, offset);         }", "extend() to a doctype must throw InvalidNodeTypeError")
    at testExtend ( /selection/extend.js:104:9)
Passextend() forwards with range 19 [document.body, 0, document.body, 1] and point 84 [doctype, -17]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(Element node <body><div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ </p><p id..., Element node <body><div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ </p><p id..., "Sanity check: startContainer must be correct")
    at testExtend ( /selection/extend.js:80:5)
Pass
assert_equals(0, 0, "Sanity check: startOffset must be correct")
    at testExtend ( /selection/extend.js:82:5)
Pass
assert_equals(Element node <body><div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ </p><p id..., Element node <body><div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ </p><p id..., "Sanity check: endContainer must be correct")
    at testExtend ( /selection/extend.js:84:5)
Pass
assert_equals(1, 1, "Sanity check: endOffset must be correct")
    at testExtend ( /selection/extend.js:86:5)
Pass
assert_throws_dom("INVALID_NODE_TYPE_ERR", function "function() {             selection.extend(node, offset);         }", "extend() to a doctype must throw InvalidNodeTypeError")
    at testExtend ( /selection/extend.js:104:9)
Passextend() backwards with range 19 [document.body, 0, document.body, 1] and point 84 [doctype, -17]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(Element node <body><div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ </p><p id..., Element node <body><div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ </p><p id..., "Sanity check: startContainer must be correct")
    at testExtend ( /selection/extend.js:80:5)
Pass
assert_equals(0, 0, "Sanity check: startOffset must be correct")
    at testExtend ( /selection/extend.js:82:5)
Pass
assert_equals(Element node <body><div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ </p><p id..., Element node <body><div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ </p><p id..., "Sanity check: endContainer must be correct")
    at testExtend ( /selection/extend.js:84:5)
Pass
assert_equals(1, 1, "Sanity check: endOffset must be correct")
    at testExtend ( /selection/extend.js:86:5)
Pass
assert_throws_dom("INVALID_NODE_TYPE_ERR", function "function() {             selection.extend(node, offset);         }", "extend() to a doctype must throw InvalidNodeTypeError")
    at testExtend ( /selection/extend.js:104:9)
Passextend() forwards with range 19 [document.body, 0, document.body, 1] and point 85 [doctype, 1]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(Element node <body><div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ </p><p id..., Element node <body><div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ </p><p id..., "Sanity check: startContainer must be correct")
    at testExtend ( /selection/extend.js:80:5)
Pass
assert_equals(0, 0, "Sanity check: startOffset must be correct")
    at testExtend ( /selection/extend.js:82:5)
Pass
assert_equals(Element node <body><div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ </p><p id..., Element node <body><div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ </p><p id..., "Sanity check: endContainer must be correct")
    at testExtend ( /selection/extend.js:84:5)
Pass
assert_equals(1, 1, "Sanity check: endOffset must be correct")
    at testExtend ( /selection/extend.js:86:5)
Pass
assert_throws_dom("INVALID_NODE_TYPE_ERR", function "function() {             selection.extend(node, offset);         }", "extend() to a doctype must throw InvalidNodeTypeError")
    at testExtend ( /selection/extend.js:104:9)
Passextend() backwards with range 19 [document.body, 0, document.body, 1] and point 85 [doctype, 1]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(Element node <body><div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ </p><p id..., Element node <body><div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ </p><p id..., "Sanity check: startContainer must be correct")
    at testExtend ( /selection/extend.js:80:5)
Pass
assert_equals(0, 0, "Sanity check: startOffset must be correct")
    at testExtend ( /selection/extend.js:82:5)
Pass
assert_equals(Element node <body><div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ </p><p id..., Element node <body><div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ </p><p id..., "Sanity check: endContainer must be correct")
    at testExtend ( /selection/extend.js:84:5)
Pass
assert_equals(1, 1, "Sanity check: endOffset must be correct")
    at testExtend ( /selection/extend.js:86:5)
Pass
assert_throws_dom("INVALID_NODE_TYPE_ERR", function "function() {             selection.extend(node, offset);         }", "extend() to a doctype must throw InvalidNodeTypeError")
    at testExtend ( /selection/extend.js:104:9)
Passextend() forwards with range 19 [document.body, 0, document.body, 1] and point 86 [foreignDoctype, 0]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(1, 1, "The operation should not add Range")
    at assertSelectionNoChange ( /selection/common.js:976:5)
Pass
assert_equals(Element node <body><div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ </p><p id..., Element node <body><div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ </p><p id..., "The operation should not update anchorNode")
    at assertSelectionNoChange ( /selection/common.js:978:5)
Pass
assert_equals(0, 0, "The operation should not update anchorOffset")
    at assertSelectionNoChange ( /selection/common.js:980:5)
Pass
assert_equals(Element node <body><div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ </p><p id..., Element node <body><div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ </p><p id..., "The operation should not update focusNode")
    at assertSelectionNoChange ( /selection/common.js:982:5)
Pass
assert_equals(1, 1, "The operation should not update focusOffset")
    at assertSelectionNoChange ( /selection/common.js:984:5)
Pass
assert_equals(object "Äb̈c̈d̈ëf̈g̈ḧ Ijklmnop QrstuvwxYzabcdefGhijklmn", object "Äb̈c̈d̈ëf̈g̈ḧ Ijklmnop QrstuvwxYzabcdefGhijklmn", "The operation should not replace a registered Range")
    at assertSelectionNoChange ( /selection/common.js:988:5)
Passextend() backwards with range 19 [document.body, 0, document.body, 1] and point 86 [foreignDoctype, 0]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(1, 1, "The operation should not add Range")
    at assertSelectionNoChange ( /selection/common.js:976:5)
Pass
assert_equals(Element node <body><div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ </p><p id..., Element node <body><div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ </p><p id..., "The operation should not update anchorNode")
    at assertSelectionNoChange ( /selection/common.js:978:5)
Pass
assert_equals(1, 1, "The operation should not update anchorOffset")
    at assertSelectionNoChange ( /selection/common.js:980:5)
Pass
assert_equals(Element node <body><div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ </p><p id..., Element node <body><div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ </p><p id..., "The operation should not update focusNode")
    at assertSelectionNoChange ( /selection/common.js:982:5)
Pass
assert_equals(0, 0, "The operation should not update focusOffset")
    at assertSelectionNoChange ( /selection/common.js:984:5)
Pass
assert_equals(object "Äb̈c̈d̈ëf̈g̈ḧ Ijklmnop QrstuvwxYzabcdefGhijklmn", object "Äb̈c̈d̈ëf̈g̈ḧ Ijklmnop QrstuvwxYzabcdefGhijklmn", "The operation should not replace a registered Range")
    at assertSelectionNoChange ( /selection/common.js:988:5)
Passextend() forwards with range 19 [document.body, 0, document.body, 1] and point 87 [xmlDoctype, 0]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(1, 1, "The operation should not add Range")
    at assertSelectionNoChange ( /selection/common.js:976:5)
Pass
assert_equals(Element node <body><div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ </p><p id..., Element node <body><div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ </p><p id..., "The operation should not update anchorNode")
    at assertSelectionNoChange ( /selection/common.js:978:5)
Pass
assert_equals(0, 0, "The operation should not update anchorOffset")
    at assertSelectionNoChange ( /selection/common.js:980:5)
Pass
assert_equals(Element node <body><div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ </p><p id..., Element node <body><div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ </p><p id..., "The operation should not update focusNode")
    at assertSelectionNoChange ( /selection/common.js:982:5)
Pass
assert_equals(1, 1, "The operation should not update focusOffset")
    at assertSelectionNoChange ( /selection/common.js:984:5)
Pass
assert_equals(object "Äb̈c̈d̈ëf̈g̈ḧ Ijklmnop QrstuvwxYzabcdefGhijklmn", object "Äb̈c̈d̈ëf̈g̈ḧ Ijklmnop QrstuvwxYzabcdefGhijklmn", "The operation should not replace a registered Range")
    at assertSelectionNoChange ( /selection/common.js:988:5)
Passextend() backwards with range 19 [document.body, 0, document.body, 1] and point 87 [xmlDoctype, 0]
Asserts run
Pass
assert_equals(1, 1, "Sanity check: rangeCount must be correct")
    at testExtend ( /selection/extend.js:56:5)
Pass
assert_equals(1, 1, "The operation should not add Range")
    at assertSelectionNoChange ( /selection/common.js:976:5)
Pass
assert_equals(Element node <body><div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ </p><p id..., Element node <body><div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ </p><p id..., "The operation should not update anchorNode")
    at assertSelectionNoChange ( /selection/common.js:978:5)
Pass
assert_equals(1, 1, "The operation should not update anchorOffset")
    at assertSelectionNoChange ( /selection/common.js:980:5)
Pass
assert_equals(Element node <body><div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ </p><p id..., Element node <body><div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ </p><p id..., "The operation should not update focusNode")
    at assertSelectionNoChange ( /selection/common.js:982:5)
Pass
assert_equals(0, 0, "The operation should not update focusOffset")
    at assertSelectionNoChange ( /selection/common.js:984:5)
Pass
assert_equals(object "Äb̈c̈d̈ëf̈g̈ḧ Ijklmnop QrstuvwxYzabcdefGhijklmn", object "Äb̈c̈d̈ëf̈g̈ḧ Ijklmnop QrstuvwxYzabcdefGhijklmn", "The operation should not replace a registered Range")
    at assertSelectionNoChange ( /selection/common.js:988:5)